美文网首页程序员
HTTP协议-Options方法

HTTP协议-Options方法

作者: oNexiaoyao | 来源:发表于2018-07-03 16:17 被阅读17次

    常见的web请求中使用到的http请求方法:get、post、put、delete

    发生的场景:

    公司新项目实现前后端分离后,某天调试页面一个数据请求接口,一直报403的错误。用fiddler抓包分析,发现该接口竟然是Options请求(请求方法中使用的是get谓词),却没有真正的发送期待中的get请求。 Options是什么鬼?之前开发一直没有遇到过。。后来问了下同事,说是这是由于跨域请求引起的。。

    查找资料获得:

    HTTP权威指南对Options方法的解释:

    OPTIONS方法请求web服务器告知其支持的各种功能。可以询问服务器通常支持哪些方法,或者对某些特殊资源支持哪些方法。(有些服务器可能只支持对一些特殊类型的对象使用特定的操作)

    W3C规范中,跨域请求分为简单请求和复杂请求。简单请求不需要发送Options嗅探请求,但是只能发送简单的get/head/post请求,且不能自定义http的headers。复杂请求包含preflighted请求preflighted认证请求。复杂请求在发送真正的请求前会提前发送一次Options请求(嗅探、预检请求),XHR会根据返回的Access-Control-*等头信息判断是否有对指定站点的访问权限,检查该请求是否是可靠安全的。如果options获得的回应是拒绝性质的(或者没有权限),会停止发送实际请求信息。

    处理方法:

    一般来说这个是后台需要处理的,开放所有的或者预料中的请求方法权限。

    相关文章

      网友评论

        本文标题:HTTP协议-Options方法

        本文链接:https://www.haomeiwen.com/subject/onhjuftx.html