2012-05-29 176 views

回答

2

虽然HTTP协议的规范没有指定任何最大长度,但实际限制为2,083个字符,URL的路径部分不超过2,048个字符。这些是目前由Microsoft Interet Explorer执行的限制,仍然被所有用户的绝大多数使用。主要网页浏览器一直强调URL长度的合理上限。当您希望提交包含许多字段的表单,否则将产生一个非常长的URL,标准的解决方案是使用POST方法而不是GET方法:

<form action="myscript.php" method="POST"> 
... 
</form> 

表单域然后为部分传输的HTTP事务头,而不是URL的一部分。

3

从这个网站:http://technet.microsoft.com/en-us/library/cc754791(v=ws.10).aspx

使用命令行:appcmd设置配置/section:requestfiltering/requestlimits.maxurl:单元

这里解释了如何使用APPCMD: http://www.windowsnetworking.com/articles_tutorials/Configuring-IIS-7-command-line-Appcmdexe-Part1.html

您需要知道AppCmd.exe命令的位置因为它不是默认PATH中的 。为了运行AppCmd.exe,您需要 将目录切换到%windir%\ system32 \ inetsrv \中,或将 目录添加到PATH变量中。在我的默认安装为 的Windows 2008服务器上,AppCmd.exe位于C:\ Windows \ System32 \ inetsrv中的 中。

但要小心。如果您要求的网址成了真的真的很大,后期使用消息来传递参数

+0

非常感谢为您的帖子。让我检查一下。我不能发送这个作为端口参数,因为它主要是ReturnUrl,它将用户带到登录页面。 – nimi

+0

'如果您的请求url变得真的很大,请使用post信息传递参数'为什么?如果我正在进行后端调用,如果我控制服务器,则应该可以使用任意长度的URL,对吗? –

+0

是的,你应该。不过,建议不要使用长度超过2000个字符的网址。请参阅http://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers – Sarrus