通过options探测服务器信息,OPTIONS 方法在跨域请求(CORS)中的应用
OPTIONS 方法比较少见,该方法用于请求服务器告知其支持哪些其他的功能和方法。通过 OPTIONS 方法,可以询问服务器具体支持哪些方法,或者服务器会使用什么样的方法来处理一些特殊资源。可以说这是一个探测性的方法,客户端通过该方法可以在不访问服务器上实际资源的情况下就知道处理该资源的最优方式。
既然比较少见,什么情况下会使用这个方法呢?
采用Ajax跨域调用接口的时候,浏览器会自动发起一个 OPTIONS 方法到服务器。
自动发起的 OPTIONS 请求,其请求头包含了的一些关键性字段:
OPTIONS /upload HTTP/1.1
Access-Control-Request-Method: POST
Access-Control-Request-Headers: accept, content-type
Origin: http://xxx.com
服务器收到预检请求后,检查了Origin、Access-Control-Request-Method和Access-Control-Request-Headers字段以后,确认允许跨源请求,就可以做出回应。
options
OPTIONS /api/User/Register HTTP/1.1
Host: 12.11.10.206:5005
Access-Control-Request-Method: POST
Access-Control-Request-Headers: accept, content-type
Origin: http://localhost
User-Agent: PostmanRuntime/7.18.0
Accept: */*
Cache-Control: no-cache
Postman-Token: 34e5eb85-3c07-48b8-bea8-60477a63047d,0259f642-9d54-4674-8a2a-e063c0482fdc
Host: 114.116.100.206:5005
Accept-Encoding: gzip, deflate
Content-Length: 0
Connection: keep-alive
cache-control: no-cache
上面的HTTP回应中,关键的是Access-Control-Allow-Origin字段,表示orgin 可以请求数据。该字段也可以设为星号,表示同意任意跨源请求。
通过options探测服务器信息,OPTIONS 方法在跨域请求(CORS)中的应用相关推荐
- ajax获得header信息,关于jquery ajax跨域请求获取response headers问题
背景:最近项目jwt用户认证方式,关于jwt本人就不再赘述,大家可自行百度. jwt token基本流程是这样的: 用户使用用户名密码来请求服务器 服务器进行验证用户的信息 服务器通过验证发送给用户一 ...
- 通过options探测服务器信息,WEB服务器启用了OPTIONS方法
漏洞描述 攻击者可利用options方法获取服务器的信息,进而准备进一步攻击. 解决方案: 修改配置文件禁用options方法: windows2008.windows2012,请在wwwroot目录 ...
- 跨域请求避免OPTIONS请求(预检请求)
有时候前后端分离域名不一致,会造成跨域请求 而跨域请求有时候会自动发起两次请求,第一次为预检请求,即OPTIONS请求 一般来说使用 application/json 的 post 请求是必然会带入O ...
- corspost请求失败_记一次 CORS 跨域请求出现 OPTIONS 请求的问题及解决方法
今天前后端在联调接口的时候,发生了跨域请求资源获取不到的问题. 首先说明下跨域问题的由来.引自HTTP 访问控制 的一段话: 当 Web 资源请求由其它域名或端口提供的资源时,会发起跨域 HTTP 请 ...
- 记一次 CORS 跨域请求出现 OPTIONS 请求的问题及解决方法
记一次 CORS 跨域请求出现 OPTIONS 请求的问题及解决方法 参考文章: (1)记一次 CORS 跨域请求出现 OPTIONS 请求的问题及解决方法 (2)https://www.cnblog ...
- corspost请求失败_vue项目CORS跨域请求500错误,post请求变options请求
vue项目CORS跨域请求500,post请求变options请求,到底是什么情况. 提示:以下内容是一个非专业开发的我对跨域的理解,并不10分准确. 一.先介绍为什么明明发送的是Post请求,为什么 ...
- Ajax跨域请求action方法,无法传递及接收cookie信息(应用于系统登录认证及退出)解决方案
Ajax跨域请求action方法,无法传递及接收cookie信息(应用于系统登录认证及退出)解决方案 参考文章: (1)Ajax跨域请求action方法,无法传递及接收cookie信息(应用于系统登录 ...
- 本地主机作服务器解决AJAX跨域请求访问数据的方法
本地主机作服务器解决AJAX跨域请求访问数据的方法 参考文章: (1)本地主机作服务器解决AJAX跨域请求访问数据的方法 (2)https://www.cnblogs.com/QiScript/p/5 ...
- node服务器放vue项目,本地Vue项目跨域请求本地Node.js服务器的配置方法
前言:跨域请求是在本地开发时经常遇到的需求,也很简单,只是几句代码配置一下的问题.我初次配置跨域请求时由于官方的说明太简洁,找到的教程又落伍,调试了一番并没有解决问题,到最后解决问题,已花费了很多时间 ...
最新文章
- mac下 VisualBox 虚拟机转移到活动硬盘,出现 UUID 错误
- 微信小程序:页面跳转时传递数据到另一个页面
- 从 Dagger 到 Hilt,谷歌为何执着于让我们用依赖注入?
- 常用libcurl功能编程实例
- linux2.4.18内核定时器的使用
- linux源代码存放在哪个目录_入门Linux,从了解Linux文件系统的目录结构开始
- NNIE-lite 为算法工程师而生
- 《网络工程师软考辅导——3年真题详解与全真模拟》主要创新点、关注点
- JavaScript 进阶技能,中高级前端必备
- opencv实现摄像头的实时人脸识别
- 冯.诺依曼计算机结构要点
- canvas实现电子签名
- Win11图标变成白色文件如何解决?
- 用计算机表达爱意,“我爱你”用古语表达,句句蕴含爱意,网友:真是表白“利器”...
- 【Python 每日一技】根据序列中每个元素共同的数据域进行分组迭代
- Android Google Maps V2之动态Polyline
- 计算机协会ppt介绍,计算机协会成功举办ppt大赛
- Presto 在 Pinterest 的实践
- QQ API设计说明书
- 最新的IPC-TM-650 测试设备供应商清单(IPC官方推荐)