タグ付けされた質問 「image-caching」

17
画像をキャッシュしないようにWebブラウザーを強制する方法
バックグラウンド 私は2つの無料ウェブサイト用の非常にシンプルなCGIベースの(Perl)コンテンツ管理ツールを作成して使用しています。Webサイト管理者に、フィールド(日付、場所、タイトル、説明、リンクなど)に入力して保存するイベントのHTMLフォームを提供します。そのフォームでは、管理者がイベントに関連する画像をアップロードできるようにします。フォームを表示するHTMLページで、アップロードされた画像のプレビュー(HTML imgタグ)も表示しています。 問題 問題は、管理者が画像を変更したい場合に発生します。彼は「ブラウズ」ボタンを押し、新しい写真を選んで「OK」を押すだけです。そして、これはうまくいきます。 画像がアップロードされると、バックエンドのCGIがアップロードを処理し、フォームを適切に再読み込みします。 問題は、表示される画像が更新されないことです。データベースに正しい画像が保持されていても、古い画像は表示されます。画像をWebブラウザーでキャッシュしているという事実に絞り込みました。管理者がFirefox / Explorer / SafariのRELOADボタンを押すと、すべてが正常に更新され、新しい画像が表示されます。 私の解決策-機能しない 過去の非常に古い日付のHTTP Expires命令を記述して、キャッシュを制御しようとしています。 Expires: Mon, 15 Sep 2003 1:00:00 GMT 私は管理者側にいることを忘れないでください。ページは常に期限切れであるため、ページのロードに少し時間がかかるかどうかは特に気にしません。 しかし、これも機能しません。 ノート 画像をアップロードするとき、そのファイル名はデータベースに保持されません。これは、Image.jpgに名前が変更されます(使用するときに単にわかりやすくするため)。既存の画像を新しい画像に置き換える場合、名前も変更されません。画像ファイルの内容のみが変更されます。 ウェブサーバーはホスティングサービス/ ISPによって提供されます。Apacheを使用します。 質問 画像ではなく、このページの内容をキャッシュしないようにWebブラウザに強制する方法はありますか? 実際にデータベースに「ファイル名を保存する」オプションを調整しています。このように、画像が変更されると、IMGタグのsrcも変更されます。ただし、これにはサイト全体に多くの変更が必要であり、より良い解決策がある場合は、むしろ変更を行いません。また、アップロードされた新しい画像に同じ名前が付いている場合、これは機能しません(たとえば、画像が少しフォトショップされて再アップロードされたとします)。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.