2

RFC2616 を読んでいるときに、チャンク エンコーディング用の TE および Transfer Encoding ヘッダーに出くわしました。これらについて次の質問があります。

  1. TE ヘッダーが存在するために HTTP サーバーが要求を拒否する場合、RFC に準拠していますか?
  2. HTTP クライアントが TE ヘッダーと t-codings および q 値のリストを含む要求を送信し、そのような q 値が 1 になると、HTTP サーバーがそのエンコーディングで応答データを送信することが必須になります。 =0.5 gzip;q=1 (これは、エンティティ データを gzip で圧縮して送信することをサーバーに義務付けますか、それともサーバーはそれを無視して通常の方法でデータを送信できますか?)
  3. HTTP サーバーがチャンク データの受信をサポートしていない場合 (RFC に違反していることは承知していますが、意図されています)、クライアントが次回 PUT を送信しないように、クライアントに送り返す正しいエラー応答コードは何でしょうか。チャンク方式で要求します。

貴重な情報と回答をお寄せいただきありがとうございます。

4

1 に答える 1

2

RFC 7230では、次のように述べています。

リクエストの「TE」ヘッダー フィールドは、
チャンク以外に、クライアントが応答で受け入れる意思がある転送コーディングと、クライアントが チャンク転送コーディング
でトレーラー フィールドを受け入れる意思があるかどうかを示します。

これは、TE が単にクライアントによる宣言であり、次のサーバーによって無視される可能性があることを示しています。HTTP サーバーが TE ヘッダーを含む要求を拒否する理由はありません。サーバーがチャンクをサポートしていない場合は、HTTP 1.1 をサポートしていないため、着信要求を 1.0 要求であるかのように解釈し、それに応じて応答する必要があります。ここを参照してください。

于 2014-08-20T14:33:49.777 に答える