CORS 跨域资源共享

简介: CORS 跨域资源共享

跨域资源共享(CORS)

CORS是什么?

CORS全称为Cross-Origin Resource Sharing,被译为跨域资源共享,新增了一组HTTP首部字段,允许服务器声明哪些源站有权限访问哪些资源。


跨域资源共享机制的工作原理主要应用于三个场景:


简单请求

预检请求

认证请求

1.简单请求

满足以下三个条件,则该请求可视为“简单请求”:


使用下列请求方法之一:GET、HEAD或POST

不得人为设置下列集合之外的其他首部字段:Accept、Accept-Language、Content-Language、Content-Type

Content-Type的值仅限于下列三者之一:

text/plain

multipart/from-data

application/x-www-form-urlencoded

01.请求消息

02.响应消息

2.预检请求

满足以下三个条件,则该请求可视为“预检请求”:


使用下列请求方法之一:PUT、DELETE、CONNECT、OPTIONS、TRACE或PATH

不得人为设置下列集合之外的其他首部字段:Accept、Accept-Language、Content-Language、Content-Type

Content-Type的值仅限于下列三者之一:

text/plain

multipart/from-data

application/x-www-form-urlencoded

预检请求要求必须首先使用OPTIONS方法发起一个预检请求到服务器,以获知服务器是否允许该实际请求。


预检请求可以避免跨域请求对服务器的用户数据产生未预期的影响。


01.请求信息

02.响应信息

3.认证请求

CORS可以基于HTTP Cookies和HTTP认证信息发送身份凭证。一般而言,对于跨域XMLHttpRequest请求,浏览器不会发送身份凭证信息。如果要发送凭证信息,需要设置XMLHttpRequest的某个特殊标志位。

xmlHttpRequest.withCredentials = true;

将 XMLHttpRequest 的 withCredentials 标志设置为true,使得向服务器发送Cookies,服务器返回响应首部字段Access-Control-Allow-Credentials: true。


如果服务器端的响应中未携带Access-Control-Allow-Credentials: true,浏览器将不会把响应内容返回给请求的发送者。


01.请求信息

02.响应消息

目录
相关文章
|
1月前
|
安全 Java 应用服务中间件
SpringBoot:CORS是什么?SpringBoot如何解决跨域问题?
CORS是Web开发中常见且重要的机制,SpringBoot通过提供注解、全局配置和过滤器等多种方式来解决跨域问题。选择适合的方式可以帮助开发者轻松处理跨域请求,提高应用的灵活性和安全性。
93 2
|
2月前
|
安全
CORS 跨域资源共享的实现原理是什么?
CORS 跨域资源共享的实现原理是什么?
|
2月前
|
开发框架 中间件 Java
如何处理跨域资源共享(CORS)的 OPTIONS 请求?
处理 CORS 的 OPTIONS 请求的关键是正确设置响应头,以告知浏览器是否允许跨域请求以及允许的具体条件。根据所使用的服务器端技术和框架,可以选择相应的方法来实现对 OPTIONS 请求的处理,从而确保跨域资源共享的正常进行。
|
2月前
|
JavaScript 前端开发 API
跨域资源共享(CORS)的工作原理是什么?
跨域资源共享(CORS)通过浏览器和服务器之间的这种交互机制,在保证安全性的前提下,实现了跨域资源的访问,使得不同源的网页能够合法地获取和共享服务器端的资源,为现代Web应用的开发提供了更大的灵活性和扩展性。
|
2月前
|
安全
CORS 跨域资源共享的实现原理
CORS 跨域资源共享的实现原理
|
4月前
|
JSON 安全 前端开发
浅析CORS跨域漏洞与JSONP劫持
浅析CORS跨域漏洞与JSONP劫持
155 3
|
3月前
|
JSON 前端开发 安全
CORS 是什么?它是如何解决跨域问题的?
【10月更文挑战第20天】CORS 是一种通过服务器端配置和浏览器端协商来解决跨域问题的机制。它为跨域资源共享提供了一种规范和有效的方法,使得前端开发人员能够更加方便地进行跨域数据交互。
|
3月前
|
缓存 前端开发 应用服务中间件
CORS跨域+Nginx配置、Apache配置
CORS跨域+Nginx配置、Apache配置
280 7
|
4月前
|
安全
CORS 跨域资源共享的实现原理
CORS 跨域资源共享的实现原理
|
5月前
|
Web App开发 JSON 数据格式
【Azure Developer】浏览器查看本地数据文件时遇见跨域问题(CORS)
【Azure Developer】浏览器查看本地数据文件时遇见跨域问题(CORS)
【Azure Developer】浏览器查看本地数据文件时遇见跨域问题(CORS)