这是我参与「第五届青训营 」伴学笔记创作活动的第5天
HTTP协议的基本定义和主要特征
HTTP协议是位于应用层的基于TCP的一个协议,叫做超文本传输协议,它分为请求和响应,是一种无状态的协议。
HTTP协议发展
HTTP协议的报文
报文分为请求报文和相应报文。
请求方式
method---get\post\put(已有载体的替换)\delete\options(通信选项的一些前置请求)
通信方法的特性
安全和幂等。
Safe(安全的)︰不会修改服务器的数据的方法
GET HEAD OPTIONS
ldempotent(幂等)︰同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的
所有safe的方法都是ldempotent的
GET HEAD OPTIONS PUT DELETE
状态码
常见的有200 404 500 401 301(重定向)
常见请求头和响应头
缓存
分为强缓存和协商缓存
强缓存:本地有缓存就直接用;协商缓存:本地有缓存但是需要和服务器协商一样,这个缓存还能不能用。
当客户端发起请求的时候,有关缓存的的请求方式是这样的。
Cookie
HTTP2.0和HTTPS
2.0就成了全双工,两者都是更轻便和安全更稳定。
场景分析
静态资源
当请求一个网站的静态资源的时候,看到静态资源请求的状态码是200,一定发请求了吗?不一定,有可能是本地缓存中获取的,比方说是强缓存。
静态资源方案:缓存+CDN+文件名hash
登录
当出现了跨域,会发送一个options前置请求。
鉴权
SSO单点登录
大应用中的子应用,专门有一个SSO站点和SSO服务器,用来记录登录态。流程图如下。