如何在Phoenix中的通道上启用压缩?

时间:2016-01-10 21:36:12

标签: elixir phoenix-framework

我在凤凰城有一个频道可以推出大约4KB的数据,很多都是高度重复的,并且想知道是否有办法打开该频道的压缩。

如果我正在使用凤凰控制器,这看起来相当简单,但是我无法确定这是否可行或在某个地方为某个频道记录。

非常感谢。

2 个答案:

答案 0 :(得分:4)

您可以为来自特定端点的响应配置gzip压缩。

config :app_name, AppName.Endpoint,
  http: [compress: true]

答案 1 :(得分:3)

正如Endersstocke在端点配置中设置http: [compress: true]所述,websockets的事件。但是有一些限制:

Phoenix目前的版本(1.3.0)或更具体:牛仔(1.1)仅支持对websockets进行x-webkit-deflate-frame压缩。根据我的测试,我发现只有Safari在Chrome上发送这些请求标题含义,您根本不会遇到任何压缩。

因此,如果您希望进行permessage-deflate压缩,则必须等到牛仔2.0。见docs