我正在编写一个简单的本地HTTP服务器。当浏览器访问“localhost:port / path”时,服务器端会将相应的本地文件响应给浏览器。
服务器将提供一些额外的功能,例如在通过套接字发送回客户端之前压缩文件。我想知道如何通过脚本压缩本地文件(例如.abc.jpg> abc.jpg.zip)。人们建议使用ES5
或<zlib.h>
但我不知道如何使用它们进行压缩,即使我阅读了手册页。
有人可以给我一些提示吗?
答案 0 :(得分:1)
我认为您应该用于HTTP响应编码的压缩格式为gzip
或zlib
格式,gzip
标题为deflate
或Content-Encoding
。服务器应该只以浏览器接受并可以解码的方式对其进行编码。以下是有关在服务器上压缩数据的more details。
zlib.h
库可以完成压缩工作。其作者有一个detailed tutorail。它在此示例中使用zlib
格式,但使用gzip
并没有太大差异(调用deflateInit2()
而不是deflateInit()
,再次阅读手册将是不可避免的。)
希望有所帮助。