Поэтому.Ру
доступная энциклопедия обо всём

Что такое HTTP

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

Разработка протокола HTTP

HTTP - аббревиатура, расшифровав которую получаем HyperText Transfer Prоtocоl — "протокол передачи гипертекста". Обычно гипертекст представляется набором текстов, содержащих узлы перехода между ними, которые позволяют избирать читаемые сведения или последовательность чтения.

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

Разработчиком протокола HTTP был британский учёный и сотрудник ЦЕРН Тим Бернерс-Ли - идеолог создания "всемирной паутины" (на фото слева). Работа над созданием протокола длилась около двух лет и уже в марте 1991 года было начато использование протокола, как механизма для доступа к документам в Интернете и облегчения навигации посредством использования гипертекста.

Самая ранняя версия протокола HTTP/0.9 была впервые опубликована в январе 1992 года. Спецификация протокола привела к упорядочению правил взаимодействия между клиентами и серверами HTTP, а также чёткому разделению функций между этими двумя компонентами. Были задокументированы основные синтаксические и семантические положения.

В мае 1996 года для практической реализации HTTP был выпущен информационный документ RFC 1945, послуживший основой для реализации большинства компонентов более поздней версии HTTP/1.0. И, наконец, в июне 1999 года была принята версия протокола HTTP/1.1, использующаяся и сегодня.

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

Структура протокола

Каждое HTTP-сообщение состоит из трёх частей, которые передаются в указанном порядке:

  • Стартовая строка (Starting line) — определяет тип сообщения;
  • Заголовки (Headers) — характеризуют тело сообщения, параметры передачи и другие сведения;
  • Тело сообщения (Message Body) — непосредственно данные сообщения. Обязательно должно отделяться от заголовков пустой строкой.

Из этих трёх частей обязательной является стартовая строка, а заголовки и тело сообщения могут отсутствовать. Связано это с тем, что именно стартовая строка указывает на тип запроса/ответа. Исключением является версия 0.9 протокола, у которой сообщение запроса содержит только стартовую строку, а сообщения ответа только тело сообщения.

Преимущества и недостатки протокола

Многолетняя практика выявила у протокола HTTP немало достоинств и недостатков. Несколько слов о тех и о других.

Достоинства:

  • Простота. Протокол HTTP позволяет легко создавать необходимые клиентские приложения.
  • Расширяемость. Исходные возможности протокола можно расширить, внедрив свои собственные заголовки, с помощью которых можно добиться необходимой функциональности, которая может потребоваться при решении специфических задач. Совместимость с другими серверами и клиентами от этого никак не пострадает: они будут игнорировать неизвестные им заголовки.
  • Распространённость. Протокол поддерживается в качестве клиента многими программами и есть возможность выбирать среди хостинговых компаний с серверами HTTP. По этой причине протокол широко используют для решения различных задач. Кроме этого, существует документация на многих языках, что существенно облегчает работу с протоколом.

Недостатки:

  • Отсутствие "навигации". У протокола HTTP отсутствуют в явном виде средства навигации среди ресурсов сервера. Например, клиент не может явным образом запросить список доступных файлов, как в протоколе FTP. Полностью эта проблема решена в расширяющем HTTP протоколе WebDAV с помощью добавленного метода PROPFIND. Данный метод позволяет не только получить дерево каталогов, но и список параметров каждого ресурса.
  • Отсутствие поддержки распределённости. Изначально протокол HTTP разрабатывался для решения типичных бытовых задач, где само по себе время обработки запроса должно занимать незначительное время или вовсе не приниматься в расчёт. Однако со временем стало очевидно, что при промышленном использовании с применением распределённых вычислений при высоких нагрузках на сервер протокол HTTP оказывается непригоден. В связи с этим с 1998 году был предложен альтернативный протокол HTTP-NG (англ. HTTP Next Generation), но этот протокол до сих пор находится на стадии разработки.
Особенности HTTP

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

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

  • аутентификации пользователя;
  • хранения персональных предпочтений и настроек пользователя;
  • отслеживания состояния сессии доступа пользователя;
  • ведения статистики о пользователях.

Такой способ авторизации позволяет сохранить сессию даже после перезагрузки клиента и сервера.

