1.HTTP请求报文
(1)请求行
- GET:请求方法
- https://www.baidu.com/ :URL
- HTTP/1.1:协议和协议版本
(2)请求头
- Accept:浏览器可以接受的MIME类型
- User-Agent:客户端的相关信息
- Host:主机名,存放资源的服务器的域名系统主机名或者IP地址
- Accept-Encoding:浏览器能够进行解码的数据编码方式
- Accept-language:浏览器期望接受的语言种类
- Cookie:当前页面设置的所有cookie信息
- Referer:发送请求的页面的URL
- Connection:是否需要持久连接,keep-alive表示需要持久连接,1.1协议版本默认持久连接
- content-type:消息体的数据类型
- X-Requested-With:ajax请求
(3)空行
用来界限请求头和请求正文的
(4)请求正文(请求消息体)
2.http响应报文
(1)状态行:包含协议/协议版本,状态码,状态描述符
(2)响应头
- location:要跳转的url
- content-type:响应体数据类型
(3)空行
(4)响应体
备注下:get和post请求的区别
get和post都会向服务器提交数据,并从服务器获取数据
区别如下:
(1)get请求:参数跟在URL后面,长度有限制,而且get请求是产生一个tcp数据包,会直接把请求头和请求体一起发给服务器,不安全,但是效率相对较高。一般只做数据查询的时候,建议使用get请求
(2)post请求:参数放在请求体里面,没有长度限制,而且post请求会产生2个tcp数据包,第一个数据包只发送请求头数据,只有等服务器响应100 continue之后,才会继续发送请求体,相对安全,但是效率会相对降低。一般需要对数据进行添加、修改、删除操作的时候,建议使用post请求