用金字塔压缩所有HTTP流量
我正在创建一个基于Pyramid框架的移动服务。因为它是移动的,所以减少带宽使用的一切都是对的。我正在考虑压缩所有流量,甚至是动态HTML页面。
金字塔框架为此提供了什么样的挂钩?还是有用于任务的WSGI中间件?我想仍然在Python级别上执行此操作,而不是Nginx /
Apache,因此我可以更好地统计gzip给受益人带来了多少。
-
首先,我要强调您应该在Web服务器级别(nginx或apache)上执行此操作。有几个原因:
-
性能-如果在Python中执行此操作,则使用的线程之一可能正在处理执行CPU密集型压缩的请求。这比允许优化的Web服务器处理它的效率低。
-
阻止-大多数GZip中间件都会阻止您的响应,缓冲正文,以便它可以压缩整个响应。如果您尝试将任何响应流回客户端,这将是一个 很大的 问题,因为它将被中间件捕获。这实际上违反了WSGI规范PEP333。
考虑到所有这些,至少在开发过程中出于调试目的,在Python中执行此操作可能很有意义。
由于您已经在使用Pyramid,因此您已经安装了Paste。因此,您可以简单地将
paste.gzipper.GzipMiddleware
象这样添加到应用程序的管道中:[filter:gzip] use = egg:Paste#gzip compress_level = 6 [pipeline:main] pipeline = gzip app
显然,如果您不想将压缩级别从默认值6更改为,您只需将其添加
egg:Paste#gzip
到管道中即可代替配置过滤器并为其指定自定义名称(gzip
)。 -
-
用Java算法制作直角金字塔
2021-01-31 关注 0 浏览95 1答案
-
什么是金字塔买入和金字塔卖出法?如何运用?
2021-04-15 关注 0 浏览104 1答案
-
金字塔流反应体
2021-01-31 关注 0 浏览117 1答案
-
金字塔流响应体
2021-01-29 关注 0 浏览81 1答案
-
金字塔和.ini配置
2021-01-29 关注 0 浏览69 1答案
-
金字塔授权的存储项目
2021-01-29 关注 0 浏览119 1答案
-
简述金字塔的艺术特色
2021-04-29 关注 0 浏览75 1答案
-
什么是测试金字塔?当我们在谈论HTTP API时如何实施它?
2020-03-16 关注 0 浏览509 1答案
-
金字塔最小路径之和
2021-10-21 关注 0 浏览90 1答案
-
需求金字塔包括哪些:
2021-09-18 关注 0 浏览199 1答案