关于跨域的产生原因,以及解决方案
2018-09-20 12:25
78 查看
关于跨域的产生原因,以及解决方案
浏览器的安全基石“同源政策”,基于此产生跨域问题。
同源指的是三个相同:协议相同(例如http)、端口相同、域名相同。
例如 http:https://blog.csdn.net/abcoaj/article/details/https:https:/www.baidu.com/ 协议是http,域名是 www.baidu.com 端口是80
它的同源情况是:http:https:https://blog.csdn.net/abcoaj/article/details/https:https:/www.baidu.com/a.html 同源
http:https://www.tengxun.com/a.html 不同源(域名不同)
http:https://www.baidu.com:81/a.html 不同源 (端口不同)
同源政策的目到是为了保证用户的安全
例如:你在A银行网站登录,然后又去访问B网站,如果没有同源政策会发生什么呢?
B网站可以获取到你在A网站的cooking(登陆状态),也就可以获取你在A网站上的所有信息,所以为了解决这个问题出现了同源政策。
在开发中,如果非同源有三种行为会受到限制。
1.cookie、localstorage、indexDb无法读取
2.DOM无法获取
3.ajax请求不能发送
关于ajax请求最常用的解决访问:架设服务器代理(浏览器请求同源服务器,在后服务器去请求后台返回数据)
还有一下三种解决方案:
JSONP
WebSocket
CORS
相关文章推荐
- 关于Activity被染色的原因以及解决方案
- 内存溢出和内存泄漏的区别、产生原因以及解决方案
- 内存溢出和内存泄漏的区别,产生原因以及解决方案
- 存溢出和内存泄漏的区别、产生原因以及解决方案
- 内存溢出和内存泄漏的区别,产生原因以及解决方案
- oracle锁与死锁概念,阻塞产生的原因以及解决方案
- 内存溢出和内存泄漏的区别、产生原因以及解决方案
- Cocos2d-x 实现地图滚动,解释缝隙产生的原因以及解决方案
- Mysql5.7 only_full_group_by以及其他关于sql_mode原因报错详细解决方案
- Tomcat关于encoding编码的默认设置以及乱码产生的原因
- 内存溢出和内存泄漏的区别、产生原因以及解决方案
- mysql官方关于2013和2006错误代码产生原因和解决方案
- Android:内存溢出和内存泄漏的区别、产生原因以及解决方案
- Mysql only_full_group_by以及其他关于sql_mode原因报错详细解决方案
- 死锁产生的原因以及解决方案
- 关于VC出现 0x0C150002 错误的原因以及解决方案
- Cocos2d-x 实现地图滚动,解释缝隙产生的原因以及解决方案
- Android Studio中R文件丢失可能的产生原因 以及解决方案
- 关于死锁产生的原因以及解决的办法
- mysql官方关于2013和2006错误代码产生原因和解决方案