回答編集履歴
2
キャッシュ制御例の改訂
test
CHANGED
@@ -16,17 +16,23 @@
|
|
16
16
|
|
17
17
|
2. サーバーは、応答ヘッダ ``ETag: "token"`` を含めて``200 OK``を応答。
|
18
18
|
|
19
|
+
(ブラウザは応答内容をトークンを含めて覚える:キャッシュする)
|
20
|
+
|
19
21
|
3. ブラウザからサーバーへの(2回目以降の)要求するとき、
|
20
22
|
|
21
23
|
以前、知った``"token"``を 要求ヘッダ ``If-None-Match: "token"`` に含めて要求
|
22
24
|
|
23
25
|
(「__もし、違っていたら更新情報を応答して!以前のは覚えてる__」という意味) 。
|
24
26
|
|
25
|
-
|
27
|
+
4. サーバーは、``"token"`` から、2回以上アクセスしてきたブラウザだと判断して新旧を比較。
|
26
28
|
|
27
29
|
内容が変わってないなら、エラー ``304 Not Modified``(覚えているのを使ってね)を応答。
|
28
30
|
|
29
|
-
変わっていると、応答ヘッダに ``ETag: "token2"`` (新しいトークン)を含め、更新内容 を``200 OK``で応答。
|
31
|
+
変わっていると、2.と同様に応答ヘッダに ``ETag: "token2"`` (新しいトークン)を含め、更新内容 を``200 OK``で応答。(ブラウザは応答内容を新しいトークンを含めて覚えなおす:キャッシュ更新する)
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
これの繰り返しになります。
|
30
36
|
|
31
37
|
|
32
38
|
|
@@ -49,3 +55,9 @@
|
|
49
55
|
追記)
|
50
56
|
|
51
57
|
サーバー側プログラムを弄るときに「キャッシュ制御という方法がある」と覚えておけばいいと思います。
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
ブラウザ側だけで実装する仕様は無くはないのです(アプリケーションキャッシュ)。
|
62
|
+
|
63
|
+
が、仕様もWD(作業草案)のまま放置され、実装されている内容は、キャッシュの削除が厄介で、とても「安全」とは言えない状態です。このため、ブラウザ側だけで**安全に更新状態を判断する手段は無い**と考えてください。
|
1
誤字の修正と追記
test
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
(「__もし、違っていたら更新情報を応答して!以前のは覚えてる__」という意味) 。
|
24
24
|
|
25
|
-
3. サーバーは、``"token"`` から、2回
|
25
|
+
3. サーバーは、``"token"`` から、2回以上アクセスしてきたブラウザだと判断して新旧を比較。
|
26
26
|
|
27
27
|
内容が変わってないなら、エラー ``304 Not Modified``(覚えているのを使ってね)を応答。
|
28
28
|
|
@@ -43,3 +43,9 @@
|
|
43
43
|
示されたコードは、5秒毎に強制的に再リクエストする実装ですから。
|
44
44
|
|
45
45
|
閲覧者にとっても、5秒後にスクロールがリセットされてしまうページになっています。
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
追記)
|
50
|
+
|
51
|
+
サーバー側プログラムを弄るときに「キャッシュ制御という方法がある」と覚えておけばいいと思います。
|