如何增加网址的最大长度?

时间:2012-05-29 10:44:36

标签: asp.net iis-7

为了增加IIS7 / ASP.NET中URL的最大长度,我可以遵循哪些最佳做法?

请告知。

3 个答案:

答案 0 :(得分:3)

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

  

使用命令行:appcmd set config /section:requestfiltering/requestlimits.maxurl: unit

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

  

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

但要小心。如果您的请求网址真的很大,请使用帖子消息传递参数

答案 1 :(得分:2)

尽管HTTP协议的规范没有指定任何最大长度,但实际限制为2,083个字符,URL的路径部分中不超过2,048个字符。这些是Microsoft Interet Explorer当前实施的限制,仍然被相当大多数用户使用。主要Web浏览器始终强制使用URL长度的合理上限。如果您希望提交包含许多字段的表单,否则会产生很长的URL,标准解决方案是使用POST方法而不是GET方法:

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

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

答案 2 :(得分:0)

您可能受到web.config中的以下设置的限制:

<configuration>
   <system.webServer>
      <security>
         <requestFiltering>
            <requestLimits>
            </requestLimits>
         </requestFiltering>
      </security>
   </system.webServer>
</configuration>

参考: http://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits#005