即使不包含Content-Length或Transfer-Encoding,HTTP響應頭(如下所示)是否合法?HTTP響應頭有效,沒有傳輸編碼和內容長度?
- Http: Response, HTTP/1.1, Status: Ok, URL: /AAA/B.json
ProtocolVersion: HTTP/1.1
StatusCode: 200, Ok
Reason: OK
Expires: Fri, 05 Oct 2012 01:41:30 GMT
Date: Fri, 05 Oct 2012 01:40:46 GMT
Vary: Accept-Encoding
Accept-Ranges: bytes
Cache-Control: public, max-age=43
Server: Noelios-Restlet-Engine/1.1.10
ContentType: application/json;charset=UTF-8
ContentEncoding: gzip
Connection: close
X-Served-By: 85.111
HeaderEnd: CRLF
我期望看到Content-Length或Transfer-Encoding,但它們都不存在。
我讀了HTTP-RFC,但我仍然不確定。
@CodeCaster,我看過RFC 4.4節,但我仍不清楚,你可以看到,響應報頭是用來返回一個JSON數據流,所以:
- 4.4節,第1所定義不得包含消息體,似乎不適用於我的情況。
- 4.4節,規則4,對此不太確定,但由於在響應頭中沒有看到「multipart/byteranges」 - 是否意味着這條規則不適用於我?
- 第4.4節規則5,由於標題實際包含「連接:關閉」,這對我來說大多不清楚,它是相關的嗎?
那麼,還有什麼意見?
我看過RFC 4.4節,但我仍然不清楚,正如你所看到的,響應頭被用來返回一個json流,所以: - 4.4節,規則1定義絕不包含消息體,似乎不適用於我的情況。 - 第4.4節,規則4,對此不確定,但由於在響應頭中沒有看到「multipart/byteranges」 - 是否意味着這條規則不適用於我? - 第4.4條規則5,由於標題實際包含「連接:關閉」,這對我來說大多不清楚,它是相關的嗎? 那麼,還有什麼意見?謝謝! – user1721757
@ user1721757規則1僅適用於上述狀態代碼。您會收到200,並且有一個「Connection:close」標題,因此您的客戶端應該繼續閱讀,直到服務器關閉連接。 – CodeCaster