美文网首页
朋友,跨域吗?

朋友,跨域吗?

作者: Llane00 | 来源:发表于2017-04-18 23:48 被阅读0次

题目1: 什么是同源策略

同源策略:浏览器出于安全方面的考虑,只允许与本域下的接口交互。不同源的客户端脚本在没有明确授权的情况下,不能读写对方的资源。

其中同源指的是:
1.协议相同
2.域名相同
3.端口相同

需要注意的是: 对于当前页面来说页面存放的 JS 文件的域不重要,重要的是加载该 JS 页面所在什么域

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

跨域指允许不同域的接口进行交互
实现跨域的方法有:
1.JSONP
2.CORS
3.降域
4.postMessage

题目3: JSONP 的原理是什么

首先需要后端提供一个返回数据的接口,接口中的数据需要以JSON的格式显示并被一个函数包裹。
由于script标签引入的内容会被解析为js,所以前端可以用script的方法引入该接口的网址。
再在后续js代码中定义使用JSON数据的函数。
这样就可以达到接收并处理不同域的数据了。

此外可以通过查询参数来定义包裹JSON的函数名:在前端引入script时,加入查询参数。后端根据查询参数来拼接返回的数据及包裹的函数名。

一个JSONP的例子
//点击右上角查看源码

题目4: CORS是什么

CORS 全称是跨域资源共享(Cross-Origin Resource Sharing),
是一种 ajax 跨域请求资源的方式,支持现代浏览器。

当使用 XMLHttpRequest 发送请求时,浏览器发现该请求不符合同源策略,会给该请求加一个请求头:Origin,后台进行一系列处理,如果确定接受请求则在返回结果中加入一个响应头:Access-Control-Allow-Origin; 浏览器判断该相应头中是否包含 Origin 的值,如果有则浏览器会处理响应,我们就可以拿到响应数据,如果不包含浏览器直接驳回,这时我们无法拿到响应数据。

题目5: 演示三种以上跨域的解决方式

在本地host文件中添加了
127.0.0.1 test.com
127.0.0.1 a.test.com
127.0.0.1 b.test.com

1.JSONP 源码

2.cors 源码

3.降域 源码

4.postMessage 源码

相关文章

  • 朋友,跨域吗?

    题目1: 什么是同源策略 同源策略:浏览器出于安全方面的考虑,只允许与本域下的接口交互。不同源的客户端脚本在没有明...

  • 今日头条面试--2018

    2018 最新今日头条面试题 CSRF了解吗? 如何理解跨域,怎么解决跨域? cookie,sessionStor...

  • 深入跨域问题(3) - 利用 JSONP 解决跨域

    深入跨域问题(1) - 初识 CORS 跨域资源共享;深入跨域问题(2) - 利用 CORS 解决跨域深入跨域问题...

  • 关于设置env等环境变量的思考

    1、如何处理跨域后台处理跨域前端处理跨域浏览器处理跨域 前端本地处理跨域:代理线上跨域的处理方式:Nginx反向代...

  • Web前后端跨域问题处理

    跨域问题有前台跨域(iframe间)和后台跨域。 前台跨域的解决方案可以采用跨域文档通讯(Cross domain...

  • 跨域

    跨域 什么是跨域: 解决跨域 通过jsonp原理:在页面引入跨域js和css时,没有存在跨域问题.因此可以动态创建...

  • 跨域问题详解分析

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

  • 跨域问题:好几种解决方案

    跨域分为广义跨域和狭义跨域 广义跨域:一个域下的文档或脚本试图去请求另一个域下的资源; 广义跨域可以分为以下几种:...

  • ajax readystatus=0;status=0 报错

    跨域 跨域 跨域 一定要找运维或者后台解决

  • 深入跨域问题(2) - 利用 CORS 解决跨域

    阅读目录: 深入跨域问题(1) - 初识 CORS 跨域资源共享;深入跨域问题(2) - 利用 CORS 解决跨域...

网友评论

      本文标题:朋友,跨域吗?

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