Проверяет понимание семантики HTTP-методов GET и DELETE и их допустимого использования для передачи данных.
HTTP-методы определяют намерение клиента по отношению к ресурсу. GET предназначен для безопасного получения данных: он не должен изменять состояние сервера и не должен иметь побочных эффектов. DELETE, наоборот, указывает на удаление указанного ресурса. Эти методы имеют четкие контракты, которые ожидают серверы, прокси и кэширующие системы.
Формально GET может содержать тело запроса, но спецификация HTTP не определяет его семантику, и многие серверы, прокси или браузеры игнорируют или отбрасывают тело GET. Обычно данные передаются через query-параметры в URL, но это ограничивает длину и видимость данных (они попадают в логи). Если нужно передать большие или чувствительные данные, лучше использовать POST или PUT.
// Пример GET с query-параметрами
fetch('/api/search?q=javascript&limit=10')
.then(response => response.json())
.then(data => console.log(data));
// Попытка отправить тело в GET (нестандартно)
fetch('/api/data', {
method: 'GET',
body: JSON.stringify({ key: 'value' }) // может быть проигнорировано
});DELETE обычно не возвращает тело ответа, только статус-код (например, 204 No Content или 200 OK). Если нужно вернуть удаленный объект или подтверждение, можно использовать 200 с телом, но это не обязательно. Для получения данных всегда используйте GET, а DELETE — только для удаления.
// DELETE запрос
fetch('/api/users/123', { method: 'DELETE' })
.then(response => {
if (response.status === 204) {
console.log('Ресурс удален');
}
});Итог: Хотя технически возможно нарушить стандарты, это приводит к непредсказуемому поведению и проблемам совместимости. Всегда следуйте семантике HTTP-методов, чтобы создавать надежные и предсказуемые API.
Уровень
Рейтинг:
4
Сложность:
3
Навыки
JavaScript
Networks
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию