前言
一直以来,人们都认为 GET 请求 URL 的长度是有限制的,而
长度因浏览器而异,POST 请求的大小不受限制,但随后项目中的第三方 POST 数据量较大,接口一直受制于 null 值
GET 请求长度限制
从理论上讲,GET 请求数据的长度没有限制,但真正的限制是浏览器限制了它的长度。
为了兼容每个浏览器的请求长度,可以总结如下:URL 长度限制为 2083 个字符。
以下是每个浏览器对字符长度的具体限制:
()
的 URL 最大限制为 2083 个字符,如果超过此数字,提交按钮将完全没有反应。
()
对于浏览器,URL 的长度限制为 65,536 个字符。
()
URL 的最大长度为 80,000 个字符。
歌剧 ()
URL 的最大长度限制为 190,000 个字符。
()
URL 的最大长度为 8,182 个字符。
()
最大 URL 长度为 8,192 个字符。
(IIS)
可接受的最大 URL 长度为 16,384 个字符。
从以上数据可以看出,为了让所有用户都能正常浏览,最好不要超过IE的最大长度限制(2083个字符),当然,如果URL不是直接提供给用户,而是提供给程序调用,那么长度只受Web服务器的影响。
注意:对于中文的传输,将通过最终的编码形式,如果浏览器编码为UTF8,则汉字的最终编码字符长度为9个字符。
因此,如果使用 GET 方法,则最大长度等于 URL 的最大长度减去实际路径中的字符数。
POST 请求大小限制
从理论上讲,POST 请求是无限制的,真正限制其大小的是服务器的处理程序功能。服务器将 POST 的大小限制为 2M,这可以解释为什么 I POST 3 张图片(通常一张图片 300|400KB)时,第三方有时可以接收到数据,有时只接收空值。
要解决这个问题,你可以去掉配置文件中的POST大小限制,在conf目录下,.xml文件,修改
=“0”,即删除 POST 的大小限制!