使用 HTTP 流式传输提升性能
摘要
在这篇文章中,我们将讨论如何通过使用 HTTP 流式传输,将 Airbnb.com 的字节流尽可能快地传输到你的浏览器中。
首先让我们了解一下什么是流式传输。想象一下我们手头有一个水龙头和两种选择:
- 先将一个大杯子装满,然后一次性全部倒入管道(“缓冲”策略)
- 将水龙头直接接到管道上(“流式”策略)
在缓冲策略中,所有的事情都是按顺序进行的:服务器首先生成整个响应并存入缓冲区(装满杯子),然后用更多的时间通过网络把响应发送到客户端(倒入管道)。而流式策略则是并行进行的,我们将响应分解成多个块,一旦某块准备好就立即发送出去。在前一个块仍在发送的同时,服务器就可以开始处理下一个块,而客户端(如浏览器)也可以在响应还未完全接收到之前就开始处理响应。
欢迎在评论区写下你对这篇文章的看法。