检测节点响应的Content-Type的最佳方法是什么?

时间:2017-01-23 23:13:19

标签: node.js connect

我有一个连接中间件,它有条件地操纵节点响应。通常我不想操纵这些响应,除非它们是HTML(注意响应本身是其他资源的代理并且可能是任何内容),特别是因为我的中间件重载writeHeadwrite和{ {1}}为了插入一些转换逻辑。最初看来end似乎是正确的方法,但事实证明这几乎总是res.getHeader('Content-Type')。相反,我现在查看undefined值,然后尝试使用req.headers.accept对其进行测试。有没有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

您尝试执行的操作称为Content sniffing或MIME嗅探。

在您进行任何嗅探之前,您应该了解在错误识别内容类型时可能出现的安全问题。

WHATWGMIME Sniffing Standard,但我找不到实现它的node.js包。

您可能会发现doc-sniff有用(但我没有使用过它)。