Что такое Middleware, для чего, как реализуется? Назовите основные middleware в Django. Зачем они нужны?
Middleware — это промежуточное программное обеспечение, которое обрабатывает запросы и ответы между сервером и приложением. В Django middleware выполняет различные задачи, такие как обработка аутентификации, управление сессиями и сжатие данных. Основные middleware в Django включают AuthenticationMiddleware, SessionMiddleware, CommonMiddleware и CsrfViewMiddleware, которые обеспечивают безопасность, управление сессиями и другие полезные функции.
Middleware – особый объект, который изменяет входящий запрос или исходящий ответ. Например, добавляет заголовки, делает предварительные проверки. Middleware нужен, когда требуется подвергнуть обработке все запросы приложения.
На уровне языка это объект с методами process_request и process_response. Методы должны вернуть принятый объект (запрос или ответ) для дальнейшей обработки или выкинуть исключение, если что-то не в порядке. В этом случае дальнейшая обработка прекращается.
Чтобы включить Middleware, достаточно добавить путь к нему в кортеж MIDDLEWARE_CLASSES.
Основные middleware:
SessionMiddleware – поддержка сессий. Добавляет в запрос объект sessionCsrfViewMiddleware – проверяет, что POST-запросы отправлены с текущего доменаAuthenticationMiddleware – авторизует пользователя. Добавляет в запрос поле userMessageMiddleware – передает пользователю короткие сообщенияОтметьте свой прогресс