HTTP (Hypertext Transfer Protocol) - это протокол прикладного уровня для передачи данных между клиентом (браузером) и сервером. Используется для взаимодействия в World Wide Web.
Основные характеристики:
- Протокол "запрос-ответ": Клиент отправляет запрос серверу, сервер обрабатывает его и посылает ответ.
- Stateless (без сохранения состояния): Сервер не сохраняет информацию о предыдущих клиентских запросах. Каждое взаимодействие является независимым. Для поддержания состояния используются такие механизмы как cookies и сессии.
- Текстовый протокол: Сообщения HTTP содержат поля заголовков и, опционально, тело сообщения, которые представлены в текстовом формате.
- Использует TCP: HTTP обычно работает поверх протокола TCP/IP для обеспечения надежной доставки данных.
Структура HTTP-сообщения:
- Cтрока запроса (для запросов) / Строка состояния (для ответов)
- Заголовки (Header fields)
- Пустая строка (отделяет заголовки от тела)
- Тело сообщения (Message body)
Примеры типовых методов запроса:
- GET: Запрос данных с указанного ресурса.
- POST: Отправка данных на сервер для создания или обновления ресурса.
- PUT: Замена всех текущих представлений целевого ресурса содержимым тела запроса.
- DELETE: Удаление указанного ресурса.
- PATCH: Частичное обновление ресурса.
- HEAD: Запрос заголовков ресурса без получения его тела.
Примеры кодов состояния ответа:
| Код | Категория | Описание |
|---|
| 1xx | Информационные | Запрос получен, продолжается. |
| 2xx | Успех | Запрос успешно обработан. |
| 3xx | Перенаправление | Требуется дальнейшее действие. |
| 4xx | Ошибка клиента | Ошибка в запросе. |
| 5xx | Ошибка сервера | Ошибка на стороне сервера. |
Пример простого HTTP-запроса:
http
Пример простого HTTP-ответа:
http