プロジェクト

全般

プロフィール

WEBCACHE » 履歴 » バージョン 7

Clelia ごりゅ, 2015/02/20 14:19

1 1 Clelia ごりゅ
h1. WEBCACHE
2
3
h2. 概要
4
5
usamimi.infoでは、WEBサーバーとブラウザの間にキャッシュサーバー(負荷分散サーバー)が存在しています。
6
一定のルールに基づいて、WEBサーバーからブラウザに返したデータをキャッシュしたり、ブラウザからの要求をWEBサーバーに渡さず貯めてあるキャッシュを返したりしています。
7
これは、WEBサーバーに掛かる負荷を下げる為と、WEBサーバーよりも高速でデータを返す事を目的としています。
8
9
h2. 制御方法について
10
11
キャッシュデータにはデメリットもあり、WEBページを更新したのに古いページが表示されてしまう(キャッシュが残っているせいで)事があります。
12
これを回避するために、幾つかの手段があるのでその方法を書き出します。
13 6 Clelia ごりゅ
ブラウザ側へのキャッシュ制御と同じ物なので、ブラウザへのキャッシュ制御にも使えます。
14 1 Clelia ごりゅ
15 2 Clelia ごりゅ
h3. ファイル名を工夫する方法
16
17 4 Clelia ごりゅ
クエリーを付与する事でキャッシュを回避できます。
18
例えば、@test.css?date=20150220@といった具合に付ける事で
19
キャッシュを回避します。一時的にテストなどでキャッシュさせたくない場合などに有効と思いますが
20
そのままにしておくとキャッシュされないので、確認が終わったら戻すなどの配慮も必要です。
21
22 2 Clelia ごりゅ
h3. htaccessを使う方法(httpヘッダ)
23
24 3 Clelia ごりゅ
<pre>
25
<Files ~ ".(html|css)$">
26
    Header set Cache-Control "no-cache"
27
</Files>
28
</pre>
29
30
* 1行目と3行目は対象の指定です。
31
カッコ内のhtml、cssの文字列が含まれる場合となります。
32
txtにしたり、jsにしたり必要に応じて編集します。
33
* 2行目が肝となるヘッダの制御文です。
34
Cache-Controlヘッダにno-chaceと指定する事で、キャッシュを無効にします。
35
no-cacheではなくmax-age=120といった文に変える事で、指定時間だけ有効なキャッシュにすることもできます。
36
例では120なので2分です。
37
38
参考URL(外部サイト)
39
http://love-guava.com/blog-htaccess-cache/
40
41
尚、キャッシュを無効にすることは、そのままWEBサーバーへアクセスしに行くことになる為
42 7 Clelia ごりゅ
アクセスが多かったり、動作が重い、滅多に更新する事が無いようなファイルは極力キャッシュは有効にしたままにして下さい。
43 1 Clelia ごりゅ
44
h2. 導入されているキャッシュサーバー(スペック)
45 5 Clelia ごりゅ
46
* Varnish https://www.varnish-cache.org/
47
48
* キャッシュのデフォルト値は1日
49
* 対象の拡張子
50
|gif|jpeg|jpg|png|bmp|js|css|swf|css.php|txt|avi|mp4|flv|wav|mp
51
3|