节点Js响应

我有一个关于Node Js响应的普遍问题,并且希望有人能够解释当我说res.WriteHead(“blah blah”)时发生了什么。

所以根据我在HTML和JavaScript中理解的内容,我提出了一个路由请求。 我检查路线的请求,并让它说一个get方法。 我确实写了一个将写入http响应头部的头部。 如果我发送res.write(“一些文本”),会发生什么情况。

我问的是,你能解释一下客户端和服务器之间的通信过程和真正发生的事情吗?

我对回复有点困惑,是这条消息被发送回来,或者就像是一个流。

对于整个过程的解释,我们将不胜感激。

我正在谈论的一些示例代码。 请注意即时通讯使用NodeJS

//加载http模块var http = require('http');

//创建服务器var server = http.createServer(handleRequest);

//启动服务器server.listen(2000);

//请求处理函数函数handleRequest(req,res){

console.log(req.method+" request for "+req.url);

// content header
res.writeHead(200, {'content-type': 'text/plain'});

res.write("ohai!n");

// write message body and send
res.end("Hello, World!"); };

为了解释这一点,我们可以考虑一个类比,其中可以将响应视为具有以下实体的文档 - 状态行,(响应报头)[消息体]

所以通过res.writeHead(200,{'content-type':'text / plain'}); 服务器正在写响应文档的状态行以及响应头'content-type':'text / plain'

通过res.write(“ohai! n”); 服务器已经开始写入消息体的内容,这将被res.end(“Hello,World!”)视为完成。 直到那时客户端会处于停滞状态,等待服务器提供请求的响应

结束于服务器端代码之上,可能只有一个res.writeHead和res.end,但可以使用多个res.write,它将messaged附加到消息体。

在服务器上执行res.end之后,服务器使用HTTP分块传输机制以块的形式发送响应,其中每个块都在其大小之前。 传输在遇到零长度块时结束。

我附加了请求响应生命周期

app.get('/check', function (req, res) {
res.writeHead(200, {'content-type': 'text/plain'});

res.write("ohai!n");
res.write("I am!n");
res.write("good!n");
res.end("Hello, World!");
})

这导致了以下回应

ohai!
I am!
good!
Hello, World!
链接地址: http://www.djcxy.com/p/52515.html

上一篇: Node Js response

下一篇: Determining number of callback functions JS