admin 管理员组

文章数量: 1184232


2024年4月13日发(作者:gitlab设置为中文)

crossorigin注解原理

跨域资源共享 (Cross-Origin Resource Sharing)

简介

• 什么是跨域资源共享?

– 跨域资源共享 (Cross-Origin Resource Sharing, CORS)

是一种机制,用于允许在一个域中加载来自其他域的资源。

它解决了浏览器的同源策略限制,使得跨域请求成为可能。

同源策略

• 什么是同源策略?

– 同源策略是一种浏览器安全机制,用于阻止网页加载和操

作来自不同源的资源。同源指的是协议、域名和端口都相

同。

跨域请求

• 什么是跨域请求?

– 跨域请求指的是在一个域中加载来自其他域的资源,例如

从 请求 中的资源。

Origin头部

• 什么是Origin头部?

– Origin 头部是浏览器发送给服务器的请求头部,用于表示

当前请求的源 (协议 + 域名 + 端口)。例如: `Origin:

CORS解决方案

• CORS如何工作?

– CORS通过一系列的预检请求和响应头部,允许服务器决定

是否允许来自其他源的请求。以下是CORS解决方案的步骤:

1. 浏览器发送一个OPTIONS请求(预检请求)给服务器,

询问服务器是否允许跨域请求。

2. 服务器响应预检请求,返回Access-Control-Allow-

Origin和其他相关的头部信息。

3. 如果服务器允许跨域请求,浏览器发送实际的跨域请

求,携带Origin头部,并在响应头部中返回

Access-Control-Allow-Origin。

• Access-Control-Allow-Origin 头部

– Access-Control-Allow-Origin 头部是服务器响应时添加

的头部,用于指定允许访问资源的源。例如: `Access-

Control-Allow-Origin:

• 预请求 (OPTIONS)

– 预请求是CORS解决方案中的一步,用于向服务器发送一个

OPTIONS请求,以确定是否允许跨域请求。预请求不会携

带真正的请求数据,只包含一些必要的头部信息,例如

Origin。

– 预请求的目的是向服务器询问是否允许实际请求。

crossorigin注解

• crossorigin注解的作用

– crossorigin注解是一种在HTML中的标签上添加的属性,

用于控制跨域请求的行为。它可以取以下三个值:

1. anonymous:在跨域请求中,浏览器不会发送用户身

份信息。

2. use-credentials:在跨域请求中,浏览器会发送用

户身份信息。例如,使用浏览器的cookie。

3. 不设置:默认情况下,等同于anonymous。

• 如何使用crossorigin注解?

– 如要使用crossorigin注解,只需在HTML标签上添加

crossorigin属性,并设置合适的值。

总结

• 跨域资源共享 (CORS) 是一种通过预检请求和响应头部,允许在

一个域中加载来自其他域的资源的机制。

• CORS解决了浏览器同源策略的限制,使得跨域请求成为可能。

• crossorigin注解是一种在HTML标签上添加的属性,用于控制跨

域请求的行为。

• 通过设置crossorigin注解,我们可以指定浏览器在跨域请求中

是否发送用户身份信息。


本文标签: 请求 跨域 浏览器 头部 允许