URL 長度有限制嗎?


  眾所周知,傳遞小量參數(在沒有其他原因,例如隱藏參數值的情況下)推薦使用GET方法,傳遞大量參數推薦使用POST方法。原因是什么呢?

  原因是傳說GET方法是通過URL來傳遞,而URL的長度是受限的,而POST方法采用流的方式,理論上可以傳遞的容量是沒有限制的。

  現在來看這個描述:“URL的長度是受限的”,但HTTP協議規范也沒有對URL長度進行限制,具體是在哪里受限制呢?browser端還是server端呢?

  網上現在google出來的結果都是說url的長度實際上是受到browser的限制,如IE限定url長度為2083字節,opera 是4050, Netscape 是8192,等等。既然是browser對URL長度的限制,那么不管是GET方法還是POST方法都存在這個限制。注意這個限制是整個URL長度,而不僅僅是你的參數值數據長度。那么對於server端,實驗表明Server端對於URL的長度也是有限制的。

   結論:

  1)了解應用程序所在的環境,如Web應用的瀏覽器、服務器環境,了解其特定的參數限制情況。

  2)提交復雜數據盡量使用POST方法。注意FORM表單不寫method屬性時默認是使用GET方法的。

 

參考資料:

http://www.jb51.net/article/18858.htm

http://npsajax.iteye.com/blog/200051


免責聲明!

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



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