プロフィール

リンダ

Author:リンダ
Profile

Profile

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

検索

RSSリンクの表示

リンク

このブログをリンクに追加する

QRコード

QR

ブロとも申請フォーム

この人とブロともになる

FC2カウンター

おぬしもサルじゃのぉ(^o^)日記
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

IE9のキャッシュ問題とその対応
やられました。↓コレ。

「IE9 において Webサーバーとの通信なしでキャッシュからコンテンツを表示する場合がある」
http://support.microsoft.com/kb/2530998/ja


Microsoft曰く「仕様です。」だそうですが、簡単に言うと

  • IE9からアホみたいにキャッシュ至上主義に改編されている。
  • 接続した先(URL)が更新されていても、(デフォルト設定だと)キャッシュに残っている古いページを優先表示する。
  • 対応するには、上記URL記載のようにブラウザの設定を変更するか、Webページ側でキャッシュ無効のmetaタグを埋め込む等の処置を行うしかない。

IE9のデフォルト設定だと、何度リロードしても古いページが表示されるわけです。そりゃないだろー。

先週担当システム(仕事)のバージョンアップリリース後、改変した帳票の定義体がダウンロードされずに(キャッシュを使ってしまう)、いろいろな帳票がエラーで出力できなくなってしまったという問い合わせが何件か来てしまいました。調べた結果が↑なわけです。へなへなと脱力。


■対応策(画面そのもの)
 (1)<meta http-equiv="Pragma" content="no-cache">
 (2)<meta http-equiv="Cache-Control" content="no-cache">
 (3)<meta http-equiv="Expires" content="1"> ←0でもいいかも

 上記メタタグを3つセットで埋め込むとかでいけそう。
 (1)はHTTP/1.0準拠のユーザーエージェントに対して、(2)はHTTP/1.1以降準拠のユーザーエージェント対して「キャッシュを使わないで!」という命令を出してます。(1)と(2)だけでは効かない時もあるようなので、(3)も同時に指定。キャッシュの有効期限を1秒(または0秒)にする、という意味です。


■対応策(外部js,cssの読み込み)

現行:
 <link href="hogehoge.css" rel="stylesheet" type="text/css">
 <script src="hogehoge.js" language="javascript"type="text/javascript"></script>

 ↑通常のこの指定方法だと、(IE9のデフォルト設定の場合)キャッシュが勝ちます。ムキーッ。

対応後:
 <link href="hogehoge.css?20111128" rel="stylesheet" type="text/css">
 <script src="hogehoge.js?20111128" language="javascript"type="text/javascript"></script>

 外部ファイルを引数(変動)付きで読み込めばOK。


■対応策(ダウンロードファイル)
懸案の帳票は、HTTPに情報詰め込んでダウンロード指示する時のパラメタ(プログラム内部の話)にキャッシュに関するフラグがあったので、それをセットすることで対応。


キャッシュ使って速度を早くしよう!というマイクロソフトの方針なんでしょうが、システム側で全部「キャッシュ使わない」設定にしないと不具合が多々発生する本末転倒状態。何か理由があってこういう仕様変更をしたと思うんだけど…うーむむむ。

スポンサーサイト

コメント

こんにちは

WEB系の仕事だとブラウザ様が神様なんですね(笑)

自分は組み込み系なんですが、ハードの人から「今さらハード様の回路直せるわけねえだろ、ソフトで何とかしろソフトで」
と理不尽な事を言われてます

どこも似たようなものなんですね(苦笑
[2011/11/29 08:55] URL | #- [ 編集 ]


metaタグなつかしーなー
Pragma, Cache-Control, Expiresの3つは、途中に
Proxyサーバがいるとき勝手にキャッシュされるのを防ぐために
必ず付けるようにしてたっけな。

組み込み系に転身して8年経つけど、「メモリが足りなくて遅い?
なら今の3倍に増やせばいいじゃない(笑)」とか言ってたあの頃を
思い出してなんとなくコメントしてみた!
[2011/11/30 10:09] URL | 西風 #6QQOQyOg [ 編集 ]


■ななしさん
>WEB系の仕事だとブラウザ様が神様なんですね(笑)
いやもうホント、そのとおりです。ふざけんなと思うほど神様ですハイ。
神様のいうとおりに作らなきゃいけないんです。それはわかってるけど
こっそり変えるのはヤメテ(笑


■西風クン
>Pragma, Cache-Control, Expiresの3つは、途中に
私も、この3つはつけたい人なんだー!
だけど今回メンテしたシステムは、誰が作ったかも知らんのだー(ありがち

今組み込み系やってるんだ。それはそれで楽しそうじゃねー。

[2011/12/05 23:54] URL | リンダ #NkOZRVVI [ 編集 ]


コメントの投稿














管理者にだけ表示を許可する


トラックバック
トラックバック URL
http://aboutlinda.blog.fc2.com/tb.php/64-fd59e4da
この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。