раздел 06
Передача данных
До сих пор мы говорили, где данные лежат. Теперь - как они путешествуют. Когда у вас есть фронтенд в браузере и база на сервере, между ними нужен мост: способ попросить данные и получить их обратно. Этот мост - API, а по нему чаще всего ездит JSON.
Хранение и передача - разные роли
Легко смешать, но это две разные вещи:
- Хранение - данные покоятся: в файле, в базе. Никто их не трогает.
- Передача - данные в движении: едут от сервера к браузеру, от приложения к приложению.
Типичная картина: данные хранятся в PostgreSQL на сервере, а когда нужны браузеру - передаются по сети в виде JSON. То есть JSON тут уже не файл на диске, а формат «упаковки» данных для отправки.
Почему нельзя просто читать чужую базу напрямую
Возникает вопрос: если данные в базе на сервере, почему браузер не подключится к ней сам? Из-за безопасности и контроля. Пустить кого угодно напрямую в базу - значит отдать ему все данные и право их менять. Поэтому между базой и внешним миром ставят прослойку - бэкенд с API. Он решает, что можно отдать, что записать, кто имеет право.
[ Браузер ] <-- JSON по HTTP --> [ Бэкенд + API ] <-- SQL --> [ База данных ]
фронт передача сервер хранение
Что такое бэкенд и фронтенд
- Фронтенд - то, что видит пользователь: страница в браузере, экран приложения. Живёт на устройстве пользователя.
- Бэкенд - программа на сервере: принимает запросы, ходит в базу, считает, отдаёт ответ. Пользователь его не видит.
- API - набор «точек входа» бэкенда, по которым фронтенд (или другая программа) запрашивает данные и отправляет свои.
Форматы передачи
По сети данные едут текстом, и формат №1 - JSON: его понимают все языки, он читаемый, он умеет вложенность. Реже встречаются:
- CSV - когда отдают таблицу на скачивание (экспорт в Excel);
- XML - старый формат обмена, ещё живёт в банковских и государственных интеграциях;
- бинарные форматы (Protobuf и подобные) - для высоконагруженных систем, где важна скорость.
Для подавляющего большинства задач вайб-кодинга ответ один: JSON.
Маршрут раздела
На отдельной странице разберём API на пальцах: что такое запрос и ответ, что значат GET и POST, как фронтенд получает данные и куда их отправляет.