为了增加IIS7 / ASP.NET中URL的最大长度,我可以遵循哪些最佳做法?
请告知。
答案 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