HTTP - Описание Протокола
Primary tabs
Forums:
======================================
Слайд 1 - базовая архитектура систем, использующих HTTP
Основой HTTP является технология «клиент-сервер», то есть предполагается существование потребителей (клиентов), которые инициируют соединение и посылают запрос, и поставщиков (серверов), которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом.
=========================================
Слайд 2 -
HTTP является протоколом типа запрос/отклик.
Клиент посылает серверу запрос, состоящий из =
- типа запроса, URI и версии протокола
- за которыми следует сообщение, содержащее модификаторы запроса, клиентскую информацию
- и, возможно, тело запроса.
Сервер отвечает
- строкой состояния, содержащей версию протокола и код состояния, за которой следует сообщение, содержащее серверную информацию,
- метаинформацию
- и, возможно, тело сообщения.
=================================================
Слайд 3 - пример запроса-ответа
рисунок 3.1
==============================================
Слайд 4 - общая структура любого HTTP сообщения (как запроса, так и ответа)
==================================================
Слайд 5 - что содержите HTTP запрос
Запрос условно делится на три фрагмента:
- 1) Стартовая строка = Метод URI ВерсияHTTP
- 2) Поля заголовка (или просто "заголовки") - каждый с новой строки
- 3) Тело сообщения (отделяется от предыдущего пустой строкой)
рисунок 5.1
Основным объектом манипуляции в HTTP является ресурс, на который указывает URI (англ. Uniform Resource Identifier) в запросе клиента.
Методы:
Рисунок 5.2
===================================================
Слайд 6 - структура HTTP ответ
Ответ условно делится на три фрагмента:
- 1) Стартовая строка = ВерсияHTTP кодОшибки ПояснениеОшибки
- 2) Поля заголовка (или просто "заголовки") - каждый с новой строки
- 3) Тело сообщения (отделяется от предыдущего пустой строкой)
=========================================================
Слайд 7 - развёрнутый пример запроса -ответа
=========================================================
Слайд 8 - преимущества
- Преимущества
- Простота
- Расширяемость
Протокол настолько прост в реализации, что позволяет с лёгкостью создавать клиентские приложения.
Возможности протокола легко расширяются благодаря внедрению своих собственных заголовков, с помощью которых можно получить необходимую функциональность при решении специфической задачи. При этом сохраняется совместимость с другими клиентами и серверами: они будут просто игнорировать неизвестные им заголовки.
Распространённость
При выборе протокола HTTP для решения конкретных задач немаловажным фактором является его распространённость. Как следствие, это обилие различной документации по протоколу на многих языках мира, включение удобных в использовании средств разработки в популярные IDE, поддержка протокола в качестве клиента многими программами и обширный выбор среди хостинговых компаний с серверами HTTP.
=========================================================
Слайд 9 - недостатки
- Отсутствие «навигации»
- Отсутствие поддержки распределённости
Отсутствие «навигации»
Хотя протокол разрабатывался как средство работы с ресурсами сервера, у него отсутствуют в явном виде средства навигации среди этих ресурсов. Например, клиент не может явным образом запросить список доступных файлов, как в протоколе 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
- Log in to post comments
- 6947 reads