AppEngine Content-Encoding标头未显示

时间:2015-04-28 06:55:57

标签: google-app-engine blobstore response-headers content-encoding

我正在尝试通过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)
}

文件被发送,内容类型在响应头中正确显示“blah / blah / application / octet-stream”,但Content-Encoding从不在响应头中,我认为这是原因我正在做的其他问题。

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

(如果重要的话 - 我正在使用chrome检查器来查看响应头,这里是源,未解析

HTTP / 1.1 200好的 内容类型:blah / blah / application / octet-stream 转移编码:分块 日期:星期二,2015年4月28日06:50:09 GMT 服务器:谷歌前端 替代协议:80:quic,p = 1)

非常感谢

1 个答案:

答案 0 :(得分:1)

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

  

How do I serve compressed content?

     

Google App Engine尽最大努力为支持它的浏览器提供gzip压缩内容。利用这种方案是自动的,不需要修改应用程序。