【问题标题】:json response is not compressed in expressjson响应未在express中压缩
【发布时间】:2021-03-25 00:38:20
【问题描述】:

我使用压缩库来压缩我所有的快速回复。不幸的是,似乎没有任何响应被压缩。然而,我在客户端调用标头中指定了一个接受编码:“gzip”。代码如下:

正面:

export const api = ax.create({
  baseURL: "http://localhost:8000",
  timeout: 1000,
  withCredentials: true,
  headers: {
    'Accept-Encoding': 'gzip',
  }
});

const contact = () => {
    api.get("/contact")
    .then(res=> console.log("contact response", res))
    .catch(err=> console.log("contact err", err))
  }

返回:

const app = require("express")();
const cors = require("cors");
const compression = require("compression")

app.use(cors({ credentials: true, origin: ["http://localhost:3000"] }));
app.use(compression());


app.get('/contact',  (req, res) => {
    res.status(200).json({hello: "world"})
  })

在 chrome 网络选项卡中,我没有内容编码:gzip。如何解决这个问题?

【问题讨论】:

标签: node.js express compression


【解决方案1】:

压缩的默认阈值为 1kb (Source)。如果您的请求小于 1kb,则不会被压缩。

如果需要,您可以修改阈值并将其设置为 0 字节。

app.use(compression({
  threshold: 0
}));

【讨论】:

  • 好酷。不,1Kb 没问题。我只是想检查一切是否正常。
猜你喜欢
  • 1970-01-01
  • 2018-09-17
  • 2013-11-02
  • 2021-09-09
  • 2016-06-29
  • 2013-12-07
  • 1970-01-01
  • 2013-10-23
  • 2022-11-04
相关资源
最近更新 更多