如果我在收到请求但不提供任何数据,立即调用response.write()或调用response.writeHead()时立即调用response.end(),那么NodeJS会发生什么情况?我从两个角度对答案感到好奇:
1)服务器角度-这实际上是否会从nodeJS的后端堆栈或堆中释放一些东西,从而释放一些资源?还是发生了完全不同的事情?
2)客户观点-如果这是来自ajax请求,而该请求不希望收到任何响应数据,是否会出现问题?
最佳答案
1)放弃与请求和响应相关的所有资源(可用于垃圾回收)
2)节点发出带有默认头和空主体的响应。完全由客户决定如何处理。在大多数情况下,客户端会将默认标头视为不完整,但是在没有响应正文的情况下,别无选择。