分享一下跨域,不仅是因为现在的工作中遇到的越来越多,而且在面试中也经常被问到. 那么什么是跨域呢,我们来看官方给出的解释:浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的(所谓同源是指,域名,协议,端口均相同,只要有一个不相同即为跨域),是浏览器对javascript施加的安全限制.这里不做重点介绍,网上有很多这方面的介绍,本篇主要详解jsonp的底层实现原理. 虽然,浏览器在这方面做了限制,但是我们可以通过script标签,巧妙的避开同源策略,“偷梁换柱”,我们来看一段代码 <scr…
一.通过jsonp跨域 在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的.但是,在页面上引入不同域上的js脚本文件却是可以的,jsonp正是利用这个特性来实现的. 比如,有个a.html页面,它里面的代码需要利用ajax获取一个不同域上的json数据,假设这个json数据地址是https://api.douban.com/v2/book/search?q=javascript&count=1(豆瓣) 那么a.html中的代码就可以这样: <!DOCTYPE h…
URL  说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不同文件夹 允许 http://www.a.com:8000/a.js http://www.a.com/b.js 同一域名,不同端口 不允许 http://www.a.com/a.js https://www.a.com/b.js 同一域名,…
一.Ajax简介 ajax = 异步 JavaScript 和 XML. ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术.我们知道,传统的网页(不使用ajax)如果需要更新内容,必须重新加载整个网页.Ajax的出现,使得使网可以实现异步更新,这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 注意:ajax本身不支持跨域请求,需要在服务器端处理. 二.Ajax工作原理 ajax技术核心是XMLHttpRequest对象 ajax的请求过程: 1)创建XMLH…
使用场景:本地运行一个项目,但是要访问外域的api接口,存在跨域问题,解决方式有很多,但我尝试用nginx解决,搜索了网上文章后再加上尝试终于成功, 其中一些注意事项和大家分享一下. 一.window下使用nginx 重点:掌握重启和关闭nginx的命令 1.安装: 在官网上选择适合的版本,我选的是window版本的: http://nginx.org/en/download.html,下载安装文件后解压,可以看到这样子: (不用双击nginx.exe) 配置文件路径: conf / nginx…
4.AJAX 同源政策规定,AJAX请求只能发给同源的网址,否则就报错. 除了架设服务器代理(浏览器请求同源服务器,再由后者请求外部服务),有三种方法规避这个限制. JSONP WebSocket CORS 1.JSONP是服务器与客户端跨源通信的常用方法.最大特点就是简单适用,老式浏览器全部支持,服务器改造非常小. 它的基本思想是,网页通过添加一个<script>元素,向服务器请求JSON数据,这种做法不受同源政策限制:服务器收到请求后,将数据放在一个指定名字的回调函数里传回来. 首先,网页…
跨域概念:Cross-origin resource sharing…
同源策略 所谓的同源策略,指的是浏览器对不同源的脚本或者文本访问方式进行的限制. 所谓同源,就是指两个页面具有相同的协议,主机(也常说域名),端口,三个要素缺一不可. 同源政策的目的,是为了保证用户信息的安全,防止恶意的网站窃取数据. 如果一个用户在登陆一个网站之后又去访问其他网站,如果其他网站可以读取上一个网站的cookie,就会导致个人信息泄露. 限制范围 随着互联网的发展,"同源政策"越来越严格.目前,如果非同源,共有三种行为受到限制: 1.cookie.localstorage…
1.什么是跨域资源请求? https://www.cnblogs.com/niuli1987/p/10252214.html 同源: 如果两个页面的协议,端口(如果有指定)和域名都相同,则两个页面具有相同的源. 1.1 同源策略 :  浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源.用于隔离潜在恶意文件的重要安全机制. 同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互. 使用js脚本读写非同源的资源会被拒绝的(跨域资源的引入是可以的,使用…
本文是面试汇总分支——知道什么是同源策略吗?那怎么解决跨域问题?知道 JSONP 原理吗?. 同源策略 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响. 可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现. 同源策略,它是由Netscape提出的一个著名的安全策略.现在所有支持JavaScript 的浏览器都会使用这个策略.所谓同源是指,域名,协议,端口相同. 当一个浏览…