节点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