好奇的不是 stream 本身的实现原理。在 golang 中 http 返回体的 body 是一个 io.Reader 类型,这里是如何实现的?在 http1.1 的前提下讨论:
这里是整个返回体都返回完才开始接收数据的吗?
1.1 如果是,缓冲区是在哪里?全部数据在网卡上还是内存里?
如果是 http 请求未完全返回就接收了数据,是如何实现的?
2.1 基于 transfer-encoding:chunked ?
2.2 基于 http 包底层的 tcp 包拆包?
还望不吝赐教
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.