我正在实现自己的http模块。在阅读官方的node.js http模块api时,我不明白一些事情:
response.writeHead(statusCode, [reasonPhrase], [headers])
函数,则应将头文件立即写入套接字,还是应首先将它们另存为对象的成员?然后只写后.end()
函数?writeHead()
?他们应该被设置在前面吗?如果用户没有设置它们?应该是什么行为?谢谢答案:
您写入响应中的任何内容(包括标头为writeHead
或正文为)都会write
被缓冲并发送。您会看到它们使用套接字缓冲区。它们只能保存固定数量的数据,然后再发送。要记住的重要事实是,您只能在开始编写正文之前设置标题。如果这样做,http服务器本身将为您设置一些标头。
隐式标头是您没有专门编写但仍会发送的标头。通过响应请求而不设置任何标头来设置简单的http服务器。然后查看请求标头,以在浏览器中打开网站。将有诸如日期,服务器,主机等的标题,这些标题会自动添加到每个请求中,而无需用户自愿。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句