同源和跨域

同源

同源指的是 两个页面的协议,域名和端口都相同
那么这两个页面具有相同的源
协议指的是 http,https(目前用的最多的) 还有文件协议file://
域名指的是例如 baidu.com 之类的 域名是需要购买的
端口号指的是域名后面的 ‘:+数字’
http的默认值是80 https的默认值是443

同源策略

同源策略指的是浏览器提供的一个安全功能
MDN0官方给的概念是 同源策略限制了从同一个源加载的文档或者是脚本如何与来自另外一个源的资源进行交互 这是一个用于隔离潜在的恶意文件的重要安全机制
简单的说就是 如果不是同源的网站 他们就不可以互动

跨域

只要不是同源的两个网站 都是跨域
出现跨域的根本原因就是同源策略不允许非同源的url进行资源的交互

浏览器对跨域请求的拦截

浏览器被允许发起跨域请求 但是跨域请求回来的数据 都会被浏览器拦截 无法被页面获取
在这里插入图片描述

如何实现跨域数据请求

虽然说同源策略有助于保护web安全 但是总会有需要跨域数据请求的时候
目前主流的解决方法分别是JSONP和CORS

JSONP出现的较早 所以兼容性比较好 这可以说是民间发明的方法 属于是被迫想出来的解决方案 缺点是只支持GET请求 不支持POST请求

CORS出现的比较晚 是W3C的标准 可以说是官方给出的跨域Ajax的根本解决方法 支持GET和POST请求 但是也有缺点 那就是万恶的兼容性问题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值