是否有一个GET请求的长度有限制吗? [重复] 是否有一个GET请求的长度有限制吗? [重复]

2019-05-10 09:16发布

这个问题已经在这里有一个答案:

  • HTTP GET请求的最大长度是多少? 7个回答

是否有一个GET请求的长度有限制吗?

Answer 1:

不要在RFC ,没有,但也有实际的限制。

HTTP协议不放置任何先验限制上的URI的长度。 服务器必须能够处理他们所服务的任何资源的URI,并且应该能够处理无限长度的URI,如果他们提供基于GET-形式,可以产生这样的URI。 服务器应该返回414(请求URI太长)状态,如果一个URI长于服务器可以处理(见10.4.15)。

注:服务器应谨慎看待根据URI长度大于255个字节,因为一些旧的客户或代理实现可能不正确地支持这些长度。



Answer 2:

本文概括起来相当不错

摘要:这是实现相关的,因为在RFC没有特定限制。 这将会是安全使用长达2000个字符(IE的限制。)如果你是这个长度附近的任何地方,你应该确保你真正需要的URI那么久,也许是另一种设计可以得到解决的。

URI的应该是可读的,用于发送数据时也是如此。



Answer 3:

按要求通过用户埃里克森,我发表我的评论为答案:

我已经做了与IE8,IE9,FF14,Opera11,Chrome20和Tomcat 6.0.32(全新安装),新泽西州1.13服务器端的一些更多的测试。 我用jQuery函数$ .getJson和JSONP。 结果:所有浏览器都允许高达约5400个字符。 FF和IE9做了高达约6200个字符。 上述一切都回到“400错误的请求”。 我没有进一步调查什么是负责对400我很好用,我发现最大的,因为我需要大约2000个字符在我的情况。



Answer 4:

该规范不限制HTTP的长度Get请求,但不同的浏览器实现自己的局限性。 例如Internet Explorer有在2083个字符进行限制。



Answer 5:

W3C明确否认这是一个神话在这里

http://www.w3.org/2001/tag/doc/get7#myths



Answer 6:

setFixedLengthStreamingMode(INT)与CONTENTLENGTH参数可以设置一个HTTP请求主体的固定长度。



文章来源: Is there a limit to the length of a GET request? [duplicate]