https 和 http 区别
HTTPS = HTTP + 安全层(SSL/TLS)
- HTTP是明文传输的,不安全;HTTPS是加密传输的,非常安全。(例如: 通过免费WiFi盗密码)
- HTTP使用80端口,HTTPS使用443端口。
- HTTP较快,HTTPS较慢。
- HTTPS的证书一般需要购买(但也有免费的),HTTP不需要证书。
http状态码
| 2xx | 操作被成功接收并处理 |
|---|---|
| 3xx | 重定向,需要进一步的操作以完成请求 |
| 4xx | 表示浏览器方面出错 |
| 5xx | 表示服务器方面出错 |
| 200 | 请求成功。一般用于GET与POST请求 |
|---|---|
| 304 | 继续使用本地缓存 协商缓存 |
| 401 | 未登录 |
| 403 | token 过期 |
| 404 | 请求不存在 |
什么是http缓存
将资源(html,css,js,image...)缓存到本地. 第二次加载时直接从本地读取,减少CPU计算,页面渲染,网络请求
强制缓存
- 给缓存设置有效期
Cache-Control: max-age=300 - 表示缓存有效期是300s
- 如果缓存在有效期内会直接从本地读取数据.
- 在 chrome 控制台的 network 选项中可以看到该请求返回 200 的状态码,并且
size显示from disk cache或from memory cache; from memory cache表示是从缓存中读取

协商缓存
- 协商缓存是在强制缓存失效的情况下进行的一种机制,用于验证缓存的有效性
- 当浏览器发现强制缓存失效时,
- 会向服务器发送请求,
- 该请求会附带上次缓存的时间
- 服务器会根据请求的条件进行验证,
- 从上次缓存到现在有没有变更:
- 没有变更: 返回 304 继续使用本地缓存,
- 有变更: 返回 200 不使用本地缓存,
http 版本
http1.0
- 最基础的协议
- 只实现了get post 方法
http1.1
- 增加了缓存策略
cache-conrolE-tag等 - 支持断点续传/大文件分片上传, 状态码206
- 支持新的方法: GET POST PUT DELETE
- 支持长链接
Connection:keep-alive, 一次TCP链接多次请求- http1.0, 每发送一次请求都会来一次tcp的连接与断开
- http1.1, 一次TCP连接, 我们可以发多次请求
http2.0
- 压缩header减少体积
- 一次TCP连接, 可发多次
并发请求,- http1.1不能并发
- http2.0开始不再需要雪碧图来优化
- 服务端推送
- 适合单向推送:例如股价更新、新闻推送、监控仪表盘
- websocket适合: 需双向交互, 如聊天室、