HTTP GET请求的最大长度是多少?
如果服务器接收到超过这个长度的GET请求,是否定义了服务器可以/应该返回的响应错误?
这是在web服务API的上下文中,尽管浏览器的限制也很有趣。
HTTP GET请求的最大长度是多少?
如果服务器接收到超过这个长度的GET请求,是否定义了服务器可以/应该返回的响应错误?
这是在web服务API的上下文中,尽管浏览器的限制也很有趣。
当前回答
从技术上讲,我曾见过如果URL长度超过2000个字符,HTTP GET就会出现问题。在这种情况下,最好使用HTTP POST或分割URL。
其他回答
如前所述,HTTP本身对请求长度没有任何硬编码限制;但是浏览器对GET方法中允许的2048个字符有限制。
浏览器限制如下:
Browser Address bar document.location
or anchor tag
---------------------------------------------------
Chrome 32779 >64k
Android 8192 >64k
Firefox >64k >64k
Safari >64k >64k
Internet Explorer 11 2047 5120
Edge 16 2047 10240
想要更多吗?参见Stack Overflow上的这个问题。
从技术上讲,我曾见过如果URL长度超过2000个字符,HTTP GET就会出现问题。在这种情况下,最好使用HTTP POST或分割URL。
是的。GET请求没有任何限制。
我能够发送~4000字符作为查询字符串的一部分使用Chrome浏览器和curl命令。
我使用的是Tomcat 8。x服务器已经返回了预期的200 OK响应。
以下是谷歌Chrome HTTP请求的截图(由于安全原因,隐藏了我尝试的端点):
响应
这里还有一个类似的问题:GET请求的长度是否有限制?
我已经在我的共享托管帐户上达到了限制,但是浏览器在到达服务器之前返回了一个空白页。