知りたかったのは、以下のようなヘッダを持つHTTPレスポンスはプロトコル仕様上正しいのかという点。
- Content-Length がない
- Transfer-Encoding がない
- Connection: close である
該当するのは以下の記載あたり。
4.4 Message Length
The transfer-length of a message is the length of the message-body as it appears in the message; that is, after any transfer-codings have been applied. When a message-body is included with a message, the transfer-length of that body is determined by one of the following (in order of precedence):
- snip -
5.By the server closing the connection. (Closing the connection cannot be used to indicate the end of a request body, since that would leave no possibility for the server to send back a response.)
つまり、サーバーからコネクションを切るようなレスポンスであれば、その接続内のデータの末尾までがレスポンスのメッセージ長である、ということらしい。
レスポンスにはContent-LengthかあるいはTransfer-Encoding(chunked) が必須だと思っていたけどそうではなかった。