Origin header

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

Tiêu đề HTTP Origin request header chỉ báo origin (giao thức, tên máy chủ và cổng) gây ra yêu cầu. Ví dụ: nếu tác nhân người dùng cần yêu cầu các tài nguyên được bao gồm trong trang, hoặc được lấy bởi các script mà nó thực thi, thì nguồn gốc của trang có thể được bao gồm trong yêu cầu.

Loại tiêu đề Request header
Forbidden request header

Cú pháp

http
Origin: null
Origin: <scheme>://<hostname>
Origin: <scheme>://<hostname>:<port>

Chỉ thị

null

Nguồn gốc là "nhạy cảm về quyền riêng tư", hoặc là nguồn gốc mờ (các trường hợp cụ thể được liệt kê trong phần mô tả).

<scheme>

Giao thức được sử dụng. Thường là giao thức HTTP hoặc phiên bản bảo mật của nó, HTTPS.

<hostname>

Tên miền hoặc địa chỉ IP của máy chủ gốc.

<port> Optional

Số cổng mà máy chủ đang lắng nghe. Nếu không có cổng nào được cung cấp, cổng mặc định cho dịch vụ được yêu cầu sẽ được ngầm định từ giao thức (ví dụ: 80 cho URL HTTP).

Mô tả

Tiêu đề Origin tương tự như tiêu đề Referer, nhưng không tiết lộ đường dẫn và có thể là null. Nó được sử dụng để cung cấp ngữ cảnh bảo mật cho yêu cầu nguồn gốc, ngoại trừ các trường hợp thông tin nguồn gốc sẽ nhạy cảm hoặc không cần thiết.

Nói chung, tác nhân người dùng thêm tiêu đề yêu cầu Origin vào:

Có một số ngoại lệ đối với các quy tắc trên; ví dụ: nếu yêu cầu GET hoặc HEAD khác nguồn gốc được thực hiện ở chế độ no-cors, tiêu đề Origin sẽ không được thêm.

Giá trị tiêu đề Origin có thể là null trong một số trường hợp, bao gồm (không đầy đủ):

  • Các nguồn gốc có giao thức không phải là http, https, ftp, ws, wss, hoặc gopher (bao gồm blob, filedata).
  • Dữ liệu hình ảnh và phương tiện khác nguồn gốc, bao gồm dữ liệu trong phần tử <img>, <video><audio>.
  • Tài liệu được tạo theo chương trình bằng createDocument(), được tạo từ URL data:, hoặc không có ngữ cảnh duyệt web người tạo.
  • Các chuyển hướng qua các nguồn gốc.
  • Các tài liệu được phục vụ với chỉ thị sandbox của Content-Security-Policy có giá trị không bao gồm allow-same-origin.
  • iframe với thuộc tính sandbox có giá trị không bao gồm allow-same-origin.
  • Các phản hồi là lỗi mạng.
  • Referrer-Policy được đặt thành no-referrer cho các chế độ yêu cầu không phải cors (ví dụ: bài đăng biểu mẫu cơ bản).

Note: Có danh sách chi tiết hơn về các trường hợp có thể trả về null trên Stack Overflow: When do browsers send the Origin header? When do browsers set the origin to null?

Ví dụ

http
Origin: https://mdn.go-mizu.dev
http
Origin: https://mdn.go-mizu.dev:80

Đặc tả

Specification
The Web Origin Concept
# section-7
Fetch
# origin-header

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

Xem thêm