想象一下,您位於其網址有片段的頁面上(#
之後的部分),然後單擊鏈接轉到其他頁面。大多數瀏覽器會將原始頁面的URL發送到Referer
標題中的服務器。我想知道的是URL片段是否會被包含在這個或不是。Url片段和Referer標題
我已經看到了野外的各種行爲,所以這可能是瀏覽器特定的。有誰知道哪些瀏覽器做什麼? HTTP規範對此有何評論?
想象一下,您位於其網址有片段的頁面上(#
之後的部分),然後單擊鏈接轉到其他頁面。大多數瀏覽器會將原始頁面的URL發送到Referer
標題中的服務器。我想知道的是URL片段是否會被包含在這個或不是。Url片段和Referer標題
我已經看到了野外的各種行爲,所以這可能是瀏覽器特定的。有誰知道哪些瀏覽器做什麼? HTTP規範對此有何評論?
該規範說,Referer不能包含片段標識符(每個ABNF)。見RFC 2616, Section 14.36。
規範說基本上你可以做任何你想做的事 - 它是一個可選的頭文件,我剛剛測試過webkit忽略片段,就像firefox和IE一樣。
我今天在IE中看到了相同的行爲。 我使用的是IE 11.0.9600.17801,經檢查後發現'Referer'頭部包含這個片段標識符。
的Referer://abc:8080/myapp/ver/index.htm#search-basics
雖然我敢肯定,我看到的和關閉相同的瀏覽器這種行爲。
雖然這在實踐中證明了嗎?我很確定我已經看到至少有一些瀏覽器包含它。 – levik 2010-10-14 07:36:36
這將是有趣的;如果您可以複製它,請跟進IETF HTTPbis WG的郵件列表。 – 2010-10-14 11:05:39