url長度限制

2022-08-29 04:03:08 字數 1565 閱讀 1087

白襪兒部落格本文提要:由於jsonp跨域請求只能通過get請求,url長度根據瀏覽器及伺服器的不同而有不同限制。 若要支援ie的話,最大的長度為2083字元,若是中文字元的話只有2083/9=231個字元。 若是chrom...

關鍵字:   伺服器,瀏覽器,url長度限制

今天在寫乙個php相應jsonp請求的功能時,發現當url中包含的請求引數過長時會返回414錯誤。

如下圖

bgcolor="white">

nginx

在網上查詢之後,瀏覽器和伺服器對url長度都有限制,現總結如下。

ie瀏覽器(microsoft internet explorer) 對url長度限制是2083(2k+53),超過這個限制,則自動截斷(若是form提交則提交按鈕不起作用)。

firefox(火狐瀏覽器)的url長度限制為 65 536字元,但實際上有效的url最大長度不少於100,000個字元。

chrome(谷歌)的url長度限制超過8182個字元返回本文開頭時列出的錯誤。

safari的url長度限制至少為 80 000 字元。

apache能接受url長度限制為8 192 字元

microsoft internet information server(iis)能接受url長度限制為16 384個字元。

這個是可以通過修改的(iis7)configuration/system.webserver/security/requestfiltering/requestlimits@maxquerystringsetting.

perl http::daemon 至少可以接受url長度限制為8000字元。perl http::daemon中限制http request headers的總長度不超過16 384位元組(不包括post,file uploads等)。但當url超過8000字元時會返回413錯誤。

這個限制可以被修改,在daemon.pm查詢16×1024並更改成更大的值。

可以通過修改配置來改變url請求串的url長度限制。

client_header_buffer_size預設值:client_header_buffer_size 1k

large_client_header_buffers預設值 :large_client_header_buffers 4 4k/8k

由於jsonp跨域請求只能通過get請求,url長度根據瀏覽器及伺服器的不同而有不同限制。

若要支援ie的話,url長度限制為2083字元,若是中文字元的話只有2083/9=231個字元。

若是chrome瀏覽器支援的最大中文字元只有8182/9=909個。

參考文章:

URL 長度有限制嗎?

眾所周知,傳遞小量引數 在沒有其他原因,例如隱藏引數值的情況下 推薦使用get方法,傳遞大量引數推薦使用post方法。原因是什麼呢?原因是傳說get方法是通過url來傳遞,而url的長度是受限的,而post方法採用流的方式,理論上可以傳遞的容量是沒有限制的。現在來看這個描述 url的長度是受限的 但...

瀏覽器對URL長度的限制

各瀏覽器與各web server對url均有長度的限制如下 在http協議中,其實並沒有對url長度作出限制,往往url的最大長度和使用者瀏覽器和web伺服器有關,不一樣的瀏覽器,能接受的最大長度往往是不一樣的,當然,不一樣的web伺服器能夠處理的最大長度的url的能力也是不一樣的。下面就是對各種瀏...

各種瀏覽器url最大長度限制

雖然http協議的 rfc規範並沒有詳細規定url的最大字元長度限制,但實際上,在瀏覽器或者伺服器中總會存在限制的。本文中說所的字元是指ascii字元。微軟 internet explorer 微軟幫助 上說ie7之前 包括ie7 的瀏覽器,對url的最大長度限制是2,083個字元。firefox ...