node.js - 发送 204 时节点 HTTP 服务器挂起 - 无内容响应
问题描述
我遇到了一个问题,其中通过我的 NodeJS HTTP 服务器发送带有 204 - NO CONTENT 状态代码的响应会导致响应无限期挂起,从而使发起请求超时。
response.statusCode = 204;
response.write(preparedBody);
response.end();
即使preparedBody
只是空字符串,错误仍然会发生。
我如何得到响应出去?
解决方案
绝对没有正文可以写入响应,甚至是空字符串。
一般来说,状态码 204 表示服务器成功处理了请求,但保证没有响应体,因此没有提供任何响应体。
出于某种原因,NodeJS 似乎严格禁止使用 204 状态代码在响应正文中设置任何内容,即使设置的正文本身是“无”。
删除违规行:
response.write(preparedBody);
...并且服务器应该再次开始按预期工作
推荐阅读
- javascript - 由于不允许的 MIME 类型,加载模块被阻止
- sql - 我的代码没有比较 Oracle 中的每一行
- c# - 在 PORT:80 之后更改 IIS 中的默认名称
- r - 使用 rsample 包的引导比使用引导包慢得多
- java - Spring Data Jpa EntityManager 刷新不起作用
- python - ModuleNotFoundError:没有名为“dota”的模块
- arrays - 试图从 json/api 而不是数组中提取数据
- reactjs - 页面中的 MUIDataTable 默认行不起作用
- gitlab - Gitlab-CI 又名管道依赖项中的上游触发
- amazon-web-services - AWS CloudWatch 自定义指标在实例类型更改后未显示