1.请求报文:由请求方法、请求 URI、协议版本、可选的请求首部字段和内容实体构成。
1)请求行 :包含用于请求的方法,请求 URI 和 HTTP 版本。
2.响应报文:由协议版本、状态码、用以解释状态码的原因短语、可选的响应首部字段以及实体主体构成。
2)状态行 :包含表明响应结果的状态码,原因短语和 HTTP 版本。
3)首部字段
包含表示请求和响应的各种条件和属性的各类首部。一般有 4 种首部,分别是:通用首部、请求首部、响应首部和实体首部
4)其他
可能包含 HTTP 的 RFC 里未定义的首部(Cookie 等)。
3.请求方法:get、post、put、head、delete、options、track、connect
1)get:获取资源
2)post:传输实体主体
3)put:传输文件
4)head:获得报文首部
5)delete:删除文件
6)options:询问支持的方法
7)track:追踪路径
8)connect:要求用隧道协议连接代理
4.HTTP协议:持久连接、管线化
5.HTTP:无状态协议,Cookie做状态管理,Set-Cookie首部字段信息
6.多部分对象集合:Multipart
1)multipart/form-data
2)multipart/byteranges
7.状态码:
状态码 | ||
---|---|---|
200 |
OK
| 成功 |
204 |
No Content
| 响应报文不含实体的主体部分 |
206 |
Partial Content
| 范围请求,响应报文包含Content-Type指定范围的实体内容 |
301 |
Moved Permanently
| 永久性重定向,请求的资源分配了新的URI,以后使用现在所指的URI |
302 |
Found
| 临时性重定向,请求的资源分配了新的URI,本次使用新的URI访问 |
303 |
See Other
| 请求资源存着另一个URI,使用GET方法定向获取请求的资源。 303 状态码和 302 Found 状态码有着相同的功能,但 303 状态码明确表示客户端应当采用 GET 方法获取资源 |
304 |
Not Modified
|
客户端发送附带条件的请求 2 时,服务器端允许请求访问资源,但未满足条件的情况。
304 状态码返回时,不包含任何响应的主体部分。
|
307 |
Temporary Redirect
| 临时性重定向,同302。
但307 会遵照浏览器标准,不会从 POST 变成 GET
|
400 |
Bad Request
|
请求报文中存在语法错误
|
401 |
Unauthorized
|
请求需要有通过 HTTP 认证(BASIC 认证、DIGEST 认证)的认证信息。若已请求一次则表示用户认证失败
|
403 |
Forbidden
| 访问被服务器拒绝,没有给出拒绝的详细理由 |
404 |
Not Found
|
服务器上无法找到请求的资源
|
500 |
Internal Server Error
|
服务器端在执行请求时发生了错误
|
503 |
Service Unavailable
|
服务器暂时处于超负载或正在进行停机维护,无法处理请求
|
(内容参考:图解HTTP)