天天看點

HTTP URL最大長度

HTTP RFC2616協定沒有規定URL的最大長度,但規定伺服器如果不能處理太長的URL,就得傳回414狀态碼(Request-URI Too Long)。

HTTP RFC2616協定指出,某些舊的用戶端或代理,可能無法處理超過255個位元組的URI。

既然HTTP協定沒有規定URL的最大長度,那麼URL的最大長度與使用者的浏覽器有關,同時和伺服器能夠處理的最大長度URL有關。

站點地圖協定(sitemap protocol),限制URL的長度是2048,如果你想讓搜尋引擎能夠搜尋到你,2048是最大極限了。

Google最大能抓取和索引2047個位元組的URL,但是,使用者點選的時候會傳回414,經過測試,Google的SERP連接配接,最大不能超過1855個字元,超過這個數,使用者點選則傳回414。

IE8的URL的最大URL長度是2083個位元組,其中路徑部分(Path)最大長度是2048個位元組。IE9也有類似限制,IE10也隻接受2083個位元組。雖然點選URL長度比這個長的連接配接依然可以工作,但位址欄隻顯示前2083個位元組。

有網友測試了個浏覽器和伺服器支援的最大URL長度,附表如下:

IE URL最大限制是2083個位元組,Path長度最大是2048位元組(Get請求)。
Firefox 65536
Safari 80000以上
Opera 190000位元組以上
Chrome 8182位元組
Apache Server 8192位元組
IIS 16384位元組
Perl HTTP::Daemon 至少8000位元組