Принципы REST, коды ответов
REST — архитектурный стиль построения API поверх HTTP, где данные представлены как ресурсы (существительные: /users, /orders), а действия над ними — через HTTP-методы (см. тему «HTTP / HTTPS»).
GET /api/users — получить список пользователей
GET /api/users/5 — получить пользователя 5
POST /api/users — создать нового пользователя
PUT /api/users/5 — полностью заменить пользователя 5
DELETE /api/users/5 — удалить пользователя 5
Правило REST: URL — это существительное (ресурс), а не глагол. /api/createUser — не REST-стиль, правильно — POST /api/users.
Копнуть глубже
Коды ответов HTTP — стандартные группы:
| Диапазон | Значение | Примеры |
|---|---|---|
2xx | успех | 200 OK, 201 Created, 204 No Content |
3xx | перенаправление | 301 Moved Permanently |
4xx | ошибка клиента | 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found |
5xx | ошибка сервера | 500 Internal Server Error |
401 vs 403 — частая путаница. 401 Unauthorized — «я не знаю, кто ты» (не прошёл аутентификацию, нет или неверный токен). 403 Forbidden — «я знаю, кто ты, но тебе сюда нельзя» (прошёл аутентификацию, но не хватает прав/роли). Это разные ситуации, и правильный выбор кода важен для клиента — по 401 клиент понимает «нужно перелогиниться», по 403 — «у меня нет доступа, логин тут ни при чём».
Шесть принципов настоящего REST (часто упрощают на практике): клиент-сервер разделены, отсутствие состояния на сервере (stateless), кэшируемость ответов, единый интерфейс, слоистая система, и опционально код по требованию. В реальных API строго следуют не всем — главное на практике: понятные URL-ресурсы, правильные HTTP-методы и коды ответов.
• разницу 401 и 403 и основные группы кодов ответа (если дошёл до 2-го слоя).