Типові задачі
- Аутентифікація та авторизація — перевірити токен до виконання дії
- Rate limiting — обмежити кількість запитів від IP
- Логування — записати деталі запиту/відповіді
- CORS — додати заголовки для cross-origin запитів
- Стиснення відповіді — gzip перед відправкою
Патерн «ланцюжок обробників»
Кожен middleware реалізує один метод: отримай запит, зроби своє, передай далі. Якщо умова не виконана — поверни відповідь і перерви ланцюжок. Цей патерн незалежний від фреймворку і однаково реалізований у PHP, Python (WSGI), Node.js (Express) та Go.