GET請求中URL的最大長度限制總結


由於jsonp跨域請求只能通過get請求,url長度根據瀏覽器服務器的不同而有不同限制。 若要支持IE的話,最大的長度為2083字符,若是中文字符的話只有2083/9=231個字符。 若是Chrom...

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

GET請求中URL的最大長度限制總結

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


如下圖

1

  1. <html>
  2. <head><title>414 Request-URI Too Large</title></head>
  3. <body bgcolor="white">
  4. <center><h1>414 Request-URI Too Large</h1></center>
  5. <hr><center>nginx</center>
  6. </body>
  7. </html>

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

瀏覽器


1、IE

IE瀏覽器(Microsoft Internet Explorer) 對url長度限制是2083(2K+53),超過這個限制,則自動截斷(若是form提交則提交按鈕不起作用)。

2、firefox

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

3、chrome

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

4、Safari

Safari的url長度限制至少為 80 000 字符。

5、Opera

Opera 瀏覽器的url長度限制為190 000 字符。Opera 9 地址欄中輸入190 000字符時依然能正常編輯。

服務器


1、Apache

Apache能接受url長度限制為8 192 字符

2、IIS

Microsoft Internet Information Server(IIS)能接受url長度限制為16 384個字符。
這個是可以通過修改的(IIS7)configuration/system.webServer/security/requestFiltering/requestLimits@maxQueryStringsetting.<requestLimits maxQueryString="length"/>

3、Perl HTTP::Daemon

Perl HTTP::Daemon 至少可以接受url長度限制為8000字符。Perl HTTP::Daemon中限制HTTP request headers的總長度不超過16 384字節(不包括post,file uploads等)。但當url超過8000字符時會返回413錯誤。
這個限制可以被修改,在Daemon.pm查找16×1024並更改成更大的值。

4、ngnix

可以通過修改配置來改變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個。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM