javascript 的推荐人 属性 是如何工作的

How does javascript's referrer property work under the hood

javascript 的 referrer 属性 是如何工作的?它只是检查 http header 数据并输出在那里找到的内容吗?

referer 属性 的访问方式如下:

var ref = document.referrer;
console.log(ref);

此外,我注意到 http referer (Chrome Dev Tools->Network->Top HTTP Request->Referer) 经常被剥离为只有域名而没有任何子域。例如,如果用户来自 www.facebook.com/Whosebug,他的推荐人总是只是 www.facebook.com。为什么会这样?

Remember to always read the documentation.

document.referrer 属性 字面上 returns 来自 Request Header 的字符串。

这是我从 google 访问此页面的示例:

GET /questions/36609134/how-does-javascripts-referrer-property-work-under-the-hood HTTP/1.1
Host: whosebug.com
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36
DNT: 1
Referer: https://www.google.co.uk/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-GB,en;q=0.8,en-US;q=0.6

有关请求 header referer 的更多信息,请访问 Wikipedia