Referrer-Policy header
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
* Some parts of this feature may have varying levels of support.
Tiêu đề HTTP Referrer-Policy response header kiểm soát lượng thông tin người giới thiệu (được gửi với tiêu đề Referer) nên được bao gồm trong các yêu cầu.
Ngoài tiêu đề HTTP, bạn có thể đặt chính sách này trong HTML.
| Loại tiêu đề | Response header |
|---|
Cú pháp
Referrer-Policy: no-referrer
Referrer-Policy: no-referrer-when-downgrade
Referrer-Policy: origin
Referrer-Policy: origin-when-cross-origin
Referrer-Policy: same-origin
Referrer-Policy: strict-origin
Referrer-Policy: strict-origin-when-cross-origin
Referrer-Policy: unsafe-url
Note:
Tên tiêu đề Referer là lỗi chính tả của từ "referrer". Tiêu đề Referrer-Policy không có lỗi chính tả này.
Chỉ thị
no-referrer-
Tiêu đề
Referersẽ bị bỏ qua: các yêu cầu được gửi không bao gồm bất kỳ thông tin người giới thiệu nào. no-referrer-when-downgrade-
Gửi origin, đường dẫn và chuỗi truy vấn trong
Refererkhi mức độ bảo mật giao thức duy trì hoặc cải thiện (HTTP→HTTP, HTTP→HTTPS, HTTPS→HTTPS). Không gửi tiêu đềReferercho các yêu cầu đến đích kém bảo mật hơn (HTTPS→HTTP, HTTPS→file). origin-
Chỉ gửi origin trong tiêu đề
Referer. Ví dụ: tài liệu tạihttps://example.com/page.htmlsẽ gửi người giới thiệuhttps://example.com/. origin-when-cross-origin-
Khi thực hiện yêu cầu cùng nguồn gốc, gửi origin, đường dẫn và chuỗi truy vấn. Chỉ gửi nguồn gốc cho các yêu cầu khác nguồn gốc và các yêu cầu đến đích kém bảo mật hơn (HTTPS→HTTP).
same-origin-
Gửi origin, đường dẫn và chuỗi truy vấn cho yêu cầu cùng nguồn gốc. Không gửi tiêu đề
Referercho các yêu cầu khác nguồn gốc. strict-origin-
Chỉ gửi nguồn gốc khi mức độ bảo mật giao thức duy trì (HTTPS→HTTPS). Không gửi tiêu đề
Refererđến đích kém bảo mật hơn (HTTPS→HTTP). strict-origin-when-cross-origin(mặc định)-
Gửi nguồn gốc, đường dẫn và chuỗi truy vấn khi thực hiện yêu cầu cùng nguồn gốc. Cho các yêu cầu khác nguồn gốc chỉ gửi nguồn gốc khi mức độ bảo mật giao thức duy trì (HTTPS→HTTPS). Không gửi tiêu đề
Refererđến đích kém bảo mật hơn (HTTPS→HTTP).Note: Đây là chính sách mặc định nếu không có chính sách nào được chỉ định, hoặc nếu giá trị cung cấp không hợp lệ (xem bản sửa đổi thông số kỹ thuật tháng 11 năm 2020). Trước đây, mặc định là
no-referrer-when-downgrade. unsafe-url-
Gửi nguồn gốc, đường dẫn và chuỗi truy vấn khi thực hiện bất kỳ yêu cầu nào, bất kể bảo mật.
Warning: Chính sách này sẽ rò rỉ thông tin có thể riêng tư từ URL tài nguyên HTTPS đến các nguồn gốc không an toàn. Xem xét cẩn thận tác động của cài đặt này.
Tích hợp với HTML
Bạn cũng có thể đặt chính sách người giới thiệu bên trong HTML. Ví dụ: bạn có thể đặt chính sách người giới thiệu cho toàn bộ tài liệu bằng phần tử <meta> với name là referrer:
<meta name="referrer" content="origin" />
Bạn có thể chỉ định thuộc tính referrerpolicy trên phần tử <a>, <area>, <img>, <iframe>, <script>, hoặc <link> để đặt chính sách người giới thiệu cho các yêu cầu riêng lẻ:
<a href="http://example.com" referrerpolicy="origin">…</a>
Ngoài ra, bạn có thể đặt quan hệ liên kết noreferrer trên phần tử a, area hoặc link:
<a href="http://example.com" rel="noreferrer">…</a>
Warning:
Như đã thấy ở trên, quan hệ liên kết noreferrer được viết không có dấu gạch ngang. Khi bạn chỉ định chính sách người giới thiệu cho toàn bộ tài liệu bằng phần tử <meta>, nó nên được viết có dấu gạch ngang: <meta name="referrer" content="no-referrer">.
Tích hợp với CSS
CSS có thể tải các tài nguyên được tham chiếu từ stylesheets. Những tài nguyên này cũng tuân theo chính sách người giới thiệu:
- Các stylesheet CSS bên ngoài sử dụng chính sách mặc định (
strict-origin-when-cross-origin), trừ khi nó bị ghi đè bởi tiêu đề HTTPReferrer-Policytrong phản hồi của stylesheet CSS. - Đối với các phần tử
<style>hoặc thuộc tínhstyle, chính sách người giới thiệu của tài liệu sở hữu được sử dụng.
Ví dụ
>no-referrer
| Từ tài liệu | Điều hướng đến | Người giới thiệu sử dụng |
|---|---|---|
https://example.com/page |
bất kỳ đâu | (không có người giới thiệu) |
no-referrer-when-downgrade
| Từ tài liệu | Điều hướng đến | Người giới thiệu sử dụng |
|---|---|---|
https://example.com/page |
https://example.com/otherpage |
https://example.com/page |
https://example.com/page |
https://mozilla.org |
https://example.com/page |
https://example.com/page |
http://example.com | (không có người giới thiệu) |
| http://example.com/page | bất kỳ đâu | http://example.com/page |
origin
| Từ tài liệu | Điều hướng đến | Người giới thiệu sử dụng |
|---|---|---|
https://example.com/page |
bất kỳ đâu | https://example.com/ |
origin-when-cross-origin
| Từ tài liệu | Điều hướng đến | Người giới thiệu sử dụng |
|---|---|---|
https://example.com/page |
https://example.com/otherpage |
https://example.com/page |
https://example.com/page |
https://mozilla.org |
https://example.com/ |
https://example.com/page |
http://example.com/page | https://example.com/ |
same-origin
| Từ tài liệu | Điều hướng đến | Người giới thiệu sử dụng |
|---|---|---|
https://example.com/page |
https://example.com/otherpage |
https://example.com/page |
https://example.com/page |
https://mozilla.org |
(không có người giới thiệu) |
strict-origin
| Từ tài liệu | Điều hướng đến | Người giới thiệu sử dụng |
|---|---|---|
https://example.com/page |
https://mozilla.org |
https://example.com/ |
https://example.com/page |
http://example.com | (không có người giới thiệu) |
| http://example.com/page | bất kỳ đâu | http://example.com/ |
strict-origin-when-cross-origin
| Từ tài liệu | Điều hướng đến | Người giới thiệu sử dụng |
|---|---|---|
https://example.com/page |
https://example.com/otherpage |
https://example.com/page |
https://example.com/page |
https://mozilla.org |
https://example.com/ |
https://example.com/page |
http://example.com | (không có người giới thiệu) |
unsafe-url
| Từ tài liệu | Điều hướng đến | Người giới thiệu sử dụng |
|---|---|---|
https://example.com/page?q=123 |
bất kỳ đâu | https://example.com/page?q=123 |
Chỉ định chính sách dự phòng
Nếu bạn muốn chỉ định chính sách dự phòng trong trường hợp chính sách mong muốn không được hỗ trợ đủ rộng trong trình duyệt, sử dụng danh sách phân tách bằng dấu phẩy với chính sách mong muốn được chỉ định cuối cùng:
Referrer-Policy: no-referrer, strict-origin-when-cross-origin
Trong tình huống trên, no-referrer chỉ được sử dụng nếu trình duyệt không hỗ trợ chính sách strict-origin-when-cross-origin.
Note:
Chỉ định nhiều giá trị chỉ được hỗ trợ trong tiêu đề HTTP Referrer-Policy, không phải trong thuộc tính referrerpolicy.
Tùy chọn/cài đặt dành riêng cho trình duyệt
>Tùy chọn Firefox
Bạn có thể cấu hình chính sách người giới thiệu mặc định trong tùy chọn Firefox. Tên tùy chọn dành riêng cho phiên bản:
- Firefox phiên bản 59 trở lên:
network.http.referer.defaultPolicy(vànetwork.http.referer.defaultPolicy.pbmodecho mạng riêng tư) - Phiên bản Firefox 53 đến 58:
network.http.referer.userControlPolicy
Tất cả các cài đặt này có cùng tập hợp giá trị: 0 = no-referrer, 1 = same-origin, 2 = strict-origin-when-cross-origin, 3 = no-referrer-when-downgrade.
Đặc tả
| Specification |
|---|
| Referrer Policy> # referrer-policy-header> |