NodeJS – HTTP请求和默认stream在NodeJS世界以外的响应?

我一直在学习NodeJS中的Streams,特别感兴趣的是作为NodeJS HTTP Server参数提供的'request'和'response'stream。

节点是否做了一些特殊的事情,将传入的请求和传出响应转换成NodeJSstream? 例如,在一个可读的请求stream中,节点就像改变数据从客户端发送到HTTP Web服务器的方式,以便能够将请求暴露给我作为一个NodeJSstream,在那里我可以通过块读取数据块,使用'可读'事件? 或者,所有的http请求都是默认的分块数据stream,而其他的web框架在历史上只是把我暴露给数据stream做得非常糟糕,并且自动caching,所以我将会得到一个完整的请求对象默认…经常阻塞,而在后台的框架等待每一个stream的块进来,而我不知道呢?

基本上我不太了解HTTP。 我看到这篇关于分块传输编码的文章https://en.wikipedia.org/wiki/Chunked_transfer_encoding ,但是我还不清楚这是NodeJS利用的。

任何解释或指向我的方向一些教程将不胜感激。

是的,NodeJS利用HTTP / 1.1块传输编码机制来发送像媒体这样的大型文件。

NodeJS本质上是asynchronous的,因此它不会等待传输完成。 因此callback函数被用来在请求完成后执行你想要的。

有什么具体的你想要做的?