日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java url 请求 最大长度限制,Http协议中的各种长度限制总结

發布時間:2023/12/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java url 请求 最大长度限制,Http协议中的各种长度限制总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HTTP1.0的格式

request(HTTP請求消息)

結構:一個請求行.部分消息頭,以及實體內容,其中的一些消息內容都是可選擇的.消息頭和實體內容之間要用空行分開.

GET /index.html HTTP/1.1 //請求頭,下面都是消息頭.

Accept: */*

Accept-Languang:en-us

Connection:keep-alive

Host:localhost

Referer:HTTP://localhost/index.html

User-Agent:Mozilla/4.0

Accept-Encoding:gzip,deflate//到上面都是消息頭,下面一個空行表示完了,接下來是實體內容.

Response響應消息頭

在接收并解析請求消息后,服務器以 HTTP 響應消息響應。相當服務器對客戶的http的回應

結構:一個狀態行.部分消息

頭,以及實體內容,其中的一些消息內容都是可選擇的.消息頭和實體內容之間要用空行分開.

HTTP/1.1 200ok ? ? ? ? ? //狀態行.下面為消息頭

Server:Apache2.2

Date:Thu, 13 Jul 2008 16:29:46 GMT

Content-Length:2222

Content-Type:text/html

Cache_control:private //和請求消息頭一樣下面有一個空行

注意:使用get的方法的請求消息中是不能包含實體內容的,只有使用post,put和delete的方法請求消息中才能有實體內容.對 HTTP1.1來講,如果HTTP中有實體內容,但沒有使用權chunked傳輸編碼.那么消息頭部分必須包含內容長度字段.不然不知什么時候內容才結 束。HTTP1.1中一定要有host字段

以上消息頭的結構:每個消息頭都包含一個頭字段名稱,然后依次是冒號,空格值,回車和換行符,字段不區分大小寫.對消息頭中的消息頭可以任何順序排列.

消息頭可以分為信息頭,請求頭,響應頭,實體頭四類

如果有多個選項,可以用逗號分隔Accept-Encoding:gzip ,deflate

1. URL長度限制

在Http1.1協議中并沒有提出針對URL的長度進行限制,RFC協議里面是這樣描述的,HTTP協議并不對URI的長度做任何的限制,服務器端必須能夠處理任何它們所提供服務多能接受的URI,并且能夠處理無限長度的URI,如果服務器不能處理過長的URI,那么應該返回414狀態碼。

雖然Http協議規定了,但是Web服務器和瀏覽器對URI都有自己的長度限制。

服務器的限制:我接觸的最多的服務器類型就是Nginx和Tomcat,對于url的長度限制,它們都是通過控制http請求頭的長度來進行限制的,nginx的配置參數為large_client_header_buffers,tomcat的請求配置參數為maxHttpHeaderSize,都是可以自己去進行設置。

瀏覽器的限制:每種瀏覽器也會對url的長度有所限制,下面是幾種常見瀏覽器的url長度限制:(單位:字符)

IE : 2803

Firefox:65536

Chrome:8182

Safari:80000

Opera:190000

對于get請求,在url的長度限制范圍之內,請求的參數個數沒有限制。

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

總結

以上是生活随笔為你收集整理的java url 请求 最大长度限制,Http协议中的各种长度限制总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。