我在 Python 中创建了一个 HTTP 服务器,没有任何用于学习的 HTTP 库。现在它可以很好地提供静态文件。
我提供文件的方式是通过这段代码:
with open(self.filename, 'rb') as f:
src = f.read()
socket.sendall(src)
但是,我想通过发送压缩数据而不是未压缩数据来优化其性能。我知道我的浏览器 (Chrome) 接受压缩数据,因为它在标题中告诉我
Accept-Encoding: gzip, deflate, sdch
所以,我把我的代码改成了这个
with open(self.filename, 'rb') as f:
src = zlib.compress(f.read())
socket.sendall(src)
但这只会输出垃圾。我究竟做错了什么?