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