http header 类型 :
通用报头,请求报头,响应报头和实体报头
总结:
请求 = 请求行 + 请求头 + 空行 + 请求实体 响应 = 状态行 + 响应头 + 空行 + 响应实体
请求行 = http version + url + request method 请求头 = user_agent + accpet + host 请求实体 : 只适用post请求, get请求实体为空
状态行 = http version + status_code + status_text 响应头 = 响应实体类型 + 响应实体长度 + date 响应实体 = 文本
请求
请求结构 : 请求行 + 请求头 + 空行 + 实体数据
请求行 = method + url + http版本号
请求头 = host + user-agent(浏览器类型_版本) + accept(客户端希望接受的数据类型)
实体数据 : post下适用, get数据为空
# 模拟一个http包
GET /index.html HTPP/1.1 # 请求行
host : www.baidu.com # 请求头
user-agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36
accept: application/json, text/javascript, */*; q=0.01
# 空行
userId=0010 # 实体
响应
响应结构 : 状态行 + 响应头 + 空行 + 实体数据
状态行 = http版本号 + status_code + 状态文字描述
响应头 = content-type(byte) + content-length + date
# 模拟一个响应包
HTTP/1.1 200 OK # 状态行
Content-Length: 14615 # 响应头 ,
Content-Type: text/html
Date : Fri, 29 May 2020 03:49:40 GMT
# 空行
{"id":529}
测试 : telnet 模拟向百度请求
yum install -y telnet
telnet www.baidu.com 80
GET /index.html HTTP/1.1 # 请求行
Host: www.baidu.com
网友评论