简单的HTTP协议
客户端和服务端的通信
一般请求都是有客户端发出的,而服务器回复的是响应。服务器相对来说是比较被动的。
客户端,请求方法 :GET 、地址: / 、协议版本 :HTTP1.1 、请求首部:Host:xxx等。服务器返回的信息:HTTP协议版本号,状态码以及结果短语、响应首部(响应时间之后的)和资源主体(html开始)。
HTTP协议是无状态的
一开始在公司做前后分离,引入了token机制,为什么要这么做?本质上还是因为HTTP协议是无状态的。所谓无状态,就是通信的双方没有记住通信历史,协议本身是不保留一切请求和响应的信息。这也是确保HTTP协议有能够处理大量事务且具有可伸缩性的原因。
HTTP 方法
GET :获取资源。
POST :传输实体主体,主要目的是传输。
PUT : 传输文件,保存到指定的位置。不带验证机制。
HEAD : 获得报文首部,不常用。
DELETE :删除文件。 同样不带验证机制。
OPTIONS :查询支持的方法。不常用
TRACE :追踪路径。挺有意思的一个东西。可以计算代理服务器有多少个,但是容易引发xst攻击(好想学web安全)。不常用
CONNECT :要求使用隧道协议连接代理,不常用。
持久链接节省通信量
一图胜千言啊。
1.1里提出来HTTP keep-alive。持久链接,只要没有一端提出明确的断开链接,则保持TCP链接。
管线化。并行发送响应,无需等待上一个请求结束。
使用Cookie 管理状态
之前说过的,因为HTTP协议是无状态的,无法判断登陆验证,所以需要在请求中添加参数来管理登录状态。
Cookie,服务器生成Cookie,response 过去,那么接受的客户端第二次发请求就可以设置了一个参数,保存当前登陆的信息。
如若有错误之处,看官多多指正,随手点个赞呗,亲。另外我的微信公众号也会慢慢发布前端的东西,希望学习前端的小伙伴可以关注一波moomoocode