美文网首页
跨域的一些方法

跨域的一些方法

作者: _达斯基 | 来源:发表于2017-10-28 22:11 被阅读0次

什么是同源策略

同源策略是一种约定,它是浏览器最核心的安全功能,如果缺少了同源策略,那么浏览器正常的功能可能会收到影响,还会影响安全性,可以说web是构建在同源策略的基础上的,浏览器只是针对同源策略的一种实现。它是一种安全策略
现在所有支持JavaScript的浏览器都会使用这个策略
所谓的同源指的是,同域名,协议,端口,当一个浏览器的两个tab页中分别打开来自百度和谷歌的页面,当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,就是看是否同源,只有百度的同源脚本才会被执行,如果非同源,那么在请求数据时,浏览器会在控制台中报错。

什么是跨域,跨域有几种实现方式

跨域允许不同源的借口实行交互

  • JSONP
  • cors
  • 降域名(有限制,要求域名有同样的后缀)
  • postMessage

jsonp的原理是什么

json(json with padding)填充式json ,jsonp主要由回调函数和数据(传入回调函数的json数据)组成应为浏览器允许垮与资源嵌入,所以jsonp是通过在页面动态的添加<script>,为标签内部添加一个跨域的URL其中包括在之前声明好的一个回调函数(?XXX=回调函数名)当jsonp响应加载完以后,则会立即执行

  • 缺点
    不能确保从其他域中加载的代码是否有恶意代码
    确定jsonp请求是否失败并不容易(HTM5L中为script元素添加的onerror时间处理程序并没有得到浏览器的支持)

cors是什么

CORS 全称是跨域资源共享(Cross-Origin Resource Sharing),是一种 ajax 跨域请求资源的方式,支持现代浏览器,IE支持10以上。 实现方式很简单,当你使用 XMLHttpRequest 发送请求时,浏览器发现该请求不符合同源策略,会给该请求加一个请求头:Origin,后台进行一系列处理,如果确定接受请求则在返回结果中加入一个响应头:Access-Control-Allow-Origin; 浏览器判断该相应头中是否包含 Origin 的值,如果有则浏览器会处理响应,我们就可以拿到响应数据,如果不包含浏览器直接驳回,这时我们无法拿到响应数据。

实现4种跨域

https://github.com/dd328199005/JSONP-cors

相关文章

  • JavaScript - GET/POST及跨域方法

    xhr 原生方法请求 window fetch 方法 关于跨域 利用JSONP实现跨域调用 使用 CORS(跨域资...

  • 跨域问题详解分析

    参考文档 CORS详解 跨域资源共享 CORS 详解 js中几种实用的跨域方法原理详解 跨域的那些事儿 跨域与跨域...

  • web跨域解决方案

    围绕以下几点介绍: 什么是跨域? 常用的几种跨域处理方法? crossdomain.xml解决跨域问题 什么是跨域...

  • 什么是跨域?跨域有几种实现形式:

    跨域指的是跨过同源策略,实现不同域之间进行数据交互的过程叫跨域。跨域的实现形式主要有JSONP方法、CORS方法、...

  • 跨域

    跨域指的是跨过同源策略,实现不同域之间进行数据交互的过程叫跨域。跨域的实现形式主要有JSONP方法、CORS方法、...

  • 关于js中的跨域

    @(JS技巧)[跨域] 各种跨域方法详解 总是在听说跨域,可是自己除了JSON,其它的方法其实并不是真的理解。今晚...

  • AJAX跨域解决方案

    跨域方法:1、跨子域iframe2、JSONP缺点:只支持get方法;后端代码要调整3、CORS本地如何模拟跨域修...

  • 跨域的问题

    传统的JSONP跨域方法 JQ的ajax调用是最常见的调用方法之一,在自己写一些小demo过程中,总是会遇到跨域问...

  • 跨域处理

    跨域 1、什么是跨域 2、跨域方法2.1 JSONP2.2 CORS2.3 window.postMessage2...

  • Ajax跨域设置Access-Control-Allow-Ori

    方法一:部分跨域 在需要跨域的Controller上添加注解 方法二:全局跨域 1、新建类 2、在web.xml添加标签

网友评论

      本文标题:跨域的一些方法

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