最近一直在看《http权威指南》,对http也有了新的认识,觉得很有必要把学习的东西记录下来,以便日后查看。
声明:本文适合小白,大神请绕路、、、、
本篇主要说一下http的报文格式。
1.http报文分类:
分类 | 格式 |
请求报文 | <method><request-url><version> <headers> <entity-body> |
响应报文 | <version><status><reason-phrase> <headers> <entity-body> |
例如:
2.报文格式:
报文主要分为三个部分:起始行、首部、主体。都属于ASCII文本(美国信息交换标准代码)。
起始行:
- 方法(method)
客户端希望服务器对资源的动作,比如GET、HEAD、POST、DELETE、PUT。
- 请求URL(request-url)
所请求的资源。如:http://www.baidu.com/
- 版本(version)
指报文所使用的HTTP协议版本。如:HTTP/1.0
- 状态码(status)
这三个数字描述了请求过程中所发生的状况。如:200
- 原因短语(reason-phrase)
数字状态码的可读版本。如:ok
首部:
即起始行后面有零个或多个首部字段。
主体:
空行之后就是可选的主体。
注意:有些请求方法是没有主体的,比如上图的GET请求。
3.常用的HTTP方法:
方法 | 描述 | 是否包含主体 |
GET | GET是最常用的方法,通常用于请求服务器上发送某个资源。 | 无 |
HEAD | HEAD方法与GET方法行为类似,只不过在服务器响应时,HEAD方法只返回起始行及首部。 | 无 |
PUT | 与GET方法从服务器获取资源相反,PUT方法会向服务器写入资源。故有些WEB服务器会要求密码登录。 | 有 |
POST | POST方法起初是用来向服务器输入数据的。目前用来发送HTML表单。 | 有 |
TRACE | TRACE是用来查看,当请求通过防火墙、网关、代理后变成了什么样的。可以用来看看报文是否被修改或是毁坏了。 | 无 |
OPTIONS | OPTIONS方法请求WEB服务器告知其支持的各种功能。 | 无 |
DELETE | DELETE 方法就是请求服务器删除URL所指定的资源。 | 无 |
以上都是基于HTTP/1.0版本的,其实还有一些是扩展方法。
4.状态码分类:
整体范围 | 分类 | 常用状态码 |
---|---|---|
100~199 | 信息提示 |
|
200~299 | 成功 |
|
300~399 | 重定向 |
|
400~499 | 客户端错误 |
|
500~599 | 服务器错误 |
|
以上就是HTTP 报文所涉及的相关内容了。欢迎补充、