是否依賴於瀏覽器?另外,不同的Web堆棧對於從請求中獲得的數據量有多少限制?查詢字符串的最大可能長度是多少?
回答
RFC 2616(超文本傳輸協議 - HTTP/1.1)聲明查詢字符串的長度沒有限制(第3.2.1節)。 RFC 3986也表示沒有限制,但由於DNS限制(第2.3.3節),表示主機名限制爲255個字符。
儘管規格沒有指定任何最大長度,但實際限制是由網絡瀏覽器和服務器軟件強加的。基於在Boutell.com發現研究的基礎上:
微軟的Internet Explorer(瀏覽器)
微軟指出,在Internet Explorer中的URL的最大長度爲2,083個字符,在路徑不超過2,048個字符部分網址。嘗試使用超過此長度的URL會在Internet Explorer中產生明確的錯誤消息。微軟邊緣(瀏覽器)
極限似乎是圍繞81578個字符。見URL Length limitation of Microsoft Edge鉻
它停止顯示在URL後64K字,但能爲超過10萬個字。除此之外,沒有進一步的測試。火狐(瀏覽器)
後65536個字符,在地址欄不再顯示在Windows的Firefox 1.5.x.網址但是,更長的網址將起作用。在100,000個字符後沒有進一步的測試。Safari瀏覽器(瀏覽器)
至少80,000個字符會工作。除此之外,測試還沒有嘗試過。歌劇院(瀏覽器)
至少有19萬個字符會工作。 190,000個字符後停止測試。 Opera 9 for Windows繼續在地址欄中顯示完全可編輯的 可複製和可粘貼的URL,即使在190,000個字符處也是如此。的Apache(服務器)
早期嘗試來測量撞到的大約4000個字符的服務器URL長度限制,在這之後的Apache產生「413實體太大」錯誤的網絡瀏覽器的最大的URL長度。使用了紅帽企業Linux 4中最新的Apache版本。 Apache官方文檔僅提到了請求中單個字段的8,192字節限制。Microsoft Internet信息服務器(服務器)
默認限制爲16,384個字符(是的,微軟的Web服務器比微軟的網絡瀏覽器接受較長的URL)。這是可配置的。Perl的HTTP ::守護程序(服務器)
最多8,000個字節會工作。使用Perl的HTTP :: Daemon模塊構建Web應用程序服務器的用戶將在所有HTTP請求標頭的組合大小上遇到16,384字節的限制。這不包括POST方法表單數據,文件上傳等,但它包含URL。實際上,當URL長度超過8,000個字符時,會導致413錯誤。這個限制可以很容易地刪除。在Daemon.pm中查找所有出現的16x1024,並用更大的值替換它們。當然,這確實會增加您遭受拒絕服務攻擊的風險。
我假設你的意思是一個uri字符串的最大長度。 This可能會有所幫助。
通常情況下,一旦URI由於太長而變得不可讀,就應該使用POST請求代替。
僅僅因爲有太多的數據不適合GET請求就切換到POST請求是沒有意義的。 – 2010-11-09 10:20:46
不同的web堆棧確實支持不同長度的http請求。我從經驗中知道,Safari的早期堆棧只支持4000個字符,因此由於USER-STATE而難以處理ASP.net頁面。這甚至是POST,所以你必須檢查瀏覽器,看看堆棧限制是什麼。我認爲你甚至可以在新的瀏覽器上達到極限。我不記得,但其中一個(IE6,我認爲)有16位限制,32,768什麼的限制。
雖然官方沒有任何限制,許多安全配置建議指出,在服務器上maxQueryStrings應設置爲1024字符數限制,而包括查詢字符串整個URL應設置爲2048最大字符。這是爲了防止Web服務器上的緩慢HTTP請求漏洞,以防止緩慢的DDOS攻擊。
- 1. .NET字符串的最大可能長度是多少?
- 2. float的字符串表示的最大可能長度是多少?
- 3. 在Swift 2.0中,字符串的最大長度是多少?
- 4. 字符串的最大長度是多少?
- 5. 「.bat」或「.cmd」中字符串的最大長度是多少?
- 6. Python字符串的最大長度是多少?
- 7. 最大長度是多少?
- 8. 減少查詢字符串長度
- 9. access_token字符串的長度是多少?
- 10. 我可以在GoInstant中存儲的最大字符串長度是多少?
- 11. sqoop查詢的最大長度是多少?
- 12. mongodb查詢的最大長度是多少?
- 13. Informix列的最大長度是多少?可以增加多少?
- 14. 過程PID的最大可能長度是多少? (64位)
- 15. 有多少個字符和長度的字符串是可能的?
- 16. 什麼是字符串參數存儲過程的最大長度是多少?
- 17. ENUM值的最大長度是多少?
- 18. ListProperty的最大長度是多少?
- 19. synmemo的最大長度是多少?
- 20. 增加查詢字符串的最大長度
- 21. AJAX GET請求中查詢字符串的最大長度?
- 22. 查找最長字符串的長度
- 23. BigQuery最大查詢長度字符可以解決
- 24. 字符串的最大長度[]
- 25. 限制字符串的最大長度
- 26. MD5功能的最大輸入長度是多少?
- 27. 我可以傳遞給函數的最大字符串長度(或大小)是多少?
- 28. memcached中的最大密鑰長度和最大值是多少?
- 29. vb.net中的最大標識符長度是多少?
- 30. Sharepoint 2010上「調查列」的最大長度是多少?
你也可以檢查這個http://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-an-url – Xinus 2009-12-13 04:41:40
它只適用於GET請求! POST請求的最大大小(帶或不帶multipart/form-data)在這裏是未知的! – peterh 2015-01-22 13:54:52