Протокол определяющий правила передачи html документов

HTTP: особенности и использование протокола

HTTP – это протокол для передачи информации, который появился на заре Интернета. Спустя десятилетия, он не потерял актуальности, но уже не является безальтернативным вариантом. По сути, данный протокол отвечает за то, получит ли конечный пользователь информацию по своему запросу или нет.

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

Что такое HTTP

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

Нечто похожее мы можем наблюдать и в HTTP протоколе. Обычному человеку вряд ли будет интересен принцип работы страниц сайтов, так как браузер сделает всю работу за него.

Итак, протокол — это совокупность правил, регламентирующих какое-либо мероприятие. В свою очередь, протокол передачи данных — это стандарт, предписывающий правила функциональных блоков в процессе передачи данных.

Теперь поговорим об аббревиатуре HTTP. HyperText Transfer Protocol можно перевести как «протокол передачи гипертекста».

Читайте также:  Css font stretch width

Рассмотрим три определения данного термина, которые раскрывают его с разных сторон.

HTTP протокол — это протокол передачи данных седьмого уровня модели OSI, функционирующий на базе технологии клиент-сервер.

HTTP протокол — это абстракция над третьим и четвертым уровнем эталонной модели, которая расширяет возможности коммуникации между пользователями. На сегодняшний день благодаря этому своду предписаний можно передавать любые данные.

HTTP протокол – это своего рода правила дорожного движения в Сети. При этом в реальности люди нередко нарушают ПДД и не испытывают никаких неудобств, тогда как нарушение правил HTTP приводит к невозможности работы в Интернете.

3 составляющих системы HTTP

HTTP является клиент-серверным протоколом. Иными словами, запрос инициируется либо одной, либо другой стороной — участником обмена (user-agent) (или прокси вместо него). В большинстве случаев таким участником является веб-браузер. Однако в качестве него может выступать любой объект. К примеру, робот, который открывает страницы в Интернете с целью пополнения и обновления данных индексации веб-страниц для поисковых систем.

Клиент: участник обмена

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

В отличие от браузера, сервер обычно не формирует запросы. Но с развитием Интернета появились технологии, которые позволили делать и это.

Для отображения веб-страницы браузер осуществляет отправку начального запроса и получает HTML-документ целевой страницы. Затем программа исследует полученный файл и запрашивает остальные данные, которые нужны для отображения содержания страницы.

Речь идет о исполняемых скриптах, информации о макете страницы (CSS таблицы стилей) и дополнительных ресурсов (изображений и видеофайлов, которые сами по себе не являются составляющими исходного документа, но расположены в других местах Интернета).

После этого браузер объединяет полученные данные. Благодаря этому пользователь может взаимодействовать с одним документом, а не множеством не связанных между собой файлов. Скрипты, которые выполняет браузер, могут принимать дополнительные данные на последующих стадиях обработки страницы (в этом случае программа обновляет страницу для корректного отображения информации).

Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.

Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Александр Сагун - исполнительный директор Geekbrains

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

Подборка 50+ ресурсов об IT-сфере

Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT

ТОП 50+ сервисов и приложений от Geekbrains

Безопасные и надежные программы для работы в наши дни

Веб-страница представляет собой гипертекстовый документ. Иными словами, определенные фрагменты текста имеют ссылки, по которым можно перейти на другие страницы. Делается это, как правило, посредством нажатия кнопки мыши. Благодаря этому вы можете путешествовать по Сети. После нажатия на ссылку браузер формирует другой HTTP-запрос и отображает ответ в читабельной форме.

Веб-сервер

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

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

Один сервер может быть установлен на несколько машин. При этом в некоторых случаях на одном устройстве располагаются сразу несколько серверов. Версия HTTP/1.1 и Host-заголовок позволяют делить даже IP-адрес.

Прокси

Браузер и сервер связываются между собой посредством многочисленных сетевых узлов, которые выступают в качестве передатчиков HTTP сообщений. Из-за слоистой структуры практически всех из них функционируют также на транспортном, сетевом или физическом уровнях. Тем самым они становятся прозрачными на HTTP слое и могут негативно влиять на производительность.

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

  • caching (кеш бывает публичным или приватными, как и в случае с браузером);
  • фильтрация (сканирование антивируса, родительский контроль и т.д.);
  • выравнивание нагрузки (позволяют нескольким серверам обрабатывать различные запросы);
  • аутентификация (контроль доступа к разным ресурсам);
  • протоколирование (позволяют сохранять истории операций).

