キャッシング - Webサーバーのキャッシュの解析
も。。
gbvy[W
キャッシュ制御のCache - Control
有効期限有効期限
最後の最終更新日変更
ETagのも変更ETagの、リソースのハッシュ値は、リソースの変化に応じて見ることができます。(1つの可能な実装のハッシュするファイルシステムの最終更新時間です)
クライアントとキャッシュ関連のヘッダから送信された要求は、次のとおりです:
キャッシュ制御のCache - Control
304と一致する場合、- None - Matchの場合はETagは、サーバとなる最後に受信したが送信されますETagの一致と
- Modifiedのは最後にマッチして変更ので、最後に最終更新時刻によって送信された場合は、サーバとして利用する場合は変更なし、リターン304
ほとんどのサイトでは、画像を変更しないでいる。通常長い時間期限が切れるように設定。
たとえば、Googleホームページロゴ
:~$ curl -I
HTTP/1.1 200 OK
Content-Type: image/gif
Last-Modified: Tue, 05 May 2009 16:40:06 GMT
Date: Thu, 29 Oct 2009 09:39:54 GMT
Expires: Fri, 29 Oct 2010 09:39:54 GMT
X-Content-Type-Options: nosniff
Server: gws
Content-Length: 7763
Cache-Control: public, max-age=
Age: 16383
X線のXSS - Protectionは:0注:有効期限(時間ちょうど1年以降)とCache - Control(1年間のmax - ageの値が正確に秒数であることに注意して)、この写真は、有効期限が一年を経過した後。Cache - Controlヘッダーは、画像は、プロキシのキャッシュをキャッシュすることができることを意味し、公開鍵を持って。(たとえば、数年前、まだ学校にいたときの応答がキャッシュされるプロキシによってインターネットので、学校のプロキシサーバー。)
ネットワークのオーバーヘッドを保存する - あなたがGoogleのホームページを更新すると、そこにこの画像の要求を発行されません。。
我々は、Ctrlキーを押しながらF5キーを押して、見て何が起こるかが。
ブラウザは以下の要求を送ります。。
GET /intl/zh-CN/images/logo_cn.gif HTTP/1.1
Host: www.google.cn
Connection: keep-alive
Referer:
Cache-Control: max-age=0
HTTP/1.1 304 Not Modified
Last-Modified: Tue, 05 May 2009 16:40:06 GMT
X-Content-Type-Options: nosniff
Date: Thu, 29 Oct 2009 15:11:05 GMT
Server: gws
X線のXSS -無し:0番目のシナリオ:JSバッハ/ CSSファイル
Javascriptは、サイトが変更されることがありますCSSファイルが、頻繁に変更しないでください。
jsファイルのfeed.filia.cnたとえば、参照する。 。(ポップアップブラウザでは、使用シオマネキ友達ネットワーク要求。)
レスポンスを取得する以下のとおりです
HTTP/1.1 200 OK
Date: Thu, 29 Oct 2009 14:43:03 GMT
Server: Apache/2.2.3 (Unix) PHP/5.2.0
Last-Modified: Tue, 24 Apr 2007 14:10:29 GMT
ETag: "12ec06cdf40"
Accept-Ranges: bytes
Content-Length: 1895
のContent - Type:/ X線javascriptのリフレッシュ私のページのアプリケーションは、次の要求を送信する。(シンプルは、いくつかの無関係な頭を削除)
GET /js/xsl.js HTTP/1.1
Host: feed.feedsky.com
Connection: keep-alive
Cache-Control: max-age=0
Accept: */*
If-None-Match: "12ec06cdf40"
- Modifiedのは以来の場合:火、2007年4月24日午後02時10分29秒GMTの応答が( - ネットワークのオーバーヘッドを保存するヘッダーのみ、本文なし)を受信する。
HTTP/1.1 304 Not Modified
Date: Thu, 29 Oct 2009 14:45:34 GMT
Server: Apache/2.2.3 (Unix) PHP/5.2.0
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
。
我々は資源を発見した場合は、Last - Modifiedを介してサーバー側では、リソースを表すためにETagのは、クライアントががIf - Modifiedは、- None - Matchのヘッダーは、リソースを取得するために最後のサーバーのバージョンを教えている場合ので、サーバーは変更されませんすることができます304に戻る。
のCache - Controlを介してクライアント:max - ageは= 0とCache - Control:キャッシュなしまたはその他の同様のヘッドは、キャッシュをスキップする。前者はリソースがコンテンツに戻されている必要があります再認証(サーバは304を返すことがあります)が必要です。。
リファレンス:
RFC2616 Hypertext Transfer Protocol — HTTP/1.1 13.Caching in HTTP