【发布时间】:2016-12-19 19:55:49
【问题描述】:
我正在为 Web 应用程序构建一些测试,我想测试客户端优雅地处理无效 HTTP 响应的能力。您如何建议修改响应以使其不再有效?我尝试了以下方法,但 Express 显然在之后修复了 Content-Length:
app.get('/broken/', function(req, res) {
console.log('request received for ' + req.path);
res.set('Content-Length', 0).send('more than zero');
});
编辑:请注意,我不一定能控制传入的请求。在过去,其中一些是无效的。
【问题讨论】:
-
我不确定在客户端处理无效响应是否有意义。响应有效或客户端超时等待
-
对我来说,这听起来像是
curl或netcat的工作。 -
你可能需要远离一个有代码的框架,以确保你可以发送任何你想要的东西的有效响应。
-
您可以在 node.js 中创建一个普通的 TCP 服务器,然后解析传入的请求并完全按照您的意愿发送您自己的响应 - 本质上是制作您自己的简单小型 http 服务器,您可以在其中控制一切。跨度>
-
如果您使用现有的服务器或框架,它几乎肯定会处理所有 HTTP 连接管理,并且会防止无效响应。如果您想要那种级别的控制,您必须绕过普通服务器并提供自己的服务器。
标签: javascript http express