Content-LengthまたはTransfer-Encodingが含まれていない場合でも、HTTP応答ヘッダー(以下のような)は有効ですか?Transfer-EncodingとContent-Lengthなしで有効な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、実際にはヘッダーに「Connection:close」が含まれているため、これはほとんど不明です。
これ以上のコメントはありますか?
私が読んRFCのセクション4.4をしましたが、(その は、サーバーが応答を返送するための可能性を残していないからである。接続 を閉じると、リクエストボディの終了を示すために使用することはできません)応答ヘッダーはjsonストリームを返すために使用されます: - セクション4.4、ルール1定義はメッセージ本体を含んではいけません、私の場合には当てはまりません。 - セクション4.4、ルール4、これについてはわかりませんが、応答ヘッダーに "multipart/byteranges"が表示されないため、このルールは当てはまりませんか? - セクション4.4ルール5、これはほとんどが私には分かりません。ヘッダに実際に "Connection:close"が含まれているからです。 これ以上のコメントはありますか?ありがとう! – user1721757
@ user1721757ルール1は、上記のステータスコードにのみ適用されます。あなたは200を受け取り、 'Connection:close'ヘッダがあるので、サーバが接続を閉じるまでクライアントは読み続けるべきです。 – CodeCaster