Sobes.tech
Junior
108
questionbank

Что такое коды ответа HTTP и в чем заключается их отличие друг от друга?

Ответ от нейросети

sobes.tech AI

HTTP-коды ответа — это трехзначные числа, возвращаемые сервером в ответ на запрос клиента. Они указывают на статус обработки запроса и предоставляют информацию о том, успешно ли он выполнен, возникла ли ошибка или требуется дополнительное действие.

Коды делятся на пять классов:

  • 1xx (Информационные): Запрос принят, обработка продолжается.
  • 2xx (Успешные): Запрос успешно получен, понят и обработан.
  • 3xx (Перенаправления): Клиенту необходимо выполнить дальнейшие действия для завершения запроса.
  • 4xx (Ошибки клиента): Запрос содержит синтаксическую ошибку или не может быть выполнен.
  • 5xx (Ошибки сервера): Сервер не смог выполнить запрос.

Отличия между кодами заключаются в их семантике, относящейся к различным этапам обработки запроса и возможным исходам.

Примеры часто используемых кодов:

Код Описание Класс
200 OK Успешные
201 Created Успешные
301 Moved Permanently Перенаправления
302 Found Перенаправления
400 Bad Request Ошибки клиента
401 Unauthorized Ошибки клиента
403 Forbidden Ошибки клиента
404 Not Found Ошибки клиента
500 Internal Server Error Ошибки сервера
503 Service Unavailable Ошибки сервера
// Пример обработки HTTP-ответа в JavaScript
fetch('/api/data')
  .then(response => {
    if (response.ok) { // Проверка на успешный статус (2xx)
      return response.json();
    } else {
      // Обработка ошибок на основе кода статуса
      console.error(`Ошибка HTTP: ${response.status}`);
      if (response.status === 404) {
        console.error('Ресурс не найден.');
      }
      throw new Error(`Ошибка HTTP: ${response.status}`);
    }
  })
  .then(data => {
    console.log('Данные получены:', data);
  })
  .catch(error => {
    console.error('Ошибка загрузки данных:', error);
  });