老哥你好,你看我这样理解跨域的产生与解决方法对着吗?

来源:3-2 CORS跨域请求的限制与解决

菜卷_

2021-05-18

跨域的产生:
因为浏览器的同源策略限制,只要协议名,域名或者端口号任意一个不一样,出于安全方面考虑,浏览器就不允许它们之间互相访问,所以就会出现跨域的问题。
从浏览器的角度出发,当浏览器访问一个非同源的地址时,服务端其实能收到浏览器发起的请求并且将数据响应给浏览器,但浏览器解析服务器响应过来的数据时,会发现响应头里没有Access-Control-Allow-Origin这个配置项,出于安全考虑,就会拦截服务端响应的内容,并报没有配置Access-Control-Allow-Origin的错误。
解决方法:
1:服务端在响应头里配置Access-Control-Allow-Origin,*代表通配符,任何地址都可以访问,安全性太低。也可以直接配置需允许访问的地址,这样除了这个地址,其它地址都不允许访问。
2:JsonP,script和img以及link等标签因为需要加载各种图片以及地址等,通过该标签的src属性访问的地址不存在跨域问题,所以可以通过script标签的src属性发起请求,设置回调函数,在回调函数内就可以拿到该请求的响应数据

老哥,这就是我对跨域的理解,有哪里不对吗?或者是哪里漏掉的。。。

写回答

1回答

Jokcy

2021-05-20

整体上没啥大的问题,其实只要知道跨域是因为浏览器的同源策略后面就比较好理解了
1
1
菜卷_
好嘞,谢谢老哥~
2021-05-21
共1条回复

HTTP协议原理+实践 完整案例解析主流技术

解析HTTP协议原理 夯实HTTP技术基础 打通前后端助你快速成长

4313 学习 · 375 问题

查看课程