学習目的で、HTTP ライブラリを使用せずに Python で 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)
しかし、これはゴミを出力するだけです。私は何を間違っていますか?