为了账号安全,请及时绑定邮箱和手机立即绑定

HTTP GET请求的最大长度?

HTTP GET请求的最大长度?

HTTP GET请求的最大长度?HTTPGET请求的最大长度是多少?如果服务器收到超过此长度的GET请求,是否定义了服务器可以/应该返回的响应错误?最新情况:正如标记中所指出的,这是在Web服务API的上下文中进行的,尽管查看浏览器限制也很有趣。
查看完整描述

4 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

限制取决于所使用的服务器和客户端(如果适用的话,也取决于服务器或客户端使用的代理)。

大多数Web服务器的限制为8192字节(8KB),通常可以在服务器配置的某个位置进行配置。至于客户端问题,HTTP1.1规范甚至对此发出警告,以下是第3.2.1章:

注意:服务器应该谨慎地依赖于超过255个字节的URI长度,因为一些旧的客户端或代理实现可能无法正确地支持这些长度。

限制在MSIE和Safari中约2kb,Opera中约4KB,Firefox中约8KB。因此,我们可能假设8KB是最大可能的长度,2kb是服务器端可负担得起的长度,而255个字节是最安全的长度,可以假定整个URL都会出现。

如果在浏览器或服务器中超过了限制,大多数只会在没有任何警告的情况下截断限制外的字符。一些但是,服务器可以发送http 414错误。如果您需要发送大量数据,那么最好使用POST而不是GET。它的极限是比客户端更高,但更依赖于服务器。通常,平均Web服务器最多允许使用2GB。这在服务器设置中也是可配置的。当超过POST限制时,普通服务器将显示特定于服务器的错误/异常,通常为HTTP 500错误。


查看完整回答
反对 回复 2019-05-30
?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

你在这里提出两个不同的问题:

HTTPGET请求的最大长度是多少?

如前所述,HTTP本身并不对请求长度施加任何硬编码限制;但是浏览器的限制范围是2kb-8KB(如果算上的话是255字节)。很老(浏览器)。

如果服务器收到超过此长度的GET请求,是否定义了服务器可以/应该返回的响应错误?

那是没有人回答的。

HTTP 1.1定义状态代码414 Request-URI Too Long对于达到服务器定义限制的情况。您可以看到更多关于RFC 2616.

对于客户机定义的限制,服务器返回某些内容是没有意义的,因为服务器根本不会接收请求。

希望这能帮上忙。


查看完整回答
反对 回复 2019-05-30
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

浏览器的限制是:

Browser     Address bar   document.location  
                          or anchor tag
------------------------------------------
Chrome          32779           >64k      
Android          8192           >64k                         
Firefox          >64k           >64k      
Safari           >64k           >64k      
IE11             2047           5120   
Edge 16          2047          10240

想要更多吗?看见关于堆栈过载的问题


查看完整回答
反对 回复 2019-05-30
  • 4 回答
  • 0 关注
  • 3193 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信