---
title: "COEP 模式对比:require-corp 与 credentialless 的选择"
keywords:
- COEP
- credentialless
- require-corp
- CORP
- COOP
- CORS
description: "比较 COEP 的两种模式在跨源子资源嵌入上的行为差异,解释 credentialless 的匿名请求与部署便捷性,并给出与 COOP/CORP 的协作与灰度策略。"
categories:
- 文章资讯
- 技术教程
---
概述
跨源隔离需要 COOP+COEP。COEP: require-corp 要求无 CORS 的跨源子资源显式通过 CORP 允许嵌入;COEP: credentialless 允许在无 CORP 的情况下以无凭据(不含 Cookie)匿名请求跨源资源,简化部署但可能影响需要凭据的子资源。
行为与差异
require-corp:无 CORS 的跨源资源必须设置Cross-Origin-Resource-Policy: cross-origin才能嵌入;不需手动调整请求模式以使用凭据[参考4,2]。credentialless:跨源 no-cors 请求以匿名方式发送,不含 Cookie;无需要求第三方配置CORP,但需要对需要 Cookie 的子资源切换到 CORS(如<img crossorigin>、fetch的mode='cors')[参考1,2]。- 两者均需配合
COOP: same-origin启用跨源隔离;COEP 不覆盖已有的 CORP/CORS 限制[参考2,4]。
部署建议
- 先以
COEP-Report-Only灰度并使用 Reporting API 收集违规;评估第三方资源对 Cookie 的依赖,必要时改造为 CORS 请求或提供无 Cookie 访问[参考3,1]。 - 统一启用
COOP: same-origin并逐步切换 COEP 模式;文档与 Worker 均需覆盖。
参考与验证
- [参考1]Chrome 文档:
COEP: credentialless行为与部署说明(匿名跨源加载):https://developer.chrome.com/blog/coep-credentialless-origin-trial - [参考2]MDN:COEP 响应头与
require-corp/credentialless用法与与 CORP/CORS 的关系:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Embedder-Policy - [参考3]安全头系列:COEP 与 Reporting API 的灰度与监控建议:https://andrewlock.net/understanding-security-headers-part-3-cross-origin-embedder-policy/
- [参考4]web.dev:COOP/COEP 的跨源隔离目标与模式说明(credentialless 概念):https://web.dev/articles/coop-coep
- [参考5]Chromium 讨论:
COEP: credentialless的实现与 DevTools 支持与指标讨论:https://groups.google.com/a/chromium.org/g/blink-dev/c/Zr9n9_LG7s4/m/4y-b481hBAAJ
关键词校验
关键词与 COEP 模式对比一致。

发表评论 取消回复