[ターン]ブラウザのCTRLF5とF5の動作の違い



Difference Between Behavior Browsers Ctrl F5



元のアドレス:http://www.cnblogs.com/jiji262/p/3410518.html

序文

インプレッションブラウザとF5更新ボタンは同じ効果で、現在のページを更新するCtrl-F5でページの動作を更新しますが、フロントエンドのデバッグ時によく使用されるブラウザのキャッシュをクリアします。両方の本当の違いは何ですか? stackoverflowで誰かが非常に詳細に 説明 以下のように要約されます。

説明

F5とCTRL-F5の動作は異なるブラウザで同じではありませんが、それらの主な動作は非常に似ています。FF、IE、Opera、およびChromeでテストした次の結果が得られます。



  • F5キャッシュを使用し、リソースの内容が変更された場合にのみ、リソースを更新します。

ページを更新すると、ブラウザはさまざまなタイプのキャッシュの使用を試み、サーバーが戻る場合はIf-Modified-Sinceヘッドをサーバーに送信します304 Not Modified次に、サーバーがサーバーの場合はローカルキャッシュを使用します戻り値200 OKそしてリソースコンテンツの場合、ブラウザは返されたリソースのコンテンツを使用し、コンテンツは次に使用するまでリソースをキャッシュします。

  • CTRL-F5を押して、ページキャッシュリソースを更新します。

(ここでは、Cache-Control内のCache-Controlリクエストヘッダーを指します。Cache-Control内のリクエストヘッダーが、取得がCDNからのローカルキャッシュから取得されないと言った場合は、サーバーに直接アクセスして、からデータを取得します。サーバー)MSIEは送信Cache-Control: no-cache送信に加えてCache-Control: no-cacheヘッド、Firefox、Chrome Pragma: no-cacheヘッドの外側、送信+------------+-----------------------------------------------+ | UPDATED | Firefox 3.x | |27 SEP 2010 | +--------------------------------------------+ | | | MSIE 8, 7 | | Version 3 | | +-----------------------------------------+ | | | | Chrome 6.0 | | | | + +--------------------------------------+ | | | | | Chrome 1.0 | | | | | | +-----------------------------------+ | | | | | | Opera 10, 9 | | | | | | | +--------------------------------+ | | | | | | | | +------------+--+--+--|--+-----------------------------------+ | F5|IM|I |IM|IM|C | | | SHIFT-F5|- |- |CP|IM|- | Legend: | | CTRL-F5|CP|C |CP|IM|- | I = 'If-Modified-Since' | | ALT-F5|- |- |- |- |*2| P = 'Pragma: No-cache' | | ALTGR-F5|- |I |- |- |- | C = 'Cache-Control: no-cache' | +------------+--+--+--|--+--+ M = 'Cache-Control: max-age=0' | | CTRL-R|IM|I |IM|IM|C | - = ignored | |CTRL-SHIFT-R|CP|- |CP|- |- | | +------------+--+--+--|--+--+ | | Click|IM|I |IM|IM|C | With 'click' I refer to a | | Shift-Click|CP|I |CP|IM|C | mouse click on the browsers | | Ctrl-Click|*1|C |CP|IM|C | refresh-icon. | | Alt-Click|IM|I |IM|IM|C | | | AltGr-Click|IM|I |- |IM|- | | +------------+--+--+--+--+--+--------------------------------+ ヘッド。より代替的なOperaであり、キャッシュ関連のヘッダーを送信しません。



次の表は、非常に直感的なF5およびCTRL-F5の動作を示しています。ブラウザの元のテストバージョンが低いため、更新されています。

更新された表、2010年9月27日

|_+_|

テストされたバージョン:



HTTPプロトコル仕様

14.9.4のHTTP / 1.1仕様:

  • エンドツーエンドのリロード(つまり、CTRL-F5で強制的に更新)は、次のHTTPヘッダーを送信します。
    キャッシュ制御:キャッシュなし
    プラグマ:キャッシュなし

  • 特定のエンドツーエンドの再検証(つまり、F5の更新)は、次のHTTPヘッダーを送信します。
    キャッシュ制御:max-age = 0
    変更された場合-以降:2011年4月15日金曜日12:08:21 GMT

参照:

http://stackoverflow.com/questions/385367/what-requests-do-browsers-f5-and-ctrl-f5-refreshes-generate