本文是一篇学习笔记,学习的课程是极客时间的《透视HTTP协议》。
透视HTTP协议_HTTP_HTTPS-极客时间 (geekbang.org)
在互联网应用中,传输大文件是一个常见的需求。无论是视频、音频、大型文档,还是其他多媒体文件,HTTP协议需要提供高效的机制来处理这些“大象”级别的数据。本文将介绍HTTP传输大文件的几种主要方法:数据压缩、分块传输、范围请求和多段数据。
一、数据压缩
1. 压缩的基本原理
数据压缩是一种通过算法减少文件大小的技术,类似于“把大象变成小猪佩奇,再放进冰箱”。浏览器在发送请求时通常会携带Accept-Encoding
头字段,列出支持的压缩格式(如gzip
、deflate
、br
等)。服务器根据客户端的支持情况选择一种压缩算法,并在响应头中使用Content-Encoding
字段告知客户端。
2. 压缩的优缺点
-
优点:压缩可以显著减少文本文件的大小,从而节省带宽和传输时间。
-
缺点:对于已经高度压缩的多媒体文件(如图片、音频、视频),
gzip
等压缩算法效果有限,甚至可能使文件变大。