2013-04-02 2 views
6

サイトを更新してページソースを表示するたびに、javascriptのsrc、つまりjs.js?version=1364903356;バージョン番号は常に変更されます。このjs.js?version = 1364903356の意味はウェブページですか?

私の質問は次のとおりです。この数字の意味は?すべてのページにjs.jsと入力すると、サイトは機能していません。

+0

あなたはそのサイトへのリンクを提供できますか。この番号は、ブラウザにサーバーから "js.js"ファイルをダウンロードさせ、そのキャッシュされたコピーを使用させないようにする方法です。これを読んでくださいhttp://www.impressivewebs.com/force-browser-newest-stylesheet/ – vdua

+0

またこの質問を読んでhttp://stackoverflow.com/questions/118884/what-is-an-elegant-way-to-force -browsers-to-reload-cached-css-js-files – vdua

+0

[リンク](http://tokiolab.it) –

答えて

8

バージョンは一般的に、キャッシュを無効にする(バージョン番号と要求されるURLを変更することによって)ので、新しいリソースと見なされて新たにダウンロードされます。

+1

返事をありがとう。 –

2

多分この数字は無意味です。ほとんどの場合、URLに追加されているだけなので、JSがキャッシュからフェッチされないようにURLが変更されます。

+1

返信いただきありがとうございます。 –

+0

実際には無意味ではありません。エポック時から秒単位で表現されたタイムスタンプのように見えます(値に '1000'を掛け、' Date() 'コンストラクタに渡すと' Tue Apr 02 2013 13:49:16 GMT + 0200'が返されます)私のマシン上で)。 –

+0

@FrédéricHamidi - それを生成するために使用された論理を説明し、それをユニークにするだけで意味がありません。 – Quentin

1

avoid Caching purposes and request new each timeです。同じコンテンツを訪問するたびにIISで静的コンテンツのキャッシュを有効にすると、ブラウザはHTTP 304の状態をリソースに変更しません。

クロムで見ることができます。開発ツール(f12)を開き、[ネットワーク]タブに移動します。このようなリクエストヘッダーに表示されます。

Request Method:GET 
Status Code:304 Not Modified 

IIS /任意のWebサーバーは、コンテンツが変更されているか同じコンテンツであるかどうかを判断します。キャッシュ内のコンテンツと同じであれば、新しい要求を開始しません。

appendignでは、バージョン番号、ファイル名/ URL /リソースが変更されます。ブラウザはリソースに対して新しいGETリクエストを発行します。

1

これは、ブラウザで通常キャッシュされるjavascriptやその他のファイルのキャッシュを防止または管理するために使用される一般的な手法です。

バージョン番号が常に変更される場合は、問題のページがブラウザでファイルをまったくキャッシュできないことを意味します。すべての要求は、変更されているかどうかにかかわらず、ファイルの新しいコピーをロードします。

これは実践的ではなく、問題のサイトが誤って設定されている可能性があります。

もっと一般的には、バージョン番号は静的なままですが、サイト自体によって変更される可能性があります。これは、ほとんどの要求に対して、ブラウザのキャッシュが有効であることを意味しますが、サイト所有者は、たとえばスクリプトファイルを更新するときなど、キャッシュを更新するかどうかを制御できます。この技術がなければ

、既にファイルが更新されていることを知らないかもしれない古いバージョンのファイルをキャッシュしている、と更新されたバージョンを取得しないことがあり、ブラウザ。これにより、ページ上のスクリプトファイルのバージョンが競合する可能性があります。

URLの最後にランダムな値を追加することを含めない、技術的に正しい方法が実際にあります。 HTTP標準では、ブラウザがURLを照会し、キャッシュしたバージョンをサイトに通知するように指定しています。サイトは「変更されていません」というメッセージで応答し、ブラウザはキャッシュされたバージョンを使用できます。これは、問題で使用されている手法が必要でないことを意味するはずです。いくつかのブラウザおよび/またはWebサーバーの構成が標準的な方法で正常に動作しないことがあり、ブラウザはまだ間違ってキャッシュされたバージョンを使用して終わる可能性があるため

しかし、技術はいくつかのケースでは必要です。

このテクニックは、そのための回避策として見ることができます。

関連する問題