Структура сообщения и методы HTTP

Сообщение HTTP состоит из трех элементов. Они отправляются в определенном порядке:

  • Starting line — стартовая строка. Обуславливает тип передаваемого сообщения.
  • Headers – заголовки. Описывают тело сообщения, особенности его передачи и прочее.
  • Message Body — тело сообщения. Включает в себя ключевую информацию. Стоит упомянуть, что тело сообщения нужно отделить от заголовков пустой строкой.

При этом стартовая строка является обязательным элементом, тогда как заголовки и тело сообщения могут отсутствовать. Дело в том, что стартовая строка определяет тип запроса — ответа. Однако это не относится к сетевому протоколу HTTP версии 0.9. В этом случае сообщение запроса содержит только стартовую строку, а сообщения ответа — лишь тело.

Метод HTTP представляет собой последовательность из различных символов (помимо символов управления и разделителей, указывающих на главное действие над ресурсом). Чаще всего метод состоит из небольшого английского слова, которое записано заголовочными буквами. Название метода чувствительно к регистру.

Сервер имеет возможность использовать любые методы. При этом не существует методов, которые являлись бы обязательными для сервера или клиента. Допустим, что у сервера не получилось определить метод, который указал клиент. В этом случае ему нужно возвратить статус 501 – «Not Implemented». Если же определение прошло успешно, но результат нельзя применить к конкретному ресурсу, то будет отображено сообщение с кодом 405 — «Method Not Allowed».

Так или иначе, сервер должен вставить в ответное сообщение заголовок «Allow».

В списке находятся поддерживаемые методы. Любой сервер должен работать с GET и HEAD.

GET — используются для запроса содержимого указанного источника. Данный метод также позволяет начать тот или иной процесс. В этом случае тело сообщения должно содержать в себе сведения об этапе выполнения процесса. В свою очередь, клиент может передать параметры исполнения запроса в URL целевого ресурса сразу после символа «?»: GET/path/resource?.

HEAD – используется примерно таким же образом, что и предыдущий вариант. Данный метод отличается лишь тем, что ответ сервера не будет включать в себя тело. Такой запрос применяется с целью извлечения метаданных, проверки существования ресурса (валидация URL). Кроме того, он позволяет понять, имело ли место изменение ресурса после предыдущего запроса. Другой популярный метод — POST.

Порядок работы HTTP протокола

Направление URL в веб-браузере

Для просмотра страниц пользователь применяет то или иное устройство: ноутбук, ПК или смартфон. Важно лишь, чтобы на девайсе было установлено приложение веб-браузера. Человек может вбить унифицированный указатель ресурса (URL) в поисковую строку или кликнуть по ссылке, находясь при этом на странице, которая уже отображается на экране.

URL-адрес начинается с аббревиатуры HTTP. Благодаря этому браузер понимает, что нужно применять HTTP-протокол с целью получения данных по этому адресу.

Поиск браузером необходимого IP-адреса

Как правило, IP-адреса включают в себя удобные и понятные для человека наименования доменов, скажем, highload.today или wikipedia.org. Браузер применяет преобразователь DNS, чтобы сравнить домен с IP-адресом.

Отправка браузером HTTP-запроса

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

В некоторых случаях HTTP-запрос включает в себя лишь две текстовые строки:

Первое слово указывает на то, что пользователю нужно получить данные. Затем идёт указатель пути (/index.html). Главный компьютер имеет содержимое всего ресурса, так что следует определить, что именно необходимо получить из HTTP сайта. Далее идёт указатель протокола и его версии (HTTP/ 1.1). Вторая строка содержит домен запрошенного URL.

Отправка сервером HTTP-ответа

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

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

Сначала идет версия протокола, а затем число, которое обозначает код статуса HTTP (200). Он указывает на то, что было произведено извлечение искомого документа.

Источник

Оцените статью