当前位置: 首页 > news >正文

Vue2面试题:说一下对跨域的理解?

    http请求分为两大类:普通http请求(如百度请求)和ajax请求(跨域是出现在ajax请求)

    同源策略:在浏览器发起ajax请求时,当前的网址和被请求的网址协议、域名、端口号必须完全一致,目的是为了防止跨站脚本攻击。

    跨域是浏览器的同源策略导致的,而服务器之间不受同源策略影响!!!

前端本地开发存在跨域,但前端部署到服务器上就不存在跨域了!!!

    解决方式:

        1、CORS跨域资源共享

        在配置类中,添加一个CORS的过滤器,在响应头上添加允许访问的请求源 addAllowedOrigin("*")

        2、Jsonp

        利用srcipt标签的src属性来实现,前端声明好一个函数,后端返回执行函数,执行函数参数中携带所需的数据。

        可以使用jquery的ajax快速实现Jsonp。

        使用jsonp只能解决get请求的跨域,因为script标签中的src请求就是get请求。

        3、vue脚手架正向代理

        跨域解决:vue脚手架自动在本地开启一个基于node的代理服务器,IP和端口号与本地浏览器相同

        浏览器【http://localhost:8080】 -> 本地代理服务器【http://localhost:8080】 -> 目标服务器【http://47.94.222.12:8080】

        4、Nginx反向代理

        跨域解决:location配置中,在响应头上添加允许访问的请求源 Access-Control-Allow-Origin:*

        浏览器【http://localhost:8080】 - Nginx代理服务器【添加放行请求源】 - 目标服务器【http://192.168.0.120:8080】

http://www.lryc.cn/news/263871.html

相关文章:

  • Axure中如何使用交互样式交互事件交互动作情形
  • 1112. 迷宫(DFS之连通性模型)
  • 飞天使-k8s知识点1-kubernetes架构简述
  • linux中deadline调度原理与代码注释
  • jquery、vue、uni-app、小程序的页面传参方式
  • ModuleNotFoundError: No module named ‘openai.error‘
  • 理解pom.xml中的parent标签
  • element ui el-avatar 源码解析零基础逐行解析
  • Linux下c语言实现动态库的动态调用
  • 为什么MCU在ADC采样时IO口有毛刺?
  • C# 将 Word 转化分享为电子期刊
  • 网络世界的黑暗角落:常见漏洞攻防大揭秘
  • 通信领域发展方向
  • 21 3GPP中 5G NR高速列车通信标准化
  • 【网络安全】-Linux操作系统—CentOS安装、配置
  • CCNP课程实验-OSPF-CFG
  • 【Spring Security】打造安全无忧的Web应用--入门篇
  • 【每日一题】【12.20】2828.判别首字母缩略词
  • LabVIEW开发振动数据分析系统
  • 去掉乘法运算的加法移位神经网络架构
  • 【TB作品】51单片机,具有报时报温功能的电子钟
  • 了解C++工作机制
  • 力扣题目学习笔记(OC + Swift) 14. 最长公共前缀
  • WinSW设置应用程序开机启动
  • Leetcode—96.不同的二叉搜索树【中等】
  • 正则表达式零宽断言
  • uni-app学习记录
  • API资源对象StorageClass;Ceph存储;搭建Ceph集群;k8s使用ceph
  • Databend 开源周报第 124 期
  • Arduino开发实例-液体流量测量