像 slim3 这样的以小块发送响应主体的框架有什么意义?

What is the point in a framework like slim3 of sending response body in small chunks?

我正在阅读 slim 3 文档,发现它确实 read/send 以 4096 字节为单位的响应正文文本:

responseChunkSize Size of each chunk read from the Response body when sending to the browser. (Default: 4096)

这样做有什么意义?立即发送响应正文不是更好吗?这是否意味着少量开销?

在向客户端浏览器发送响应期间,响应正文的内容长度可能可用也可能不可用。

在这两种情况下,responseChunkSize 设置用作从正文读取直到到达文件末尾的字节数。如果内容长度已知且小于或等于 responseChunkSize,则只需迭代一次即可读取正文内容。

通过以较小的块读取和输出响应,浏览器不会等待太长时间来获取第一个字节。读取大块的速度较慢,并且可能需要更大的内存消耗,因此浏览器的第一个字节可能比较小的块长。