网络知识学习

http 版本区别 (阻塞 连接快慢)
1.1比较 1.0:
长连接
缓存处理
协商缓存
Last_modified if-modified-since
etag if-none-match
强缓存
expires
Cache-control max-age
2.0 比较 1.1
头部压缩
- Hpack 算法
- 静态字典;
- 动态字典;
- Huffman 编码(压缩算法)
- Hpack 算法
二进制帧
多路复用
服务端主动推送
3.0 比较 2.0
- 基于udp,给每个 stream 加一个滑动窗口的 quic 协议
怎么保证数据包内容一致
- 引入 frame header 这一层 通过 Stream ID + Offset 字段信息实现数据的有序性
- QUIC使用的Packet Number单调递增的设计,可以让数据包不再像TCP那样必须有序确认,QUIC支持乱序确认,当数据包Packet N丢失后,只要有新的已接收数据包确认,当前窗口就会继续向右滑动
tcp协议是如何实现稳定传输的
1.确认和重传机制 要接受方的确认消息、
2.序号和确认号 排序确认、
3.流量控制、 TCP 使用流量控制机制来避免发送方发送过多的数据,导致接收方缓冲区溢出
4.拥塞机制 拥塞控制算法包括慢启动、拥塞避免和快速重传等
- 可靠性的确认和重传机制:
- TCP 使用确认和重传机制来确保数据的可靠传输。发送方在发送数据后会等待接收方发送的确认消息,如果在一定时间内没有收到确认消息,发送方会重新发送数据。
- 接收方在收到数据后会发送确认消息给发送方,以告知发送方数据已经接收。如果接收方检测到数据包丢失,它会要求发送方重传丢失的数据。
- 序号和确认号:
- TCP 使用序号和确认号来对数据包进行排序和确认。每个 TCP 报文段都有一个序号字段和一个确认号字段,用来标识数据包的顺序和确认已收到的数据。
- 接收方会使用确认号来告知发送方已成功接收到哪些数据,发送方根据确认号来决定是否重传丢失的数据。
- 流量控制:
- TCP 使用流量控制机制来避免发送方发送过多的数据,导致接收方缓冲区溢出。接收方可以通过窗口字段来告知发送方自己的可接受窗口大小,发送方根据接收方的窗口大小来调整发送的数据量。
- 拥塞控制:
- TCP 使用拥塞控制机制来避免网络拥塞。发送方根据网络拥塞的情况来调整发送速率,以避免发送过多的数据导致网络拥塞。常见的拥塞控制算法包括慢启动、拥塞避免和快速重传等。
- 超时重传机制:
- TCP 使用超时重传机制来处理丢失的数据包。如果发送方在一定时间内没有收到确认消息,它会假设数据包丢失,并触发重传机制重新发送数据。