6

我可以遵循哪些最佳实践来增加 IIS7/ASP.NET 中 URL 的最大长度?

请指教。

4

3 回答 3

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 命令的位置,因为它不在默认 PATH 中。为了运行 AppCmd.exe,您需要将目录更改为 %windir%\system32\inetsrv\ 或将该目录添加到 PATH 变量中。在默认安装的 Windows 2008 服务器上,AppCmd.exe 位于 C:\Windows\System32\inetsrv。

但小心点。如果您的请求 url 变得非常大,请使用 post message 传递参数

于 2012-05-29T10:55:42.930 回答
2

虽然 HTTP 协议的规范没有指定任何最大长度,但实际限制是 2,083 个字符,URL 的路径部分不超过 2,048 个字符。这些是 Microsoft Interet Explorer 当前实施的限制,大部分用户仍在使用这些限制。主要的网络浏览器一直对 URL 的长度设置一个合理的上限。当您希望提交包含许多字段的表单时,否则会产生很长的 URL,标准的解决方案是使用 POST 方法而不是 GET 方法:

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

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

于 2012-05-29T10:49:17.163 回答
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

于 2014-10-28T08:55:29.377 回答