No. : 408 Sender: msyk URL : Title : Re:405)掲示板notebooksp.cgiに書きこめない件 - 2 >POSTメソッドに対し応答302が得られたとき、InternetExplorerは >・GETメソッドでリダイレクト先にリクエストを出す >・最初のリクエストには付いていたRequestEntityBodyは送信しない >わけです。1番目はRFCに「間違い」として書かれていることですが、 >2番目は正しいのか正しくないのかはっきりしませんね。ちゃんとRequestEntityBodyも >送るというのが自然な解釈だと思うのですが。 IE が 302 に対して GET メソッドでリクエスト出すのは RFC では確かに 間違いでしょうが, それはまた別の問題として, GET メソッドでリクエスト 出すなら Request-Entity-Body を送信しないのは正しいんじゃないでしょうか? そして POST メソッドでリクエストを発行して 302 を受け取った場合に httpget が自動的に POST メソッドでリダイレクトするのは多分間違いでは ないでしょうか. "10.3 Redirection 3xx" にも 2 度目のリクエストが GET, HEAD メソッド 以外の場合, ユーザとの対話なしにリダイレクトしてはいけないとなって いますね. ついでに書くと, ここにはユーザ・エージェントは 5 回以上自動的に リダイレクトするべきではないとも記述されているようです. 以前 httpget の GET メソッドのリクエストで延々リダイレクトを繰り返し, ESC でキャンセルして止めたことがありました. >notebooksp.cgi のケースの場合、302でなく303を使うべきだと思うのです。本当は。 "303 See Other" ですか. 確かにその方が良さそうですね. notebooksp.cgi は POST メソッドでのリクエストに対して, その結果として できた new resource へのリダイレクトを要求してくるわけですが, 書き込む場合と読み出す場合で同一 URL に対して GET, POST を使用する ということがうまくいかない原因じゃないでしょうか? そこで, ある Request-URI へのポスト・メソッド発行に対するレスポンス として 30[23] を受け取った場合, Response-Entity-Header の Location フィールドに指定されている new URI が元の Request-URI と同一なら POST メソッドを GETメソッドに変更してリダイレクトする, というので どうでしょうか?