ミドルウェアbody-parser:
一般的には、このミドルウェアは、着信HTTPリクエストのボディを解析し、あなたのルートやミドルウェアで利用可能であるreq.body
プロパティを移入します。
body-parser
は、さまざまなタイプのリクエストボディに対して異なるパーサーを提供します。あなたは次のように記述した場合:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
最初app.use()
はJSONボディパーサーを含みます2つ目は、URLエンコード形式のボディパーサーが含まれます。あなたが必要とするパーサーは、サーバーが処理しなければならない要求の種類によって異なります。 extended: false
とextended: true
の違いは、すでにthis answerで説明されています。
ミドルウェアexpress-session:
本ミドルウェアは、あなたの急行アプリでセッションとセッションデータを処理するための簡単な方法を提供します。 2つの構成プロパティーresave
とsaveUninitialized
は、ユーザーのセッション・データを格納する方法に影響します(express-session
)。
例:新しいユーザーがあなたのウェブサイトを訪れたとします。 express-session
は、このユーザーがまだセッションを持っていないことを検出します。そのため、セッションIDとデータのみを含む新しいユーザーが作成されます。 saveUninitialized: true
を設定すると、このセッションは実際のセッションデータを含まずにセッションストアに保存されます。 saveUninitialized: false
は実際にいくつかの値を含むとすぐにセッションを保存します。 (単純に言って)
例:ここで、既存のセッションを持つユーザーがあなたのWebサイトにアクセスしているとします。一部のリソースは要求されますが、ユーザーのセッションデータは変更されません。いずれにしてもresave: true
は変更されていないデータを保存しますが、resave: false
は変更しません。
概要:app.use(expressSession({resave: false, saveUninitialized: false}));
を設定すると、セッションストアがアクセスされる回数が減り、ハードウェアリソースとパフォーマンスに関する利点があります。したがって、ほとんどの場合、それらをfalse
に設定する必要があります。