开发者不理解CORS(2019)
本文探讨了开发者对跨域资源共享(CORS)机制的常见误解。作者指出,许多人错误地将CORS视为安全漏洞或浏览器限制,而未真正理解其工作原理——它实际上是一种由浏览器强制执行、基于服务端响应头的跨域请求控制机制。文章解释了CORS的初衷、常见错误配置以及开发者应如何正确使用它来构建安全的Web应用。
背景速读
- CORS(跨域资源共享)是浏览器的一项安全机制,它限制网页从不同域名下请求资源。很多人误以为它是"后端安全机制",实际上它主要保护用户免受某些前端攻击(如CSRF),并不保护后端API本身。
- 本文发布于2019年,批评开发者在未真正理解CORS工作原理的情况下,盲目复制配置代码,导致常见误解和调试困难。
- 核心观点:CORS只在浏览器环境下生效;服务器端请求(如curl、Postman)不受影响;"同源策略"是浏览器的行为,而非服务器行为。
- 作者是独立开发者/博主,文章在工程师社区(如Hacker News)引发广泛讨论,成为解释CORS的经典入门文之一。