Http协议中的各种长度限制总结
生活随笔
收集整理的這篇文章主要介紹了
Http协议中的各种长度限制总结
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. URL長度限制
在Http1.1協(xié)議中并沒有提出針對URL的長度進(jìn)行限制,RFC協(xié)議里面是這樣描述的,HTTP協(xié)議并不對URI的長度做任何的限制,服務(wù)器端必須能夠處理任何它們所提供服務(wù)多能接受的URI,并且能夠處理無限長度的URI,如果服務(wù)器不能處理過長的URI,那么應(yīng)該返回414狀態(tài)碼。 雖然Http協(xié)議規(guī)定了,但是Web服務(wù)器和瀏覽器對URI都有自己的長度限制。 服務(wù)器的限制:我接觸的最多的服務(wù)器類型就是Nginx和Tomcat,對于url的長度限制,它們都是通過控制http請求頭的長度來進(jìn)行限制的,nginx的配置參數(shù)為large_client_header_buffers,tomcat的請求配置參數(shù)為maxHttpHeaderSize,都是可以自己去進(jìn)行設(shè)置。 瀏覽器的限制:每種瀏覽器也會對url的長度有所限制,下面是幾種常見瀏覽器的url長度限制:(單位:字符) IE : 2803 Firefox:65536 Chrome:8182 Safari:80000 Opera:190000 對于get請求,在url的長度限制范圍之內(nèi),請求的參數(shù)個數(shù)沒有限制。2. Post數(shù)據(jù)的長度限制
Post數(shù)據(jù)的長度限制與url長度限制類似,也是在Http協(xié)議中沒有規(guī)定長度限制,長度限制可以在服務(wù)器端配置最大http請求頭長度的方式來實現(xiàn)。3. Cookie的長度限制
Cookie的長度限制分這么幾個方面來總結(jié)。 (1) 瀏覽器所允許的每個域下的最大cookie數(shù)目,沒有去自己測試,從網(wǎng)上找到的資料大概是這么個情況 IE :原先為20個,后來升級為50個 Firefox: 50個 Opera:30個 Chrome:180個 Safari:無限制 當(dāng)Cookie數(shù)超過限制數(shù)時瀏覽器的行為:IE和Opera會采用LRU算法將老的不常使用的Cookie清除掉,Firefox的行為是隨機(jī)踢出某些Cookie的值。當(dāng)然無論怎樣的策略,還是盡量不要讓Cookie數(shù)目超過瀏覽器所允許的范圍。 (2) 瀏覽器所允許的每個Cookie的最大長度 Firefox和Safari:4079字節(jié) Opera:4096字節(jié) IE:4095字節(jié) (3) 服務(wù)器中Http請求頭長度的限制。Cookie會被附在每次http請求頭中傳遞給服務(wù)器,因此還會受到服務(wù)器請求頭長度的影響。4. Html5 LocalStorage
Html5提供了本地存儲機(jī)制來供Web應(yīng)用在客戶端存儲數(shù)據(jù),盡管這個并不屬于Http協(xié)議的一部分,但是隨著Html5的流行,我們可能需要越來越多使用LocalStorage,甚至當(dāng)它普及的時候跟它打交道就會同今天我們跟Cookie打交道一樣多。 對于LocalStorage的長度限制,同Cookie的限制類似,也是瀏覽器針對域來限制,只不過cookie限制的是個數(shù),LocalStorage限制的是長度: Firefox\Chrome\Opera都是允許每個域的最大長度為5MB 但是這次IE比較大方,允許的最大長度是10MB轉(zhuǎn)載于:https://www.cnblogs.com/ztiandan/archive/2013/04/16/3023758.html
總結(jié)
以上是生活随笔為你收集整理的Http协议中的各种长度限制总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Giphy – 分享一个很棒的 GIF
- 下一篇: 【一天一道兼容性】之——IOS4及以下f