一、什么是同源策略?
同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说 Web 是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。
所谓同源是指:域名、协议、端口相同
你都知道哪些解决跨域的方法?
1、JSONP(地址,cb:params,回调函数)方式
它是JSON的一种使用方法JSONP(JSON with Padding)是JSON的一种”使用模式”,可用于解决主流浏览器的跨域数据访问的问题。
由于同源策略,一般来说位于 server1.dddd.com 的网页无法与不是 server1.dddd.com的服务器沟通,而 HTML 的script 元素是一个例外。利用
要注意JSONP只支持GET请求,不支持POST请求。
2.通过修改document.damain来进行跨域(主域相同)
3.使用window.name来进行跨域
window.name通过在iframe(一般动态创建i)中加载跨域HTML文件来起作用。然后,HTML文件将传递给请求者的字符串内容赋值给window.name。然后,请求者可以检索window.name值作为响应。
4.使用HTML5新引进的window.postMessage方法
5.CORS跨域
6.动态创建script
7.利用location.hash 跨域 原理是利用location.hash来进行传值。
假设域名a.com下的文件cs1.html要和cnblogs.com域名下的cs2.html传递信息。
1) cs1.html首先创建自动创建一个隐藏的iframe,iframe的src指向cnblogs.com域名下的cs2.html页面
2) cs2.html响应请求后再将通过修改cs1.html的hash值来传递数据
3) 同时在cs1.html上加一个定时器,隔一段时间来判断location.hash的值有没有变化,一旦有变化则获取获 取hash值
8.web sockets
9.nginx反向代理
二 、列举JavaScript的基本数据类型和引用数据类型
基本数据类型:number string boolean null undefined
引用数据类型:object 、Array 、Function 、Data