Клиентская часть
то, с чем взаимодействует пользователь в браузере. HTML — разметка, CSS — оформление, JavaScript — интерактивность. DOM — представление страницы в памяти браузера. React/Vue — фреймворки для сборки интерфейса. PWA — приложение ведёт себя как нативное: работает офлайн и устанавливается на устройство.
Протоколы и данные
как клиент и сервер обмениваются данными. HTTP/HTTPS — протокол передачи данных. WebSocket — постоянное двустороннее соединение для чатов и уведомлений в реальном времени. JSON — формат передаваемых данных. AJAX/Fetch — подгрузка данных без перезагрузки страницы.
Серверная часть
принимает запрос и формирует ответ. Node.js, Python, PHP, Java — языки серверной логики. Бизнес-логика — правила и вычисления, ради которых существует приложение. REST API — способ, которым сервер предоставляет свои возможности клиенту.
База данных
хранение и выборка информации. MySQL/PostgreSQL — реляционные БД со строгой структурой таблиц. MongoDB — документная база с гибкой структурой. Redis — быстрое хранилище в памяти для кэша и сессий.
Инфраструктура
где и как приложение развёрнуто и работает. Nginx — принимает запросы, раздаёт статику или перенаправляет их на бэкенд. Docker — упаковывает приложение в контейнер для одинакового запуска на любой машине. Облако — арендованные мощности для хостинга. CI/CD — автосборка, тестирование и доставка обновлений.
Безопасность
сквозной слой, затрагивающий все остальные части. HTTPS/SSL — шифрование трафика. JWT/OAuth — аутентификация и авторизация пользователя. XSS и CSRF — атаки на клиентскую часть. SQL-инъекции — вредоносный код во вводе, попадающий в запрос к базе данных.
Архитектура
как части связаны друг с другом. Клиент-сервер — базовая модель разделения ролей. MVC/MVVM — шаблоны, разделяющие данные, логику и интерфейс. Монолит — всё приложение в одном месте. Микросервисы — то же самое, но разбитое на независимые сервисы.