私はいくつかの他のウェブサイトのコードを調べていて、一部のサイトが奇妙な css および js ファイル名を使用していることに気付きました。
例:
www.website.com/js/s_bda6c508a1d8d5de14fb21f61da91512.js
www.website.com/css/6357525.css
どんな技か分かる人いますか?
私はいくつかの他のウェブサイトのコードを調べていて、一部のサイトが奇妙な css および js ファイル名を使用していることに気付きました。
例:
www.website.com/js/s_bda6c508a1d8d5de14fb21f61da91512.js
www.website.com/css/6357525.css
どんな技か分かる人いますか?
これは、キャッシュを破壊するためにランダムに生成されたハッシュである可能性が最も高いです。
基本的に、おそらくすべての JS および CSS リソースを組み合わせて縮小するため、それぞれに 1 つのメイン ファイルが存在します (http リクエストが少なくなるため、ページの読み込み時間が大幅に短縮されます)。
これらのファイルをコンパイルするスクリプトを実行するたびに、そのようなランダムな意味不明な名前が付けられるため、次回ユーザーがサイトにアクセスしたときに、ブラウザーが古いキャッシュ バージョンを使用するのではなく、更新された CSS と JS をダウンロードし、潜在的にページが正しく表示されない (たとえば、 や などの従来の名前を使用した場合scripts.js
などstyle.css
)。
編集: jesus.tesh がコメントで指摘したように、キャッシュ無効化のもう 1 つの非常に一般的な手法は、リソース href の末尾にランダムで無意味なクエリ値を追加することです (例: style.css?22137310
)。
多くの場合、フレームワークによるアセットのコンパイルが原因です。
私は Ruby on Rails を使用しており、私の開発マシンでは css ファイルに名前が付けられている可能性がありますapplication.css
がui.css
、レールがデプロイされると、これらすべてのファイルが次のような名前の 1 つのファイルにコンパイルされます。
application-bec2abb573c652a8d453f24b457e389d.css
これは、アセットがどのデプロイ用にコンパイルされたかを示すサーバーの単なるスタンプです。
また、他のいくつかの人が言及したように、古いキャッシュから保護します.