美文网首页
同源策略,跨域,jsonp

同源策略,跨域,jsonp

作者: yuan1024 | 来源:发表于2017-07-05 13:03 被阅读19次

1. 什么是同源策略

同源策略是浏览器为安全性考虑实施的重要的安全策略。限制来自不同源的资源对当前的文档读取或设置某些属性。
同源:协议,域名,端口号相同。
协议 - http,https
域名 - www.baidu.com
端口号 - http默认为80,https默认为443

2. 什么是跨域?跨域有几种实现形式

跨域是突破同源策略的限制,从一个页面请求另一个不同域页面的资源。
跨域的实现方式
一、 降域
针对主域名相同,子域名不同的情况。如域名后缀相同的child1.a.com和child2.a.com,可设置document.domain = 'a.com',达到降域的目的,实现跨域访问。
二、JSONP
通过动态插入script标签,src值为需要加载资源的路径。资源加载后执行函数。只支持get请求,安全性不高。
三、CROS
跨域资源共享,可以让AJAX实现跨域访问。CROS使用自定义的http头部,让浏览器和服务器沟通,沟通完成后决定响应结果。(实现过程 -- 后台返回结果中设置Access-Control-Allow-Origin的值)
四、HTML5 的 postMessage
支持跨文档,跨域消息传递。

3. jsonp 的原理是什么

利用script标签的可跨越性,在网页中动态创建并添加<script>标签,然后在请求资源页面的url上添加一个callback函数名作为参数。后台服务器将数据放在一个指定名称的callback函数给传回来,由于网页内已定义callback函数,参数返回后,函数便会立即执行。

4. CORS是什么

CROS需要浏览器和服务器同时支持,目前所有浏览器都支持该功能,IE10以下不完全支持。
整个CROS过程,都是浏览器自动完成。在浏览器发现AJAX请求跨域,会自动添加一个origin字段的头信息,告诉跨域的后台,此次跨域请求是由哪个源发出的。服务器根据前端发过来的的跨域的ajax请求的origin字段,决定是否同意此次跨域访问。(后台可设置一个标头,决定是否通信)。

相关文章

  • 前端基础(问答23)

    keywords: 同源策略、跨域、jsonp。 什么是同源策略(same origin policy) 同源:协...

  • 跨域

    主要内容: 同源策略、跨域实现形式(JSONP、CORS、降域、postMessage) 同源策略 (Same o...

  • 做demo和学习过程当中遇到的一些问题,收集的博文

    轻松搞定JSONP跨域请求--->关键字: 跨域, 同源策略, JSONP原理 git拉取远程分支到本地 git ...

  • jsonp

    jsonp的跨域原理解析 背景: 由于浏览器同源策略的限制,非同源下的请求,都会产生跨域问题,jsonp就是为了解...

  • Jsonp 跨域原理

    Jsonp 跨域原理。(摘选) 浏览器的同源策略把跨域请求都禁止了,但是页面中的 标签是例外,不受同源策略限...

  • 什么是跨域

    被同源策略限制的都叫做跨域,域名,端口,协议一只就要同源策略 如果跨域 1、jsonp 2、nginx反向代理 3...

  • 同源策略与跨域

    跨域就是违背了同源策略解决跨域的方法有:jsonp,cors和服务器代理

  • 常见跨域解决方案

    跨域 JSONP 使用 标签不受同源策略影响的特性,作为Ajax传输技术称为JSONP。 使用JSONP时,需要服...

  • Jsonp的实现原理

    1. Jsonp Jsonp: 主要是用来获取跨域的请求,由于同源策略的限制,我们不能获取跨域的资源 2. Jso...

  • Ajax跨域 —— Jsonp

    同源策略 同源/同域即域名、协议、端口号相同 JSONP(JSON with Padding) 是一种跨域请求方式...

网友评论

      本文标题:同源策略,跨域,jsonp

      本文链接:https://www.haomeiwen.com/subject/pxtqhxtx.html