AppEngine Content-Encoding header 没有出现

AppEngine Content-Encoding header doesn't appear

我正在尝试通过 AppEngine 发送压缩文件,我的功能是

func handleWebGLRequest(w http.ResponseWriter, r *http.Request) {
    c := appengine.NewContext(r)

    blobKey, err := blobstore.BlobKeyForFile(c, "/gs/<path>/WebGL.datagz")
    if err != nil {
        fmt.Fprintf(w, "Problem: cannot find WebGL.data")
        return
    }

    w.Header().Set("Content-Type", "blah/blah/application/octet-stream")
    w.Header().Set("Content-Encoding", "gzip")
    blobstore.Send(w, blobKey)
}

文件已发送,content-type 正确显示在响应 header 和 "blah/blah/application/octet-stream" 中,但 Content-Encoding 从未出现在响应 header 中,这(我认为)是我遇到的其他问题的原因。

有谁知道为什么它不起作用?

(以防万一 - 我正在使用 chrome 检查器查看响应 headers,在这里,源未解析

HTTP/1.1 200 行 Content-Type: blah/blah/application/octet-stream Transfer-Encoding:分块 日期:2015 年 4 月 28 日星期二 06:50:09 GMT 服务器:Google 前端 Alternate-Protocol: 80:quic,p=1)

非常感谢

您无法控制这一点 header,服务器实际上会尝试尽可能频繁地提供 gzip 压缩内容,只要他们确信浏览器会支持它。

How do I serve compressed content?

Google App Engine does its best to serve gzipped content to browsers that support it. Taking advantage of this scheme is automatic and requires no modifications to applications.