сервер возвращает информацию, запрошенную клиентом,
Web- сервер возвращает информацию, запрошенную клиентом, вместе с заголовком, сведения из которого можно получить методами getxxxo, например:
getcontentType ()
— возвращает строку типа string, показывающую тип пересланной информации, например, "text/html", или null, если сервер его не указал;
getcontentLength ()
— возвращает длину полученной информации в байтах или — 1, если сервер ее не указал;
getcontent ()
— возвращает полученную информацию в виде объекта типа Object;
getContentEncoding ()
— возвращает строку типа string с кодировкой полученной информации, или null, если сервер ее не указал.
Два метода возвращают потоки ввода/вывода, созданные для данного соединения:
getlnputStream()
— возвращает входной поток типа InputStream;
getOutputStream()
— возвращает выходной поток типа OutputStream.
Прочие методы, а их около двадцати, возвращают различные параметры соединения.
Обращение к методу bhv.openstreamo, записанное в листинге 19.1, — это, на самом деле, сокращение записи
bhv.openConnection().getlnputStream()
В листинге 19.2 показано, как переслать строку текста по адресу URL.
Web-сервер, который получает эту строку, не знает, что делать с полученной информацией. Занести ее в файл? Но с каким именем, и есть ли у него право создавать файлы? Переслать на другую машину? Но куда?
Выход был найден в системе CGI (Common Gateway Interface), которая вкратце действует следующим образом. При посылке сообщения мы указываем URL исполнимого файла некоторой программы, размещенной на машине-сервере. Получив сообщение, Web-сервер запускает эту программу и передает сообщение на ее стандартный ввод. Вот программа-то и знает, что делать с полученным сообщением. Она обрабатывает сообщение и выводит результат обработки на свой стандартный вывод. Web-сервер подключается к стандартному выводу, принимает результат и отправляет его обратно клиенту.
CGI-программу можно написать на любом языке: С, C++, Pascal, Perl, PHP, лишь бы у нее был стандартный ввод и стандартный вывод. Можно написать ее и на Java, но в технологии Java есть более изящное решение этой задачи с помощью сервлетов (servlets). CGI-программы обычно лежат на сервере в каталоге cgi-bin.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий