Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Express.jsにおけるミドルウェアのイントロダクション | Express.jsによるウェブアプリケーション開発
Node.jsとExpress.jsによるバックエンド開発

bookExpress.jsにおけるミドルウェアのイントロダクション

メニューを表示するにはスワイプしてください

ミドルウェアの理解

ミドルウェアは、リクエストがルートハンドラーに到達する前に処理を行うための仕組み。受信リクエストのフィルターとして機能し、リクエスト-レスポンスサイクル内でさまざまなタスクを実行する方法を提供。ミドルウェア関数は、リクエストオブジェクト(req)、レスポンスオブジェクト(res)、および次のミドルウェアに制御を渡すためのnext関数という3つの引数を取る。

水が流れるパイプを想像。水はパイプの一端から流れ、圧力計やバルブ(これがミドルウェア)を通過して最終目的地であるグラスに到達。この例えで重要なのは、圧力計やバルブの順序が重要であるという点。

同様に、Express.jsのミドルウェア関数は特定の順序で実行されるため、ミドルウェアの登録順序がアプリケーションの機能にとって重要。

ミドルウェアの実例

任意のルートを呼び出す前に、アプリに独自のミドルウェアを組み込む例。

app.use((req, res, next) => {
  console.log('Our middleware');
  next();
});

この関数自体は何もせず、ストリームをそのまま通すだけだが、常にコンソールにメッセージが表示される。

この関数は特定の処理を行うわけではなく、単にストリームをそのまま通過させます。しかし、Express.js のパイプラインにおけるミドルウェアの仕組みを説明するためのものです。この例では、Express.js アプリケーションにリクエストが送信されるたびに、Our middleware がコンソールに出力されます。

ミドルウェアの目的

ミドルウェアは、Express.js アプリケーション内でさまざまな目的に利用できます。

  • ロギング: ミドルウェアは、HTTP メソッド、URL、タイムスタンプなどのリクエスト情報を記録し、サーバーが処理しているトラフィックの把握に役立ちます。
  • 認証: ミドルウェアは、特定のルートにアクセスする前にユーザーが認証されているかを確認できます。これは、アプリケーションの機密部分を保護するためによく使用されます。
  • バリデーション: ミドルウェアは、リクエストデータを処理する前に検証できます。たとえば、POST リクエストで送信されたデータが正しい形式かどうかを確認できます。
  • エラー処理: ミドルウェアは、リクエスト処理中に発生したエラーを捕捉し、処理できます。これにより、予期しない問題が発生してもアプリケーションがクラッシュしないようにします。
  • CORS(クロスオリジンリソースシェアリング): ミドルウェアは、レスポンスに CORS ヘッダーを追加し、異なるドメインからのリクエストを許可または拒否できます。これは、API のセキュリティ確保や、異なるオリジンからのウェブページによるアクセスを可能にするために不可欠です。
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  7

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  7
some-alt