Sailsは、すぐに使用できる従来のHTTPミドルウェアのスイートをバンドルして提供しています。もちろん、無効化、オーバーライド、追加、または並べ替えを選択できますが、プリインストールされたスタックは、開発中または本番環境のほとんどのアプリケーションで完全に受け入れ可能です。以下は、サーバーが着信HTTPリクエストを受信するたびに実行される順序で、Sailsにバンドルされている標準的なHTTPミドルウェア関数のリストです。
HTTPミドルウェアキー | 目的 |
---|---|
cookieParser * | Cookieヘッダーをクリーンなオブジェクトに解析し、後続のミドルウェアとアプリケーションコードで使用します。 |
session * | Cookieとセッション設定に基づいて、リクエスト元のユーザーエージェントに対して一意のセッションオブジェクト(req.session )を作成またはロードします。 |
bodyParser | Skipperを使用して、HTTPリクエスト本文からパラメータとバイナリアップストリーム(ストリーミングファイルアップロード用)を解析します。 |
compress | gzip/deflateを使用してレスポンスデータを圧縮します。compression の詳細を参照してください。 |
poweredBy | 発信レスポンスにX-Powered-By ヘッダーを添付します。 |
router * | ここで、アプリケーションロジックの大部分が、特定のリクエストに適用されます。フックの"before" ハンドラー(例:CSRFトークンの強制)およびいくつかの内部Sailsロジックを実行することに加えて、これはsails.config.routes 内にあるアプリケーションの明示的なルートや、ルートブループリントを使用してリクエストをルーティングします。 |
www * | 静的ファイル(通常は画像、スタイルシート、スクリプト)をアプリケーションの"public"フォルダ(sails.config.paths で設定され、従来は.tmp/public/ )で、Connectの静的ミドルウェアを使用して提供します。 |
favicon | /assets/favicon.ico として提供されている場合、アプリケーションのブラウザファビコンを提供します。 |
*
: アスタリスク(*)が付いたミドルウェアは、ほとんどの場合変更または削除する必要はありません。本当に理解している場合にのみ行ってください。