Ещё одной особенностью протокола HTTP перед тем, как передать сами данные, передаёт заголовок "Content-Type: тип/подтип", позволяющую клиенту однозначно определить, каким образом обрабатывать присланные данные. Тогда как при доступе к данным по FTP или по файловым протоколам тип файла (точнее, тип содержащихся в нём данных) определяется по расширению имени файла, что не всегда удобно.

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

Все эти особенности протокола HTTP позволили создавать поисковые машины (первой из которых стала AltaVista, созданная фирмой DEC), форумы и Internet-магазины. Это позволило сделать Интернет коммерческой площадкой: появилось множество компаний, основным полем деятельности которых стало предоставление доступа в Интернет (провайдеры) и создание сайтов.

Источник: Поэтому.Ру
Оценить статью
Читайте также:
Ещё из мира вещей


Аккуратные стопочки монет - это, несомненно, красиво и даже весьма впечатляюще, но когда эти же монеты оттягивают карман - приятного мало. Зато бумажн...
Без мобильника - как без рук. Причём с момента появления этого устройства прошло совсем немного времени. Если кто вспомнит первые мобильные телефон, т...
Это военное подразделение можно считать легендарным. Хотя в рядах Французского Иностранного легиона служило немало людей с весьма сомнительной репутац...
Интернет-торговля сегодня - одно из весьма прибыльных и востребованных направлений развития бизнеса. Мы уже писали о первых шагах в этой области, но с...
Последнее сражение, несущее конец славе полководцев - это всегда событие мирового масштаба. Одним из таких сражений, перевернувших в очередной раз укл...
Фотоаппарат-мыльница, пульт от телевизора, кварцевые часы и даже калькулятор - эти и тысячи других вещей в нашем мире работают от батареек. Кто придум...

avatar
8 vladb
Интересная статья. Плохо разбираюсь во всех этих вещах, связанных с сайтами и интернетом. Но благодаря таким статьям начинаю хоть немного лучше понимать что к чему.
avatar
7 Tef
Лес темный. В котором все, вроде, понятно – деревья и деревья. Но заблудить меж них – делать нечего (ну мне, по крайней мере).
Мне удивительно и непостижимо, как человеку удалось все ЭТО сообразить и воплотить… surprised
avatar
6 sunny
Ну, поскольку эта сеть с каждым днем развивается и каждый день появляются новые нюансы, людям тоже приходится каждый день развиваться и углублять познания. Что кстати, очень забавно, ведь теперь человек, вместо того чтобы развивать науку, начал гнаться за ней.
avatar
5 provo
Думал, нормально разбираюсь в принципах работы интернета. Но прочитав статью, открыл массу новых понятий и понял, что в этой сфере мне ещё образовываться и образовываться.
avatar
4 SergeyN
Интересно было почитать, что такое протокол HTTP, и как он возник. Если честно, таких подробных деталей об этом протоколе нигде не читал.
avatar
3 cookla
Сейчас над новыми протоколами работают много крупных корпораций. Гугл и Майкрософт уже предложили свои альтернативы для HTTP , хотя по большей части они лишь улучшенная версия привычного протокола.
avatar
2 nickolaj
Хорошая статья, спасибо за информацию. Хорошо бы еще добавить о наличии протокола HTTPS, который является расширением протокола HTTP, и обладает большей защищенностью, так как включает шифрование данных.
avatar
1 Art-n1
Да, без этого протокола не видать нам интернета вообще, и судя по всему мы еще очень долго будем работать с ним.
avatar
Аккуратные стопочки монет - это, несомненно, красиво и даже весьма впечатляюще, но когда эти же монеты оттягивают карман - приятного мало. Зато бумажн...
Даже если у нас нет своего маленького, но вполне успешного дела, нам приходится регулярно в той или иной форме сталкиваться с налоговой отчётностью. А...
Без мобильника - как без рук. Причём с момента появления этого устройства прошло совсем немного времени. Если кто вспомнит первые мобильные телефон, т...
Языков на свете - великое множество. Но есть среди них особенные: им тысячи лет и на некоторых из них уже сотни лет никто или почти никто не говорит. ...
Независимо от того, как часто мы убираем дома, всегда и везде найдётся пыль. Покрывающая ровным слоем горизонтальные поверхности, собирающаяся в непри...


Всегда разное

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




Внимание! Копирование любых материалов без ссылки на сайт www.poetomu.ru запрещено законом и преследуется профессиональными юристами совместно с органами прокуратуры и судами
Дизайн сайта — Студия Ариф