字节青训营第一天计算机网络总结

63 阅读3分钟

HTTP/1:

HTTP/1.1是广泛应用于互联网的第一个HTTP版本。 它对于每个请求-响应周期使用单个连接,可能导致线头阻塞(Head-of-Line Blocking),即后续请求必须等待前面的请求完成。 每个请求需要建立新的连接,这会增加延迟。 不支持服务器推送(Server Push),意味着服务器无法在未被请求时主动向客户端发送资源。 它是一个纯文本协议,如果不与HTTPS一起使用,可能会引起安全问题。 HTTP/2:

HTTP/2是HTTP协议的第二个主要版本,旨在解决HTTP/1的局限性。 它引入了多路复用(Multiplexing),允许多个请求和响应同时在单个连接上发送,减少了延迟和线头阻塞。 它使用二进制分帧而不是纯文本,提高了效率并减少了解析复杂性。 服务器推送是HTTP/2的核心特性,使服务器可以根据初始请求主动向客户端发送资源。 它支持头部压缩,减少了每个请求中冗余头部的开销。 HTTP/3:

HTTP/3是HTTP协议的最新版本,旨在改善在不可靠网络上的性能,特别是在数据包可能丢失或丢弃的情况下(例如移动网络)。 它建立在QUIC(Quick UDP Internet Connections)传输协议之上,而不是TCP,有助于减少延迟并使连接更加健壮。 QUIC提供了固有的多路复用和加密功能,对HTTP/3的性能非常有益。 HTTP/3保留了HTTP/2的大部分功能,包括头部压缩和服务器推送,同时引入了额外的性能改进。 WebSocket:

WebSocket是一种通信协议,提供了客户端和服务器之间全双工、双向通信的能力,通过单个TCP连接实现。 与传统的HTTP不同,WebSocket允许客户端和服务器都能够初始化数据传输。 它通常用于实时应用程序,例如聊天应用程序、在线游戏和实时数据流传输。 WebSocket消除了频繁轮询的需要,减少了不必要的开销,并提供低延迟的通信。 TCP和UDP:

TCP(传输控制协议)是一种面向连接的协议,保证了两个端点之间可靠、有序的数据传递。 TCP提供错误检测、丢包时的重传以及流量控制,确保数据的完整性和有序传输。 它适用于需要可靠和准确数据传输的应用,例如网页浏览、文件下载和电子邮件。 UDP(用户数据报协议)是一种无连接协议,不保证数据传递的可靠性和顺序性。 UDP比TCP更轻量和高效,因为它不需要建立和维护连接。 它适用于实时应用程序,例如视频流传输和在线游戏,在这些应用中,一些数据丢失是可以接受的,以换取更低的延迟。 总结:HTTP/1、HTTP/2和HTTP/3是HTTP协议的连续版本,各自具有不同的性能和功能改进。WebSocket提供了通过单个TCP连接的全双工、双向通信通道,非常适用于实时应用程序。TCP是一种可靠的、面向连接的协议,而UDP是一种无连接、轻量级的协议,根据其特点为特定用例提