我正在尝试确定Transferred列和Size列之间的区别。是否与压缩文件和未压缩文件之间的区别有关?
我没有在我的服务器上压缩我的文件(Node.js Express服务器)所以我不知道为什么文件大小会有差异。
答案 0 :(得分:8)
您的快速应用程序已启用gzip压缩,如Content-Encoding: gzip
标头所示,因此响应正文在通过网络发送之前使用gzip进行压缩。传输的大小在压缩时,大小在浏览器中解压缩。 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并不是您想要做的事情。它会导致客户端的编码错误。