Access-Control-Allow-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 2015.
Tiêu đề HTTP Access-Control-Allow-Origin phản hồi chỉ ra liệu phản hồi có thể được chia sẻ với mã yêu cầu từ nguồn gốc đã cho hay không.
| Loại tiêu đề | Tiêu đề phản hồi |
|---|
Cú pháp
Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: <origin>
Access-Control-Allow-Origin: null
Chỉ thị
*(ký tự đại diện)-
Mã yêu cầu từ bất kỳ nguồn gốc nào được phép truy cập tài nguyên. Đối với các yêu cầu không có thông tin xác thực, giá trị chữ
*có thể được chỉ định làm ký tự đại diện. Cố gắng sử dụng ký tự đại diện với thông tin xác thực dẫn đến lỗi. <origin>-
Chỉ định một nguồn gốc đơn. Nếu máy chủ hỗ trợ máy khách từ nhiều nguồn gốc, nó phải trả về nguồn gốc cho máy khách cụ thể đang thực hiện yêu cầu.
null-
Chỉ định nguồn gốc "null".
Note: Không nên sử dụng giá trị
null. Có vẻ an toàn khi trả vềAccess-Control-Allow-Origin: "null"; tuy nhiên, nguồn gốc của các tài nguyên sử dụng scheme phi phân cấp (nhưdata:hoặcfile:) và các tài liệu được sandbox được tuần tự hóa lànull. Nhiều trình duyệt sẽ cấp cho các tài liệu như vậy quyền truy cập vào phản hồi có tiêu đềAccess-Control-Allow-Origin: null, và bất kỳ nguồn gốc nào cũng có thể tạo tài liệu thù địch với nguồn gốcnull. Do đó, giá trịnullcho tiêu đềAccess-Control-Allow-Originnên được tránh.
Ví dụ
Phản hồi cho trình duyệt biết rằng mã từ bất kỳ nguồn gốc nào được phép truy cập tài nguyên sẽ bao gồm:
Access-Control-Allow-Origin: *
Phản hồi cho trình duyệt biết rằng mã yêu cầu từ nguồn gốc https://mdn.go-mizu.dev được phép truy cập tài nguyên sẽ bao gồm:
Access-Control-Allow-Origin: https://mdn.go-mizu.dev
Giới hạn các giá trị Access-Control-Allow-Origin có thể có trong một tập hợp các nguồn gốc được phép yêu cầu mã phía máy chủ kiểm tra giá trị của tiêu đề yêu cầu Origin, so sánh với danh sách các nguồn gốc được phép, và nếu giá trị Origin nằm trong danh sách, đặt giá trị Access-Control-Allow-Origin bằng giá trị Origin.
CORS và bộ nhớ đệm
Giả sử máy chủ gửi phản hồi có giá trị Access-Control-Allow-Origin với nguồn gốc rõ ràng (thay vì ký tự đại diện *). Trong trường hợp đó, phản hồi cũng nên bao gồm tiêu đề phản hồi Vary với giá trị Origin — để chỉ ra cho trình duyệt rằng các phản hồi của máy chủ có thể khác nhau dựa trên giá trị của tiêu đề yêu cầu Origin.
Access-Control-Allow-Origin: https://mdn.go-mizu.dev
Vary: Origin
Thông số kỹ thuật
| Specification |
|---|
| Fetch> # http-access-control-allow-origin> |