HTTP - Описание Протокола

htpp -картинка - фкн вгу

======================================

Слайд 1 - базовая архитектура систем, использующих HTTP

клиент-серверная архитектура

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

=========================================

Слайд 2 -

Запрос - ответ - HTTP - фкн вгу
HTTP является протоколом типа запрос/отклик.
Клиент посылает серверу запрос, состоящий из =

  1. типа запроса, URI и версии протокола
  2. за которыми следует сообщение, содержащее модификаторы запроса, клиентскую информацию
  3. и, возможно, тело запроса.

Сервер отвечает

  1. строкой состояния, содержащей версию протокола и код состояния, за которой следует сообщение, содержащее серверную информацию,
  2. метаинформацию
  3. и, возможно, тело сообщения.

=================================================

Слайд 3 - пример запроса-ответа

рисунок 3.1

пример запроса - ответа по http

==============================================

Слайд 4 - общая структура любого HTTP сообщения (как запроса, так и ответа)

структура HTTP сообщения - фкн вгу

==================================================

Слайд 5 - что содержите HTTP запрос

Запрос условно делится на три фрагмента:
  • 1) Стартовая строка = Метод URI ВерсияHTTP
  • 2) Поля заголовка (или просто "заголовки") - каждый с новой строки
  • 3) Тело сообщения (отделяется от предыдущего пустой строкой)

рисунок 5.1

ещё один пример запроса ответа

Основным объектом манипуляции в HTTP является ресурс, на который указывает URI (англ. Uniform Resource Identifier) в запросе клиента.
Методы:

Рисунок 5.2

основные методы HTTP по отношению к ресурсу

===================================================

Слайд 6 - структура HTTP ответ

Ответ условно делится на три фрагмента:
  • 1) Стартовая строка = ВерсияHTTP кодОшибки ПояснениеОшибки
  • 2) Поля заголовка (или просто "заголовки") - каждый с новой строки
  • 3) Тело сообщения (отделяется от предыдущего пустой строкой)

=========================================================

Слайд 7 - развёрнутый пример запроса -ответа

запрос-ответ HTTP  -фкн вгу

=========================================================

Слайд 8 - преимущества

преимущества http = фкн вгу

  1. Преимущества
  2. Простота
  3. Расширяемость

Протокол настолько прост в реализации, что позволяет с лёгкостью создавать клиентские приложения.

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

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

=========================================================

Слайд 9 - недостатки

недостатки HTTP

  1. Отсутствие «навигации»
  2. Отсутствие поддержки распределённости

Отсутствие «навигации»

Хотя протокол разрабатывался как средство работы с ресурсами сервера, у него отсутствуют в явном виде средства навигации среди этих ресурсов. Например, клиент не может явным образом запросить список доступных файлов, как в протоколе FTP. Предполагалось, что конечный пользователь уже знает URI необходимого ему документа, закачав который, он будет производить навигацию благодаря гиперссылкам. Это вполне нормально и удобно для человека, но затруднительно, когда стоят задачи автоматической обработки и анализа всех ресурсов сервера без участия человека. Решение этой проблемы лежит полностью на плечах разработчиков приложений, использующих данный протокол.

Например, со стороны клиента используются веб-пауки — специальные программы, которые составляют список ресурсов сервера, проходя по всем найденным гиперссылкам. Со стороны сервера данная проблема решается с помощью карты сайта (англ. site map) — веб-страницы, где перечислены все доступные для посещения ресурсы. Она предназначена не только для людей, играя аналогичную содержанию в книге роль, но и полезна для тех же роботов-пауков, так как позволяет уменьшить глубину — минимальное необходимое количество переходов с главной страницы. Для тех же целей служат файлы формата sitemap, которые предназначены уже непосредственно для роботов.

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

Отсутствие поддержки распределённости

Протокол HTTP разрабатывался для решения типичных бытовых задач, где само по себе время обработки запроса должно занимать незначительное время или вовсе не приниматься в расчёт. Но в промышленном использовании с применением распределённых вычислений при высоких нагрузках на сервер протокол HTTP оказывается непригоден. В 1998 году W3C предложил альтернативный протокол HTTP-NG (англ. HTTP Next Generation) для полной замены устаревшего с акцентированием внимания именно на этой области[2]. Идею его необходимости поддержали крупные специалисты по распределённым вычислениям, но данный протокол до сих пор находится на стадии разработки.

Что почитать

смотрите здесь = http://fkn.ktu10.com/?q=node/3925