javascript - 如何将 HTTP header 发送到 Connect (Node.js) 中的静态目录

标签 javascript node.js express http-headers node.js-connect

我有一个简单的连接服务器来提供目录服务。我想将自定义 HTTP header 发送到它所服务的所有文件。现在这是我的代码:

 var connect = require('connect');

 var app = connect()
     .use(connect.static('public'))
     .listen(3000);

如何将 header 发送到公共(public)目录中的每个页面(甚至服务器提供的每个页面)?

(出于好奇,我尝试将“x-frame-options”发送到每个页面)

最佳答案

您有两个选择:编写自己的中间件来发送 header ,或使用库。
Helmet是一个实现多个安全 header (包括 x-frame)的中间件。 您的代码将类似于:

 var app = connect()
     .use(connect.static('public'))
     .use(helmet.xframe('allow-from', 'http://example.com'))
     .listen(3000);

要手动添加 header ,无需任何额外的库,您可以通过编写自己的中间件来执行类似的操作:

function addMyHeaders(req, res, next){
  res.setHeader("X-My-custom-header", ":{D");
  next();
}

var app = connect()
     .use(addMyHeaders)
     .use(connect.static('public'))
     .listen(3000);

关于javascript - 如何将 HTTP header 发送到 Connect (Node.js) 中的静态目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18722515/

相关文章:

javascript - 回调函数中变量的值 - Google map

javascript - 使用 javascript 或 jquery 查找用户桌面路径

javascript - 在浏览器中,如何检测与按钮交互触发了什么事件?

node.js - Express 请求第二次触发

javascript - Windows上的 Node npm错误寻找工具版本

angularjs - Angular + Node + Express + Passport + oauth2orize 独特的 CORS 问题

javascript - 使用 less.js 更改单个变量

javascript - Passport 和 express 的基本认证

node.js - 请求在express.js中未定义

javascript - Async.js 每个都继续而不回调