Apache-2.2
Apache 2.2 中的“傳輸編碼:分塊”問題
我們的 Web 服務客戶端之一使用發送 HTTP 1.1 查詢的 axis2 應用程序:
Transfer-Encoding: chunked
標題。我們的 Apache 2.2 拒絕了這樣的查詢,並顯示以下消息:
<title>411 Length Required</title> </head><body> <h1>Length Required</h1> <p>A request of the requested method POST requires a valid Content-length.<br />
在 Apache 日誌中有:
[Mon May 17 09:06:04 2010] [error] [client 127.0.0.1] chunked Transfer-Encoding forbidden: /app/webservices/soap.hdb
Transfer-Encoding: chunked
當我在沒有和Content-Length
所有工作正常的情況下發送此類消息時。我搜尋瞭如何解決這個問題,但我只發現如何Transfer-Encoding: chunked
在客戶端禁用。作為客戶端,我使用了我添加/刪除標頭的
Transfer-Encoding: chunked
soapUI(當我添加此標頭soapUI 時不發送Content-Length
標頭)。作為伺服器,我使用:CentOS 上的 Apache/2.2.3,但我也在 Windows 上使用“全新”安裝的 Apache 2.2.15 對其進行了測試。有沒有辦法在伺服器端啟用分塊查詢?
從我在 apache 的網站上找到的內容,
chunking
僅受 HTTP/1.1 支持,也許您的伺服器或軟體在配置中設置為 HTTP/1.0。http://ws.apache.org/axis2/1_0/http-transport.html除此之外,我會查看錯誤消息中指示的文件,看看是否有任何提示在那裡進行分塊。
{DocumentRoot}/app/webservices/soap.hdb
您可以在axis2.xml 上禁用/啟用分塊
分塊意味著雖然傳輸總大小是未知的,但這在生成動態內容時很有幫助。
提示:
HTTP 1.0 不支持分塊編碼。