HTTP-протокол простым языком

Жизнь современного человека тяжело представить без использования интернета. Обычный пользователь не задумывается (да и должен ли) на каком протоколе, через какой порт и с помощью каких инструментов запускается его любимый сайт, например, ВКонтактик.

Но любой уважающий себя технический специалист, особенно работающий с сетями интернет, должен разбираться, по крайней мере, в аббревиатурах IP,DNS, OSI, HTTP. Вот последнюю аббревиатуру мы и разберём подробнее.

Рядовой пользователь сам того не зная каждый день использует этот протокол в своей повседневной жизни. Читаешь ли ты книги онлайн, играешь ли в танчики онлайн, листаешь ли ленту ВКонтакте, в любом из этих случаев ты используешь HTTP протокол.

Хотя, HTTP протокол был создан в далёком 1992 году, в настоящее время он активно используется во всемирной паутине для получения информации с веб-сайтов, но уже другой версии HTTP-1.1.

В большинстве случаев данные по протоколу HTTP передаются через TCP/IP –соединения. Как клиент, так и сервер обычно для стабильной работы используют 80-й порт, хотя это и не обязательно, может использоваться любой другой.

HTTPпротокол (HyperTextTransferProtocol) расшифровывается как «протокол передачи гипертекста». Он является протоколом прикладного, 7-го уровня (в соответствии со спецификацией OSI) передачи данных. В основе реализации данного протокола лежит технология «клиент-сервер». Это означает, что есть клиент, например, веб-браузер пользователя, который посылает запрос и сервера, которые принимают запрос от пользователя, обрабатывают его и возвращают результат обратно клиенту.

Самые часто используемые клиенты нашего протокола — это веб-браузеры Google Chrome, MozillaFirefox, Opera, InternetExplorer, Яндекс Браузер и прочие менее известные.

Самые часто используемые серверы нашего протокола это ApacheHTTPServer, CERNhttpd, nginx, lighttod и другие.

Итак, как же клиент отправляет HTTP-запрос?

Прежде всего стоить обратить внимание на то, какие есть общности у каждого сообщения в HTTP протоколе. Это, конечно же, общая структура: статусная строка обязательна для всех сообщений, затем следует заголовок сообщения, где находятся обязательное для заполнение поле Host(в нём записан URL адрес) и необязательное для заполнения тело сообщения или HTTP объект.

Советуем прочитать  Как установить macOS High Sierra Final на VMware (Windows)

Так как же происходит само обращение? Проще всего понять это на реальном примере. Предположим, что вы браузер и ваш пользователь хочет прочитать что-то на сайте http://www.meinfo.ru.

Соответственно вам, как браузеру, нужно подключиться к веб серверу по адресу meinfo.ru.

HTTP протокол клиент-сервер

Это можно сделать с помощью утилиты командной строки, например, telnet:

telnetmeinfo.ru 80, где 80 это порт.

После подключения к серверу, отправляем HTTP-запрос, которые в свою очередь могут состоять всего из двух строчек.

Для формирования HTTP-запроса, нужно составить стартовую строку, кроме того, задать по меньшей мере один заголовок. Как мы выяснили выше, это заголовок Host, который обязательный и должен присутствовать в каждом запросе.

Как выглядят ответы сервера или коды состояния HTTP

Вы наверняка замечали, что когда вы переходите на какой-то сайт или статью на нём, на экране после продолжительной загрузки на весь экран браузера выходит сообщение Ошибка 404 NotFound в различных вариациях, с различными картинками или анимацией. Эта самый популярный ответ сервера означает дословно «Не найдено», в нашем случает страница не найдена, скорее всего была удалена, но ссылка на неё всё ещё присутствует в поиске или на сайте.

Вариантов ошибок или состояний ОК множество, с ними подробнее можно познакомиться в статье Вики.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Advertisment ad adsense adlogger