跨域

  1. 什么是同源策略
    浏览器为了安全,只允许本域下的接口交互,这个是浏览器设置的,不能更改的。不同源的客户端的脚本(Javascript、ActionScript)在没有明确授权的情况下,不能读写对方的资源。
    简单来说: 就是浏览器允许我们使用在a.html中编写脚本去访问b.html中的数字资源,前提是a.html和b.html是同源的。
    同源是什么,是指协议、域名、端口相同,一个不同就不是同源。则浏览器会阻止你去获取b.html中的数字资源。
    update
    同源策略又分为两种:
    1. DOM 同源策略:禁止对不同源的页面进行DOM操作,主要是用于iframe跨域情况。不同域名的iframe是相互限制访问的
    1. XmlHttpRequest同源策略:禁止使用XHR对象对不同源的服务器发起http请求。
  1. 什么是跨域?跨域有几种实现形式
    跨域:允许不同域的接口进行交互。
    实现形式:jsonp、cors、降域(document.domain)、html5的PostMessage,window.name+iframe,window.location.hash+iframe,server proxy(服务器代理)
    reference

  2. JSONP 的原理是什么
    前因:
    1、因为ajax去跨域请求文件时,会被浏览器给禁止掉,无权限去访问(同源政策的规定:ajax请求只能发给同源的网址,否则就报错);
    2、但是script标签中的src属性可以访问URL,同时script标签会阻止文档进行渲染,先下载相关的脚本进行执行。
    3、于是,我们就想那我们不是可以使用script标签去请求一个url来链接到,来下载我们需要的数据到我们需要执行页面。
    4、在这个时候,问题又来了,怎么能让后端传来的数据被我们前端快速使用呢,则可以使用JSON格式的数据。
    基本原理:网页通过添加一个

你可能感兴趣的:(跨域)