2.1 简单的HTTP协议
应用场景:用于客户端和服务端之间的通信。
2.1.1 请求报文的构成:![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c7882506c1310fd35f2fc0255c27fad5.png#pic_center)
2.1.2 响应报文的构成![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6f67823964d055bf9619d9fc8142a3cd.png#pic_center)
注意:http协议是不保留状态的协议。即他对于发送过的请求发完了不会保存。但是为了实现保持状态的功能,于是引入了Cookie技术。
2.1.3 请求方法
就那么几种方法,在这里就不再累述。
2.1.4 使用cookie的状态管理
因为http是无状态的,也就是说无法根据之前的状态进行本次的请求处理。如果需要保留状态,则需要引入cookie,cookie会根据服务器端发送的响应报文内的一个叫做Set-Cookie的头部字段信息,通知客户端保存Cookie,当下次客户端再往服务器发送请求时,客户端会自动在请求报文中加入cookie值后发送出去。服务器端发现客户端发过来的cookie后,后检查这个请求,然后对比服务器上的记录,最后得到之前的状态信息。
2.1.5 客户端与服务器端发生cookie交互的步骤:
1,请求报文(没有Cookie信息的状态):
2,响应报文(服务器端生成cookie信息)
3,请求报文(自动发送保存着的Cookie信息)
3,HTTP报文内的HTTP信息
3.1 HTTP报文
用于 HTTP 协议交互的信息被称为 HTTP 报文。请求端(客户端)的 HTTP 报文叫做请求报文,响应端(服务器端)的叫做响应报文。 HTTP 报文本身是由多行(用 CR+LF 作换行符)数据构成的字符串文 本。 HTTP 报文大致可分为报文首部和报文主体两块。两者由最初出现的 空行(CR+LF)来划分。通常,并不一定要有报文主体。cr表示回车,lf表示换行,如下图所示
下图分别为请求报文,响应报文的结构
请求报文实例
响应报文实例:
请求行:包含用于请求的方法,请求URI和http版本
状态行:包含表明响应结果的状态码,原因短语和http版本。
首部字段:包含请求和响应的各种条件和属性的各类首部。