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

HTTP跨域请求时为什么要发送options请求

跨域请求

  • 浏览器同源策略
  • 同源策略一般限制Ajax网络请求,不能跨域请求server
  • 不会限制<link> <img> <script> <iframe> 加载第三方资源

JSONP实现跨域

<!-- aa.com网页 -->
<script>
  window.onSuccess = function(data) {
    console.log(data)
  }
</script>
<script src="https://bb.com/api/getData"></script>

// server端https://bb.com/api/getData
onSuccess({ "name":"test", "age":12, "city":"shenzhen" });

cors

response.setHeader('Access-Control-Allow-Origin', 'https://aa.com') // 或者*
response.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS') // 允许的请求方法
response.setHeader('Access-Control-Allow-Headers', 'X-Requested-With') // 允许的请求头
response.setHeader('Access-Control-Allow-Credentials', 'true')// 允许跨域携带cookie

多余的options请求

  • options是跨域请求之前的预检查
  • 浏览器自行发起的,无需我们干预
  • 不会影响实际的功能

http://www.kler.cn/news/307133.html

相关文章:

  • 【LLMs对抗性提示:提示泄漏、非法行为、DAN、Waluigi效应、 游戏模拟器、防御策略————】
  • JSON教程
  • 聪明办法学 Python 第二版.1.学习安排
  • vue3项目实现全局国际化
  • 深入理解C++中的std::string::substr成员函数:子串操作的艺术
  • 增强LinkedList实现瑞士轮赛制编排
  • C++课程笔记 类和对象
  • Android JobScheduler介绍
  • 介绍一些免费 的 html 5模版网站 和配色 网站
  • Spring的核心思想
  • Linux常用命令以及操作技巧
  • 数据库之索引<保姆级文章>
  • 纯血鸿蒙NEXT常用的几个官方网站
  • 你天天用微服务还不知道心跳检测机制是什么?
  • Redis的配置与优化
  • spring模块(六)spring event事件(3)广播与异步问题
  • 鸿蒙OS 资源文件
  • 七、结合Landsat、夜光数据建成区提取——K均值聚类和监督分类提取精确的建成区边界
  • AI为云游戏带来的革新及解决方案:深度技术剖析与未来展望
  • windows下自启springboot项目(jar+nginx)
  • 安卓网址自动添加%,显示网页异常
  • IAPP发布《2024年人工智能治理实践报告》
  • 【Leetcode:1184. 公交站间的距离 + 模拟】
  • 【2025】基于python的网上商城比价系统、智能商城比价系统、电商比价系统、智能商城比价系统(源码+文档+解答)
  • Ready Go
  • 本地部署大语言模型
  • 6. Fabric 拖拽元素到画布
  • 聊聊OceanBase合并和转储
  • 2024.9最新:CUDA安装,pytorch库安装
  • 大数据之Spark(二)