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ó |
Cú pháp
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ụ:
80cho 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:
- Yêu cầu khác nguồn gốc.
- Yêu cầu cùng nguồn gốc ngoại trừ yêu cầu
GEThoặcHEAD(tức là chúng được thêm vào cùng nguồn gốcPOST,OPTIONS,PUT,PATCHvà yêu cầuDELETE).
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ặcgopher(bao gồmblob,filevàdata). - 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>và<audio>. - Tài liệu được tạo theo chương trình bằng
createDocument(), được tạo từ URLdata:, 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ị
sandboxcủaContent-Security-Policycó giá trị không bao gồmallow-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ànhno-referrercho các chế độ yêu cầu không phảicors(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ụ
Origin: https://mdn.go-mizu.dev
Origin: https://mdn.go-mizu.dev:80
Đặc tả
| Specification |
|---|
| The Web Origin Concept> # section-7> |
| Fetch> # origin-header> |