(準拠している) HTTP サーバーからチャンク化されたエンコードされた HTTP サーバーの応答を取得することは避けたいと思います。RFC 2616セクション「14.39 TE 」を読んでいますが、指定することで回避できるようTE: chunked;q=0
です。チャンクエンコーディングを避けられない場合は、トレーラーを避けたいです。指定はTE: trailers;q=0
機能しますか?
1 に答える
rfc2616 - ハイパーテキスト転送プロトコル -セクション3.6.1 チャンク転送コーディングの HTTP/1.1から:
すべての HTTP/1.1 アプリケーションは、「チャンク化された」転送コーディングを受信してデコードできなければならず (MUST)、理解できないチャンク拡張拡張を無視しなければなりません (MUST)。
これは、セクション4.1の更新されたRFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routingにも当てはまります。Chunked Transfer Codingの表現は少し異なりますが、次のようになります。
受信者は、チャンク転送コーディングを解析およびデコードできなければなりません。
したがって、HTTP/1.1 に準拠したい場合は、チャンク エンコーディングを受け入れる必要があります。
##アップデート##
予告編について:TE
リクエストでヘッダー フィールドを送信しない場合、適合するサーバーは予告編を送信するべきではないと思います。それでもトレーラーを送信する場合は、おそらく無視しても問題ありません (セクション 3.6.1 を参照):
応答でチャンク転送コーディングを使用するサーバーは、次の少なくとも 1 つが真でない限り、ヘッダー フィールドにトレーラーを使用してはなりません。
a) 要求には、セクション 14.39 で説明されているように、応答の転送コーディングで「トレーラー」が受け入れられることを示す TE ヘッダー フィールドが含まれていた。また、
b) サーバーは応答の発信元サーバーであり、トレーラー フィールドは完全にオプションのメタデータで構成され、受信者はこのメタデータを受信せずに (発信元サーバーに受け入れられる方法で) メッセージを使用できます。言い換えれば、オリジンサーバーは、トレーラーフィールドがクライアントへのパスに沿って静かに破棄される可能性を喜んで受け入れます。