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

前端-同源与跨域

一、同源策略

两个网站协议名、域名、端口号有一个不同就是非同源,就是跨域。跨域问题就是浏览器的同源策略造成的。

同源是指协议名、域名、端口号 必须完全一致!

http 默认端口号是80,https 默认端口号是443

同源策略的限制

一般来说,同源策略是指对 javascript 脚本的限制,

  1. js 脚本不能跨域访问 cookie、localstorage、indexDB
  2. js 脚本不能跨域操作 dom
  3. 不能跨域发送 ajax 请求

二、跨域问题解决方案

1.JSONP跨域

jsonp的原理就是利用<script>标签没有跨域限制,通过<script>标签src属性,发送带有callback参数的GET请求,服务端将接口返回数据拼凑到callback函数中,返回给浏览器,浏览器解析执行,从而前端拿到callback函数返回的数据。

 jsonp的缺点:只能发送get一种请求。

2.接口代理

  • 通过修改nginx服务器配置实现代理转发
  • 前端修改,后端不用

   前端请求 a 地址,设置nginx服务,将 a 地址代理到 b 地址。

3.cors技术

CORS :全称cross origin resource share (资源共享)

工作原理: 服务器 在返回响应报文的时候,在响应头中 设置一个允许的header

res.setHeader(‘Access-Control-Allow-Origin’, ‘*’)

CORS :全称cross origin resource share (资源共享)


http://www.kler.cn/a/392625.html

相关文章:

  • Vue 3 介绍及应用
  • 时间管理的三个痛点
  • 【C#设计模式(8)——过滤器模式(Adapter Pattern)】
  • 灰狼优化算法
  • Linux 进程线程间通信总结
  • IEC60870-5-104 协议源码架构详细分析
  • 【解决】Layout 下创建槽位后,执行 Image 同步槽位位置后表现错误的问题。
  • 为什么RNN(循环神经网络)存在梯度消失和梯度爆炸?
  • 自动驾驶系列—自动驾驶车辆的姿态与定位:IMU数据在复杂环境中的关键作用
  • Python PyQt5 实现 .his 文件批量转 Excel 工具
  • 代码版本管理艺术
  • 【Python TensorFlow】进阶指南(续篇一)
  • SpringCloud学习笔记
  • LeetCode【0021】合并两个有序链表
  • HBuilder(uniapp) 配置android模拟器
  • php回调函数(匿名)的使用
  • IC 脚本之VIM 记录
  • 构建高效在线商店:Spring Boot框架应用
  • three.js 杂记
  • mysql 常用命令(二)
  • ROS1 Noetic编程环境搭建和练习
  • aws-athena查询语句总结
  • 视频播放相关的杂记
  • ChromeDriver 官方下载地址_测试自动化浏览器驱动
  • FreeRTOS源码(二) 任务调度
  • 数据湖与数据仓库的区别