问答1 问答5 问答50 问答500 问答1000

Http 跨域(Cors) 详解

提问网友 发布时间:2022-12-07 20:41
声明声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:1656858193@qq.com
1个回答
热心网友 回答时间:2023-09-21 18:07
1.构成跨域的条件(满足下方任意一个条件则构成跨域)

    domain不同(域名或者ip不同)

    端口不同

    协议不同(http/https)

给大家展示一个请求头和响应头,这是满足跨域的

请求头

```

POST http://127.0.0.1:10030/user/login HTTP/1.1

Host: 127.0.0.1:10030

Connection: keep-alive

Content-Length: 33

Pragma: no-cache

Cache-Control: no-cache

Accept: application/json, text/plain, */*

Origin: http://localhost:8080

User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1

Content-Type: application/x-www-form-urlencoded

Referer: http://localhost:8080/

Accept-Encoding: gzip, deflate, br

Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7

Cookie: cna=CKV9Ew45tVYCAX1SFKx2d19k; _uab_collina=152896489958250435552525; _umdata=65F7F3A2F63DF020E1473F196945E27DBC990F7BBC00081CD2D29B2B4AD9F1FCC05972083687D762CD43AD3E795C914CD2FEBFBF6205958F64E60BC7B372D87F; Hm_lvt_31d8fd22bdec2e7ab9e5855741f0fac1=1541048271,1541503268,1542598403,1543222019; SESSION=NDllODZlMWQtODk5ZC00MDg3LThiN2ItNGM0MTRlMjZlOTFm

phone=15555555555&password=111111

```

响应头

```

HTTP/1.1 200

Vary: Origin

Vary: Access-Control-Request-Method

Vary: Access-Control-Request-Headers

Access-Control-Allow-Origin: http://localhost:8080

Access-Control-Allow-Credentials: true

Set-Cookie: rememberMe=deleteMe; Path=/; Max-Age=0; Expires=Tue, 01-Jan-2019 06:44:30 GMT

Content-Type: application/json;charset=UTF-8

Transfer-Encoding: chunked

Date: Wed, 02 Jan 2019 06:44:30 GMT

103

{"data":{"id":2,"name":null,"nickName":"15555555555","email":null}

0

```

详解

首先请求头中需要设置,这个是设置跨域的的协议,domain 和端口,也就是浏览器地址的栏的根路径

```

Origin: http://localhost:8080

```

服务器获取到这个请求头之后开始进行校验校验成功后,设置响应头

Access-Control-Allow-Origin 参数建议不要设置为 *  设置为 * 的话,其他的请求时则不会带上 Cookie

```

Access-Control-Allow-Origin: http://localhost:8080

Access-Control-Allow-Credentials: true

```

将这个响应头设置好返回给浏览器,就达到跨域的效果了

其他和跨域有关的响应头

```

//预检结果缓存时间,也就是上面说到的缓存啦

'Access-Control-Max-Age: 1800'

//允许的请求类型

'Access-Control-Allow-Methods:GET,POST,PUT,POST'

//允许的请求头字段

'Access-Control-Allow-Headers:x-requested-with,content-type'

```

参考链接 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

制作步骤 太阳晒不干卷心菜能用烤箱烤吗 我上初三了,我有很多动漫,我学习又不好,但很喜欢看动漫,我不能认真学... ...自己带饭过去中午吃、什么样的饭盒可以让饭菜不馊啊? 什么样的饭盒三个小时饭不坏 我想找类似于《第三种爱情》,《沥川往事》,《何以笙箫》等等文本非常... 求:类似末路相逢、温暖的弦、第三种爱情的小说 求类似《第三种爱情》的都市言情小说。 经典的都市小说推荐 我最喜欢的是《独家记忆》《第三种爱情》,类似的... FIDIC合同条件的指导性文件 赶猪最好的方法 赶猪最好的方法是什么 新房装修完千万别急着入住,这几点要注意 人到中年,夫妻间千万要注意这几点 关于备考这几点千万要注意了!!! 住酒店千万要注意这几点,最后一条不看后悔一辈子 车主心疼,这几点千万要注意 搞笑幽默的51劳动节祝福语 外地国4 的车要转入泉州现在转不了可以转到莆田吗 06年外地车能过户到泉州吗? 泉州自驾车可以正常出入吗 瞬间沦陷的惊艳文案 有哪些瞬间沦陷的惊艳文案 一眼沦陷的神仙文案 一眼就沦陷的短句文案 一不小心就沦陷的文案(精选33句) 一眼就沦陷的文案 鱼汤要煮多久 十五分钟左右 闪充功能在哪找? 往事如昨易白头,你若无情我便休,是那首歌的歌词。 边走边唱是谁唱的 求一首英文歌曲 开头是 lastnight I ~~~女歌手在现场唱时在舞台中间边... 我想知道天津附近的翠格西点在哪里?最好地址具体点 天津河东区工业大学附近的花鸟鱼虫市场在哪里? 比亚迪河东程林庄路4S店电话 肯德基 麦当劳(急) 荒野大镖客2安妮斯突然红了 海象吃什么东西,海象吃什么东西会有口臭 圣诞QQ个性签名怎么写 关于吃货的可爱句子 吃货句子说说心情短语 吃货的可爱文案 恋人间的圣诞祝福(精选19句) 心情烦躁怎样控制情绪