Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Apache发送传输编码:启用deflate模块时分块_Python_Apache_Wsgi - Fatal编程技术网

Python Apache发送传输编码:启用deflate模块时分块

Python Apache发送传输编码:启用deflate模块时分块,python,apache,wsgi,Python,Apache,Wsgi,我有一个简单的web.py代码,如下所示,在apache中与mod_wsgi一起部署 导入web URL= “/”,“索引” 类别索引: def GETself: content='hello' web.header'Content-length',lencontent 返回内容 app=web.applicationURL,全局 application=app.wsgifunc 这个网站运行良好,除了一个小问题。打开mod_deflate时,响应被分块,即使它有一个非常小的响应体 响应头 HT

我有一个简单的web.py代码,如下所示,在apache中与mod_wsgi一起部署

导入web URL= “/”,“索引” 类别索引: def GETself: content='hello' web.header'Content-length',lencontent 返回内容 app=web.applicationURL,全局 application=app.wsgifunc 这个网站运行良好,除了一个小问题。打开mod_deflate时,响应被分块,即使它有一个非常小的响应体

响应头

HTTP/1.1 200 OK
Date: Wed, 20 May 2015 20:14:12 GMT
Server: Apache/2.4.7 (Ubuntu)
Vary: Accept-Encoding
Content-Encoding: gzip
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
当mod_deflate关闭时,内容长度标题返回

HTTP/1.1 200 OK
Date: Wed, 20 May 2015 20:30:09 GMT
Server: Apache/2.4.7 (Ubuntu)
Content-Length: 5
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8
我四处搜索过,有人说减少会有帮助,但是这个响应的大小只有5,远远不是它的默认值:8096,所以我认为它不会干扰这个问题

有人说apache发送分块响应是因为它在开始向客户端发送响应之前不知道响应的大小,但在我的代码中,我设置了内容长度

我也尝试过使用Apache/2.2.15 CentOS,结果相同

启用“泄气”模块时,如何设置内容长度?我不喜欢用python压缩内容。

响应内容长度必须反映压缩完成后发送的数据的最终长度,而不是原始长度。因此,mod_deflate必须删除原始内容长度头并使用分块传输编码。在发送压缩数据之前,它能够知道内容长度的唯一方法是在内存或文件中缓冲完整的压缩响应,然后计算长度。缓冲所有压缩内容是不实际的,并且在一定程度上破坏了在响应流化时压缩数据的点

如果您不想为整个站点启用mod_deflate,那么只需在位置块中对特定URL前缀启用mod_deflate