現在、毎週更新されるオブジェクト タグ内に複数の PDF ファイルが含まれる Web サイトをホストしています。 これらの PDF ファイルの名前は同じままですが、データは変更されています。
現在私が使用しているもの:
リーリーPDF を更新すると、次のことが期待されます
リーリー最新の PDF を読みましたが、以前と同じままです。
追加しました?ファイル名の末尾で最新バージョンをチェックする必要がありますが、機能していないようです。
ブラウザのキャッシュをクリアすると更新されますが、もちろんこれはユーザーには機能しません。
ご協力ありがとうございます。
この文脈では、キャッシュとは、ブラウザーが過去に URL からデータをロードし、そのデータのローカル コピーをまだ保持している場所を指します。処理を高速化し、帯域幅を節約するために、サーバーから新しいコピーを要求する代わりに、ローカル コピーを使用します。
ブラウザに新しいコピーを取得させたい場合は、キャッシュ内のコピーが不良であるとブラウザに認識させる必要があります。
キャッシュクリアクエリ文字列
このメソッドを使用しようとしていますが、ニーズに合わないため、実装が壊れています。
この手法は、Web サイトのスタイルシートなど、頻繁に変更されず、予測不可能なリソース向けに設計されています。 (リソースは毎週変更されるため、これは良い選択肢ではありません。)
これがどのように機能するかというと、リソースが変更されるたびにその URL も変更されます。これは、URL がブラウザによってキャッシュされたデータと一致しないことを意味します。ブラウザは新しい URL を知らないため、再度リクエストする必要があります。
クエリを
一般的な方法は、クエリ値をファイルのタイムスタンプまたはチェックサムに設定することです。 (これは通常、展開プロセスの一部として Web サイトのビルド ツールを使用して行われます。)n=1
にハードコードしているため、 変更されることはなく、オブジェクトが破棄されます。Web 作成者および Web マスターのためのキャッシュ チュートリアル を読むことをお勧めします。このトピックは非常に詳しく説明されています。
ドキュメントの有効期限は毎週切れるので、PDF の URL の HTTP リソースにExpires
これを、(たとえば) 新しいバージョンのアップロード予定時刻から 1 時間後にプログラムで設定できます。ヘッダーを設定するのが最善の方法だと思います。