• このエントリーをはてなブックマークに追加

XREAでIf-Modified-Sinceが来たときLast-Modifiedは・・・

XREAのサーバを借りている。
CGI側で親切にLast-Modifiedを返すようにしていたら、If-Modified-Sinceが来ると
500 Internal Server Error
を返すことがわかった。

NPHにすればいいとかいう記事を見たのだが、それにしてもおかしい。
いつもいつもおかしいわけではないのだ。

.htaccessに
AddHandler cgi-script-debug .cgi
を足して(実際は拡張子が違うのでこうは書いてないのですが)をつけてもエラーなし。だからCGIプログラムに問題はなさそう。

よくよく調べてみると、If-Modified-Sinceが来ると、Webサーバが勝手にLast-Modifiedを勝手につけてくれることがわかった。
従って、CGI側でLast-Modifiedを返すのはIf-Modified-Sinceが来ないときだけにしてみた。

200 OK

でもこれって、Last-Modifiedの意味がないような・・・

ともかく、NPHにして回避するっていうのも意味がわかった。
Webサーバに勝手にLast-Modifiedをつけさせないための手段だったのだ。

ちなみに、If-Modified-Sinceが環境変数HTTP_IF_MODIFIED_SINCEに入るってことを知るまで結構時間がかかったので、誰かのために書いておこう。
  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です