PYTHON-跨域请求

两种请求

浏览器将CORS请求分为两类:简单请求(simple request)和非简单请求(not-so-simple request).
只要同时满足以下两大条件, 就属于简单请求

(1) 请求方法一下三种方法之一:
HEAD
GET
POST
(2)HTTP的头信息不超过提下几种字段:
Accept
Accept-Language
Content-Language
Last-Event-ID
Content-Type: 只限于三个值application/x-www-from-urlencoded、multipart/form-data、text/plain

凡是不同时满足上面两个条件, 就属于非正常请求。
浏览器对着两种请求的处理, 是不一样的。

- 简单请求和非简单请求的区别?
	简单请求: 一次请求
	非简单请求: 两次请求, 在发送数据之前会发生一次请求用于"预检", 只有"预检"通过后才在发送一次请求用于数据传输。
- 关于"预检"

- 请求方式:OPTIONS
- "预检"其实做检查, 检查如果通过则允许传输数据, 查不通过则不再发送真正想要发送的消息
- 如何"预检"
	=> 如果复杂的请求是PUT等请求, 则服务器需要设置允许某请求, 否则"预检不通过"Access-Control-Request-Method
	=> 如果复杂请求设置了请求头, 则服务端需要设置允许请求头, 否则"预检"不通过Access-Control-Request-Headers

案列

  • 服务器1向服务器2要数据图解
    在这里插入图片描述
  1. 简单请求解决方案
    在服务器2的接口里设置个Access-Control-Allow-Origin
    在这里插入图片描述
  2. 非简单请求
    会发送两条请求, 一条options, 一条post
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在服务器2的接口里设置个Access-Control-Allow-Headers
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只因为你温柔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值