解決!楽天GOLDの画像ファイルを上書きした時の反映遅延。

   

WEB用にアップロードした画像を上書きすると、キャッシュのために、変更した画像の反映が遅いことありませんか?変更したら、すぐに結果がみたいですよね。

これで解決!システム時間などの重複しない文字列をURLのクエリ文字列に付けたす!

画像を表示させるimgタグのソース属性が

<img src=”hoge.jpg”>

の時、これの末尾に

<img src=”hoge.jpg?123456“>

などのクエリ文字列?123456)を付加すると、キャッシュはクエリ文字列込みで行われるので、 毎回アップロードの度に異なる「?数字列」をURLに付加すれば、毎回新しいのを読みに行くはずで。。。つまり、キャッシュを行わないことになります。

結論

楽天GOLDでは画像を同じファイル名で上書きした際、
ブラウザを通して確認すると中々上書きがされないため、この上書き遅延を解消する方法は、

<img src=”test.jpg?123456″>

このように画像URLの末尾に「?」を付け、その後に適当な数字を何桁か追加します。
また、再度上書きするときは、今までの数字と重複しない番号に変更すればOK。

[追記].jsファイルは、画像ファイルと同じく、同名のファイル名で上書き更新した場合、即更新されません。

この時も、?****対策は有効で、

<script type=”text/javascript” src=”test.js?123456“></script>

これにて即更新が可能になります。

[補足]

クエリ文字列(クエリストリング/URLパラメータ/リクエストパラメータ)とは、WebブラウザなどがWebサーバに送信するデータをURLの末尾に特定の形式で表記したもの。Webアプリケーションなどでクライアントからサーバにパラメータを渡すのに使われる表記法です。
[表記]:http://(***URL***)?パラメータ=”値” & パラメータ=”値” & パラメータ=”値”・・・

※上記の?(クエリ文字)」の後に「&(アンパサンド)」を挟んで「パラメータ=”値”」を列記したものクエリ文字列といいます。

 - webサイト運営