2016-12-03 11 views
1

私は新しいものをテストするためのウェブサイトを開発しており、 "?v ="ものを理解する必要があります。しかし、私はそれがどのように動作するかわからない、誰かが私にこれを説明することができますか?どのように、どのように動作するように。HTMLリンク作業で "?v ="はどのようにしますか?

だから、これは次のようになり、サーバー上のファイル名は、このためにどのように変わるだろうか。これとは対照的に、

<script src="assets/js/moticulous.js"></script> 
<link rel="stylesheet" href="assets/js/platforms.css"/> 

<script src="assets/js/moticulous.js?v=1"></script> 
<link rel="stylesheet" href="assets/js/platforms.css?v=1"/> 
+1

なぜあなたはそれを把握する必要があると思いますか?あなたのために解決すると思う問題は何ですか? – Pointy

+0

[キャッシュでキャッシュを破棄する]の可能な複製(http://stackoverflow.com/questions/9692665/cache-busting-via-params) –

答えて

2

これを追加することができますがのCachingを防ぐためにjs/css /イメージファイル。 ?anything=123を追加することによって、ブラウザ/クライアントに、更新されたバージョンのjs/css/imageファイルをサーバーからダウンロードさせるように強制します。スクリプト、CSSと画像ファイルのキャッシュを制御するために使用される技術であるhttps://css-tricks.com/can-we-prevent-css-caching/

0

:上

もっと読みます。

ブラウザは?v = 1パラメータ(例:http://example.com/path/to/script.js?v=1)を使用してスクリプトファイルをダウンロードし、それをビジターディスクにキャッシュします。次にブラウザがそのページにアクセスしたときに、URLが "http://example.com/path/to/script.js?v=1"の場合は、キャッシュされたバージョンがロードされます。

?v = 1を?v = 2に変更した場合、完全なURLがブラウザがキャッシュしたものと同じではなくなったため、キャッシュされたバージョンは有効ではなくなります。これにより、新しいファイルがダウンロードされ、キャッシュされます。これにより、サーバの設定やブラウザで設定されたキャッシュ設定に関係なく、すべての訪問者に最新の変更が強制されます。

このテクニックは、ソフトウェアバージョンが更新されたときに、新しいバージョンのjsを強制的に強制的に使用するバージョン番号(よくあるのはv =)で使用されることがよくあります。

バックエンドコードでは、このキャッシュコントロールを動的にするために、現在のソフトウェアバージョンが何であれ、= 1部分を置き換えます。代わりに、アセットが変更されたときにバージョン番号を増やすことはできますが、それは動的ではないか、アセットを変更する作業が増えます。

0

一部のブラウザで.jsファイルと.cssファイルがキャッシュされるため、ダミーのHTTP GET文字列が渡され、キャッシュを防止します。通常、.cssファイルまたは.jsファイルが変更されたときに、古いバージョンのファイルがブラウザキャッシュ経由でブラウザによってロードされないようにするために行われます。名前にタイムスタンプ値を追加すると(<のファイル名>?<タイムスタンプ>)、バージョンを追加するよりもポピュラーなのは、同じタイムスタンプを持つ2つの要求時間がないため、ページを表示するたびにブラウザにファイルをダウンロードさせるためです。

関連する問題