在 Nuzzel 上看到老文章在討論 HTTPS 環境下因為安全性考量,而不能帶出 Referrer 的問題:「Where did all the HTTP referrers go?」。
原文中「Fixing Referrers in HTTPS: The Meta Referrer」這邊就有提到 HTML5 meta referrer,也就是 W3C 的「Referrer Policy」,問題是到現在還是 Draft 啊...
也因為過了三年,其實 draft 裡面多了不少參數可以用:
或never
no-referrer
表示不傳。origin
表示只傳 protocol + host 的部份,後面 path 的部份不要傳。或default
no-referrer-when-downgrade
表示當 downgrade 時 (HTTP request 的部份) 不要傳。origin-when-cross-origin
表示當跨站時用origin
的邏輯,但本站還是用完整的路徑。或是always
unsafe-url
則是永遠都傳。
其中刪節號表示 W3C 不建議再使用,應該用後者比較新的。
不過因為在 Can I use 上面可以看到 Microsoft Edge 只支援舊的關鍵字 (也就是刪節號的那些),所以還是可以考慮先用舊的關鍵字,讓 Microsoft Edge 也可以被保護到:「Referrer Policy」。