美文网首页
五一前端专题一-跨域

五一前端专题一-跨域

作者: TinkleJane | 来源:发表于2020-05-02 01:06 被阅读0次

今年五一放假5天,准备每天学习一个主题内容,输出一篇前端学习复盘文章,对于这样的复盘文章我一直想做,但是大多数情况都败下阵来,以为自己不擅长把一个概念讲清楚,于是怕做复盘,但是不擅长把一个东西讲清楚,其实是没有真正理解有关概念和相关知识,还因为练习不够,也因此复盘就更加重要。
前段时间进行了两次面试,被问到好多问题,工作中几乎都遇到过,而且我也确确实实的解决了,但是我不注意总结,愚熊掰玉米 ,掰一个丢一个,满地狼籍却食不果腹。面试的结果可想而知。还想在技术水平上磨练,所以一定要逼着自己开始做这样一件事。
今天是第一天,不幸的是已经过了十二点,其实11点我就困的不行倒在床上睡着了,妈妈叫我洗脚,,这样我又坐在电脑前,,加油!

跨域是什么现象?

前端访问不同部署位置的服务器资源,浏览器报错的现象,一般是如下的错误提示


跨域请求浏览器报错

跨域的原因

浏览器的安全策略:同源策略(SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。)

所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。

同源策略是浏览器的行为

为了保护本地数据不被JavaScript代码获取回来的数据污染,因此拦截的是客户端发出的请求回来的数据接收,即请求发送了,服务器响应了,但是无法被浏览器接收。
实际中的现象是,服务器的确返回了数据,但是浏览器报错,数据不能正常显示。

同源策略限制以下几种行为:
1.) Cookie、LocalStorage 和 IndexDB 无法读取
2.) DOM 和 Js对象无法获得
3.) AJAX 请求不能发送

跨域解决方案

1、 通过jsonp跨域;
利用了 标签(<script>)加载资源 不受同源策略的限制
缺点:只能 get 方式,易受到 XSS攻击
2、 document.domain + iframe跨域
相同主域名下的不同子域名资源,设置 document.domain 为 相同的一级域名
缺点:同一一级域名;相同协议;相同端口
3、 location.hash + iframe
4、 window.name + iframe跨域
5、 postMessage跨域
解决两个页面直接的通信
6、 跨域资源共享(CORS)
后端跨域方案
服务端设置Access-Control-Allow-Origin即可,前端无须设置,若要带cookie请求:前后端都需要设置。
7、 nginx代理跨域
前端向发送请求,经过代理,请求需要的服务器资源
缺点:需要额外的代理服务器
8、 nodejs中间件代理跨域
参考
前端常见跨域解决方案(全)
[什么是跨域?如何实现(详解)](https://zhuanlan.zhihu.com/p/124919549
推荐学习
2小时快速掌握前端9种跨域解决方案

相关文章

  • 五一前端专题一-跨域

    今年五一放假5天,准备每天学习一个主题内容,输出一篇前端学习复盘文章,对于这样的复盘文章我一直想做,但是大多数情况...

  • 关于设置env等环境变量的思考

    1、如何处理跨域后台处理跨域前端处理跨域浏览器处理跨域 前端本地处理跨域:代理线上跨域的处理方式:Nginx反向代...

  • 跨域解决方案(史上最易懂)

    跨域总结 1.跨域思路 跨域解决方案一般分为两种:前端解决,后端解决 1.1 前端解决方案 通过前端解决的思想就是...

  • 浏览器跨域的那些事

    整理中 目标: 了解跨域 解决跨域 服务器配置跨域(java, nginx) 前端调试时配置解决跨域 一、什么是跨...

  • 前端跨域

    CORS跨域 1.CORS跨域-服务端设置,前端直接调用说明:后台允许前端某个站点进行访问 2.JSONP跨域-前...

  • vue-cli proxyTable配置

    前端的跨域转发 后端不需要配置,前端就可以实现跨域 proxyTable 的通常配置 这样就可以实现基本的跨域转发...

  • 跨域实战解决方案

    一.跨域方案 1.JSONP跨域 (1)前端发起jQuery ajax 的get请求 $.getJSON...

  • django跨域配置

    前言——跨域请求 前端对Cross-Origin Resource Sharing 问题(CORS,中文又称'跨域...

  • Javascript跨域整理

    在前端的JS请求中,跨域的问题经常存在,根据不同的实现原理,常见的跨域的方法如下: 一:前端的方式 1:在前端页面...

  • 前端常见跨域解决方案(全)

    前端常见跨域解决方案(全) 什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的...

网友评论

      本文标题:五一前端专题一-跨域

      本文链接:https://www.haomeiwen.com/subject/lcchghtx.html