什么是Nginx
Nginx是一个高性能的web和反向代理服务器
- 作为web服务器
- 作为负载均衡服务器
- 作为邮件代理服务
树组件的用法
跨域问题
跨域:浏览器对javastript的同源策略的限制。
以下情况都属于跨域:
- 域名不同
- 域名相同,端口不同
- 二级域名不同
如果域名和端口都相同,但请求路径不同,不属于跨域。
为什么会有跨域问题
跨域问题是浏览器对于ajax请求的一种安全限制:一个页面发起的ajax请求,只能是与当前页域名相同的路径
解决跨域问题的方案
目前比较常用的跨域问题解决方案有三中:
- jsonp
- 最早的解决方案,利用script标签可以跨域的原理实现
- 限制:
- 需要服务的支持
- 只能发起GET请求
- nginx反向代理
- 思路:利用nginx把跨域反向代理为不跨域,支持各种请求方式
- 缺点:需要在nginx进行额外配置,语义不清晰
- CORS
- 规范化的跨域请求解决方案,安全可靠
- 优势:
- 在服务端进行控制是否允许跨域,可自定义规则
- 支持各种请求方式
- 缺点:会产生额外的请求