请求报文:
响应报文:
请求行
Method + Path + HTTP 版本
状态行
HTTP 版本 + 状态码 + 状态信息
Http Method
GET
POST
PUT
DELETE
HEAD
HEAD 方法要求与 GET 请求相同的响应,但没有响应主体。这对于检索响应标头中写入的元信息很有用,而不必传输整个内容。
TRACE
回显服务器收到的请求,主要用于测试或诊断。
OPTIONS
这个方法可使服务器传回该资源所支持的所有 HTTP 请求方法。用 * 来代替资源名称,向 Web 服务器发送 OPTIONS 请求,可以测试服务器功能是否正常运作。
CONNECT
用于代理场景,举个例子,使用代理服务器发送 HTTPS 请求:
浏览器先通过明文 HTTP 形式向代理服务器发送一个 CONNECT 请求告诉它目标站点地址及端口号。当代理服务器收到这个请求后,会在对应的端口上与目标站点建立一个 TCP 连接,连接建立成功后返回一个 HTTP 200 状态码告诉浏览器与该站点的加密通道已建成。接下来代理服务器仅仅是来回传输浏览器与该服务器之间的加密数据包,代理服务器并不需要解析这些内容以保证 HTTPS 的安全性。
PATCH
对 PUT 的补充,对已知资源进行局部更新。
首部
HTTP 的首部包括通用头、请求头、响应头和实体头四个部分。每个头域由一个 key,冒号(:)和 valuue 三部分组成。
通用首部:是客户端和服务器都可以使用的首部,可以在客户端、服务器和其他应用程序之间提供一些非常有用的通用功能,如 Date 首部。请求首部:是请求报文特有的,它们为服务器提供了一些额外信息,比如客户端希望接收什么类型的数据,如 Accept 首部。响应首部:便于客户端提供信息,比如,客服端在与哪种类型的服务器进行交互,如 Server 首部。实体首部:指的是用于应对实体主体部分的首部,比如,可以用实体首部来说明实体主体部分的数据类型,如 Content-Type 首部。
通用首部
请求首部
响应首部
实体首部
常用的 Content-Type
常见的媒体格式类型如下:
text/html : HTML格式text/plain :纯文本格式text/xml : XML格式image/gif :gif图片格式image/jpeg :jpg图片格式image/png:png图片格式
以application开头的媒体格式类型:
application/xhtml+xml :XHTML格式application/xml: XML数据格式application/atom+xml :Atom XML聚合格式application/json: JSON数据格式application/pdf:pdf格式application/msword : Word文档格式application/octet-stream : 二进制流数据(如常见的文件下载)application/x-www-form-urlencoded: <form encType=””>中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
另外一种常见的媒体格式是上传文件之时使用的:
multipart/form-data: 需要在表单中进行文件上传时,就需要使用该格式