求知過程之POST請求

參照

階段一:

Tomcat下取消POST大小的限制

Http Get方法提交的數據大小長度並沒有限制,HTTP協議規範沒有對URL長度進行限制。這個限制是特定的瀏覽器及服務器對它的限制。

如:IE對URL長度的限制是2083字節(2K+35)。

下面就是對各種瀏覽器和服務器的最大處理能力做一些說明.

Microsoft Internet Explorer (Browser)

IE瀏覽器對URL的最大限制爲2083個字符,如果超過這個數字,提交按鈕沒有任何反應。
Firefox (Browser)

對於Firefox瀏覽器URL的長度限制爲65,536個字符。

Safari (Browser)

URL最大長度限制爲 80,000個字符。

Opera (Browser)

URL最大長度限制爲190,000個字符。

Google (chrome)

URL最大長度限制爲8182個字符。

Apache (Server)

能接受最大url長度爲8,192個字符。

Microsoft Internet Information Server(IIS)

能接受最大url的長度爲16,384個字符。

通過上面的數據可知,爲了讓所有的用戶都能正常瀏覽, URL最好不要超過IE的最大長度限制(2083個字符),當然,如果URL不直接提供給用戶,而是提供給程序調用,這時的長度就只受Web服務器影響了。

注:對於中文的傳遞,最終會爲urlencode後的編碼形式進行傳遞,如果瀏覽器的編碼爲UTF8的話,一個漢字最終編碼後的字符長度爲9個字符。

因此如果使用的 GET 方法,最大長度等於URL最大長度減去實際路徑中的字符數。

理論上講,POST是沒有大小限制的。HTTP協議規範也沒有進行大小限制,起限制作用的是服務器的處理程序的處理能力。

如:在Tomcat下取消POST大小的限制(Tomcat默認2M);

打開tomcat目錄下的conf目錄,打開server.xml 文件,修改

<Connector debug="0" acceptCount="100" connectionTimeout="20000"

disableUploadTimeout="true" port="8080" redirectPort="8443"

enableLookups="false" minSpareThreads="25" maxSpareThreads="75"

maxThreads="150" maxPostSize="0" URIEncoding="GBK"</Connector>

增加紅色字體部分 maxPostSize="0" (設爲0是取消POST的大小限制)

參照結束


階段二:

發佈了61 篇原創文章 · 獲贊 12 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章