Node跨域cors模块 NodeJS+Express跨域 | 青训营笔记

237 阅读1分钟

Node跨域cors模块青训营笔记\color{pink}Node跨域cors模块 | 青训营笔记

这是我参与「第四届青训营」笔记创作活动的第7\color{pink}这是我参与「第四届青训营」笔记创作活动的第7天
❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀\color{deeppink}❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀

什么是CORS\color{pink}什么是CORS

CORS(Cross-origin resource sharing),跨域资源共享,是一份浏览器技术的规范,用来避开浏览器的同源策略

解决跨域问题的方法,除本文提供的方法外还有jsonp方法\colorbox{coral}{解决跨域问题的方法,除本文提供的方法外还有jsonp方法}

同源策略是什么?\color{pink}同源策略是什么?

同源策略是一种约定,它是浏览器最核心也最基本的安全功能 如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。 可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。 它是一个安全策略。所有支持JavaScript的浏览器都会使用这个策略

满足同源的三个条件: 所谓同源是指,域名、协议、端口相同。

为什么要同源限制?\color{pink}为什么要同源限制?

同源策略存在的意义: 非同源下的 cookie 等隐私数据可以被随意获取 非同源下的 DOM 可以的随意操作 ajax 可以任意请求的话,用户的各种隐私肯定会泄露,对用户造成不同程度的损失

同源策略的限制范围?\color{pink}同源策略的限制范围?

不能获取不同源的 cookie,LocalStorage 和 indexDB 不能获取不同源的 DOM() 不能发送不同源的 ajax 请求 (可以向不同源的服务器发起请求,但是返回的数据会被浏览器拦截)

安装cors模块\color{pink}安装cors模块

使用express写的接口,只能在内部使用,如果想要外部的服务访问,就涉及到了跨域。但是又不想用jsonp,其实有一个node模块,可以轻松实现跨域

npm install cors --save

使用cors模块\color{pink}使用cors模块

然后在app.js文件中

//引入跨域模块
var cors = require('cors'); 
 
//注册跨域模块
app.use(cors());