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

http
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 đề Referer sẽ 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 Referer khi 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 đề Referer cho 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ại https://example.com/page.html sẽ gửi người giới thiệu https://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 đề Referer cho 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 namereferrer:

html
<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ẻ:

html
<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:

html
<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 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 đề HTTP Referrer-Policy trong phản hồi của stylesheet CSS.
  • Đối với các phần tử <style> hoặc thuộc tính style, 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:

http
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.pbmode cho 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

Khả năng tương thích trình duyệt

Xem thêm