■
http://www.machu.jp/diary/20060223.html#p02
本文については、大体その通りなので省略。
本文とはちょっと関係のないところで、ゴチャゴチャ書いてたが、なんか、どうでもよくなったので消す。
要点だけ箇条書きで残しとく。
- apacheの仕様としては、実は、Locationヘッダの値は、scheme名から始まるurlではなく、slashで始まる絶対path指定でも構わない(出力はHTTP/1.1準拠となる)。
- ステータスコード303等の、HTTP/1.1準拠だがHTTP/1.0準拠ではなく、ブラウザが対応してるかどうか怪しいステータスコードを返す場合は、コンテンツボディとして、中にアンカータグでリダイレクト先や説明文を書いたtext/htmlなドキュメントも一緒にして返せば、一応、対応した事になる(ブラウザ側は1-clickの手間が増えるが)。
まあ、本文で言われてる通り、「Location時は常にscheme名で始まるurlを指定する」「ステータスコード303等のHTTP/1.0準拠でないステータスコードは、対応してないブラウザがあるかも知れないから使わない」で間違いは無いし、その方が分かりやすいが、真実は微妙に違う事もある、という事で。