3 回答

TA貢獻1796條經驗 獲得超4個贊
盡管每種Web服務器軟件都有一些限制,但是HTTP請求行加標頭字段或每個標頭字段是否有限制是有區別的。
總結如下:
的Apache 1.3,2.0,2.2,2.3:8190字節(對于每個報頭字段)
IIS:
4.0:2097152字節(用于請求行和標題字段)
5.0:131072字節,Windows 2000 Service Pack 4帶16384字節(用于請求行和標題字段)
6.0:16384字節(用于每個標頭字段)
Tomcat:
5.5.x / 6.0.x:49152字節(用于請求行和標題字段)
7.0.x:8190字節(用于請求行和標題字段)
得出以下結論:要被以上所有Web服務器接受,請求的請求行加上標題字段不得超過8190 Bytes。這也是每個標頭字段的限制(實際上更少)。

TA貢獻2080條經驗 獲得超4個贊
對于Apache,我找到了這篇Apache安全服務器限制文章,其中列出了以下指令:
# allow up to 100 headers in a request
LimitRequestFields 100
# each header may be up to 8190 bytes long
LimitRequestFieldsize 8190
對于Nginx,來自HttpCoreModule 的large_client_header_buffers指令對此進行控制:
請求的最長標頭行也必須不超過一個緩沖區的大小,否則客戶端將收到錯誤“錯誤的請求”(400)。
默認情況下,一個緩沖區的大小等于頁面的大小,具體取決于平臺是4K還是8K
添加回答
舉報