2016-01-10 10 views
12

私は〜4KBのデータをプッシュするフェニックスのチャンネルを持っています。そのチャンネルの圧縮をオンにする方法があるかどうかは疑問がありました。フェニックスのチャンネルで圧縮を有効にするにはどうすればよいですか?

私がフェニックスコントローラで作業していたのですが、これはかなり簡単ですが、チャンネルのどこかでこれが可能かどうか調べることができませんでした。

ありがとうございます。

+0

静的コンテンツ(エンドポイント参照)を圧縮するためにgzipを使用できることはわかっていますが、これを何らかの形でチャンネルのエンドポイントに適用できるかどうかはわかりません。 – Wobbley

答えて

3

特定のエンドポイントからの応答に対してgzip圧縮を設定できます。

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

Endersstockeは、エンドポイントの設定作品にhttp: [compress: true]を設定することによって答えとして、WebSocketをするためのイベント。しかし、いくつかの制限があります:

現在のバージョン(1.3.0)以上のフェニックス:カウボーイ(1.1)は、Webソケット用のx-webkit-deflate-frame圧縮のみをサポートしています。私のテストでは、Safariだけがこれらの要求ヘッダーの意味をChromeに送信することがわかりました。あなたは圧縮をまったく経験しません。

したがって、permessage-deflateの圧縮を使用する場合は、カウボーイ2.0まで待つ必要があります。 docs

関連する問題