【发布时间】:2014-07-24 01:48:11
【问题描述】:
我正在尝试将 gzip 压缩添加到我在 D 中编写的 HTTP 服务器。这是执行 gzip 编码的代码。
if ((Info.modGzip) & (indexOf(client.getRequestHeaderFieldValue("Accept-Encoding"),"gzip") != -1)){
writeln("gzip");
auto gzip = new Compress(HeaderFormat.gzip);
client.addToResponseHeader("Content-Encoding: gzip");
client.sendHeader("200 ok");
while (0 < (filestream.readBlock(readbuffer))){
client.client.send(gzip.compress(readbuffer));
}
client.sendData(gzip.flush(Z_FINISH));
delete gzip;
} else {
writeln("no gzip");
client.sendHeader("200 ok");
while (0 < (filestream.readBlock(readbuffer))){
client.client.send(readbuffer);
}
delete filestream;
}
但是当我在 Firefox、Internet Explorer 和 chrome 上测试它时说编码或压缩不好。为什么?数据使用 gzip 压缩。
【问题讨论】: