AllonBlog

一步一个脚印

导航

解决Get请求的长度限制

错误提示:

HTTP Error 404.15 - Not Found

The request filtering module is configured to deny a request where the query string is too long.

   

 原因:

IE的get请求url默认是2k(各个浏览器或许不一样,但是get请求是有长度限制的)

 

 解决:

1.修改配置项

 <system.webServer>
    <security>
      <requestFiltering >
        <requestLimits maxAllowedContentLength="4096" ></requestLimits>
      </requestFiltering>
    </security>
  </system.webServer>

 2.采用post方式,无长度限制并且更加安全

 

 

注:

 

Microsoft Internet Explorer (Browser)
IE浏览器对URL的最大限制为2083个字符,如果超过这个数字,提交按钮没有任何反应。在我的测试中,这个数字得到验证。

 

Firefox (Browser)
对于Firefox浏览器URL的长度限制为65,536个字符,但当我测试时,最大只能处理8182个字符,这是因为url的长度除了浏览器限制外,还会受Web服务器的限制,而我本机使用的是ubuntu apache服务器,最大处理能力为8192个字符(相差10个字符,不知道是什么原因),一旦超过这个长度,服务器就返回如下错误信息。

 

Safari (Browser)
URL最大长度限制为 80,000个字符。

 

Opera (Browser)
URL最大长度限制为190,000个字符。

 

Google (chrome)
url长度一旦超过8182个字符时,出现如下服务器错误:

 

Apache (Server)
能接受最大url长度为8,192个字符,但我的测试数据是8,182,10个字符,差别不在,数据具体符合。

 

Microsoft Internet Information Server(IIS)
能接受最大url的长度为16,384个字符。

 

写道

Request-URI Too Large
The requested URL's length exceeds the capacity limit for this server.
Apache/2.2.12 (Ubuntu) Server at 127.0.1.1 Port 80

 

 

 

 

posted on 2013-09-16 15:30  AllonBlog  阅读(4811)  评论(0编辑  收藏  举报