Які методи HTTP-запитів ви знаєте?
Відкрити окрему відповідьКоротка відповідь
juniorGET — це запит на отримання ресурсів. POST — створення нових ресурсів. PUT, PATCH, DELETE — оновлення та видалення. `fetch('/api', {method:'GET'})`
Повне пояснення
Що це і навіщо HTTP‑методи визначають тип операції над ресурсом. Вони потрібні для розмежування читання, створення, оновлення та видалення даних.
Ключові принципи/терміни
- GET – читання, без побічних ефектів.
- POST – створення нового ресурсу; сервер повертає його ідентифікатор.
- PUT – повне заміщення ресурсу; id вказується у URL.
- PATCH – часткове оновлення; передається лише змінені поля.
- DELETE – видалення ресурсу; повертає статус 204 при успіху.
Як це працює Клієнт формує HTTP‑запит, сервер обробляє його відповідно до методу і повертає статус‑коди (200, 201, 204, 404 тощо).
Практика і реалізація
async function createUser(data: User) {
const res = await fetch('/users', {method:'POST', headers:{'Content-Type':'application/json'}, body:JSON.stringify(data)});
return res.json();
}
Тестування
У Jest можна мокати fetch:
global.fetch = jest.fn(() => Promise.resolve({json: () => Promise.resolve({id:1})}));
Безпека і приватність
- Використовувати HTTPS.
- Перевіряти вхідні дані на сервері, щоб уникнути SQL‑ін’єкцій.
- Для POST/PUT/PATCH застосовувати CSRF‑token.
Оптимізація
- Кешувати GET‑запити за допомогою
Cache-Control. - Для PATCH передавати лише мінімальний набір полів.
Часті помилки
- Використання GET для створення ресурсів.
- Необхідність вказувати
Content-Typeпри POST/PUT/PATCH. - Необроблені 4xx/5xx відповіді.
Cheatsheet
- GET – читання
- POST – створення
- PUT – повне оновлення
- PATCH – часткове оновлення
- DELETE – видалення