CORS

是“Cross-Origin Resource Sharing”(跨源资源共享)的缩写。CORS 允许网页上的脚本从其他请求资源。出于安全原因,大多数Web 浏览器默认会阻止此类请求。

网页可以从另一个域请求资源——前提是请求来自HTML。例如,<head>部分可以引用其他域中的资源,例如CSS文件、字体JS文件。示例包括 Google Analytics 脚本、jQuery库以及托管在另一台服务器上的字体。同样,<body>也可以从CDN或其他域请求图像。HTML 中的跨源资源请求不需要 CORS 权限。

当脚本或iframe元素发起跨源请求时,就需要 CORS。例如,AJAX方法会在页面加载完成后运行,因此无法从另一个域请求资源。CORS 会覆盖浏览器的这一默认设置,使请求能够通过。

CORS 通过“访问控制”HTTP标头实现。服务器管理员可以添加或修改响应标头;当网页被访问时,这些标头会发送到客户端的浏览器。这些设置可以应用于ApacheIIS服务器,并且可以针对特定网站,也可以应用于整个服务器。以下是常见的请求标头和响应标头:

CORS 请求标头:

  • Origin
  • Access-Control-Request-Method
  • Access-Control-Request-Headers

CORS 响应标头:

  • Access-Control-Allow-Origin
  • Access-Control-Allow-Methods
  • Access-Control-Expose-Headers

CORS 示例

如果 techterms.com 上的脚本使用 GET 操作从 sharpened.com 请求资源,它可能会发送以下请求标头:

Origin: https://techterms.com
Access-Control-Request-Method: GET

要允许该请求,sharpened.com 可能会返回以下标头:

Access-Control-Allow-Origin: https://techterms.com
Access-Control-Allow-Methods: GET

Access-Control-Allow-Origin可以设置为特定域,也可以使用星号 (*) 设置为通配符。通配符设置允许来自所有域的跨源资源请求,这可能会带来安全风险。Access-Control-Allow-Methods可以设置为 PUT、POST、DELETE 及其他方法,也可以使用通配符 (*) 设置,以允许所有方法。

更新日期 November 3, 2020 作者 Per C.

quiz测试你的知识

Flooding an email account with a large number of messages is also known as what?

A
Email storming
0%
B
Email bombing
0%
C
Mail crashing
0%
D
Mail maxing
0%
Correct! Incorrect!     View the Email Bomb definition.
More Quizzes →

Tech Terms 计算机词典

本页中CORS的定义是由 TechTerms.com 的作者撰写的原创定义。如果您想引用本页或引用此定义,请使用定义正下方的绿色引用栏。

我们的目标是以简单易懂的方式解释计算机术语。我们努力使发布的每个定义都做到准确和简明。如果您对本定义有任何反馈,或想建议一个新的技术术语,请联系我们

Tech Terms 通讯

通过我们的每日或每周通讯提升您的技术知识!立即订阅,即可将新术语和测验发送到您的收件箱。

订阅免费的 TechTerms 通讯

您希望多久收到一封电子邮件?

您可以随时使用每封邮件中的链接取消订阅或更改接收频率。 有疑问?请联系我们

注意:通讯以英文发送。