今天在测试Email Ticket的时候发现在进行Mark as Read/Unread操作时,请求是通过GET方式进行的。URL中列出了所有参与该操作的Ticket Id。于是,我想起GET请求是有最大长度限制的。遂输入超长一串Ticket Id进行请求,结果页面报错如下:
经过一番搜索之后,发现IIS 7对于Query String有长度限制。默认为2048.
该问题的解决办法可以通过修改configuration/system.webServer/security/requestFiltering/requestLimits@maxQueryString setting.
搜索过程中发现,各浏览器与各Web Server对URL均有长度的限制如下:
在http协议中,其实并没有对url长度作出限制,往往url的最大长度和用户浏览器和Web服务器有关,不一样的浏览器,能接受的最大长度往往是不一样的,当然,不一样的Web服务器能够处理的最大长度的URL的能力也是不一样的。
下面就是对各种浏览器和服务器的最大处理能力做一些说明.
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个字符。
通过上面的数据可知,为了让所有的用户都能正常浏览,我们的URL最好不要超过IE的最大长度限制(2038个字符),当然,如果URL不直接提供给用户,而是提供给程序调用,侧这时的长度就只受Web服务器影响了。
注:可能有些朋友会想当然的认为,如果最大长度限制为2038字符,是不是参数差不多可以传递1000个左右的汉字。这样认为其实是不对的,对于中文的传递,最终会为urlencode后的编码形式进行传递,如果浏览器的编码为UTF8的话,一个汉字最终编码后的字符长度为9个字符。
这里,通过假数据,手动创建的一个类,然后创建的一个集合,放入下拉框,选好值...
adb shell的功能很强大,可以使用很多功能,今天我们说下通过控制按键输入:adb ...
微信小程序轨迹回放主要使用到polyline进行划线操作,以及使用marker去进行小车...
非ES6代码实现继承的主流方式主要可以分为: 构造继承、原型链继承、构造继承+原...
【51CTO.com快译】通常,诸如MySQL等时下流行的数据库管理系统(DBMS),都是由Web...
利用xmlhttp对象获取远程的数据,然后用二进制输出到客户浏览器,让客户下载数据...
WebService的用户控制方式与加密算法分类的整理 我们的系统中,所有的WebSerivce...
在用java进行web业务开发的时候,对于页面上接收到的参数,除了极少数是步可预知...
先要安装event扩展,这样才可以使用libevent的事件机制 pecl install event 测试...
前言 又到了给大家“荐书”的时候了,如果计算机系只开三门课,那么这三门课就一...