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

前端-同源与跨域

一、同源策略

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

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

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.lryc.cn/news/483582.html

相关文章:

  • MySQL远程连接错误解决:Host is not allowed to connect to this MySQL server
  • 详解C语言字符和字符串的输入与输出
  • adworld - stack2
  • Python学习从0到1 day28 Python 高阶技巧 ⑤ 多线程
  • nuget 管理全局包、缓存和临时文件夹
  • linux物理内存管理:node,zone,page
  • uniapp 设置安全区域
  • 渐进式JavaScript框架Vue 3 入门
  • 【真题笔记】21年系统架构设计师案例理论点总结
  • PostgreSQL的奥秘:深入探究事务与锁的秘密世界
  • Python进行GRPC和Dubbo协议的高级测试
  • 全程云OA系统QCPES.asmx存在SQL注入漏洞
  • 从建立TRUST到实现FAIR:可持续海洋经济的数据管理
  • 基于SSM的“汽车销售分析与管理系统”的设计与实现(源码+数据库+文档+PPT)
  • vs2015QT项目添加多语言翻译总结
  • 替换OpenTSDB和HBase,宝武集团使用IoTDB助力钢铁设备智能运维
  • MathGPT的原理介绍,在中小学数学教学的应用场景,以及代码样例实现
  • 前端框架大比拼:React.js, Vue.js 及 Angular 的优势与适用场景探讨
  • MySQL45讲 第二十讲 幻读是什么,幻读有什么问题?
  • MySQL技巧之跨服务器数据查询:进阶篇-从A数据库复制到B数据库的表中
  • 【论文阅读】利用SEM二维图像表征黏土矿物三维结构
  • 可靠UDP协议(KCP)使用说明
  • ffmpeg+D3D实现的MFC音视频播放器,支持录像、截图、音视频播放、码流信息显示等功能
  • 【Flink】-- flink新版本发布:v2.0-preview1
  • Node.js 版本管理的最终答案 Volta
  • 蓝桥杯每日真题 - 第11天
  • Vue vs React:两大前端框架的区别解析
  • 【树莓派raspberrypi烧录Ubuntu远程桌面登入树莓派】
  • c# 调用c++ 的dll 出现找不到函数入口点
  • LInux——环境基础开发工具使用(正在更新中...)