跳转到主要内容

【Web技术】跨来源资源共享(CORS)

浏览器的同源策略阻止从不同的源读取资源。这种机制阻止恶意网站读取其他网站的数据,但也阻止合法使用。

现代web应用程序通常希望从不同的来源获取资源,例如,从不同的域检索JSON数据,或将另一个网站的图像加载到<canvas>元素中。这些可以是公共资源,任何人都可以阅读,但同源政策阻止了它们的使用。开发人员历来使用诸如JSONP之类的变通方法。

跨来源资源共享(CORS)以标准化的方式解决了这个问题。启用CORS可以让服务器告诉浏览器它可以使用一个额外的原点。

【Web技术】为什么您需要“跨源隔离”才能获得强大的功能

了解为什么需要跨源隔离才能使用强大的功能,如SharedArray Buffer、performance.measureUserAgentSpecificMemory()和精度更高的高分辨率计时器。

介绍


在使用COOP和COEP使您的网站“跨源隔离”的过程中,我们解释了如何使用COOP和COEP采用“跨源隔离”状态。这是一篇配套文章,解释了为什么需要跨源隔离才能在浏览器上启用强大的功能。

关键词:这篇文章使用了许多听起来相似的术语。为了使事情更清楚,让我们定义它们:

【Go语言高级开发】为 Go (Golang) 配置 CORS

在之前的文章中,我们已经介绍了 CORS 是什么以及修复“没有 'access-control-allow-origin' 标头存在”的反向代理方法,但是当您需要更多灵活性时该怎么办? 本文将指导您完成在后端处理 CORS 的过程。 在这种特殊情况下,我们将为 Golang 网络应用程序实现它。 但是,这种技术适用于任何支持“http.Handler”的 Go HTTP 路由器框架。我们将在本教程中使用 Gorilla/Handlers,因此我们将坚持使用 Gorilla 系列并使用基于 Gorilla/Mux 的示例。

自然,与一般的编程一样,有多种方法可以实现相同的东西,从纯粹的 DIY 方法到预先构建并很好地打包在库中的方法。 如上所述,在本教程中,我们将采用后一种方法。 但是,在我们开始所有这些之前,让我们快速回顾一下我们试图解决的问题。