本多さん ありがとうございます
現状、Node.jsなどのアプリケーションがファイルダウンロードを実装するのは、主に以下の2パターンが考えられます。 > > 1. データベースのデータをCSV出力する場合など、データを動的に作成してダウンロードする場合 > 2. 認証されたユーザにのみ指定の静的ファイルをダウンロードさせる場合 > > 1番のケースは、大津さんの提示された方法(+ Streamのバッファサイズの調整やcluster化)で対応します。 > > 2番のケースの場合なら、別のアプローチがあって、 > Reverse Proxy に Nginx がいる前提になりますが、認証のみを Node.js のアプリで実装して、 > あとは X-Accel-Redirect ヘッダを付与して、レスポンスを返してあげれば良いです。 > 最終的にやりたいことは 1.のケースに該当する、DBから取得した小さいテキストデータをJSONで返す。 2.のケースに該当する、静的な画像ファイルを認可させてダウンロードさせる で、整理していただいた内容どおりです。 悩ましいのは2のケースで、さばききれるならnodeだけでも良いと考えており、この質問の発端になっています。 いろんな要因、要求によってケースバイケースだと思いますので、nodeの静的コンテンツ用のモジュールや、nginxなどいろいろ評価して決めたいと思います。 --