6.2 Middleware (CORS, Session, Custom)
9 из 9 шагов пройдено
7 из 7 баллов  получено

В этом разделе мы рассмотрим, как использовать промежуточное программное обеспечение с FastAPI, и покажем вам, как реализовать собственное промежуточное программное обеспечение для повышения функциональности вашего приложения.

Что такое промежуточное программное обеспечение (Middleware) ?

Промежуточное программное обеспечение - это программное обеспечение, которое находится между вашим приложением и веб-сервером, перехватывая запросы и ответы по мере их прохождения. Среднее программное обеспечение может выполнять широкий спектр функций, от регистрации и аутентификации до кэширования и ограничения скорости.

В FastAPI промежуточное программное обеспечение находится перед конечными точками API, обрабатывая запросы и ответы. Когда поступает запрос, он проходит через уровень Middleware, прежде чем достичь конечной точки API. Аналогичным образом, когда ответ готов, он проходит через уровень Middleware, прежде чем быть отправленным обратно клиенту.

 

Встроенное промежуточное программное обеспечение в FastAPI и его функциональные возможности

FastAPI поставляется с несколькими встроенными промежутоточными программами, которые обеспечивают необходимые функции:

  1. CORSMiddleware: Включает необходимые заголовки CORS в исходящих ответах для включения запросов с перекрестным исходным доступом из веб-браузеров.
  2. TrustedHostMiddleware: Проверяет заголовок хоста входящих запросов для предотвращения потенциальных атак заголовка хоста HTTP.
  3. HTTPSRedirectMiddleware:  Проверяет входящие запросы, чтобы они были на HTTPS. В ином случае выполнит редирект.

  4. SessionMiddleware: Реализует подписанные HTTP-сеансы на основе файлов cookie, в которых данные сеанса читаемы, но не редактируются.
  5. GZip Middleware: сжимает ответы для снижения использования трафика, что приводит к более быстрой передаче данных.

Эти встроенные компоненты промежуточного программного обеспечения удовлетворяют общие требования и упрощают процесс разработки. Тем не менее пользовательские Middleware могут расширить эти функции или внедрить совершенно новые в зависимости от ваших конкретных потребностей.

Рассмотрим подробнее их в следующем шаге.


Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Нет обсуждений. Начните первое.