2011-06-25 17 views
3

だから、接続のgzippoは良いですか?Node.jsの推奨が必要ですGzipの静的リソース

私は(私は表現を使用)、静的なJavaScriptを提供したい場合、私はちょうどそれをgzippoして行うのですか可能な2つの質問、

1)を持っている:

app.use(gzippo.staticGzip(__ dirnameは+ '/ public'));

そうですか?クライアントブラウザがgzipをサポートしていない場合(まれに)それは自動的に圧縮されていないバージョンを送信しますか?また、圧縮ファイルはキャッシュされますか?要求ごとに圧縮するか?

2)アプリのgetメソッドは、JSONを返す場合、圧縮結果を処理するための正しい方法は何ですか?最初にhttp.requestヘッダーの「accept-encoding」をチェックし、gzipをサポートしていることを確認してから、JSON結果を圧縮する必要がありますか?またはgzippoが自動的に処理しますか?


もう一つ質問:私は、パブリックフォルダに(例えばmy.js)と手動でgzip圧縮されたJSファイル(例えばmy.js.gzip)非圧縮のJSファイルがある場合 3)、いずれかになりますクライアントサイドスクリプトが含まれている場合に配信されます

指定する必要がありますか?

node.jsだけでなく、通常のapacheサーバー上でも質問があります。 :)ありがとう。

答えて

3

クライアントのブラウザが表示されない場合は、 gzip(まれに)をサポートしていませんか?それは のバージョンを自動的に解凍する バージョンを送信しますか?この行によると

https://github.com/tomgallacher/gzippo/blob/master/lib/staticGzip.js#L121

if (!~acceptEncoding.indexOf('gzip')) { 
      return pass(filename); 
     } 

これは、非圧縮ファイルを送信します。

また、zip形式のファイルがキャッシュされたのでしょうか?リクエストごとに を圧縮しますか?

//This is storing in memory for the moment, need to think what the best way to do this. 

私はので、私は今、それがメモリにgzipで圧縮されたファイルを保存すると仮定したコメントでこれをお読みください。しかし、さらに重要なことは、クライアント側のキャッシュも使用することです。アプリのgetメソッドは、JSONを返す場合

、 圧縮結果を処理するための正しい方法は何ですか ?私が最初に http.requestヘッダーの 「-encodingを受け入れる」と必ずそれ サポートGZIPを行い、その後、JSON圧縮 結果を確認する必要がありますか?またはgzippoが自動的に を処理しますか?

私はあなたが正しい立つと思います。私はGzippoが他のルートを扱うとは思えませんが、静的なフォルダだけです。


他のいくつかのヒント:

  • =>http://developer.yahoo.com/performance/rules.html#num_httpを展開するときは、すべてのあなたのjs/CSSを組み合わせる必要があります。私はgzippoがこれを既にしているとは思わない。
  • パフォーマンスを向上させるには、CDNを考慮する必要があります。
0

AWS APIGatewayのようなクラウドAPIミドルウェアを使用することを検討してください.GZippingをサポートするいくつかのCDNがあり、いつでもnginxまたはHAproxyを使用して独自のリバースプロキシサーバーを作成できます。ここの箇条書き3を参照してください: http://goldbergyoni.com/checklist-best-practice-of-node-js-in-production/

関連する問題