HTTP 报文 之 HTTP 方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP 报文 之 HTTP 方法相关的知识,希望对你有一定的参考价值。

注意,并不是每个服务器都实现了所有的方法。如果一台服务器要与 HTTP 1.1 兼容,那么只要为其资源实现 GET 方法和 HEAD 方法就可以了。


GET

GET 是最常见的方法。通常用于请求服务器发送某个资源。HTTP/1.1 要求服务器实现此方法。


HEAD

HEAD 方法与 GET 方法的行为很类似,但服务器在响应中只返回首部。不会返回实体的主体部分。这就允许客户端在未获取实际资源的情况下,对资源的首部进行检查。

  • 在不获取资源的情况下了解资源的情况(比如,判断其类型);

  • 通过查看响应中的代码,看看某个对象是否存在;

  • 通过查看首部,测试资源是否被修改了。


PUT 

与 GET 从服务器读取文档相反,PUT 方法会向服务器写入文档。有些发布系统允许用户创建 Web 页面,并用 PUT 直接将其安装到 Web 服务器上去。

PUT 方法的语义就是让服务器用主体部分来创建一个由所请求的 URL 命名的文档,或者,如果那个 URL 已经存在的话,就用这个主体来替代它。


POST

POST 方法起初是用来向服务器输入数据的。实际上,通常用它来支持 html 的表单。表单中填好的数据通常会被送给服务器,然后由服务器将其发送到它要去的地方(比如,送到一个服务器网关程序中,然后由这个程序对其进行处理)。


TRACE

客户端发起一个请求时,这个请求可能要穿过防火墙、代理、网关或其他一些应用程序。每个中间节点都可能会修改原始的 HTTP 请求。TRACE 方法允许客户端在最终将请求发送给服务器时,看看它变成了什么样子。

技术分享

TRACE 方法主要用于诊断;也就是说,用于验证请求是否如愿穿过了请求 / 响应链。它也是一种很好的工具,可以用来查看代理和其他应用程序对用户请求所产生效果。

TRACE 请求中不能带有实体的主体部分。TRACE 响应的实体主体部分包含了响应服务器收到的请求的精确副本。


OPTIONS 

OPTIONS 方法请求 Web 服务器告知其支持的各种功能。可以询问服务器通常支持哪些方法,或者对某些特殊资源支持哪些方法。


DELETE

顾名思义,DELETE 方法所做的事情就是请服务器删除请求 URL 所指定的资源,但是客户端应用程序无法保证删除操作一定会被执行。因为 HTTP 规范允许服务器在不通知客户端的情况下撤销请求。


扩展方法

HTTP 被设计成字段可扩展的,这样新的特性就不会使老的软件失效了。扩展方法指的就是没有在 HTTP/1.1 规范中定义的方法。服务器会为它所管理的资源实现一些 HTTP 服务,这些方法为开发者提供了一种扩展这些 HTTP 服务能力的手段。 下表列出了一些厂家的扩展方法实例。这些方法就是 WebDAV HTTP 扩展包含的所有方法,这些方法有助于通过 HTTP 将 Web 内容发布到 Web 服务器上去。

方法描述
LOCK允许用户“锁定”资源——比如,可以在编辑某个资源的时候将其锁定,以防止别人同时对其进行修改
MKCOL允许用户创建资源
COPY便于在服务器上复制资源
MOVE在服务器上移动资源

并不是所有的扩展方法都是在正是规范中定义的,认识到这一点很重要。如果可能被破坏端到端行为则应以 501 Not Implemented(无法实现)状态吗进行响应


本文出自 “Professor哥” 博客,转载请与作者联系!

以上是关于HTTP 报文 之 HTTP 方法的主要内容,如果未能解决你的问题,请参考以下文章

测试开发面试准备之HTTP协议-Http常用请求方法

Go语言之进阶篇响应报文测试方法

前端必备HTTP技能之请求头响应头格式以及请求方法简述

前端学HTTP之报文首部

前端学HTTP之报文首部

HTTP 报文 之 HTTP 首部