Коротка відповідь
juniorHTTP‑статуси – це числові коди, що описують результат запиту. Вони розділені на групи: 1xx – інформативні, 2xx – успішні, 3xx – перенаправлення, 4xx – клієнтські помилки, 5xx – серверні помилки. Найпоширеніші: 200 OK, 201 Created, 301 Moved Permanently, 400 Bad Request, 404 Not Found, 500 Internal Server Error.
Повне пояснення
Що це і навіщо HTTP‑статуси – числові відповіді сервера, що сигналізують про стан обробки запиту. Вони потрібні для синхронізації клієнта і сервера, визначення подальших дій.
Ключові принципи/терміни
- 1xx – інформативні (наприклад, 100 Continue)
- 2xx – успішні (200 OK, 201 Created)
- 3xx – перенаправлення (301 Moved Permanently, 302 Found)
- 4xx – помилки клієнта (400 Bad Request, 401 Unauthorized, 404 Not Found)
- 5xx – помилки сервера (500 Internal Server Error, 502 Bad Gateway)
Як це працює Після отримання HTTP‑запиту сервер формує відповідь, вибираючи код за результатом логіки обробки. Клієнт читає код і вирішує, чи повторювати запит, перенаправлятися або показувати помилку.
Практика і реалізація
У Node.js/Express: res.status(404).send('Not Found');
У React‑Query: queryClient.invalidateQueries(['posts']); після отримання 401.
Тестування Jest + Supertest:
const request = require('supertest');
it('returns 200', async () => {
const res = await request(app).get('/api');
expect(res.statusCode).toBe(200);
});
Безпека і приватність
Не розголошувати внутрішні помилки через 500; використовуйте загальний Internal Server Error і логування.
Оптимізація
Кешуйте 200‑повіді з Cache-Control; використовуйте 304 Not Modified для ресурсів, що не змінилися.
Часті помилки
- Відсутність
Content-Typeу відповіді - Неправильний код 404 замість 403
- Перевантаження сервера через 5xx без ретрансляції
Cheatsheet
- 200 OK – успішний GET/POST
- 201 Created – новий ресурс
- 204 No Content – успішний DELETE
- 301/302 – перенаправлення
- 400 Bad Request – синтаксична помилка
- 401 Unauthorized – автентифікація потрібна
- 403 Forbidden – доступ заборонено
- 404 Not Found – ресурс не знайдено
- 500 Internal Server Error – внутрішня помилка сервера