group-telegram.com/BalticAnalyst/336
Last Update:
Базовые принципы HTTP
HTTP (HyperText Transfer Protocol) является основой обмена данными для Всемирной паутины. Это независимый от языка программирования протокол, предназначенный для обмена документами (ресурсами: HTML-страниц, изображений, JSON-данных и др.) между приложениями через интернет.
Протокол HTTP используется широким спектром приложений, наиболее известными из которых являются веб-браузеры. Веб-браузер использует протокол HTTP для связи с веб-сервером, на котором размещен сайт. Когда вы набираете URL-адрес например, https://www.ozon.ru/product/987654321/ в адресной строке браузера, он отправляет HTTP-запрос GET product/987654321/ на сервер, где находится ozon.ru, так же как когда потребитель API отправляет запрос на сервер REST API. Ответ, отправленный сервером, содержит код состояния 200 OK, за которым следует HTML-страница, соответствующая URL-адресу.
Браузеры используют этот протокол для извлечения любого типа ресурса (документа): HTML-страниц, CSS-файлов, файлов JavaScript, изображений и любых других документов, которые необходимы веб-сайту. Но это не единственное его использование. Когда вы, например, загружаете фотографию на сайт социальной сети, браузер использует протокол HTTP, но на этот раз для отправки документа на сервер. В этом случае браузер отправляет запрос POST /photos с телом, содержащим файл изображения. Поэтому протокол HTTP также может использоваться для отправки содержимого ресурса.
HTTP-запросы и ответы всегда выглядят одинаково независимо от того, что запрашивается и каков результат обработки запроса (см. схему).
Каким бы ни было его назначение, базовый HTTP-запрос содержит метод HTTP и путь к ресурсу. Метод HTTP указывает, что нужно сделать с ресурсом, который идентифицирует путь. Вы уже видели два HTTP-метода – GET, используемый для получения ресурса, и POST, используемый для его отправки, – позже вы узнаете больше. За этой первой частью запроса может следовать тело с содержимым ресурса, которое необходимо отправить на сервер, например для создания, обновления или замены ресурса. Это содержимое может быть любого типа: документ в формате JSON, текстовый файл или фотография.
Как упоминалось ранее, ответ HTTP, возвращаемый сервером, всегда содержит код состояния и поясняющую фразу. Это указывает на то, как прошла обработка запроса – была ли она успешной или нет. Пока вы видели только один код состояния HTTP, 200 OK, но позже познакомитесь с другими кодами (например, с известным кодом 404 NOT FOUND). За этой первой частью ответа может следовать тело с содержимым ресурса, которым манипулировал запрос. Как и тело запроса, тип этого содержимого может быть любым.
[Метод] [Путь] [Версия протокола]
GET /product/987654321/ HTTP/1.1
Host: www.ozon.ru
Метод: Указывает действие (GET, POST, PUT, DELETE и др.).
Путь: Адрес ресурса на сервере (например, /product/987654321/).
Версия протокола: Обычно HTTP/1.1 или HTTP/2.
Служебная информация для сервера:
User-Agent: Mozilla/5.0
Accept: text/html
Content-Type: application/json
Данные для отправки (используется в POST, PUT). Например, JSON-объект или файл.
Ответ сервера включает:
[Версия протокола] [Код состояния] [Пояснение]
Пример:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1024
Set-Cookie: session_id=abc123
Запрашиваемый ресурс (HTML-страница, изображение) или сообщение об ошибке.
#аналитик #навыкАналитика #API #IT
BY Аналитик на Балтике | Всё о карьере в IT

Share with your friend now:
group-telegram.com/BalticAnalyst/336