【Web前端】CORS概述

1、基本概念

  • CORS(Cross-Origin Resource Sharing,跨源资源共享)是一种基于HTTP的安全特性,它允许网页从一个域请求来自不同源服务器上的指定资源。这是一种安全功能,用于防止恶意网站读取另一个网站的数据。
  • 同源策略是浏览器的一种安全策略,它规定只有同源的请求(即协议、域名和端口号都相同)才能被允许访问。CORS是对同源策略的一种扩展,允许服务器指定哪些外部网站可以访问其资源。

2、工作机制

CORS通过HTTP头部字段来告知浏览器,哪些跨域请求是被允许的。这些HTTP头部字段通常由服务器在响应请求时设置。

  1. 预检请求(Preflight Request):对于某些请求方法(如PUT、DELETE或CONNECT等)或当请求设置了一些特殊的头部(如Content-Type为application/json)时,浏览器会先发送一个OPTIONS请求到服务器,以检查实际请求是否安全,这个过程称为预检。服务器在响应OPTIONS请求时,会明确告知浏览器哪些方法和头部是可以被接受的。

  2. 实际请求(Actual Request):如果预检请求成功,浏览器才会发送实际的跨域请求。

3、相关的HTTP头部字段

  • Access-Control-Allow-Origin:指定哪些网站可以访问资源。可以设置为具体的域名,或者使用通配符*表示接受所有域名的请求。但出于安全考虑,建议尽可能避免使用*

  • Access-Control-Allow-Methods:指定服务器支持哪些跨域请求的方法。

  • Access-Control-Allow-Headers:指定服务器支持哪些跨域请求的头部字段。

  • Access-Control-Expose-Headers:允许服务器指定哪些头部字段可以暴露给前端JavaScript代码。

  • Access-Control-Max-Age:指定预检请求的结果(即OPTIONS请求的响应)能够被缓存多久。

4、应用场景

CORS主要用于Web开发中,特别是在前后端分离的应用中。前端页面可能部署在一个服务器上,而后端API可能部署在另一个服务器上,通过CORS机制可以实现前端对后端资源的跨域请求。

  • 25
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值