静的ファイルサーバー
静的ファイルまたは埋め込まれたファイルをサービスとして提供するミドルウェアです。詳細なAPIについてはドキュメントを参照してください。
ユースケース
静的ファイルサービスはWebアプリケーションで幅広く利用されています:
- CSS、JavaScript、画像などの静的リソースの提供
- シングルページアプリケーション(SPA)のホスティング
- ドキュメント、メディアファイル、ダウンロードコンテンツの配布
- シンプルなウェブサイトの完全なホスティングソリューションとして
主な機能
StaticDirはローカルフォルダの静的ファイルをサポートします。複数のフォルダリストを引数として指定できます。例:
最初のフォルダに対応するファイルが見つからない場合、次のフォルダを検索します。
StaticDir は圧縮ファイルが存在する場合、優先的に圧縮ファイルを送信します。例えば index.html、index.html.gz、index.html.zst、index.html.br が存在する場合、index.html.gz、index.html.zst、index.html.br は index.html の事前圧縮バージョンと見なされ、リクエスト情報に基づいて対応する圧縮ファイルが送信されます。
rust-embedのサポートを提供します。例:
rust-embedの長所と短所
長所:
- 静的ファイルをバイナリにコンパイルし、デプロイプロセスを簡素化
- 本番環境で静的ファイルを個別に管理する必要がない
- より良いパフォーマンスが得られる可能性(メモリアクセス vs ディスクI/O)
- ファイルが誤って変更されることがなく、より安全
短所:
- アプリケーションバイナリのサイズが増加
- 静的コンテンツの更新にはアプリケーション全体の再コンパイルと再デプロイが必要
- 頻繁に変更される大規模な静的コンテンツには不向き
default設定でデフォルト表示ページを指定できます。with_fallback と fallback を使用すると、ファイルが見つからない場合に指定したファイルで代替できます。これは一部のシングルページアプリケーションで有用です。