home Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)

日記/2007/05/04/Etag, If-Modified-Sinceヘッダーメモ(2)

作成日: 2007-05-04 14:27:20   /   last updated at: 2009-03-29 23:08:52
カテゴリ: Web ネットワーク 

で、肝心のEtagの内容。これは単純に、コンテンツの内容が変わっていないか識別する為のユニークな文字列、とのこと。

ただコレがIf-Modified-Sinceと絡むと面倒くさくなってくる。

う~~ん・・・Apache自身の挙動と、ブラウザ毎による挙動とで、訳分からなくなってきてるな・・・。例えば状況によっては、Last-Modifiedは変わらなくても、Etagを変えて更新をユーザーエージェントに通知したい場合も、あるのかも知れない。そうしたときが、落とし穴になるらしい。

ちなみにPHPでEtagを判別して、200か304かを判別してくれるクラスが
http://www.ryo.com/ryo/2005/05/23/9/
にあった。・・・前にもどこかで見かけたな。

という案配。う~~ん、やっぱり、CGIやPHPは、自己の責任でLast-Modifiedを管理。で、静的ファイルは、FileMatchを組み合わせてFileEtagディレクティブで、Apache側でEtagを付けちゃう。その場合は、i-nodeではなくてmtimeとsizeを元に作るようにしておく。

みたいな感じ。・・・こうしてみると、CGIやJava系は、なるほど。アクセス数が多いサイトの場合はApacheをフロントに立たせるという手法も必要になるわなあ。特にJavaのASでWebサーバの機能を提供している場合、ここまでカバーしてくれるのか?という場合もあるし。

original url: https://www.glamenv-septzen.net/view/269