是否有必要在Node.js中设置一个Content-Type?

刚开始使用Node.js,看到一些例子后,我发现通常Content-Type是在返回一些内容之前设置的。

通常这样的HTML的东西:

 res.writeHead(200, {'Content-Type': 'text/html'}); res.write(html); res.end(); 

对于图像:

 res.writeHead(200, {'Content-Type': 'image/png'}); res.write(img, 'binary'); res.end(); 

我读了.write()的文档 ,它说,如果没有指定头文件,它将切换到隐式头文件模式并清除隐式头文件。

通过一些testing,我发现我可以像这样写一行:

 res.end(html); // or res.end(img); 

这两个工作正常。 我也用我的本地Apache服务器进行了testing,当我加载一个图像时查看了设置的头文件,那里没有Content-Type头文件。

我需要麻烦设置它们吗? 如果我不这样做,可能会出现什么情况或错误?

Content-Type头部在技术上是可选的,但是你将它留给浏览器来主要猜测你正在返回什么types的内容。 一般来说,你应该总是指定一个Content-Type如果你知道types(你可能会这样做)。