计算机网络 | 青训营笔记
- 计算机网络基础
- web中的网络
计算机网络
网络组成部分: 服务端和客户端、路由器、网络协议
协议: 定义了在两个或多个通信实体之间交换的报文格式和顺序,以及报文发送和/或接受一条报文或其他事件所采取的动作
网络各层次的主要协议
- 链路层 IP协议
- 应用层 UDP协议(不可靠链接)TCP(可靠链接)
- 应用层 HTTP协议
web中的网络
HTTP协议 由于HTTP1.0无法实现多路复用,为了解决此问题HTTP2.0使用了“帧”。 HTTP2的帧的头部,前三个字节表示的是载荷的长度,第四个字节吧表示的是类型,第五个字节表示的是类型的Flags(各个标志位),第六到第九字节中,第一位是保留位,第2-32位表示的是流ID。
帧带来的好处
- 调整响应传输的优先级
- 头部压缩
- Server Push
HTTP3(QUIC) HTTP2采用了TCP传输,建立TCP连接需要经过3次握手,需要3RTT启动。但是UDP连接又不可靠,于是,HTTP3采用QUIC。
- Quick UDP Internet Connection
- 现存网终设备对 TCP 和 UDP 支持已经僵化
- UDP 不靠谱但是QUIC 靠谱QUIC
- 可以为除 HTTP 协议以外的应用层协议提供支持
QUIC第一次访问需要1RTT,第二次访问0RTT
CDN:DNS劫持
- 域名解析一般由网站自己处理
- 要加速的域名则重定向到 CDN 广商的域名解析服务处
- CDN 厂商根据来源确定最近的 CDN 服务器的 IP
- 用户直接访问最近的 CDN 服务器
WebSocket
- 有状态的持久连接
- 服务端可以主动推送消息
- 用 WebSocket 发送消息延迟比 HTTP 低
小结
- HTTP2解决了HTTP1无法多路复用
- HTTP3减缓了HTTP2连接速度慢的问题
- CDN 解决了 HTTP 协议之外的问题
- WebSocket 从 HTTP 协议升级而来