今天在做一個數據刷新的功能測試,涉及到入參的拼裝,拼裝完成后預計達到51000個字符,考慮到GET請求是否有URL長度限制,
在網上查詢之后,瀏覽器和服務器對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個字符返回414錯誤。
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