网络基础知识(HTTP协议)五
程序员文章站
2022-07-10 14:35:15
...
1.HTTP请求格式
抓包的reqeust
结构:
GET /mix/76.html?name=kelvin&password=123456 HTTP/1.1
Host: www.fishbay.cn
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
a.请求行GET
为请求类型,/mix/76.html?name=kelvin&password=123456
为要访问的资源,HTTP/1.1
是协议版本
b.请求头
从第二行起为请求头部,Host
指出请求的目的地(主机域名);User-Agent
是客户端的信息,它是检测浏览器类型的重要信息,由浏览器定义,并且在每个请求中自动发送。
c.空行
请求头后面必须有一个空行
d.请求数据
请求的数据也叫请求体,可以添加任意的其它数据。这个例子的请求体为空。
2.HTTP响应格式
抓包的response
结构:
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 20 Feb 2017 09:13:59 GMT
Content-Type: text/plain;charset=UTF-8
Vary: Accept-Encoding
Cache-Control: no-store
Pragrma: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control: no-cache
Content-Encoding: gzip
Transfer-Encoding: chunked
Proxy-Connection: Keep-alive
{"code":200,"notice":0,"follow":0,"forward":0,"msg":0,"comment":0,"pushMsg":null,"friend":{"snsCount":0,"count":0,"celebrityCount":0},"lastPrivateMsg":null,"event":0,"newProgramCount":0,"createDJRadioCount":0,"newTheme":true}
a.状态行
状态行由协议版本号
、状态
、状态消息
组成
b.响应头
响应头是客户端可以使用的一些信息,如:Date
(生成响应的日期)、Content-Type
(MIME类型及编码格式)、Connection
(默认是长连接)等等
c.空行
响应头和响应体之间必须有一个空行
d.响应体
响应正文,本例中是键值对信息