今天弄了下express的缓存控制、gzip压缩和设置Connection:keep-alive 现记录如下:(均在app.js修改)
一、缓存设置
//设置缓存
var options={
maxAge: 86400000 //Number类型
//表示86400000 ms 即86400 s也就是一天 此处可以使用 ms 格式
// (https://www.npmjs.org/package/ms)中的字符串格式
}
app.use(express.static(path.join(__dirname, 'public'),options));
二、开启gzip压缩
var compression = require('compression');
app.use(compression());
三、开启持久连接
由于为了保证通信的可靠性,TCP协议采用了三次握手(建立TCP连接)和四次挥手(断开TCP连接)的策略,因此访问HTML页面时,当页面上的资源较多,就会导致每发个请求就会建立TCP及断开TCP连接多次,无谓的增加了通信量。因此可采用设置Connection属性值为 keep-alive,让其一直保持连接状态。由于之前是connection:close,因此新增如下代码:
// 设置keep-alive
var server = app.listen(5001);
server.listen(3000);
server.on('connection', function(socket) {
console.log("A new connection was made by a client.");
socket.setTimeout(30 * 1000);
// 30 second timeout. Change this as you see fit.
})
**本文版权归本人即简书笔名:该账户已被查封 所有,如需转载请注明出处。谢谢! *