国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Get請求攜帶數據量的各種限制及解決辦法、Post請求說明

2019-11-15 00:22:08
字體:
來源:轉載
供稿:網友
Get請求攜帶數據量的各種限制及解決辦法、Post請求說明1.Get請求攜帶數據量的各種限制及解決辦法

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

到新公司處理的第一個線上問題是某個商品頁,在某個人機器上訪問失敗,nginx返回400錯誤,但其它人機器上沒有問題,即使用虛擬機重建了出問題機器的軟硬件環境也不會出問題。

經過對出問題機器的http請求進行抓包,發現URL超長,cookie也很大,然后問題就很清楚了,因為大部分人用的是IE瀏覽器,IE瀏覽器限 制了URL長度,做了自動截斷處理,所以總的http header不會超出nginx的限制,可以正常返回,而使用同樣瀏覽器,不限制URL長度,但cookie長度較短,沒超過nginx的header緩 沖區限制,也不會造成400錯誤。

解決辦法就是修改nginx、tomcat等使用到的應用服務器,讓他們支持更大的header緩沖區。當然從兼容性等方面的考慮,根本解決辦法是不要通過GET方式傳遞超長的參數。

==================下邊列出了各個瀏覽器的限制和處理辦法=========================

附:各瀏覽器對URL的長度限制(單位:字符個數)IE : 2083Firefox:65536Chrome:8182Safari:80000Opera:190000

附:各Web服務器對URL的長度限制(單位:字符個數)

Apache (Server)

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

Microsoft Internet Information Server(IIS)

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

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

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

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

附:各瀏覽器允許域下的最大cookie數目IE :原先為20個,后來升級為50個Firefox: 50個Opera:30個Chrome:180個Safari:無限制附:瀏覽器所允許的每個Cookie的最大長度Firefox和Safari:4079字節Opera:4096字節IE:4095字節附:各應用服務器設置header頭部的參數

nginx:client_header_buffer_size和large_client_header_buffers tomcat:maxHttpHeaderSizeTomcat之get請求長度設置:<Connector port="8080" maxHttpHeaderSize="65536"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的大小限制)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鸡东县| 象州县| 当雄县| 北海市| 忻州市| 弥渡县| 健康| 万年县| 兴文县| 凤台县| 广灵县| 岳阳市| 鄄城县| 辽源市| 双柏县| 来安县| 四川省| 江津市| 务川| 临洮县| 赤水市| 义马市| 介休市| 通渭县| 郎溪县| 沙田区| 县级市| 双流县| 神木县| 湖南省| 平遥县| 滁州市| 枞阳县| 泰顺县| 华蓥市| 吉首市| 积石山| 阿克| 福清市| 左云县| 天柱县|