PHP中$_GET方法到底有沒有長度限制?

來源:互聯網
上載者:User
今天在W3C看 $_GET函數,上面寫的是限制在 100字元以內,然後也有看到網友說是 2kb以下,另外看到一種說法是$_GET方法 沒有長度限制,因為它的可提交資料量與URL長度有關,而URL是沒有長度限制的

請問這個方法到底有沒有長度限制?有的話是多少?

回複內容:

今天在W3C看$_GET函數,上面寫的是限制在100字元以內,然後也有看到網友說是2kb以下,另外看到一種說法是$_GET方法沒有長度限制,因為它的可提交資料量與URL長度有關,而URL是沒有長度限制的

請問這個方法到底有沒有長度限制?有的話是多少?

HTTP協議從未規定GET/POST請求長度限制是多少。這個長度限制主要取決於瀏覽器和 網頁伺服器的決定和設定,各種瀏覽器和 網頁伺服器的設定均不一樣。
通常webserver預設限制是8KB,不過你可以通過修改配置來更改。
瀏覽器這邊 MSIE 和 Safari 最大值 2KB, Opera 4KB,Firefox 8KB。從應用跨瀏覽器的角度考慮,你應該選擇最小的2KB。

我的印象中,很久以前,url的長度一般是1024位元組上限,不同瀏覽器相差不大,不知道現在的情況了。

http協議中,其實並沒有對url長度作出限制,往往url的最大長度和使用者瀏覽器有關,不一樣的瀏覽器,能接受的最大長度往往是不一樣的。

IE瀏覽器:2083個字元
Firefox瀏覽器:65,536個字元
Safari:80,000個字元
Opera:190,000個字元
Google:8182個字元

另外,不一樣的web伺服器能接受url長度也會不一樣。

我最近也遇到了樓主提的這問題,情境是在在儲存某些資訊的時候,提交表單的方式是用GET方法,然後報錯了,顯示超過伺服器要求節流,原因是儲存的資訊太多,而GET方法會把資料全部顯示在URL上。把方式改為POST後,問題就不存在了,百度了一下,說是URL的長度是受瀏覽器的限制的,不同瀏覽器會有不同的長度限制

sqrtqiezi說的是對的。
無論是post還是get必然都是有長度限制的,具體由伺服器和瀏覽器之間設定的最小值決定。
get普遍以2k為最大

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.