HTTPのRedirect(302)でURLにアンカー(abc.html#here)をつけるのはよろしくないことなのでしょうか。

(具体的にはrailsでredirect_to :action=>"list", :anchor=>"bottom"
のように書いています)


下記ページではだめと聞いたことがある的なことが書いてあります。
http://d.hatena.ne.jp/mihael2/20060712/1152682613

ある携帯電話のブラウザはエラーを出しています。


だめならば、だめな理由が書いてあるページを教えてください。

よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/09/03 10:52:43
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:kenichiice No.3

回答回数49ベストアンサー獲得回数7

ポイント79pt

http://blog.koshigoe.jp/archives/2006/12/absoluteurifrag.html

で言及されていましたが、RFC 2616にあるLocationフィールドの定義と、RFC 3986にあるabsoluteURIの定義からは、アンカー付きのURLへのリダイレクトはできないのが正しいことになると思われます。

ただし、

Fragments allowed in Location

http://www.w3.org/Protocols/HTTP/1.1/rfc2616bis/issues/#i6

というRFC 2616の正誤表がでており、この中で

Location = "Location" ":" absoluteURI

Location = "Location" ":" absoluteURI [ "#" fragment ]

に訂正されているようです。

id:urekat

ありがとうございます。

訂正前はNGだったけど訂正されてOKということなんですね。

2007/09/02 23:57:49

その他の回答2件)

id:minkpa No.1

回答回数4178ベストアンサー獲得回数55

ポイント1pt

別に問題ありません。

エラーが出るのはごく一部の携帯だけです。

id:kenichiice No.3

回答回数49ベストアンサー獲得回数7ここでベストアンサー

ポイント79pt

http://blog.koshigoe.jp/archives/2006/12/absoluteurifrag.html

で言及されていましたが、RFC 2616にあるLocationフィールドの定義と、RFC 3986にあるabsoluteURIの定義からは、アンカー付きのURLへのリダイレクトはできないのが正しいことになると思われます。

ただし、

Fragments allowed in Location

http://www.w3.org/Protocols/HTTP/1.1/rfc2616bis/issues/#i6

というRFC 2616の正誤表がでており、この中で

Location = "Location" ":" absoluteURI

Location = "Location" ":" absoluteURI [ "#" fragment ]

に訂正されているようです。

id:urekat

ありがとうございます。

訂正前はNGだったけど訂正されてOKということなんですね。

2007/09/02 23:57:49
  • id:hblm
    > ある携帯電話のブラウザはエラーを出しています。

    だからダメなんじゃ?
  • id:kenichiice
    >>
    訂正前はNGだったけど訂正されてOKということなんですね。
    <<
    勢い余って「訂正されている」と書いてしまいましたが、RFC2616bis Issuesに挙げられている内容がRFC的にどのような扱いになっているのか、私は知りません。従って、OKと言っていいのかどうかはよく分かりません。

    RFC2616を書いた人たちはOKにすべきだったと考えているが現在のHTTP仕様はRFC2616なので現状ではNG、と考える方がいいのではないかと私は思います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません