HTTP协议 | 青训营笔记

78 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第5天

HTTP协议的基本定义和主要特征

HTTP协议是位于应用层基于TCP的一个协议,叫做超文本传输协议,它分为请求和响应,是一种无状态的协议。

image.png

HTTP协议发展

image.png

HTTP协议的报文

报文分为请求报文和相应报文。

请求方式

method---get\post\put(已有载体的替换)\delete\options(通信选项的一些前置请求)

image.png

通信方法的特性

安全幂等

Safe(安全的)︰不会修改服务器的数据的方法
GET HEAD OPTIONS
ldempotent(幂等)︰同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的
所有safe的方法都是ldempotent的
GET HEAD OPTIONS PUT DELETE

状态码

常见的有200 404 500 401 301(重定向)

image.png

常见请求头和响应头

image.png

image.png

缓存

分为强缓存协商缓存

强缓存:本地有缓存就直接用;协商缓存:本地有缓存但是需要和服务器协商一样,这个缓存还能不能用。

image.png

当客户端发起请求的时候,有关缓存的的请求方式是这样的。

image.png

Cookie

image.png

HTTP2.0和HTTPS

2.0就成了全双工,两者都是更轻便和安全更稳定。

场景分析

静态资源

当请求一个网站的静态资源的时候,看到静态资源请求的状态码是200,一定发请求了吗?不一定,有可能是本地缓存中获取的,比方说是强缓存。

静态资源方案:缓存+CDN+文件名hash

image.png

登录

当出现了跨域,会发送一个options前置请求。

鉴权

image.png

SSO单点登录

大应用中的子应用,专门有一个SSO站点和SSO服务器,用来记录登录态。流程图如下。

image.png

网络优化

image.png