根据 Content-Encoding: gzip
标头显示,您的 Express 应用程序启用了 gzip 压缩,因此在发送到网络之前,响应正文将使用 gzip 进行压缩。传输大小是压缩后的大小,在浏览器中解压缩的大小。Express 在运行时执行此操作,因此即使文件在磁盘上未经压缩,也会在发送到网络之前进行压缩。
关于您的评论的跟进
您并没有发布任何代码,但您的 Express 应用程序很可能使用了 compression 中间件(可能来自您开始使用的模板)。如果是这样,该中间件将使用 mime-db 来确定响应内容类型是否可压缩。在 mime-db 中查找 application/javascript
可以发现它被标记为可压缩:
mimeDb['application/javascript']
{ source: 'iana',
charset: 'UTF-8',
compressible: true,
extensions: [ 'js' ] }
请注意,这里没有涉及.gz
文件扩展名。磁盘上没有.gz
文件,压缩是针对内存中的.js
文件进行的。另请注意,仅设置Content-Encoding: gzip
头而不实际对正文进行gzip编码是不应该做的。这将导致客户端出现编码错误。