Get和Post請求的區別


1.    Get方法長度限制

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

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

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

Microsoft Internet Explorer (Browser)服務器

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

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

Safari (Browser)url

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

Opera (Browser)debug

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

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最大長度減去實際路徑中的字符數。

2.    POST方法長度限制

理論上講,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的大小限制)

相關文章
相關標籤/搜索