Технологии

Что такое Backend и как он работает?

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

Kurmanbek Asanov

Kurmanbek Asanov

20 мая 2024 · 3 минут чтения

Cover

В мире веб-разработки часто упоминают такие термины, как фронтенд и бэкенд. В этой статье мы разберем, что такое бэкенд, какие задачи он решает и почему он важен для работы сайтов и приложений. Мы также рассмотрим пример авторизации с использованием JSON Web Token (JWT).

Основные понятия

Бэкенд (или серверная часть) — это часть веб-приложения или сайта, которая работает на сервере и отвечает за обработку данных, выполнение логики приложения и взаимодействие с базой данных. Если фронтенд — это то, что видит и с чем взаимодействует пользователь (веб-страница, кнопки, формы), то бэкенд — это то, что происходит "за кулисами".

Задачи бэкенда

  • Обработка данных: Бэкенд получает данные от фронтенда (например, через формы или запросы пользователя), обрабатывает их и отправляет обратно на фронтенд.
  • Хранение данных: Серверная часть управляет базами данных, где хранятся все важные данные приложения, такие как информация о пользователях, товарах, заказах и так далее.
  • Авторизация и аутентификация: Бэкенд отвечает за проверку личности пользователей, управление сессиями и обеспечение безопасности доступа к различным частям приложения.
  • Выполнение бизнес-логики: Все правила и процессы, необходимые для работы приложения, реализуются на бэкенде. Например, расчет стоимости товаров в корзине, проверка наличия товара на складе и обработка платежей.

Компоненты бэкенда

  • Серверы: Компьютеры, на которых работают приложения. Серверы могут быть физическими машинами или виртуальными (в облаке).
  • Базы данных: Места для хранения данных. Существуют различные виды баз данных, такие как реляционные (например, MySQL, PostgreSQL) и нереляционные (например, MongoDB).
  • API: Интерфейсы для взаимодействия между различными частями приложения. API (Application Programming Interface) позволяют фронтенду и бэкенду обмениваться данными.
  • Языки программирования: Бэкенд-разработчики используют различные языки программирования, такие как Python, Java, JavaScript (Node.js), Ruby и другие.
Cover

Примеры использования бэкенда

  • Электронная коммерция
  • В интернет-магазине бэкенд управляет каталогом товаров, обработкой заказов, расчетом стоимости доставки и управлением пользователями. Он также обрабатывает платежи и взаимодействует с платёжными системами.
  • Социальные сети
  • В социальных сетях бэкенд отвечает за хранение профилей пользователей, управление друзьями, обработку сообщений и новостных лент. Он также обрабатывает мультимедийные файлы, такие как фотографии и видео.
  • Онлайн-банкинг
  • В банковских приложениях бэкенд выполняет сложные расчёты, управляет счетами и транзакциями, обрабатывает платежи и обеспечивает высокий уровень безопасности.
  • Медицинские системы
  • В системах здравоохранения бэкенд управляет медицинскими записями, назначениями врачей, обработкой страховых данных и взаимодействием с лабораториями.

Пример работы бэкенда

Пример 1: Покупка в интернет-магазине

Представим интернет-магазин. Пользователь добавляет товар в корзину и нажимает кнопку "Купить". Что происходит на бэкенде?

  • Фронтенд отправляет запрос на сервер с информацией о заказе.
  • Сервер принимает запрос и передает данные в приложение.
  • Приложение проверяет наличие товара, рассчитывает общую стоимость заказа и создает запись о заказе в базе данных.
  • Если все проверки прошли успешно, сервер отправляет подтверждение заказа на фронтенд.
  • Фронтенд показывает пользователю сообщение об успешном оформлении заказа.
Cover

Пример 2: Авторизация пользователя с использованием JWT

Рассмотрим процесс авторизации пользователя с использованием JSON Web Token (JWT).

  • Ввод данных: Пользователь вводит свой логин и пароль в форме на странице входа и нажимает кнопку "Войти".
  • Отправка данных на сервер: Фронтенд отправляет эти данные (логин и пароль) на сервер в виде запроса.
  • Проверка данных:
  • Сервер принимает запрос и передает данные в приложение.
  • Приложение ищет в базе данных пользователя с указанным логином.
  • Если пользователь найден, приложение проверяет, соответствует ли введенный пароль паролю, хранящемуся в базе данных (обычно пароли хранятся в зашифрованном виде).
  • Создание JWT:
  • Если пароль верный, сервер создает JWT. Этот токен содержит зашифрованную информацию о пользователе и имеет срок действия.
  • Токен подписывается секретным ключом, чтобы обеспечить его подлинность.
  • Отправка JWT на фронтенд: Сервер отправляет JWT на фронтенд. Фронтенд сохраняет токен, обычно в локальном хранилище (Local Storage) или куки.
  • Доступ к защищенным ресурсам:
  • При каждом следующем запросе на сервер (например, при переходе на другую страницу) фронтенд отправляет токен в заголовке запроса.
  • Сервер проверяет токен, чтобы удостовериться, что запрос исходит от авторизованного пользователя.
  • Если токен действителен, сервер разрешает доступ к запрашиваемым ресурсам.

7. Вот и сам JWT:

Cover

Заключение

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

Kurmanbek Asanov

Kurmanbek Asanov

10 читателей отметили статью полезной

Комментарии

0
В
Будьте вежливы и по делу