前端跨域简单理解
来源:互联网 发布:js 逗号运算符 编辑:程序博客网 时间:2024/06/05 09:11
满足跨域的条件
1.域名不同,例如:
- a.com与b.com
- www.a.com与a.com(同一域名,不同二级域名)
- chs.a.com与en.a.com(主域名相同,子域名不同)
- a.com与70.32.92.74(对应ip地址)
2.协议不同,例如:http协议与https协议
3.端口不同,例如:a.com:80与a.com:8080
跨域的解决方法
1.document.domain + iframe(只有在主域相同的时候才能使用该方法)
2.location.hash + iframe
3.window.name + iframe
4.动态创建script
5.postMessage(HTML5中的XMLHttpRequest Level 2中的API)
6.JSONP
7.WebSocket
跨域的问题
1.为什么要跨域,跨域的原因是数据哪里传输受阻?
过程:客户端A首先向服务器发送请求,请求客户端B的跨域数据,服务器接受请求,处理请求,将跨域的数据返回给客户端A。但是在A浏览器解析数据时,由于A不认客户端B的数据,于是浏览器拒绝解析,故产生跨域问题。
2.JSONP解决跨域有哪些问题?
由于引用外部的资源文件没有跨域问题,比如引入外部JS或者引入外部IMG等,JSONP解决跨域的方式相当于是引入一个外部资源文件。
Jsonp是Json with Padding的缩写,就是“填充式Json”的意思。也就是说,是客户端发送一个跨域请求出去,服务端收到请求之后,将要返回的json格式的数据,填充在两端协商好的一个callback函数中,拼接成字符串返回回去。也就是说,返回的是一个匿名函数的执行,来调用callback函数。
JSONP只能采用GET方式请求数据,故客户端请求的数据是可以被看到的,所以说安全性上存在一些问题。故在使用JSONP解决跨域问题时,一般要求返回的数据是可以公开的数据,或者是一些不同用户都可以共用的接口。
总结:1)安全问题(请求代码中可能存在安全隐患)
2)要确定jsonp请求是否失败并不容易
3)只能采用GET方法
- 前端跨域简单理解
- 前端简单理解RESTful
- 前端请求跨域理解
- [前端] js prototype简单理解
- 深入理解前端跨域方法和原理
- 深入理解前端跨域方法和原理
- 【前端知识点】关于跨域的理解及解决方法
- javascript 简单的个人理解(前端技术)
- 一个web前端初学者对html的简单理解
- 前端简单处理input输入跨域攻击
- 前端模块化理解
- 前端clearfix的理解
- 前端知识点理解
- 前端 接口理解 笔记
- 前端入门理解
- 前端概念深入理解
- 一个简单实例——快速理解前端web开发的MVC模式
- UAP 前端简单总结
- Linux启动新进程的几种方法及比较
- c/c++ 获取本机的IP和Mac地址
- day18_jdbc
- 记:nginx服务器 php5.5.7升级php7过程和问题解决
- Synergy(共享鼠标键盘)
- 前端跨域简单理解
- 数据库事务的理解
- 浅谈java内存堆栈
- 如何在tableau里自定义形状
- LintCode : 合并两个排序链表
- linux 命令 小计
- [iOS蓝牙]蓝牙连接并通过特征CBCharacteristic读写数据
- Qt之界面切换(360、新浪、人人界面,多语化切换随心所欲)
- 01 简介语法点