Http中的各种长度限制

http响应报文,如果响应的内容比较大,客户端怎么样判断接收完了呢?

1. http协议有正文大小说明的content-length
2. 或者分块传输chunked的话  读到0\r\n\r\n 就是读完了

http响应内容比较大的话,会分成多个tcp  segment 发送,不是最后一个segment的话, tcp的payload不会有http header字段,如果是最后一个tcp segment 的话,就会有http header 字段,同时, 数据的最后会有 "0\r\n\r\n" 这个东西,这个东西就表示数据都发送完了。

总结    https://www.cnblogs.com/oxspirt/p/9775401.html

1. URL长度限制(单位:字符)

IE : 2803

Firefox:65536

Chrome:8182

Safari:80000

Opera:190000

2. Post数据的长度限制

Post数据的长度限制与url长度限制类似,也是在Http协议中没有规定长度限制,长度限制可以在服务器端配置最大http请求头长度的方式来实现。

3. Cookie的长度限制

Cookie的长度限制分这么几个方面来总结。

(1) 浏览器所允许的每个域下的最大cookie数目,没有去自己测试,从网上找到的资料大概是这么个情况

IE :原先为20个,后来升级为50个

Firefox: 50个

Opera:30个

Chrome:180个

Safari:无限制

当Cookie数超过限制数时浏览器的行为:IE和Opera会采用LRU算法将老的不常使用的Cookie清除掉,Firefox的行为是随机踢出某些Cookie的值。当然无论怎样的策略,还是尽量不要让Cookie数目超过浏览器所允许的范围。

(2) 浏览器所允许的每个Cookie的最大长度

Firefox和Safari:4079字节

Opera:4096字节

IE:4095字节

(3) 服务器中Http请求头长度的限制。Cookie会被附在每次http请求头中传递给服务器,因此还会受到服务器请求头长度的影响。

 

4. Html5 LocalStorage

Html5提供了本地存储机制来供Web应用在客户端存储数据,尽管这个并不属于Http协议的一部分,但是随着Html5的流行,我们可能需要越来越多使用LocalStorage,甚至当它普及的时候跟它打交道就会同今天我们跟Cookie打交道一样多。

对于LocalStorage的长度限制,同Cookie的限制类似,也是浏览器针对域来限制,只不过cookie限制的是个数,LocalStorage限制的是长度:

Firefox\Chrome\Opera都是允许每个域的最大长度为5MB,但是这次IE比较大方,允许的最大长度是10MB

总结    https://blog.csdn.net/wangyin159/article/details/47129581

 

你可能感兴趣的:(Http中的各种长度限制)