Ответ
HTTP (HyperText Transfer Protocol) — это протокол прикладного уровня для обмена данными, чаще всего в формате HTML-документов или JSON, в архитектуре «клиент-сервер».
Любой HTTP-обмен состоит из двух основных частей: запроса от клиента и ответа от сервера.
1. HTTP-запрос (Request) Содержит:
- Стартовая строка (Start Line): Метод (
GET
,POST
,PUT
и др.), URI (путь к ресурсу) и версия протокола (HTTP/1.1
). - Заголовки (Headers): Пары ключ-значение с метаинформацией (
Host
,User-Agent
,Accept
,Content-Type
). - Тело (Body): Опциональные данные, передаваемые на сервер (например, JSON в POST-запросе).
2. HTTP-ответ (Response) Содержит:
- Стартовая строка (Status Line): Версия протокола, код состояния (
200 OK
,404 Not Found
) и его текстовое описание. - Заголовки (Headers): Метаинформация об ответе (
Content-Type
,Content-Length
,Set-Cookie
). - Тело (Body): Запрошенный ресурс (HTML-страница, JSON-объект, изображение).
Пример на Python с библиотекой requests
:
import requests
# Клиент формирует и отправляет HTTP GET-запрос
response = requests.get('https://api.github.com/users/python')
# Анализ HTTP-ответа от сервера
print(f"Статус-код: {response.status_code}") # 200
print(f"Тип контента: {response.headers['Content-Type']}") # application/json; charset=utf-8
# Вывод тела ответа
# print(response.json())