Middleware to warstwa pośrednicząca w aplikacji, najczęściej wykonywana między odebraniem żądania od użytkownika a wygenerowaniem odpowiedzi przez aplikację. Termin często pojawia się w aplikacjach webowych i frameworkach backendowych.
Do czego służy middleware?
Middleware może wykonywać zadania wspólne dla wielu części aplikacji, np.:
- sprawdzanie, czy użytkownik jest zalogowany,
- kontrolę uprawnień,
- logowanie żądań,
- obsługę sesji,
- parsowanie danych z formularza lub JSON,
- ochronę przed wybranymi atakami,
- przekierowania.
Jak działa middleware?
Żądanie HTTP przechodzi przez kolejne warstwy pośrednie. Każda z nich może:
- przepuścić żądanie dalej,
- zmodyfikować dane,
- zatrzymać żądanie,
- zwrócić własną odpowiedź.
Przykład działania: użytkownik próbuje wejść do panelu administracyjnego. Middleware sprawdza, czy ma odpowiednie uprawnienia. Jeśli nie, aplikacja może przekierować go do strony logowania.
Middleware a framework
Middleware nie jest frameworkiem. Framework może jednak udostępniać mechanizm middleware i określać, gdzie takie warstwy należy umieszczać w projekcie.
Framework dotyczy organizacji całej aplikacji, natomiast middleware to konkretny element przetwarzania żądania.
W kontekście egzaminu
Jeżeli opis mówi o warstwie pośredniczącej, filtrującej lub obsługującej żądania, chodzi o middleware. Jeżeli opis mówi o narzędziu narzucającym strukturę tworzenia aplikacji, poprawnym terminem jest framework.