Help us understand the problem. What is going on with this article?

Ruby on Rails request.refererとrequest.referrer

More than 5 years have passed since last update.

Rails初心者です。Railsの中で遷移元URLを取得する方法を調べていて、request.refererを呼び出すべし、これでHTTPヘッダの中にあるHTTPリファラを参照出来る。という情報を見つけました。
早速試してみようとしたのですが、そこで気づきました。

スクリーンショット 2014-08-19 10.00.46.png

refererだけでなく、request.referrerというのがあるのです。
滅茶苦茶紛らわしいじゃねーか! 何が違うんだ、何が!

で、request.rbの中を覗いてみると、

スクリーンショット 2014-08-19 10.09.34.png

alias=別名でした。つまり全く同じものを指しています。何も違わないわけですね・・・
じゃあ、何のためにこんなもの存在するんだ、スペルミスする人のために親切心で気を利かせてくれているのか? また疑問なので調べてみたところ、

httpのヘッダ項目を指すときはreferer、英単語として正しいのはreferrer、

が正解なんですって。何でも元々HTTPの仕様を策定していたときに、その中のキーパーソン的な人がミススペルをしたのがそのまま通ってしまい、refererが定着してしまったそうです。
つまり、RFC2616を正とするかMerriam-Websterを正にするかによって答えは変わってくるということでしょうか。その辺の判断は個々のプログラマーに任せますというのは、なかなかRails寛大で良い感じがします。

syshun
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした