Что такое HTTP
Аналогия: представьте ресторан. Вы (браузер) говорите официанту: «Принесите меню». Официант относит заказ на кухню (сервер) и возвращается с ответом: меню, отказ или «блюда нет».
HTTP — это правила, по которым браузер и сервер разговаривают друг с другом через интернет.
Каждый раз, когда вы открываете сайт, нажимаете «Войти» или отправляете форму, происходит примерно одно и то же:
- Запрос (request) — браузер просит что-то у сервера.
- Ответ (response) — сервер отвечает: данными, ошибкой или подтверждением.
Пример разговора
браузер ↔ сервер
Вы нажали «Открыть профиль»
→ Запрос: GET /profile «дай страницу профиля»
← Ответ: 200 OK + данные профиля
Вы отправили неверный пароль
→ Запрос: POST /login
← Ответ: 401 Unauthorized «доступ запрещён»
Самые частые «слова» запроса
- GET — «покажи / принеси данные» (открыть страницу, список, карточку).
- POST — «создай / отправь» (регистрация, форма, заказ).
- PUT / PATCH — «измени» (обновить профиль).
- DELETE — «удали».
Для новичка главное не запомнить все методы, а понять: сайт почти всегда работает через запросы и ответы, даже если вы этого не видите.
Что такое API
Аналогия: API — это меню и правила заказа. Вам не нужно заходить на кухню: вы говорите понятными фразами («дай список заказов», «создай пользователя»), а система отвечает по договорённости.
API (Application Programming Interface) — способ, которым программы договариваются общаться друг с другом.
Простыми словами: это «окно» или «контракт» между клиентом и сервером (или между двумя сервисами):
- какие запросы можно отправлять;
- по каким адресам;
- в каком формате данные;
- какие ответы ожидать.
Пример
API заказа
Мобильное приложение просит:
→ GET /api/orders «дай мои заказы»
← ответ API: список заказов в формате данных
Сайт создаёт заказ:
→ POST /api/orders + данные заказа
← ответ API: 201 и номер нового заказа
Зачем API нужен
- чтобы сайт, мобильное приложение и админка могли работать с одними и теми же данными;
- чтобы сервисы общались друг с другом (оплата, SMS, аналитика);
- чтобы команда могла менять «кухню», не ломая понятный «меню-контракт».
HTTP — как идёт разговор по сети. API — о чём договорились говорить и какие команды доступны. REST — один из популярных стилей такого API.
Что такое REST
Аналогия: REST — это договорённость, как именно оформлять заказы в ресторане. Не «принеси чего-нибудь», а чётко: «меню», «стол 5», «заказ №12».
REST — популярный стиль построения API поверх HTTP.
Простыми словами: у каждой «вещи» в системе есть адрес, а действие выбирается методом запроса.
GET /users — получить список пользователей
GET /users/42 — получить пользователя №42
POST /users — создать нового пользователя
DELETE /users/42 — удалить пользователя №42
Зачем это тестировщику и новичку
Когда на экране «ничего не произошло», часто проблема не в кнопке, а в ответе сервера: данные не пришли, пришла ошибка или пришёл не тот формат.
REST помогает думать так:
- какой адрес дернули?
- что отправили?
- что получили обратно?
Коды ответов
Аналогия: код ответа — короткий статус от кухни. Не длинное письмо, а быстрый сигнал: «готово», «не так заказали», «кухня сломалась».
Сервер почти всегда отвечает числом из 3 цифр. Запоминать все не нужно — достаточно групп.
2xx
Успех
Всё прошло нормально. Самый частый — 200 OK («всё хорошо»). 201 Created — «создали новую запись».
3xx
Перенаправление
Вас отправили в другое место. Как табличка «касса переехала». Часто бывает после логина.
4xx
Ошибка на стороне запроса
Проблема в том, что попросили. 400 — кривой запрос, 401 — не вошли, 403 — нет прав, 404 — не найдено.
5xx
Ошибка на стороне сервера
Запрос мог быть нормальным, но сервер споткнулся. 500 — «внутренняя ошибка». Это уже зона разработки/инфраструктуры.
Самые полезные коды на старте
- 200 — успех
- 201 — создано
- 400 — неправильный запрос
- 401 — нужна авторизация
- 403 — запрещено
- 404 — страница/данные не найдены
- 500 — ошибка сервера
Правило для новичка: 4xx — чаще «мы/клиент ошиблись», 5xx — «сломалось на сервере».
Что такое DevTools
Аналогия: DevTools — это «рентген» сайта. Снаружи виден красивый интерфейс, а внутри можно увидеть, какие запросы ушли и что вернулось.
DevTools (Developer Tools) — встроенные инструменты браузера для разработчиков и тестировщиков.
Открываются обычно так:
- Windows / Linux: F12 или Ctrl+Shift+I
- macOS: Cmd+Option+I
- или правый клик по странице → «Просмотреть код»
Какие вкладки нужны в первые дни
- Elements / Элементы — из чего собран экран (кнопки, тексты, формы).
- Console / Консоль — сообщения и ошибки JavaScript. Красный текст = тревожный сигнал.
- Network / Сеть — список HTTP-запросов: что ушло на сервер и какой код вернулся.
Вкладка Network
упрощённый вид
200 GET /api/orders список заказов
201 POST /api/orders создали заказ
401 POST /api/login неверный пароль
500 GET /api/report сервер упал
Как смотреть Network без паники
- Откройте DevTools → вкладка Network.
- Обновите страницу или повторите действие (логин, сохранение, поиск).
- Найдите запрос, который связан с действием.
- Посмотрите код ответа: 200 / 400 / 401 / 404 / 500.
- Откройте запрос и загляните в Response — что именно вернул сервер.
Даже если вы не понимаете весь JSON, уже полезно увидеть: «запрос ушёл», «ответил 500», «данных нет».
Мини-практика на 15–20 минут
- Откройте любой сайт (можно softverno.ru).
- Откройте DevTools → Network.
- Обновите страницу и найдите хотя бы один запрос со статусом 200.
- Попробуйте открыть несуществующий адрес, например
/qwerty-test-404, и найдите 404.
- Своими словами запишите: что такое запрос, что такое ответ, чем 4xx отличается от 5xx.
Если можете объяснить это другу без сложных слов — день 3–4 пройден.