美文网首页前端开发
知识点整理之---跨域是什么,为什么会有跨域?跨域的解决方法是什

知识点整理之---跨域是什么,为什么会有跨域?跨域的解决方法是什

作者: 楠楠_c811 | 来源:发表于2019-05-28 10:36 被阅读17次

跨域是什么,为什么会有跨域?跨域的解决方法是什么?常用的是什么?原理是什么?

面对这一连串问题,是不是很懵?
让我们来抽丝剥茧一点一点解决它。

什么是跨域?

跨域是指从一个域名去请求另一个域名的资源,严格来说,只要域名,协议,端口任何一个不同,就视为跨域。

为什么会出现跨域?

为了网络安全起见,浏览器设置了一个同源策略,规定只有域名,端口,协议全部相同,就叫做同源。当页面在执行一个脚本时,会检查访问的资源是否同源,如果不是,就会报错。可是在实际开发中,经常会有跨域加载资源的需求,避免不了跨域请求,所以就出现了跨域。

什么是同源策略及限制?

同源策略是指从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互,这是一个用来隔离潜在恶意文件的的关键的安全机制。不同源之间的交互是被浏览器限制的,为了安全起见。

同源策略限制的具体表现是什么?

(1)coikie、LocalStorage和Index DB 无法读取
(2)Dom 无法获得
(3)AJAX请求不能发送

JS中自带跨域技能的标签是什么 ?

JS中有两个神奇的标签,从出生起就自带跨域技能,就是<img/>和<script><script/>这两个标签。
说起能跨域的标签,就要提一提常用的跨域方法。

常用的跨域方法是什么?

1、JSONP -- 原理就是利用了script标签,在标签外套了一层壳,利用标签特性达到跨域加载资源的效果。
JSONP由两部分组成,回调函数和数据
优点:
(1)兼容性好,在多古老的浏览器都能运行。
(2)能直接访问响应文本,支持在浏览器与服务器之间双向通信。
缺点:
(1)只支持GET请求,不支持POST请求;
(2)不够安全。因为JSONP是从其他域中加载代码执行,如果其他域不安全,可能会在响应中带有恶意代码。
(3)不容易确认请求是否失败。
2、CORS -- 跨站资源共享,它是跨域的官方解决方案,升级版的JSONP。原理是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应是应该成功还是失败。请求和响应都不包含cookie信息。
CORS需要浏览器和后院同时支持,浏览器会自动进行CORS通信,实现CORS通信的关键是后端,只要后端实现了CORS,就实现了跨域,服务端设置Access-Control-Allow-Origin 就可以开启CORS,该属性表示哪些域名可以访问资源,如果设置通配符则表示所有网站都可以访问资源。
3、webSockets -- 不受同源策略影响。原理是因为它不使用HTTP协议,而使用一种自定义的协议,专门为快速传输小数据设计。
4、Nginx -- 代理跨域。反向代理跨域。

相关文章

  • 知识点整理之---跨域是什么,为什么会有跨域?跨域的解决方法是什

    跨域是什么,为什么会有跨域?跨域的解决方法是什么?常用的是什么?原理是什么? 面对这一连串问题,是不是很懵?让我们...

  • 什么是跨域?以及如何解决跨域问题

    首先我们来想一想 为什么会有跨域这个名词的出现呢? 跨域又是什么呢?为何要跨域? ...

  • 浏览器跨域问题,教你手写实现jsonp跨域

    跨域概述为什么会有跨域跨域解决办法:1、jsonp;2、后台代理手写实现jsonp跨域(包括服务器端代码) 跨域问...

  • 浏览器跨域的那些事

    整理中 目标: 了解跨域 解决跨域 服务器配置跨域(java, nginx) 前端调试时配置解决跨域 一、什么是跨...

  • Python | 跨域

    今日目标:带你们领略跨域的奥秘~ 1,为什么会出现跨域问题? 2,跨域的定义是什么? 3,如何避免跨域? 我们平常...

  • 跨域问题总结

    跨域, 为什么需要跨域?跨域有什么不好?怎么实现跨域? 一、什么是跨域 只要协议、域名、端口有任何一个不同,都被当...

  • 跨域问题总结

    跨域, 为什么需要跨域?跨域有什么不好?怎么实现跨域? 一、什么是跨域 只要协议、域名、端口有任何一个不同,都被当...

  • 跨域

    1、跨域是什么 域指的是域名,向一个域发送请求,如果请求的域和当前域是不同域,就叫跨域;不同域之间的请求就叫跨域请...

  • 跨域解决方案

    在讲解决跨域解决方案之前,我们需要了解什么是跨域,在什么情况下会跨域,跨域解决的是什么问题? 一、跨域,是指浏览器...

  • AJAX

    题目 手写一个ajax 跨域的常用实现方式 知识点 XMLHttpRequest 状态码 跨域:同源策略,跨域解决...

网友评论

    本文标题:知识点整理之---跨域是什么,为什么会有跨域?跨域的解决方法是什

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