кс_2009_18_Служба WWW.ppt
- Количество слайдов: 37
Система гипермедиа WWW (World Wide Web - всемирная паутина) - самый популярный и интересный сервис Интернет сегодня, самое популярное и удобное средство работы с информацией.
Система WWW Архитектура системы
Система WWW Основные компоненты язык гипертекстовой разметки документов HTML (Hyper. Text Markup Language); универсальный способ адресации ресурсов в сети URL (Universal Resource Locator); протокол обмена гипертекстовой информацией HTTP (Hyper. Text Transfer Protocol); универсальный интерфейс шлюзов CGI (Common Gateway Interface).
Алгоритм работы WWW 1. 2. 3. 4. 5. 6. 7. 8. 9. Пользователь вводит URL ресурса (www. w 3. org). Браузер запрашивает у службы DNS IP адрес сервера www. w 3. org. DNS дает ответ 18. 23. 0. 23 Браузер устанавливает TCP соединение с портом 80 сервера Браузер посылает команду GET /hypertext/WWW/The. Project. html Сервер высылает в ответ файл The. Project. html TCP соединение разрывается. Браузер интерпретирует текст HTML документа. Браузер отображает документ в соответствии с описанием содержащися в html файле.
Взаимодействие браузера с сервером WWW
HTML Hyper. Text Markup Language (HTML) — это язык описания содержащейся на WWW информации. HTML файл представляет из себя обычный ASCII текст, содержащий специальные коды, которые обозначают присоединенную к файлу графику, видео, аудио информацию или исполняемые коды среды просмотра информации — Web browser — Java Script, Java Classes. Вся эта информация хранится в файлах на WWW сервере. Когда Web browser получает доступ к этому файлу, он сначала интерпретирует закодированную в HTML файле информацию, а затем представляет для пользователя всю информацию в графическом или текстовом виде Web страниц. Hyper. Text или hyperlinks (гиперссылки), содержит связи внутри текстового документа, которые позволяют пользователю быстро переходить от одной части документа к другой или к другому документу.
Язык гипертекстовой разметки документов HTML Документ HTML представляет из себя набор тэгов. Тэги представляют из себя контейнеры, размещаются: текст; графика; гипертекстовые ссылки; инструкции управления отображением. Пример. в которых <HTML><HEAD></HEAD><BODY параметры > <H 1>Заголовок страницы</H 1> <IMG SRC=“image/picture. gif” width=9 height=12 border=0 alt= "схема"> … … </BODY> </HTML >
Пример тэгов HTML <HTML> <HEAD> <TITLE>Заголовок страницы</TITLE> </HEAD> <BODY TEXT=000080 BACKGROUND="graphics/home. jpg"> Текст и тэги форматирования документа <a href="http: //www. britannica. com/" target= “”>Текст ссылки</a> </BODY></HTML>
HTML - форма (a) HTML код формы заказа. (b) Страница заказа. (b)
URL - Uniform Resource Locator Каждому документу в WWW назначается унифицированный указатель информационного ресурса – URL, который одновременно служит ссылкой на страницу, а также является уникальным именем страницы (документа).
Формат URL выглядит так: protocol: //host. domain[: port]/path/filename Protocol имеет одно из значений, перечисленных ниже: file - файл на вашей локальной системе, или файл на anonymous FTP сервере; http - файл на World Wide Web сервере; gopher - файл на Gopher сервере; WAIS - файл на WAIS (Wide Area Information Server) сервере; news - группа новостей телеконференций Usenet; telnet - подключение к удаленной машине в режиме виртуального терминала.
Недостаток URL указывает на определенный хост. URL не представляет способа ссылки на страницу не указывая ее точного адреса. IETF работает над системой URI (Uniform Resource Identifier) , которую можно считать оббощенным URL указателем.
URI (Uniform Resource Identifier) Формат: схема: //[имя_пользователя: пароль@]адрес_хоста: порт/путь_к_докумен ту/имя_документа Состоит из трех частей: Схема – идентифицирует тип службы, через которую, можно получить доступ к ресурсу. Адрес – идентифицирует адрес сервера ресурса. Имя и путь доступа к документу определяет полный путь к документу на сервере.
Схемы URI WWW – http: // Gopher – gopher: // FTP – ftp: // Новости Usenet – news: // nntp: // Telnet – telnet: // WAIS – wais: // File – file: ///c: |/text/html/index. htm
Схема HTTP Вслед за именем схемы (http) следует путь, состоящий из доменного адреса машины и полного адреса HTML документа в дереве сервера HTTP. В качестве адреса машины допустимо использование и IP адреса: w http: //144. 206. 160. 40/risk. html Если сервер протокола HTTP запущен на другой, отличный от 80 порт TCP, то это отражается в адресе: http: //144. 206. 130. 137: 8080/altai/index. html
Протокол обмена гипертекстовой информацией HTTP основывается на модели запрос/ответ. 1. Запрашивающая программа клиент устанавливает связь с обслуживающей программой получателем (сервером) и посылает запрос серверу в следующей форме: метод запроса, URI, версия протокола, за которой следует: MIME подобное сообщение, содержащее управляющую информацию запроса, информацию о клиенте и, может быть, тело сообщения. 2. Сервер отвечает сообщением, содержащим строку статуса (включая версию протокола и код статуса успех или ошибка), за которой следует MIME подобное сообщение, включающее в себя информацию о сервере, метаинформацию о содержании ответа, и, вероятно, само тело ответа. Запросы построены на дисциплине ссылок, где для указания ресурса, к которому должен быть применен данный метод, используется URI.
Обычная HTTP транзакция
Proxy HTTP транзакция
Работа кэширующего proxy сервера
Протокол HTTP является протоколом, обладающим рядом полезных свойств: · простотой и быстродействием; · независимостью от состояния соединения; · способностью передавать данные любого типа; ·объектно-ориентированным подходом к манипулированию данными; · использование метаинформации.
Пример взаимодействия по протоколу HTTP Запрос клиента (Netscape Navigator 1. 1 (Windows, 16 bit): GET /httpddoc/setup/startit. htm HTTP/1. 0 {METHOD <SP> Request-URI <SP> HTTP-Version [General-Header]} Referer: http: //144. 206. 192. 101/httpddoc/Overview. htm User agent: Mozilla/1. 1 N (Windows; 16 bit) Accept: */* Accept: image/gif Accept: image/x xbitmap Accept: image/jpeg Ответ сервера (Win. Httpd 1. 4 a): HTTP/1. 0 200 OK {HTTP-Version <SP> Status-Code <SP> Reason-Phrase} Date: Thursday, 12 Oct 95 02: 51: 33 GMT Server: Win. Httpd/1. 4 a (Shareware Non Commercial License) MIME vers: on: 1. 0 Content type: image/gif Last modified: Monday, 20 Feb 95 13: 48: 10 GMT Content length: 218 /* line */ Сообщение отделяется от заголовка пустой строкой. [тело документа]
Параметры запроса Общая структура запроса выглядит следующим образом: METHOD <SP> Request URI <SP> HTTP Version [General Header] Date Pragma [Request Header] Authorization From If Modified Since Referer User Agent [Entity Header] Allow Content Encoding Content Length Content Type Expires Last Modified extension header /* line */ [Entity Body]
Методы запроса (HTTP 1. 0) 1. Метод "GET" запрашивает документ, расположенный по заданному URI. Как правило, запрашиваемая информация представляет собой HTML, TXT или другой текстовый файл. Если URI ассоциирован с исполняемым файлом — сервисом CGI, процесс CGI будет запущен, и клиенту будут переданы результаты стандартного потока вывода этого процесса. Если ресурсу URI для работы необходимы параметры, они должны быть указаны в URI ресурса. 2. Метод "POST", как правило, используется для передачи клиентом на сервер данных, которые должны быть обработаны ресурсом, указанным в URI. Данный метод чаще всего используется для работы с CGI сервисом. Метод "POST" передает параметры ресурсу URI в теле сообщения, поэтому при его использовании не требуется соблюдать никаких ограничений на длину передаваемой строки параметров. Ответы на запросы методом POST, как правило, не кэшируются. 3. Метод "HEAD" аналогичен методу "GET", за исключением того, что клиенту возвращается только заголовок сообщения ответа. Этот метод, в основном, используется для тестирования ги перссылок и проверки доступа к ресурсам. 4. Метод "DELETE" используется для удаления ресурса определенного URI. 5. Метод "PUT" используется, когда клиент желает сохранить передаваемый на сервер ресурс с идентификатором URI.
Методы запроса (HTTP 1. 1) В версии "НТТР/1. 1" появились два новых метода — "OPTIONS" и "TRACE": 1. Метод "OPTIONS" запрашивает характеристики соединения между клиентом и сервером, характеристики сервера, требования для запроса данного ресурса и др. При этом указанный ресурс не запрашивается и, если это CGI модуль, не запускается. Если вместо URI стоит символ джокер ("*"), метод запрашивает всю доступную информацию о данном сервере. 2. Метод "TRACE" применяется для организации "петель". При получении такого запроса, сервер должен немедленно отправить поступившую информацию обратно. Этот метод позволяет трассировать возможные соединения и получать информацию о временах прохождения и обработки запросов.
Структура ответа HTTP Version <SP> Status Code <SP> Reason Phrase [General Header] [Responce Header] Location Server WWW Authenticate [Entity Header] /* line */ [Entity Body]
Коды ответа HTTP Коды ответа разбиты на группы
Некоторые заголовков запроса и ответа HTTP
Динимическое создание Webстраниц
Универсальный интерфейс шлюзов CGI (Common Gateway Interface). CGI была специально разработана для расширения возможностей WWW за счет подключения всевозможного внешнего программного обеспечения для обработки различных форм запросов из HTML-страниц. <FORM ACTION=http: //polyn. net. kiae. su/cgi bin/test. exe>
Спецификация CGI (Common Gateway Interface) Процесс вызова программ с помощью CGI
CGI является стандартом организации связи между сервером WWW и программой запускаемой сервером по запросу клиента. Как правило, такие запускаемые программы должны располагаться в специальном каталоге, который указывается при конфигурации сервера (как правило это. . /cgi bin для UNIX серверов и. . /scripts для MS IIS под Windows NT). Фактически CGI определяет лишь порядок передачи параметров запускаемой программе и порядок получения результатов ее работы для отправки клиенту. Часто программы, запускаемые через CGI интерфейс, пишутся на командных языках операционных систем. Такие программы (написанные на командных языках) называют скриптами, в свою очередь скрипты запускаемые с помощью CGI называют CGI скриптами. CGI скрипт программа, написанная в соответствии со спецификацией Common Gateway Interface. CGI скрипты могут быть написаны на любом языке программирования (C, C++, PASCAL, FORTRAN и т. п. ) или командном языке (shell, cshell, командный язык MS DOS, Perl и т. п. ).
CGI Собственно спецификация CGI описывает четыре механизма обмена данными: · через командную строку; · через переменные окружения; · стандартный ввод; · стандартный вывод. Механизм передачи параметров CGI программе зависит от метода используемого в запросе. Если используется метод GET, то параметры могут передаваться через переменные окружения и командную строку. В случае метода POST параметры передаются через переменные окружения и стандартный ввод.
Динамические Web документы Шаги обработки информации получаемой через HTML – форму с помощью CGI
Динамические Web документы Пример HTML страницы с встроенным кодом PHP.
Динамическая генерация Web страниц на стороне сервера (а) и клиента (b) (a) Server-side scripting with PHP. (b) Client-side scripting with Java. Script.
Динамические Web документы (PHP) (a) Web страница с HTML формой. (b) PHP скрипт для обработки данных получаемых из HTML формы. (c) Вывод PHP скрипта после получения "Barbara" и 24 соответственно.
Генерация динамической Web страницы на стороне клиента Исползование Java. Script для обработки форм.
кс_2009_18_Служба WWW.ppt