# 请求和响应
HTTP协议的核心是传输报文内容。
# 报文结构
TIP
在TCP 报文中,会在传输的数据上添加对应TCP头部信息,比如发送/接收方的端口号,包的序号,标志位等信息。接收方在收到对应的数据包,再解析出来对应的TCP头部信息,找到对应端口的服务,进行处理。
HTTP 协议和TCP协议类似。HTTP是传文本协议,所有头数据都是ASCII码的文本,很容易识别。
报文主要包含三大部分。
# 请求行/状态行
用于描述请求/响应的基本信息。
- 请求行中包括,请求方式,请求地址,HTTP版本
- 响应行中包括版本号、状态码、原因
# 请求头/响应头
key-value的形式说明报文。请求中包括UA、ACCEPT-Language、accept-encoding、host、Connection、Date等信息。
TIP
- 字段名不区分大小写。
- 不允许出现空格和下换线(
_
),支持中横线(-
) - 字段名后面是冒号(
:
) - 字段顺序不限制
- 字段不能重复(Set-Cookie例外)