前端跨域原理的一些猜想

什么是跨域?

  • 每一个web服务都是一个区域,当两个web服务之间相互通讯时,所以产生了跨域。

为什么会存在跨域?

  • 这是由于浏览器的同源策略的限制。同源策略规定了如果不是同源的服务,相互之间通讯是不允许的,因为这样可能存在安全问题。
  • 同源策略:
    • 同协议、同域名、同端口
      同源策略

如何处理跨域

  • 如果不是相互通讯的话即可以不受同源策略的影响。
  • 例如:script标签和iframe标签,都是属于引用外部资源,不存在跨域问题,即不受同源策略的影响。
跨域方法
JSONP
  • 通过script标签引用接口出传递回调函数,通过回调函数接收参数的方法接收数据
Iframe
  • document.domain
  • location.hash
  • window.name
  • postMessage
CORS
  • 设置跨域资源共享,允许所有的服务访问我的服务。即告诉浏览器不要限制别的服务访问我的服务。
  • 设置Access-Control-Allow-Origin。
Proxy代理
  • proxy对象通过拦截你的请求,然后开启一个nodejs服务去访问你的接口,没有通过浏览器,所以也不受同源策略的影响。
WebSocket协议
  • 该协议规定直接允许跨域通讯,即不存在跨域。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

biaov

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

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

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

打赏作者

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

抵扣说明:

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

余额充值