美文网首页
同源与跨域

同源与跨域

作者: 饥人谷_林嘉俊 | 来源:发表于2017-09-20 17:07 被阅读14次

题目1: 什么是同源策略

“同源策略(Same-Origin Policy)”,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这个策略。所谓同源,就是必须协议、域名、端口都一致的,才叫做同源。 如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。
例如:http://www.12306.cnhttps://www.12306.cn,由于协议不一致,就不是同源。http://127.0.0.1:8080/test1http://localhost:8080/test1 也不属于同源,因为域名不一致。端口不同当然也不叫同源了。

https://www.zhihu.com/question/25427931

题目2: 什么是跨域?跨域有几种实现形式

js跨域是指通过js在不同的域之间进行数据传输或通信
跨域有这几种实现形式

  • JSONP
  • Cors
  • 降域
  • PostMessage

在题目5博客里会详细介绍

题目3: JSONP 的原理是什么

JSONP主要是利用<script></script>,通过访问src的地址来访问任意域的接口,因为script没有收到同源策略的限制,可以访问任意域的接口。
当HTML中有<script src=''></script>时,服务器返回字符串和"content-type=javascript",浏览器会把字符串当成Javascript来解析。
目标服务器的接口监听到了请求,如果双方约定好了,在url定义一个参数(一般是callback),参数的内容是要调用的方法,服务器检查有没有这个参数,如果有,返回的数据是“方法名(JSON数据)”的形式。由于参数方法是事先定义好的,返回的方法会自动执行。

简而言之:
通过script标签引入一个js文件,这个js文件载入成功后会执行我们在url参数中指定的函数,并且会把我们需要的json数据作为参数传入。所以jsonp是需要服务器端的页面进行相应的配合的。

题目4: CORS是什么

CORS全称是跨域资源共享。
CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。
整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。
因此,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信。

相关文章

  • 网站跨域解决方法

    关键词 同源策略 什么是跨域 跨域,请求不同源。同源指协议、域名、端口都相同,只要有一样不相同就是跨域了。 同源限...

  • 前端开发的跨域问题

    跨域背景 跨域是由于浏览器的同源策略引起的;那么什么是同源策略呢?同源策略是指页面请求的接口地址必须与 url 地...

  • JSONP、CORS、跨域

    跨域 同源:两个文档同源需满足:协议、域名、端口相同跨域:不同域之间相互请求资源,就算作“跨域“。js进行DOM操...

  • 通过script标签实现跨域

    跨域 什么是跨域? 跨域问题是由于javascript语言安全限制中的同源策略造成的。同源策略是由Netscape...

  • jsonp

    参考:轻松搞定JSONP跨域请求参考:JavaScript 跨域总结与解决办法要理解跨域,先要了解一下“同源策略”...

  • SpringBoot2.x整合CORS解决跨域问题

    跨域问题系列文章 1. 同源策略与CORS(跨域请求的起源)2. SpringBoot2.x整合CORS解决跨域问...

  • 网页请求(同源策略)

    跨域与同源策略 跨域:是指的通过JS在不同域之间进行数据传输或通信。同源策略:它是由Netscape提出的一个著名...

  • H5跨域访问

    跨域访问是源于浏览器的同源策略而引申出来的概念 1、先了解什么是同源策略和跨域访问 同源策略、跨域解决方案 - R...

  • 跨域

    1.什么是跨域? 本地域与服务端的域不一致,是由浏览器同源策略限制的场景,不同源即不同域,就是跨域。 注意:协议端...

  • 跨域

    什么是跨域? 说跨域之前先要谈几个概念。跨域问题要从同源策略谈起,那什么是同源策略呢?同源是下面三项都相同,缺一不...

网友评论

      本文标题:同源与跨域

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