1

HTTP仕様を読んでいますが、「エンティティ」が何であるかを正確に理解できません。「 HTTPエンティティとは正確には何ですか」という答えを読みましたが、それでも混乱しています。

具体的には、仕様がエンティティヘッダーと応答/要求/一般ヘッダーを区別していることを理解していません。たとえば、[ヘッダーフィールドの定義]セクションを読むと、、、などのヘッダーAllowは「エンティティヘッダー」として分類されます。それは実際にはどういう意味ですか?それらは「エンティティボディ」に適用されると思いますが、エンティティボディとメッセージボディの違いは何ですか?ExpiresLast-Modified

エンティティと、それらがHTTP要求/応答のどこに適合するかについての説明をいただければ幸いです。

4

2 に答える 2

4

messageは最も一般的な用語で、 start-linemessage-headerフィールド、およびmessage-body (空の場合があります)を含むHTTP メッセージ全体を指します。

メッセージのエンティティは、送信されるペイロードです。これはmessage-bodyと同じにすることができますが、 entityに適用された転送エンコーディングがあった場合、entity-bodyは転送エンコーディングをデコードすることによってmessage-bodyから取得されます。

このような転送エンコーディングの例は、エンティティ本体がチャンクで転送されるチャンク転送コーディングです。

HTTP/1.0 OK 200
Transfer-Encoding: chunked

9
This is a
C
 chunked mess
4
age.
0
‍

メッセージ本文は次のとおりです。

9
This is a
C
 chunked mess
4
age.
0
‍

ただし、エンティティ本体は、チャンクエンコーディングがデコードされたメッセージ本体です。

This is a chunked message.
于 2012-12-10T23:20:49.773 に答える
0

ケース 1. http リクエストで 3 つのファイルをアップロードしています。これらの 3 つのファイルは 3 つのエンティティです。Content-Typeそれぞれに、ファイルの種類を示す独自のファイルがあります。

ケース 2. Web ページを表示しています。ブラウザは、バックグラウンドで http 応答を介してエンティティとして html ファイルをダウンロードしました。ファイルは継続的に更新される場合があります。そのため、昨日取得したエンティティは、今日取得したエンティティとは異なる場合があります。

ケース 3. を持ってい304 Not Modifiedます。送信されたエンティティはありません。

エンティティは、http 要求または応答内のオプションのペイロードです。ヘッダーの一部は、それを説明するために使用されます。

于 2013-12-24T08:01:46.143 に答える