HTTP请求方法并不是只有GET和POST,只是最常用的。据RFC2616标准(现行的HTTP/1.1)得知,通常有以下8种方法:OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE和CONNECT。

官方定义

OPTIONS方法是用于请求获得由Request-URI标识的资源在请求/响应的通信过程中可以使用的功能选项。通过这个方法,客户端可以在采取具体资源请求之前,决定对该资源采取何种必要措施,或者了解服务器的性能。

该请求方法的响应不能缓存。

如果这个OPTIONS请求包含一个正文(有Content-Length或Transfer-Encoding存在),则必须有Content-Type来指定媒体类型。虽然规范里没有定义这种正文的用法,但是HTTP将来的扩展可能会用它来查询服务器上更详细的信息。不支持该扩展的服务器可以忽略该请求正文。

如果该URI是一个星号(“*”),OPTIONS请求将试图应用于服务器,而不是某个指定资源。由于服务器的通信选项通常依赖于资源,所以此“*”请求只能作为“ping”或者“no-op”方法;或者用来测试服务器的性能。例如,用来测试HTTP/1.1代理。

如果该URI不是星号,则只能用来获取该资源通信中可用的选项。

得到的200响应应该包含一个头域,指明服务器实现的和适用于该资源的可选特征(如:Allow),可能还包括该规范尚未定义的扩展。如果有响应正文,则应包含关于通信选项的信息。本规范没有定义该正文格式,但可能在HTTO将来的扩展中定义。可以利用内容协商来选择合适的响应格式。如果没有响应正文,响应必须包含Content-Length,并且值为“0”。

请求头的Max-Forwards用来请求特定代理。当代理收到一个允许URI转发的OPTIONS请求,则检查Max-Forwards。如果Max-Forwards值为0,则不能转发该消息;相反,代理会将自己的通信选项去响应。如果Max-Forwards是正整数,代理转发请求的时候会将该值减1。如果请求中没有Max-Forwards,转发的请求也不会有。

简而言之

OPTIONS请求方法的主要用途有两个:

1、获取服务器支持的HTTP请求方法;也是黑客经常使用的方法。

2、用来检查服务器的性能。例如:AJAX进行跨域请求时的预检,需要向另外一个域名的资源发送一个HTTP OPTIONS请求头,用以判断实际发送的请求是否安全。

The DELETE Method

HTTP提供了一个与PUT方法对应的DELETE方法。一个DELETE请求将需要从Web服务器删除的内容指定为请求行中的资源部分。

DELETE方法唯一有趣的地方在于当你接收了一个标识为200 OK的响应的时候,那并不意味着指定的资源已经被删除了。那仅仅说明服务器接收到了删除资源的命令。这一例外允许了出于安全考虑的人为的干预

HTTP的请求方法OPTIONS相关推荐

  1. 网络协议从入门到底层原理(6)应用层 - 域名、DNS、DHCP、HTTP(ABNF、HTTP报文格式、请求方法、头部字段、状态码、跨域)、代理、CDN

    应用层 域名( Domain Name)- 顶级域名.二级域名 DNS - DNS服务器.常用命令 DHCP(DISCOVER.OFFER.REQUEST.ACKNOWLEDGE) HTTP HTTP ...

  2. http的请求方法 GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE 说明

    2019独角兽企业重金招聘Python工程师标准>>> 超文本传输协议(HTTP, HyperText Transfer Protocol)是一种无状态的协议,它位于OSI七层模型的 ...

  3. 记一次 CORS 跨域请求出现 OPTIONS 请求的问题及解决方法

    记一次 CORS 跨域请求出现 OPTIONS 请求的问题及解决方法 参考文章: (1)记一次 CORS 跨域请求出现 OPTIONS 请求的问题及解决方法 (2)https://www.cnblog ...

  4. SIP 请求方法(4)-CANCEL OPTIONS

    CANCEL CANCEL方法用于终止还未完成的INVITE.UA或代理都可以生成CANCEL消息,前提是收到1xx应答但没收到最终应答.UA使用这个方法来取消先前发起的,但还未建立的呼叫.代理如果有 ...

  5. HTTP请求方法之options请求

    HTTP请求方法之options请求 HTTP请求 最近在做unaipp H5网页端微信公众号登录授权时由于options请求导致code值失效问题.因此要避免服务器向后端发送options请求使用c ...

  6. HTTP请求方法:GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE 说明

    平时的Rest开发,用到的都是GET,POST,PUT,DELETE类型的请求.但Rest支持的请求类型不止前面4种,还有其他几种. 超文本传输协议(HTTP, HyperText Transfer ...

  7. HTTP1.1新增了五种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 、 CONNECT

    200 (成功) 服务器已成功处理了请求. 通常,这表示服务器提供了请求的网页. 201 (已创建) 请求成功并且服务器创建了新的资源. 202 (已接受) 服务器已接受请求,但尚未处理. 203 ( ...

  8. HTTP简介、请求方法与响应状态码

    点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! Https相关的文章,请看这一篇:TCP.IP协议族之数字签名与HTTPS详解 接下来想系统的回顾 ...

  9. Postman接口测试之POST、GET请求方法

    一.基础知识 1.HTTP的五种请求方法:GET, POST ,HEAD,OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法. GET请求:请求指定的页面信息,并返回实体 ...

  10. TCP/IP协议族(一) HTTP简介、请求方法与响应状态码

    接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的.接下来的几篇博客都是关于TCP/IP协议族的,本篇博客就先简单 ...

最新文章

  1. P2642 双子序列最大和(线性DP)(最大子段和 + 合唱队列)
  2. 获取ip地址解析归属地
  3. python装饰器作用-Python 装饰器的作用
  4. 接口性能测试实战小结
  5. 多方法接口回调_啊?Java反射遇到接口
  6. 每天中一次500万彩票,谷歌CEO 2019薪酬曝光,总计2.81亿美元
  7. linux es连接mysql_Linux下ES,kibana,mysql,kafka,zookeeper启动关闭方式
  8. [Leetcode 15]三数之和 3 Sum
  9. mybatis文件中SQL总结
  10. 黑客攻防技术宝典web实战篇:利用信息泄露习题
  11. python自学行吗-Python能自学吗?
  12. 游戏玩家的图形显示设置指南(11)(The Gamer's Graphics Display Settings Guide)
  13. 整蛊小学妹,督促学习的html代码
  14. 成都信息工程大学校友小程序设计方案
  15. 好书推荐之《不能承受的生命之轻》 隐私策略(Privacy policy)
  16. 游戏统计中一些常用的专业 术语和计算公式
  17. 树莓派开机连接桌面的两种方式
  18. NGUI:HUD Text
  19. visualhunt - 免注册直接下载优质免费商用图片的好用网站
  20. W801单片机学习笔记——SDK的启动流程,例程使用

热门文章

  1. 简单好用微服务套件AnnoViper DashBoard全新版来啦
  2. 解读丨修身齐家治国平天下
  3. 光通量发光强度照度亮度关系_光强?光通量?光照度?光亮度?一次性帮你理清楚!...
  4. 服务器限制网页只能跳转过来,限制网页只能在微信打开
  5. 人工智能 python 考证_写人作文
  6. python 全栈开发是什么意思_我为什么说Python是全栈式开发语言?
  7. 编译安装httpd服务
  8. VS2010的Ribbon怎样调用透明背景的图标
  9. MySQL INTERVAL 关键字指南
  10. c++中调用c编写的动态链接库出现undefined reference to `xxx‘的解决方法