IEのAJAXリクエストをキャッシュさせないでIEのキャッシュにも残さない方法
IEでAjaxリクエストをキャッシュさせない方法 - PHPプロ!ニュース [www.phppro.jp]
IEの場合Ajaxを用いた通信を行うと、GETメソッドの場合一度実行されるとデータがキャッシュされて、2回目以降の通信はそのキャッシュされたデータを読みに行くようになってしまいます。
そこでJaslabsでは、その対策として2つの策を提示しています。1つめは、GETメソッドを辞めてPOSTメソッドを使う方法です。POSTメソッドの場合、GETメソッドと異なりこちらは2回目以降の通信でもキャッシュされることなくサーバのデータを取得します。
定番。
2つめの策は、GETメソッドで取得する先のURLにユニークIDを付加する方法です。下記のようにここではユニークIDとしてタイムスタンプを付加しています。
あーこれ古籏さんのところでこれやってたからそのままマネしてやったんですけれども、IE のキャッシュがそのタイムスタンプを付加したやつでいちいち生成されてひどいことになっていました。

▲これひとつひとつが32KB取るんだぜ(うちのMebiusはデフォがFAT32)
つうわけで、結局これだけではダメで、HTTP のヘッダをいじる必要がありました。
うちのサーバ側は Perl なので、こんな感じでした。
use CGI; my $q = CGI->new(); print $q->header( -Pragma => 'no-cache', -Cache_Control=> 'no-store', -Expires => 'now', ); print $hoge;
これやっちゃうと、タイムスタンプ付加したユニークな URL にしている意味が不明になってしまうのが難点。
~~~
つまり、タイムスタンプ付加による方法は、その場しのぎであって、結果としては利用者の IE のキャッシュにゴミを残す方法になっていることに注意をしないといけません。
トラックバック
この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/19018/13818473
この記事へのトラックバック一覧です: IEのAJAXリクエストをキャッシュさせないでIEのキャッシュにも残さない方法:






![森田 創: WEB+DB PRESS 総集編 [Vol.1~60]](http://ecx.images-amazon.com/images/I/51aE58LxWlL._SL75_.jpg)
















![: 電子ルーペ ViewPe[ビューペ] 3R-MSV35 マイクロスコープ デジタル顕微鏡 高機能 低価格 読書 植物 研究 肌チェック](http://ecx.images-amazon.com/images/I/41erkiQgAsL._SL75_.jpg)





![: Optimus bright [docomo L-07C] 対応 予備バッテリー 1500mAh BL-44JN](http://ecx.images-amazon.com/images/I/41gjqsDjq%2BL._SL75_.jpg)










![: パンツの穴 [DVD]](http://ecx.images-amazon.com/images/I/21R9SEY1HPL._SL75_.jpg)

















