Cross-Origin-Embedder-Policy-Report-Only (COEP) header
Tiêu đề HTTP Cross-Origin-Embedder-Policy-Report-Only (COEP) response header cấu hình chính sách chỉ báo cáo của tài liệu hiện tại để tải và nhúng các tài nguyên đa nguồn được yêu cầu ở chế độ no-cors.
Tiêu đề cho phép quản trị viên trang web báo cáo về các tài nguyên sẽ bị chặn bởi Cross-Origin-Embedder-Policy, mà không ngăn chúng được tải.
Điều này cho phép triển khai thực thi từng bước.
Các vi phạm của chính sách có thể được báo cáo bằng Reporting API.
Báo cáo có thể được quan sát trong trang mà chính sách đang được đặt bằng ReportingObserver, và được gửi đến các endpoint của máy chủ được định nghĩa trong tiêu đề phản hồi HTTP Reporting-Endpoints, và được chọn bằng tham số report-to.
Để biết thêm thông tin xem COEPViolationReport.
| Loại tiêu đề | Response header |
|---|
Cú pháp
Cross-Origin-Embedder-Policy-Report-Only: <token>; <parameter>
Chỉ thị
Tiêu đề chỉ nên được đặt với một token và một endpoint report-to.
Đặt tiêu đề nhiều hơn một lần hoặc với nhiều token tương đương với việc đặt unsafe-none.
Bỏ qua report-to khiến tiêu đề không có hiệu lực.
Giá trị <token> có thể là một trong:
unsafe-none-
Cho phép tài liệu tải các tài nguyên đa nguồn được yêu cầu ở chế độ
no-corsmà không cần cấp quyền rõ ràng thông qua tiêu đềCross-Origin-Resource-Policy. Đây là giá trị mặc định. require-corp-
Tài liệu chỉ có thể tải các tài nguyên được yêu cầu ở chế độ
no-corstừ cùng nguồn gốc, hoặc các tài nguyên đã đặt rõ ràng tiêu đềCross-Origin-Resource-Policythành giá trị cho phép nhúng vào.Việc tải tài nguyên đa nguồn sẽ bị chặn bởi COEP trừ khi:
- Tài nguyên được yêu cầu ở chế độ
no-corsvà phản hồi bao gồm tiêu đềCross-Origin-Resource-Policycho phép tải vào nguồn gốc của tài liệu. - Tài nguyên được yêu cầu ở chế độ
cors; ví dụ: trong HTML bằng thuộc tínhcrossorigin, hoặc trong JavaScript bằng cách thực hiện yêu cầu với{mode="cors"}. Lưu ý rằng các yêu cầu được thực hiện ở chế độcorssẽ không bị chặn bởi COEP hoặc kích hoạt vi phạm COEP, nhưng vẫn phải được CORS cho phép.
- Tài nguyên được yêu cầu ở chế độ
credentialless-
Tài liệu có thể tải các tài nguyên đa nguồn được yêu cầu ở chế độ
no-corsmà không cần quyền rõ ràng thông qua tiêu đềCross-Origin-Resource-Policy. Trong trường hợp này, các yêu cầu được gửi không có thông tin đăng nhập: cookie bị bỏ qua trong yêu cầu và bị bỏ qua trong phản hồi.Hành vi tải đa nguồn cho các chế độ yêu cầu khác giống như đối với
require-corp. Ví dụ, một tài nguyên đa nguồn được yêu cầu ở chế độcorsphải hỗ trợ (và được CORS cho phép).
<parameter> là tùy chọn và có thể là một trong:
report-to <endpoint_name>Optional-
<endpoint_name>là tên của endpoint mà các vi phạm chính sách sẽ được gửi đến. Ánh xạ giữa tên và một endpoint cụ thể được định nghĩa riêng trong tiêu đề HTTPReporting-Endpoints.
Thông số kỹ thuật
| Specification |
|---|
| HTML> # coep> |
Khả năng tương thích trình duyệt
Xem thêm
Cross-Origin-Embedder-PolicyCross-Origin-Opener-PolicyWindow.crossOriginIsolatedvàWorkerGlobalScope.crossOriginIsolatedReportingObserverCOEPViolationReport- Reporting API
- Cross Origin Opener Policy trong Why you need "cross-origin isolated" for powerful features trên web.dev (2020)
- COOP và COEP được giải thích: Artur Janc, Charlie Reis, Anne van Kesteren (2020)