Sails 捆綁了一套慣例 HTTP 中介軟體,隨時可以使用。當然,您可以選擇停用、覆蓋、附加或重新排列它,但對於大多數開發或生產中的應用程式來說,預先安裝的堆疊是完全可以接受的。以下是 Sails 捆綁的標準 HTTP 中介軟體功能列表,它們在伺服器每次收到傳入的 HTTP 請求時的執行順序
HTTP 中介軟體索引 | 用途 |
---|---|
cookieParser * | 將 cookie 標頭解析為乾淨的物件,以便在後續的中介軟體和您的應用程式碼中使用。 |
session * | 根據請求使用者的 cookie 和您的session 設定,為請求使用者代理程式建立或載入唯一的 session 物件 (req.session )。 |
bodyParser | 使用 Skipper 從 HTTP 請求 body 解析參數和二進制上傳串流(用於串流檔案上傳)。 |
compress | 使用 gzip/deflate 壓縮回應資料。詳情請參閱 compression 。 |
poweredBy | 在傳出的回應中附加 X-Powered-By 標頭。 |
router * | 這是您應用程式邏輯的大部分應用於任何給定請求的地方。除了執行 hooks 中的 "before" 處理常式(例如 csrf token 強制執行)和一些 Sails 內部邏輯外,這還使用您應用程式的明確路由(在 sails.config.routes 中)和/或路由藍圖來路由請求。 |
www * | 使用 Connect 的 static 中介軟體,提供您應用程式 "public" 資料夾(在 sails.config.paths 中配置,慣例上是 .tmp/public/ )中的靜態檔案——通常是圖像、樣式表、腳本。 |
favicon | 如果為您的應用程式提供了 瀏覽器 favicon 作為 /assets/favicon.ico ,則提供該圖示。 |
*
: 帶有星號 (*) 的中介軟體幾乎永遠不需要修改或移除。請僅在您真正了解自己在做什麼的情況下才這樣做。