32|全面解析HTTP:从HTTP/0.9到HTTP/3的演变
该思维导图由 AI 生成,仅供参考
初识 HTTP
- 深入了解
- 翻译
- 解释
- 总结
HTTP协议的演进历程从HTTP/0.9到HTTP/3经历了多个阶段的发展和优化。HTTP/1.0引入了请求头和响应头、支持GET、POST、Head请求方法以及缓存机制等重要变革。然而,HTTP/1.0仍存在一些核心问题,如队头阻塞和单一域名支持。随后,HTTP/1.1引入了持久连接、Host字段、e-tags和Cache-control等优化,但仍未充分解决宽带利用率和队头阻塞问题。HTTP/2.0则采用了二进制格式、多路复用、Header压缩机制和服务器推送等新特性,以提高效率和性能。最新的HTTP/3则采用了QUIC协议,通过UDP传输数据,解决了TCP传输中的队头阻塞问题,进一步提高了网络传输效率和性能。HTTP/3的核心目标是提升性能、加快响应速度、保障交互安全性。HTTP/3的核心是QUIC协议,它是基于UDP的协议,这代表着在传输效率上相比之前的版本有了大幅提升。HTTP 3.0 还支持更强的安全性,支持使用TLS 1.3协议进行加密和保护数据传输。在解决多路复用丢包的线头阻塞问题方面,QUIC保留了HTTP2.0多路复用的特性。另外,HTTP/3还实现了有序交付。总的来说,HTTP协议的不断演进和优化,使其成为互联网最常用的协议之一,为网络传输提供了更高效、更稳定和更安全的解决方案。
《Python 实战 · 从 0 到 1 搭建直播视频平台》,新⼈⾸单¥59
全部留言(3)
- 最新
- 精选
- peter请教老师几个问题: Q1:Python开发的网站,服务器可以用tomcat吗? Q2:Python开发的网站,可以用docker等虚拟机部署吗? Q3:http传XML或JSON,是把XML或JSON放到消息体中吗?什么场景中会用http来传XML或JSON?(我头脑中固定印象就是传html的,认识有局限) Q4:二进制格式与文本格式的区别? 文中提到“HTTP/2 采用二进制格式而非文本格式”,不是很理解。文本格式最后不也是要变成二进制传输吗? Q5:host怎么理解? Host难道是可以指明多个服务器吗? Q6:HTTP3用UDP,丢包怎么解决?
作者回复: Q1:Python开发的网站可以使用Tomcat作为服务器。不过,通常Python开发使用Nginx、Apache作为服务器多一点。 Q2:是的,Python开发的网站可以使用Docker等虚拟机进行部署。 Q3:当通过HTTP传输XML或JSON时,通常是将它们放在HTTP消息的请求体或响应体中。HTTP协议支持传输各种数据类型,包括文本、二进制等。在Web开发中,经常使用HTTP传输XML或JSON,以便在不同的应用程序之间交换数据。 Q4:二进制格式和文本格式在HTTP/2中都有使用。在HTTP/2中,可以使用二进制格式来压缩数据,以减少传输数据量,提高性能。而文本格式通常用于表示文本数据,例如HTML、JSON、XML等。虽然二进制格式最终在传输时需要转换成二进制形式,但它们在处理和存储数据时具有更高的效率和性能。 Q5:在HTTP中,"Host"头字段是用于指定正在请求的服务器名称和端口号。它可以用于指定多个服务器,以便客户端可以根据主机名来发送请求。在多域名支持的场景中,可以通过Host头字段来指定不同的服务器,以便同一个IP地址上运行多个域名,这个课程中我有详细说过。 Q6:虽然HTTP3基于UDP协议,但UDP本身是无连接的协议,可能出现数据包丢失的情况。为了解决这个问题,HTTP/3采用了流控制和重传机制来确保数据的可靠传输。同时,HTTP/3还支持流优先级和流量控制等特性,以确保高优先级的请求能够优先处理,从而避免丢包对用户体验的影响。第6个问题可能其他同学也有疑问,这里统一答复。
2023-07-06归属地:北京 - coderHOW自己没有总结过,老师帮总结很完全,很硬核。 对于http和https区别,就是一般使用的4层模型就到了5层模型,原来的http和tcp直接握手的变为http和tcp之间加了一个ssl/tls层,专门作为加密认证等,就不会改变原来的层原有的作用,我感觉就是http加了一层装饰器
作者回复: 感谢同学对课程内容的赞美,你的总结非常的不错,对于你的总结我可以补充一条,HTTPS不仅仅是一个简单的加密和认证层,而是一套完整的安全协议,HTTPS协议在实现过程中会进行更多的安全措施,例如身份验证、数据完整性保护等。我们的内容可以组合。期待你下次分享,我们一起加油!!!
2023-07-05归属地:广东 - Forest你觉得 HTTP 和 HTTPS 存在哪些区别? ------------------------------- 都是用于网络上传输数据的两种协议; 区别: 安全:HTTP 传输的数据是明文的;HTTPS 使用 SSL 或 TLS 协议对数据进行加密。HTTPS 使用证书对进行身份验证,确保建立的连接是安全的 端口:HTTP 使用 80 端口进行通信,HTTPS 使用 443 端口进行通信 数据完整:HTTPS 提供了数据完整性的保护,通过使用加密算法和证书的加持,可以有效的确保数据在传输过程中没有被篡改
作者回复: 总结的非常全面,为你点赞,继续加油,希望你在学习过程中多多总结,多多分享,我们一起加油。
2023-07-05归属地:四川