RFC 2616から、HTTPクライアントがContent-Length:0または転送エンコーディング:チャンクヘッダを含むNo Contentレスポンスを受け入れるべきかどうかを知ることはできません。これらのヘッダは明らかに空の応答本文をお読みしようとしている、いくつかのHTTPクライアントとプロキシを破るように見えるが、the spec reads:204コンテンツレスポンスが壊れているContent-LengthまたはTransfer-Encodingを送信するHTTPアプリケーションはありますか?
- (例えば とメッセージボディを含ん「てはならない」任意の応答メッセージヘッダーフィールドの後の最初の空の 行によって常に終了されます。 メッセージ内にエンティティヘッダーフィールド が存在するかどうかに関係なく、常に が終了します。私に
は「関係なく、エンティティヘッダフィールドの」クライアントがこの事態を容認すべきであることを意味します。 Erlang HTTP libraryはこの解釈を選択しました。しかし、lighthttpdとIBMは逆の解釈を選択しました。つまり、サーバーは本文を持つことが禁止されているレスポンスに対してこれらのヘッダーを含めるべきではありません。
Webアプリケーションはこれらのヘッダーを応答から削除するか、ネットワークインフラストラクチャとクライアントが204コンテンツなし、304未修正などのヘッダーを許容していなければなりませんか?
ニース - 6年後、あなたは正しい答えを得ました! –