【问题标题】:How to view brotli compressed files on browser?如何在浏览器上查看 brotli 压缩文件?
【发布时间】:2019-04-07 16:01:08
【问题描述】:

我正在尝试静态提供 brotli 压缩文件。我能够使用此代码压缩文件:

// node.js
const compressStream = require("iltorb").compressStream;
const fs = require("fs");

const wrr = fs.createWriteStream("index-b.html");

fs.createReadStream("index.html")
  .pipe(compressStream())
  .pipe(wrr);

所以现在index-b.html 文件被压缩了。但是如何在浏览器上看到呢?

当我进入那个页面时,我看到的是这样的:

我以为浏览器会理解这是一个 brotli 编码文件。但它没有。当我查看响应标头时,

HTTP/1.1 200 OK
server: ecstatic-3.3.1
cache-control: max-age=3600
last-modified: Sat, 06 Apr 2019 17:27:32 GMT
etag: W/"281474976993459-334-2019-04-06T17:27:32.047Z"
content-length: 334
content-type: text/html; charset=UTF-8
Date: Sat, 06 Apr 2019 17:36:49 GMT
Connection: keep-alive

没有设置编码。我该如何解决这个问题?

【问题讨论】:

  • 显示其余的 Node.js 代码。
  • 没有任何剩余代码。我将该压缩文件放在一个文件夹中,并在该文件夹中启动了一个带有http-server 的服务器。然后进入浏览器。 @BarryPollard

标签: node.js server compression brotli


【解决方案1】:

您正在使用http-server,这是一个非常简单的 HTTP 服务器,不允许您显式设置内容编码。

好像有an issue raised to add Brotli support,但是还没有完成。即使是这样,它也只是用于提供静态的、预压缩的文件(假设它的实现方式与 --gzip 选项相同)。

要使用你想要的动态 brotli,你必须使用普通的节点 http.createServer 代码或类似 express 的东西。

【讨论】:

    猜你喜欢
    • 2023-03-18
    • 2023-04-05
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-16
    • 2023-02-08
    • 2012-01-05
    相关资源
    最近更新 更多