Главная > Программирование > Программирования сетевых взаимодействий в Java
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

2.2 HTTP протокол

HTTP (Hypertext Transfer Protocol, Протокол передачи гипертекста) представляет собой протокол прикладного уровня. HTTP обеспечивает высокопроизводительный механизм тиражирования информации мультимедийных систем независимо от типа представления данных. Протокол построен по объектно-ориентированной технологии и может использоваться для решения различных задач, например, работы с серверами имен или управления распределенными информационными системами. На настоящий момент наиболее распространенной является спецификация протокола «НТТР/1.0».

WWW (World Wide Web, Всемирная паутина) состоит из компьютеров, которые предоставляют графический доступ к хранящейся на них информации. Способность хранить мультимедийную информацию, такую как видео, аудио, картинки и звуки, делает WWW уникальным средством тиражирования информации. WWW-сервер представляет собой компьютер, на котором работает определенное программное обеспечение, предоставляющее

возможность пользователям Интернет подсоединяться и пользоваться WWW-ресурсами этого компьютера для поиска и выбора информации.

С 1990 года протокол HTTP используется информационной системой WWW в качестве одного из основных протоколов работы.

2.2.1. Сервисы WWW

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

URI, URL, URN

URI(Uniform Resource Identifier, Идентификатор ресурса), URL (Uniform Resource Locator, Местонахождение ресурса), URN (Uniform Resource Name, Имя ресурса) - это разные имена одного и того же сервиса, который предназначен для идентификации типов, методов работы и компьютеров, на которых находятся определенные ресурсы, доступные через Интернет. Этот сервис состоит из трех частей:

• Схема. Идентифицирует тип сервиса, через который можно получить доступ к сервису, например FTP или WWW-сервер.

• Адрес. Идентифицирует адрес (хост) ресурса, например, www.ulstu.ru

• Имя или путь доступа. Идентифицирует полный путь к ресурсу на выбранном хосте, который мы хотим использовать для доступа к ресурсу, например, /home/images/imagel.gif

Например, файл "readme.txt", расположенный на Microsoft WWW, представляет собой ресурс с идентификатором: http://www.microsoft.com/readme.txt.

Это означает, что будет использоваться тип доступа через HTTP, схема доступа отделена двоеточием ":" и указывает на использование протокола HTTP, следующие два слэша отделяют последующий адрес сервера www.microsoft.com, выгружаемый файл с именем /readme.txt - путь к запрашиваемому файлу.

Другими словами, URL, URI и URN - это способ для согласованной идентификации ресурсов в Internet.

URI ресурса может содержать не только имя ресурса, но и параметры, необходимые для его работы. Имя ресурса отделено от строки параметров символом «?». Строка параметров состоит из лексем, разделяемых символом «&». Каждая такая лексема состоит из имени параметра и его значения, разделенных символом «=». Символы, не входящие в набор символов ASCII, заменяются знаком «%» и шестнадцатеричным значением этого символа.

Например, символ пробела « » заменяется на «%20». Для указанного ресурса вся строка параметров является одним строковым параметром, поэтому тип, очередность или уникальность имен отдельных параметров строки не существенны. Например:

http://www.exe.com/bin/scrshell.run?in=10&go=ok%20and%20ok&event=l& event=2

Этот URI содержит 4 параметра, из которых 3 - числовые, а 2 имеют одно имя. Анализ и разбор значений отдельных параметров целиком возлагается на URI, в данном примере на ресурс scrshell.run.

HyperText Markup Language (HTML)

HTML - это язык описания содержащейся на WWW-информации. HTML-файл представляет из себя обычный ASCII-текст, содержащий специальные коды, которые обозначают присоединенную к файлу графику, видео, аудио информацию или исполняемые коды среды просмотра информации - Web browser - Java Script, Java Classes. Вся эта информация хранится в файлах на WWW-сервере. Когда Web browser получает доступ к этому файлу, он сначала интерпретирует закодированную в HTML-файле информацию, а затем представляет для пользователя всю информацию в графическом или текстовом виде Web-страниц.

НТ в HTML обозначает HyperText, основную концепцию размещения информации на WWW. HyperText или hyperlinks (гиперссылки), содержит связи (URL) внутри текстового документа, которые позволяют пользователю быстро переходить от одной части документа к другой или к другому документу.

WWW перенимает концепцию файлов с гиперссылками и использует ее на другом уровне, установив гиперссылку между Web-страницами и WWW-узлами. Щелкнув мышью на одном из объектов гиперссылки на одной Web-странице, пользователь может не только передвигаться внутри одного WWW-узла между его Web-страницами, но и перемещаться на другие WWW-узлы с другими ресурсами, расположенные в другом месте и, вероятно, использующие другие методы. Это открывает возможности навигации по Интернет, несуществовавшей до появления WWW-серверов. HTML является платформно-независимым стандартом, потому что он не содержит каких-либо параметров, специфицирующих ту или иную платформу. Например, параметры могут определять размер используемого фонта, но не содержат указаний на то, какой фонт использовать. Выбрать нужный фонт предоставляется browser на основе тех, которые имеются на данном компьютере.

Управляющими конструкциями языка являются теги. Теги представляют собой ключевые слова, заключенные в угловые скобки. Ключевые слова - это обычные слова английского языка, обозначающие ту или иную команду, которая должна быть применена к тексту, обрамленному тегами. Например:

<font color="red">This is а red color</font color>

Строка "This is a red color" будет выделена в Web browser красным цветом. HTML — это очень простой язык описания состояния объектов, но его подробное обсуждение выходит за рамки данной методички. Вы сможете найти множество материалов по последним модификациям стандартов и описания HTML на WWW-узле http://www.w3.org.

Common Gateway Interface (CGI)

CGI — это стандарт расширения функциональности WWW, позволяющий WWW-серверам выполнять программы, аргументами работы которых может управлять пользователь. WWW-серверы позволяют запрашивать статические HTML Web-страницы и просматривать их с помощью Web browser. CGI расширяет возможности пользователя и позволяет выполнять программы, ассоциированные с данной Web-страницей и предоставляет возможность получения динамической информации из WWW-сервера. Например, пользователь WWW-сервера может получить самую последнюю информацию о погоде, выполнив программу, которая запрашивает прогноз погоды на текущий момент из базы данных.

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

Чаще всего CGI используется для выборки информации из баз данных. Пользователь вводит запрос в Web-страницу; WWW-сервер его читает, передает соответственному приложению или запускает процесс для его обработки, получает результат запроса и показывает его пользователю.

Механизм CGI полностью платформно-независимый и может передавать данные между любыми WWW-серверами, поддерживающими механизм CGI. Поскольку CGI основан на исполняемых файлах, нет ограничений на тип программы, которая будет исполняться в CGI. Программа может быть написана на любом из языков программирования, позволяющем создавать исполняемые модули, C/C++, Java, FORTRAN, Pascal, Visual Basic или PowerBuilder. CGI-программа также может быть написана с использованием командных языков операционных систем, таких как Perl или Shell.

В последнее время бурно развивается тенденция активных серверных страниц, так называемых ASP. По сути, это использование того же самого стандарта CGI, только на уровне объектно-ориентированного подхода к построению Web-страниц. В частности, в Java реализована технология JSP активных серверных страниц.

<< Предыдущий параграф Следующий параграф >>