http

HTTP

http

HTTP (англ. HyperText Transfer Protocol — «протокол передачи гипертекста») — протокол прикладного уровня передачи данных, изначально — в виде гипертекстовых документов в формате HTML, в настоящее время используется для передачи произвольных данных.

HTTP: алгоритм работы

    • Этап No1: ввод URL

Пользователь вводит адрес нужной веб-страницы в адресную строку браузера или переходит на новую страницу по ссылке.

Обратите внимание: любой URL начинается с http/https. Это говорит браузеру, что для получения информации нужно использовать протокол HTTP.

    • Этап No2: поиск IP

Браузер с помощью DNS, о которой мы рассказывали в одной из наших статей, находит соответствующий введенному доменному имени IP-адрес.

    • Этап No3: отправка HTTP-запроса

После того как браузер установил нужный IP-адрес, он отправляет HTTP-запрос.

Пример HTTP-запроса:

GET/page.html HTTP/1.1

Host: www.styleall.ru

      • с помощью GET браузер как бы демонстрирует, что хочет получить некую информацию в ответ на этот запрос;
      • /page.html — путь к требуемой веб-странице;
      • HTTP/1.1 — используемая версия протокола;
      • www.styleall.ru — доменное имя запрашиваемого ресурса.

Кроме GET, можно использовать и другие методы отправки запросов. Например:

      • POST

При отправке POST-запроса параметры помещаются не прямо в URL, а в тело запроса.

      • HEAD

HEAD-запросы работают так же как и те, что отправляются с помощью метода GET, но клиент получает от сервера не все данные, а только информацию заголовка.

    • Этап No4: отправка HTTP-ответа

Если есть запрос, то должен быть и ответ, верно? Как мы уже разобрали выше, за отправку ответов отвечает сервер.

HTTP-ответ начинается так же, как и запрос, — с используемой версии HTTP:

HTTP/1.1 200 OK

За ним следует код ответа. В примере выше это 200, он означает, что запрашиваемый документ успешно извлечен.

Браузер может отдавать и другие коды, например:

      • Во-первых, 404 — страница не найдена;
      • Во-вторых, 400 — если запрос был сформирован неправильно;
      • В-третьих, 500 — неудачная обработка запроса и другие.

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

Как правило, в большинстве заголовков можно найти такие строки:

      • Content-Type: text/html; charset=UTF-8
      • Content-Length: 258

Content-Type указывает на тип отправляемого в ответ на запрос документа. Чаще всего значением этого параметра является text/html, так как любая веб-страница — это все еще текстовый HTML-файл, даже если она содержит какой-то динамический контент. Бывают и другие типы, например, изображения, скрипты и тому подобное.

В строке Content-Length записывается длина документа в байтах.

    • Этап No5: открывается запрашиваемая страница сайта

Если все шаги выше были выполнены успешно, пользователь увидит нужную ему веб-страницу.

Ghjljk;tybt