从express.js中删除所有标头

Jon*_*ers 8 javascript http http-headers node.js express

我正在创建一个页面,其中有一些数据可以被另一个设备解析.我以前用php做这个,但我把它移到节点.我需要从页面中删除任何和所有标题,所以我只有我的输出.此输出是对GET请求的响应.

目前我有

HTTP/1.1 200 OK
Date: Wed, 11 Sep 2013 11:54:14 GMT
Connection: close

My output
Run Code Online (Sandbox Code Playgroud)

我需要它才能显示

My output
Run Code Online (Sandbox Code Playgroud)

Sla*_*avo 15

通常,您可以使用Express(node.js)中的Response对象的API来删除标头,但是,其中一些API是HTTP规范所必需的,并且应该始终存在.

Date标头是必需的标头.见这里:https://stackoverflow.com/a/14490432/1801

第一行(HTTP/1.1 200 OK)不是标题 - 它是HTTP协议的一部分,每个响应都应该从它开始.否则浏览器将不知道如何处理响应.

如果要删除其他自定义标头,可以这样做:

app.get('/test', function (req, res) {
    var body = "some body";
    res.removeHeader('Transfer-Encoding');
    res.removeHeader('X-Powered-By');
    res.end(body);
});
Run Code Online (Sandbox Code Playgroud)


小智 5

app.use(function (req, res, next) {
    res.removeHeader("x-powered-by");
    res.removeHeader("set-cookie");
    res.removeHeader("Date");
    res.removeHeader("Connection");
     next();
});
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请查看此文档,了解解释所有与 http 标头相关的查询的最佳方法:Express (node.js) http header docs