同源策略
协议/域名/端口任意一个不一样
- Cookie、LocalStorage和IndexDB无法读取
- DOM无法获得
- AJAX请求不能发送
跨域产生原因
前端请求和后端的协议/域名/端口任意一个不一样,响应被浏览器拦截
跨域方法
1.jsonp
- 后端发送方法名和参数
- 前端写个方法调用参数的,接受响应后自动执行
- 优点:兼容性好,大部分主流浏览器都能用
- 缺点:容易注入恶意代码,而且只支持get
2.cors - 后端响应头加cors
- 前端加个允许加cookie的代码
- 优点:使用简单,只需要在后端做配置,支持所有http请求
- 缺点:兼容性不好,不支持ie8以下的
3.nginx反向代理 - 前后端都通过一个代理服务取得
- 优点:可以实现负载均衡,安全性高
- 缺点:每次代理都有两次连接请求,服务器压力大