node.js - 如果我在不提供任何 header 或数据的情况下调用response.end(),NodeJS 中会发生什么?

标签 node.js

如果我在收到请求后立即调用response.end()而不提供任何数据、调用response.write()或调用response.writeHead(),会发生什么?我从两个角度很好奇这个答案:

1) 服务器角度 - 这是否本质上是从 NodeJS 中的后端堆栈或堆中取出一些东西来释放一些资源?还是发生了完全不同的事情?

2) 客户端视角 - 如果这是来自 ajax 请求,并且不希望收到任何响应数据,会出现任何问题吗?

最佳答案

这里要做的显而易见的事情就是尝试一下。 Node.js 代码:

var http = require('http');
http.createServer(function (req, res) {
  res.end();
}).listen(1337, '127.0.0.1');

从服务器角度来看,这与在其中添加数据/自定义 header 没有什么不同。

从客户的角度来看,给我空的响应正文,带有标题:

Connection:keep-alive
Date:Sun, 29 Jul 2012 07:58:51 GMT
Transfer-Encoding:chunked

hello world example的区别是 Content-Type header 丢失并且响应正文为空,仅此而已。

关于node.js - 如果我在不提供任何 header 或数据的情况下调用response.end(),NodeJS 中会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11707624/

相关文章:

json - 如何使用流对 Node.js 中的大型嵌套对象进行 JSON 字符串化?

python - 尝试使用 nodejs lib gpIO 控制移位寄存器在树莓派上不起作用

node.js - events/EventEmitter在nodejs构造函数中做什么

javascript - async.auto 结果对象应该有一个值,但有一个包含两个值的数组

node.js - React.js 渲染完成后运行客户端 JS

javascript - 填充 Mongoose 后查找

javascript - Node.js 中未定义 io

node.js - 尝试运行 grunt 时找不到模块 'findup-sync'

node.js - 迁移到 Yarn 2,但未找到 Yarn 命令 "set"和 "policies"

node.js - 事件循环作为语言构造公开的其他语言(框架)?