想象一下,您所在的网页上的网址包含一个片段(#
之后的部分),然后点击一个链接转到另一个页面。大多数浏览器会将原始页面的URL发送到Referer
标头中的服务器。我想知道的是URL片段是否包含在此片段中。
我已经看到了野外的各种行为,因此这可能是特定于浏览器的。有谁知道哪些浏览器做什么? HTTP规范对此有何评论?
答案 0 :(得分:8)
规范说Referer不能包含片段标识符(每个ABNF)。请参阅RFC 2616, Section 14.36。
答案 1 :(得分:2)
规范基本上说你可以做任何你想做的事 - 它是一个可选的标题,我只是测试了webkit忽略了片段,就像firefox和IE一样。
答案 2 :(得分:2)
我今天在IE中看到了同样的行为。 我正在使用IE 11.0.9600.17801并在检查时发现'Referer'标头包含此片段标识符。
参考://abc:8080 / myapp / ver / index.htm#search-basics
虽然我确信我已经使用相同的浏览器打开和关闭此行为。