这是我参与「第五届青训营 」伴学笔记创作活动的第6天,下面跟我一起看看青训营HTTP部分讲了什么吧(下)~
1.缓存
- 强缓存:包括Expires时间戳;Cache-Control;到期等
- 协商缓存:包括Last-modified;If-None-Match等
2.HTTP2概述
- 帧(frame):HTTP/2通信的最小单位,每个帧都包括帧头
- 消息:与逻辑请求或响应消息对应的完整的一系列帧
- 数据流:已建立的连接内的双向字节流;可以承载一条或多条消息
- 交错发送,接收方重组织
- HTTP/2连接是永久的,仅需要每个来源一个连接
- 流控制:组织发送方向接收方发送大量数据的机制
3.HTTPS概述
- 概述:HTTPS==Hypertext Transfer Protocol Secure
- 其经过TLS/SSL加密:有两种加密方式:对称加密(加密和解密都使用同一个密钥);非对称加密:加密和解密使用两个不同的密钥(公钥和私钥)
- 与HTTP的区别:
- HTTP: HTTP-TCP-IP
- HTTPS: HTTPS-SSL/TSL-TCP-IP
4.WebSocket
- 简介:WebSocket 是独立的、创建在 TCP 上的协议。其通过HTTP/1.1 协议的101状态码进行握手。为了创建Websocket连接,需要通过浏览器发出请求,之后服务器进行回应,这个过程通常称为“握手”(handshaking)
- 典型场景:实时性要求高,比如聊天室
- URL使用ws://或者wss://等开头
5.QUIC:Quick UDP Internet Connection(HTTP/3)
- 简介:QUIC(Quick UDP Internet Connection)是谷歌制定的一种基于UDP的低时延的互联网传输层协议。
- 与TCP协议相比,UDP更为轻量,但是错误校验也要少得多。这意味着UDP往往效率更高(不经常跟服务器端通信查看数据包是否送达或者按序),但是可靠性比不上TCP。
- 通常游戏、流媒体以及VoIP等应用均采用UDP,而网页、邮件、远程登录等大部分的应用均采用TCP
总结
刚开始只是希望能做到超链接文档互联,所以 http0.9就够了。后来需要与服务器交互、需要传输图片、音频等、请求更加灵活(需求复杂了),所以发展到了1.0 1.1。再后来移动互联网加上请求更丰富,就要更加针对 1.1 的缺点和新的需求才出现了 http2 http3。