这是我参与「第四届青训营 」笔记创作活动的第六天
1. 初识Http
在浏览器的地址栏输入一个域名之后都发生了什么
1.1 什么是http?
- http全称是超文本传输协议
- 是一个应用层协议,是基于tcp协议
- 分为请求和响应
- 非常简单并且可扩展
- 是无状态的,每一个请求都是孤立的,无法知道他之前做过什么事情,携带过什么信息
1.2 http的发展历程
1.3 http协议分析-报文
> 请求方法
safe(安全的方法):不会修改服务器的数据的方法
- get head options
idempotent(幂等的方法):同样的请求被执行一次和连续执行多次的效果是一样的,服务器的状态也是一样的
- get head options put delete
> 状态码
> 请求头
> 响应头
> 缓存
缓存分为两种:
- 强缓存:如果本地有缓存就直接用本地的缓存
- 协商缓存: 使用前先和服务端进行通信,彼此验证一下
缓存的过程
> cookie
1.4 http/2
更快 更稳定 更简单
- 帧:是http/2通信的最小单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流
- 二进制:在http/1.1中是以超文本的形式传输,而在http/2中是以二进制的形式
- 消息:与逻辑请求或者响应消息对应的完整一系列的帧
- 数据流:已建立链接内的双向字节流可以承载一条或多条消息
- 所有的帧可以交错发送,接收方根据标志信息重新组织,提高了效率
1.5 https
通俗来讲,就是经过了加密的http
2. case
2.1 关于获取静态资源的几种方式
- 缓存
- cdn
- 文件名hash