初识HTTP协议(下)| 青训营笔记

81 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第6天,下面跟我一起看看青训营HTTP部分讲了什么吧(下)~

1.缓存

  • 强缓存:包括Expires时间戳;Cache-Control;到期等
  • 协商缓存:包括Last-modified;If-None-Match等

2.HTTP2概述

  1. 帧(frame):HTTP/2通信的最小单位,每个帧都包括帧头
  2. 消息:与逻辑请求或响应消息对应的完整的一系列帧
  3. 数据流:已建立的连接内的双向字节流;可以承载一条或多条消息
  4. 交错发送,接收方重组织
  5. HTTP/2连接是永久的,仅需要每个来源一个连接
  6. 流控制:组织发送方向接收方发送大量数据的机制

3.HTTPS概述

  1. 概述:HTTPS==Hypertext Transfer Protocol Secure
  2. 其经过TLS/SSL加密:有两种加密方式:对称加密(加密和解密都使用同一个密钥);非对称加密:加密和解密使用两个不同的密钥(公钥和私钥)
  3. 与HTTP的区别:
  • HTTP: HTTP-TCP-IP
  • HTTPS: HTTPS-SSL/TSL-TCP-IP

4.WebSocket

  1. 简介:WebSocket 是独立的、创建在 TCP 上的协议。其通过HTTP/1.1 协议的101状态码进行握手。为了创建Websocket连接,需要通过浏览器发出请求,之后服务器进行回应,这个过程通常称为“握手”(handshaking)
  2. 典型场景:实时性要求高,比如聊天室
  3. URL使用ws://或者wss://等开头

5.QUIC:Quick UDP Internet Connection(HTTP/3)

  1. 简介:QUIC(Quick UDP Internet Connection)是谷歌制定的一种基于UDP的低时延的互联网传输层协议。
  2. 与TCP协议相比,UDP更为轻量,但是错误校验也要少得多。这意味着UDP往往效率更高(不经常跟服务器端通信查看数据包是否送达或者按序),但是可靠性比不上TCP。
  3. 通常游戏、流媒体以及VoIP等应用均采用UDP,而网页、邮件、远程登录等大部分的应用均采用TCP

总结

刚开始只是希望能做到超链接文档互联,所以 http0.9就够了。后来需要与服务器交互、需要传输图片、音频等、请求更加灵活(需求复杂了),所以发展到了1.0 1.1。再后来移动互联网加上请求更丰富,就要更加针对 1.1 的缺点和新的需求才出现了 http2 http3。