概要 †
特に指定しない限り、HTTPレスポンスヘッダには下記の「最初に出力されるHTTPレスポンスヘッダ」が出力されます。
指定することで動作が高速化したり、ファイル形式によっては指定しないとトラブルの元になります。
最初に出力されるHTTPレスポンスヘッダ †
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Type: text/html
Expires: Thu, 19 Nov 1981 08:52:00 GMT
後から同名のHTTPレスポンスヘッダを出力することで、上記を上書きすることができます。
If-Modified-SinceとIf-None-Matchの扱い †
Etagが等しくない∧(Etagが指定されていて異なる∨Last_Modifiedが指定されていて異なる)
という条件が満たされた時、HTTP1.1 304 Not Modifiedを出力します。
つまり、EtagとIf-None-Matchが指定されていればそれによる判断を行い、指定されてなければIf-Modified-Sinceによる判断を行います。
主なHTTPレスポンスヘッダの例 †
- Content-Type: text/css; charset=utf-8
- Content-Typeをtext/cssに変更した上で、文字コードをutf-8にします。
ブラウザによってはContent-Typeを適切に指定しないと外部ファイルが読み込めません。(例:NetFront? v4.1)
- Cache-Control: private
Pragma:
Expires:
Etag: "$hash_rb"
- base部の出力が変化しない限り、ブラウザはキャッシュを維持し続けます。