单个路由的gzip响应

时间:2016-09-08 07:04:43

标签: node.js azure express azure-web-sites

我使用快速和压缩库:

var compression = require('compression')
var express = require('express')

var app = express()

// compress all requests
app.use(compression())

问题:

  1. 如何为单条路线添加gzip响应?
    1. 如果服务器是IIS 8,它是Azure Web应用程序的主机,压缩会起作用吗?

2 个答案:

答案 0 :(得分:2)

  
      
  1. 如何为单条路线添加gzip响应?
  2.   

您可以像其他任何中间件一样内联它:

app.get('/route', compression([OPTIONS]), function(req, res) {
  ...
});

请注意,compression中间件维护的默认阈值为1KB数据,低于该阈值时,响应不会被压缩。如果需要,请参阅the documentation有关如何更改此内容的信息。

  
      
  1. 如果服务器是IIS 8,它是Azure Web应用程序的主机,压缩会起作用吗?
  2.   

我会这么认为,但由于我没有任何IIS / Azure体验,因此无法明确说明。但为什么不尝试一下呢?

答案 1 :(得分:2)

gzip是Azure Web Apps上IIS服务器上的默认操作。您可以在Azure Web Apps上简单地创建一个默认的node.js应用程序,并直接访问您站点的端点,您可以检查响应头并找到如下所示:

enter image description here