4

これは、html メタタグの例です。

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="private">

キャッシュを有効にするには、html メタタグに設定します。

Tomcat と Firebig で試してみました。サーバーは、html メタタグで情報を送信します。ただし、http ヘッダー応答にはキャッシュに関する情報はありません。

ただし、http ヘッダー応答の次のようなものは有効です。

Cache-Control: private

だから私は疑問に思っていました:情報がhttp応答に書き込まれるのはいつですか?

同じ情報を設定する 2 つの方法 (メタタグと HTTP 応答行) が必要なのは何ですか?

4

1 に答える 1

5

HTML 4.01仕様から

メタ要素

http-equiv = 名前 [CI]

この属性は、name 属性の代わりに使用できます。HTTP サーバーは、この属性を使用して、HTTP 応答メッセージ ヘッダーの情報を収集します。

それがアイデアでした。メタ要素をネットワーク経由で送信する前に、実際の HTTP ヘッダーに変換するのはサーバーの仕事でした。

しかしそれは、サーバーがすべての HTML ドキュメントを送信する前に解析しなければならないことを意味していたため、実際にはそうはなりませんでした。

ブラウザは可能な限り断片を拾い上げましたが、キャッシング ルールはプロキシにも適用され、それらは実際の HTTP ヘッダーのみを処理するため、キャッシュ制御の http-equiv メタ要素は HTML5 では有効ではありません。

サーバーによって設定の一部として追加されるか、サーバー側のコード (つまり、PHP、Java サーブレット、ASP.NET などで記述されたコード) で追加される実際の HTTP ヘッダーを常に使用する必要があります。

于 2013-04-12T18:56:08.853 に答える