[warn] /test.cgi did not send an HTTP header
おそらくModPerl::Registry環境でしかでないのだけど、動的コンテンツに対して、"If-Modified-Since"を送ると、error_logに、
[warn] /test.cgi did not send an HTTP header
というのが、記録される。直接的な害はないことは確認済み。
再現させるには、
#!/usr/bin/perl use strict; use warnings; print "Content-Type: text/html\n\n"; print "x" x 1000;
という簡単なCGIを書いて、
#!/usr/bin/perl use strict; use warnings; use LWP::UserAgent; my $url = "http://localhost/test.cgi"; my $ua = LWP::UserAgent->new; my $req = HTTP::Request->new(GET => $url); $req->header( 'If-Modified-Since' => HTTP::Date::time2str ); my $res = $ua->request($req); print $res->status_line,"\n";
を実行する。
最後のstatus_lineは、"304 Not Modified"になる。
これ自体、よくわからない動作なんだけど、Last-Modifiedを吐いていない動的コンテンツにIf-Modified-Sinceヘッダを送ってくる某Safariがまぁ、あれだ。
ちなみに、Registry環境でCGI.pmを使ってheader出力をしている場合は(If-Modified-Sinceヘッダは送られてくるが)問題ない。
参考URL:
mnot’s Web log:
Bug Syncronicity
Bug 39287 -
Incorrect If-Modified-Since validation (due to synthetic mtime?)