先來看一下之前寫的:
- Apache與IIS Web Sever URL長度上限 https://diary.tw/archives/1316
- Referer參數的最大長度 https://diary.tw/archives/455
由 browser 的上限來看是 2083, 而由 apache / iis 來看則是 8190 / 4096 兩個等級.
不過無論如何, 這個 url 上限的討論是個很熱門的問題:
https://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers
除了 RFC / Browser / Web Server 外, 還多提出了 CDN (其中的 status code 414 (414 URI Too Long, https://tools.ietf.org/html/rfc7231#section-6.5.12) 就是在描述這個:
- Fastly 8Kb
- CloudFront 8Kb
- CloudFlare 32Kb
這個很重要, 因為 CDN 是轉遞內容的重要功能, 不過看起來長度也都放得很寬.
再來看個別瀏覽器利用測試的方式來查看長度:
Browser | Address bar | document.location or anchor tag |
Chrome | 32779 | >64k |
Android | 2192 | >64k |
Firefox | >64k | >64k |
Safari | >64k | >64k |
IE11 | 2047 | 5120 |
Edge 16 | 2047 | 1024 |
也都有相當的長度.
不過由以上來看, 還是得保守地使用約在 2000 bytes 長度的 url 較為保險.