17

w3c バリデーターから自分のサイトに html5 バリデーターを渡すときに問題が発生しました。エラーは次のとおりです。

Bad value Content-Script-Type for attribute http-equiv on element meta
<meta http-equiv="Content-Script-Type" content="text/javascript" >

Bad value expires for attribute http-equiv on element meta
<meta http-equiv="expires" content="Wed, 26 Feb 1997 08:21:57 GMT" >

Bad value pragma for attribute http-equiv on element meta
<meta http-equiv="pragma" content="no-cache" >

Bad value Cache-Control for attribute http-equiv on element meta.
<meta http-equiv="Cache-Control" content="no-cache" >

html5バリデータを渡すためのメタタグの正しい値は何ですか?

4

2 に答える 2

8

HTML5 の場合、ヘッダーでキャッシュ マニフェスト ファイルを使用します。これは使用方法の例です: http://www.w3.org/TR/html5/browsers.html#manifests

また、これでキャッシュを強制しません:

<meta http-equiv="expires" content="0">

これは、キャッシュ マニフェスト ファイルの使用方法に関する優れたチュートリアルです: https://www.html5rocks.com/en/tutorials/appcache/beginner/#toc-manifest-file-creating

于 2012-10-02T15:49:57.350 に答える
7

受け入れられた答えは間違っています!これは良い答えです。

Alohci を引用するには:

キャッシング命令をメタ タグに入れることは、良い考えではありません。ブラウザはそれらを読み取るかもしれませんが、プロキシはそうしないからです。そのため、それらは無効であり、キャッシュ命令を実際の HTTP ヘッダーとして送信する必要があります。

補遺:Apacheおよび.htaccessの場合、使用できます

<ifmodule mod_expires.c>
ExpiresActive On
ExpiresDefault value      or
ExpiresByType text/css  "access plus 1 month"
...
</IfModule>

PHP には、そのための headers_sent() および header() 関数があります。

function header_no_cache () {
    \header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1.
    \header('Pragma: no-cache'); // HTTP 1.0.
    \header('Expires: 0'); // Proxies.
}

ポイントは、キャッシング命令がヘッダーにある必要があるということです。html ファイルにはありません。

于 2015-07-14T10:45:13.670 に答える