Инструменты пользователя

Инструменты сайта


examination:computer_science:question58

Вопрос №58 Протокол передачи гипертекста (HTTP)

Простым понятным языком

Http- протокол прикладного типа,так же как и FTP и другие, в его основе лежит архитектура клиент-сервер,тоесть существуют потребители,которые что-то закачивают наа кампьютер посредством этого протокола, как-то изменяют данные и закачивают назад,тоесть по схеме вопрос-ответ.Для http создано бесчисленное количество браузеров(программ для работы с HTTP).

Преимущества

  • Простота реализации
  • Хорошая расширяемость
  • Высокая распространенность повсеместно

недостатки

  • большой объем сообщений в отличии от телнет
  • изначально нет навигации как в фтп

программная реализация

  • Серверы
  • Клиенты
  • прокси серверы

Браузеры

  • онлайн браузеры(опера,и.эксп.,firefox)
  • оффлайн браузеры(offline explorer)

История развития

  • HTTP\0.9 1991 год-упорядочение правил взаимодействия клиента сервера
  • HTTP\1.0 1996 год-
  • HTTP\1.1 1999 год- режим постоянного соединения,тоесть при получении ответа с хоста,порт передачи оставался открытым,что позволяло увеличить скорость обмена данными

Базовая структура World Wide Web основана на том, что протокол HTTP работает как обобщенное средство передачи различных типов информации от сервера к клиенту. Каждая сущность, которая может быть предоставлена, идентифицируется уникальным образом с помощью URL (Universal Resource Locator — универсальный локатор ресурсов).

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

Протокол HTTP является основным протоколом, который осуществляет трафик Web. Спецификация HTTP описывает HTTP 1.1 следующим образом[15]:


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


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

  • Протокол уровня приложений. Хотя протокол HTTP обычно находится над протоколом TCP/IP, он также реализуется на других протоколах более низкого уровня. Протокол HTTP предусматривает наличие надежной связи, поэтому можно использовать только протокол, который гарантирует это минимальное требование.
  • Распределенные, совместные, гипермедиа информационные системы. HTTP поддерживает распределенные информационные системы, т.е. системы, которые охватывают несколько серверов. Этот протокол обеспечивает такую поддержку благодаря использованию URL, указывающих на целевые данные. Документ гипертекста HTML обычно предоставляет эти URL.
  • Обобщенный. HTTP не диктует содержание данных, которые передает, он выполняет роль канала для их передачи на уровне приложений. Можно передавать любой тип данных с помощью протокола HTTP.
  • Не имеющий состояний. HTTP не поддерживает состояние. Если по НTTР запрашивается передача, создается соединение, происходит переча и затем соединение завершается. Отсутствие состояния является одним из слабых мест HTTP. Без информации о состоянии каждая Web-страница существует отдельно. Например, трудно разработать основанное на Web приложение, которое давало бы возможность пользователю регистрироваться на одной странице и поддерживать эту информацию регистрации на протяжении всего времени, пока он осуществляет активный доступ к Web-узлу. Каждый документ, который передаётся посредством HTTP, не имеет контекста и совершенно не зависит от всех документов, которые передавались перед ним.
  • Объектно-ориентированный. Ввод с клавиатуры и согласование представления данных. HTTP не является объектно-ориентированным в том смысле, как это звучит применительно к языку программирования. Это описание означает, что HTTP имеет дескрипторы, задающие тип тех данных, которые будут передаваться по сети, и методы, которые являются командами, указывающими на то, что подлежит передаче.
  • Системы, построенные независимо от передаваемых данных. Поскольку протокол HTTP только перемещает данные, сервер HTTP не обязан знать о каждом типе данных, который подлежит передаче.

Сообщения HTTP делятся на четыре категории:

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

Простой запрос состоит из строки GET, после которой следует пробел, URL запроса, символ возврата каретки, и символ новой строки. Простой ответ возвращает только тело сущности.

Сущность — это объект, на который ссылается URL[15]. Например, страница, форматированная в HTML, является одним типом сущности, изображение .GIF является другим типом. Тело сущности представляет собой фактическое содержимое сущности, в отличие от заголовка сущности, в котором содержится информация о сущности, например ее размер и тип.

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

examination/computer_science/question58.txt · Последние изменения: 2014/01/15 12:15 (внешнее изменение)