Остались вопросы?
Мы с удовольствием вам поможем
Спасибо! Ваша заявка принята.
Ваша заявка принята. Наш менеджер скоро с вами свяжется
Заказать звонок
Спасибо! Ваша заявка принята.
Спасибо за обращение.
Мы обязательно свяжемся с вами

Время работы офиса
Пн-Пт: 8:00 — 18:00
Сб: 10:00 — 16:00
Вс: выходной
администрирование

Методы, заголовки и коды состояния — рассказываем о ключевых элементах HTTP-запросов

Пользователи взаимодействуют с сайтами, приложениями и другими сервисами при помощи HTTP-протокола. Рассказываем, как это работает и какие при этом используются элементы HTTP-запросов.
Никита Лебедь
01.04.2025
10 мин. читать


Структура HTTP-сообщений

HTTP (HyperText Transfer Protocol) — это протокол передачи данных, при помощи которого пользователи взаимодействуют с различными ресурсами. Для этого используется клиент-серверная структура, где: 

  • клиент — это устройство и программное обеспечение, с которых пользователь отравляет запрос;

  • сервер — программно-аппаратное устройство, обрабатывающее этот запрос. 

HTTP-сообщения состоят из стартовой строки, заголовков, пустой строки и опционально — тела сообщения. Стартовая строка содержит методы, URL, версию протокола, код статуса и другие элементы. 

Допустим, пользователь запускает на телефоне сайт — это уже запрос. А затем он заполняет форму заявки, например на странице администрирования, и отправляет данные на сервер. Тогда тело HTTP-сообщения будет включать соответствующую информацию: ФИО, почту и номер телефона. 

Сервер обрабатывает запрос и затем выдает определенный ответ с аналогичной структурой: стартовой строкой, заголовками и телом сообщения. Первая строка ответа — строка статуса — содержит версию протокола, код состояния и пояснение.


Методы HTTP-запросов 

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

  • GET. Используется при чтении данных, например открытии страниц сайта или просмотре разделов приложения. 

  • POST. Применяется для отправки данных на сервер, например заполненных форм, или загрузки изображений и PDF-файлов. 

  • HEAD. Если GET в ответ на свой запрос ожидает сообщение с заголовком и телом, то HEAD запрашивает только заголовки. Благодаря этому можно узнать размер ресурса до его загрузки. 

  • PUT. Используется для обновления текущих и создания новых файлов на сервере. В отличие от POST обновляет данные, а не создает их копии. Например, с помощью PUT можно изменить документы или информацию о пользователях.

  • DELETE. Удаляет файлы с сервера. Требует осторожного применения и внимательной настройки, так как может привести к потере критически важных данных и использоваться злоумышленниками при эксплуатации уязвимостей сервиса.

  • OPTIONS. Запрашивает информацию о сервере, например о поддерживаемых HTTP-методах.

  • PATCH. Обновляет данные. В отличие от PUT позволяет сделать это частично, а не целиком. 


Адрес ресурса 

В HTTP-запросах URL содержит адрес страницы и другие параметры. 

Scheme — указывает формат протокола и выражается двумя наклонными чертами ://. Напомним, если на ресурсе установлен SSL-сертификат, то к протоколу добавляется буква s, и он принимает вид https://

Host — указывает домен или IP-адрес ресурса. 

Port — содержит номер порта. Если этот параметр не задан, указывает значение по умолчанию для версии протокола: например, 80 — для http://

Path — содержит путь к конкретной странице ресурса. Например, /service/solutions/administration/ — это путь в адресе нашей услуги IT-сопровождения. Если поле Path не задано, сервер укажет индексную страницу index.html или другое значение по умолчанию. 

Query String — параметр URL, который начинается со знака вопроса (?) и указывается в формате «ключ-значение». Например, это могут быть utm-метки рекламной компании: ?utm_source=site&?utm_campaign=best_product


HTTP-заголовки

Заголовок выражается в формате «ключ-значение» c разделением двоеточием. Название заголовка не чувствительно к регистру, однако каждое его слово принято писать с большой буквы:

  • Host: example.com

  • Accept-Language: en-US 

Один запрос может содержать несколько заголовков. Они решают различные задачи и бывают разных типов.

Заголовки запроса (Request Headers). Отправляются клиентом и предоставляют определенную информацию.

  • Host — указывает адрес ресурса: домен или IP.
  • Accept — сообщает, какие типы медиаконтента могут быть обработаны на стороне клиента.
  • User-Agent — предоставляет информацию о клиенте: например, сведения о браузере и его версии, а также об операционной системе. 
  • Authorization — используется при передачи учетных данных для аутентификации.
  • Cookie — передает данные о куках, сохраненных клиентом. Содержит пары формата куки — значения, которые используются как идентификатор, а также для других целей. Например, для сбора предпочтений и отслеживания сессий.

Заголовки ответа (Response Headers). Отправляются сервером в ответ на запрос.

  • Content-Type — указывает тип содержимого, передаваемого сервером (например, text/html, application/json).
  • Set-Cookie — устанавливает cookie.

Общие заголовки (General Headers). Используются в запросах и ответах.

  • Date — указывает дату и время генерации заголовка.
  • Connection — указывает, как следует обрабатывать соединение.

Заголовки сущности (Entity Headers) — описывают содержимое тела сообщения.

  • Content-Length — указывает размер тела в байтах. 
  • Content-Encoding — указывает кодировку содержимого, например gzip. 
  • Last-Modified — указывает дату и время последнего изменения ресурса.


Коды состояния

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

  • 100—199 — информационные;

  • 200—299 — сообщают об успешной обработке запроса;

  • 300—399 — информируют о перенаправлении;

  • 400—499 — сообщают об ошибках на стороне клиента. 

  • 500—599 — отправляются при сбоях на стороне сервера. 

Самое распространенные ошибки 4XX и 5XX можно исправить самостоятельно. Как это сделать, подробно рассказали здесь. А пока напомним о сервисах, с которыми вы сможете обеспечить высокую доступность и производительность вашим онлайн-проектам.

Хостинг с технической поддержкой 24/7. Виртуальный хостинг, облако или выделенный сервер — где бы вы ни разместили онлайн-проект, наши специалисты помогут разобраться с техническим вопросом, даже если вы оставите заявку ночью, в выходные или праздники. 

Администрирование серверов. Сэкономьте на самостоятельном обслуживании IT-инфраструктуры. Закажите услугу администрирования, и наши специалисты обеспечат вашим серверам круглосуточный мониторинг и диагностику ошибок, что позволит заранее предотвращать сбои в работе онлайн-проекта. А еще вы получите 250 Гб дискового пространства для резервных копий, которое всегда можно расширить. 

Объектное хранилище S3. Храните медиаконтент проекта и другие неструктурированные данные в гибком и экономичном облачном сервисе. А для работы с чувствительной информацией используйте аттестованное S3-хранилище. Подробнее о сценариях использования S3 рассказали здесь




Поделиться:
Подпишитесь на email-рассылку!

Будьте в курсе новостей. Отправляем полезные письма каждый месяц.

Пожалуйста, введите адрес электронной почты
Пожалуйста, подтвердите согласие с условиями обработки персональных данных.
article mailing picture
Вы подписались на нашу рассылку!

Скоро вы получите новое письмо.

article mailing picture