2012年4月9日 星期一

QueryString 網址參數的長度

結論:請控制在2048字元內比較保險


熟悉Web系統開發的人應該多少都有踩過這個問題,就是當我們的QueryString長度超過2048字元時,QueryStringt會被截斷或者出現Error

嚴格來說,不同的瀏覽器都會有不同的結果,以IE6以上來說,就是2048個字元,FireFox3測試的結果是超過10000個字元都還可以運作,Chrome測試的結果也是相同

而ASP.NET在4.0的版本中提供了兩個參數maxRequestPathLength、maxQueryStringLength分別用來設定URL的最大長度與QueryString的最大長度限制

在web.config中加入以下設定,把maxQueryStringLength設定到20480的長度:

<httpRuntime maxQueryStringLength="20480" />
再執行前面三個瀏覽器,這時候不管是FireFox或者Chrome都可以正常被執行了,由此可見可以透過調整設定讓QueryString的最大長度放寬。
但ASP.NET提供了設定QueryString長度限制,但IE本身卻會把超過2048長度的URL給截斷,保險起見,還是會保留目前的做法來實現。


沒有留言:

張貼留言