Url fragment and Referer header

2019-02-16 14:05发布

问题:

Imagine you are on a page whose URL has a fragment (the part after the #), and click a link to go to another page. Most browsers will send the URL of the original page to the server in the Referer header. What I want to know is whether or not the URL fragment will be included in this or not.

I have seen various behaviors in the wild so this might be browser-specific. Does anyone know which browsers do what? And what does the HTTP spec say on this?

回答1:

The spec says that Referer can't include a fragment identifier (per ABNF). See RFC 2616, Section 14.36.



回答2:

The spec says basicly that you can do whatever you want - it is an optional header, i just tested webkit ignores the fragment, as do firefox and IE.



回答3:

I saw the same behavior in IE today. I am using IE 11.0.9600.17801 and upon inspection i found out that the 'Referer' header contains this fragment identifier.

Referer: //abc:8080/myapp/ver/index.htm#search-basics

Although I am quite certain that I have seen this behavior on and off with the same browser.