プロジェクト

全般

プロフィール

Enhancement(機能追加・改善) #4200

古い静的ファイルのキャッシュが意図せず使われないようにする

Youichi Kimuraほぼ7年前に追加. 約4年前に更新.

ステータス:
New(新規)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2017-06-05
期日:
進捗率:

0%


説明

Overview (概要)

現状の OpenPNE では、静的ファイル (*.js, *.css など) のキャッシュについて HTTP ヘッダ等による制御を行っておらず、Web ブラウザやプロキシサーバーのデフォルトの動作に委ねられている。

静的ファイルについて Apache のデフォルトの動作では、以下のように Last-Modified, ETag ディレクティブがレスポンスヘッダに出力される。

$ curl --head http://v38.localhost/js/util.js
HTTP/1.1 200 OK
Date: Mon, 05 Jun 2017 08:13:30 GMT
Server: Apache/2.4.10 (Debian)
Last-Modified: Fri, 17 Mar 2017 06:02:37 GMT
ETag: "6a2-54ae6ecb2f7a1" 
Accept-Ranges: bytes
Content-Length: 1698
Vary: Accept-Encoding
Content-Type: application/javascript

#3150-19 で指摘されているように、Google Chrome 58 といった比較的新しいブラウザにおいても静的ファイルの古いキャッシュが問題を引き起こす場合があることから、OpenPNE 側での対処が必要であると考えられる。

なお、 #2287 では Cache-Control: no-store, no-cache, private, max-age=0, must-revalidate, post-check=0, pre-check=0 が出力されるように修正が行われているが、これは symfony を経由しない静的ファイルに対しては適用されない。

Spec (仕様)

履歴

#1 kaoru n約4年前に更新

  • 対象バージョンOpenPNE 3.9.0 から OpenPNE 3.10.x に変更

他の形式にエクスポート: Atom PDF