Поиск

Просмотр содержимого Web

Работа Web заключается в организации взаимодействия двух различных систем, обменивающихся данными. Система, которая загружает Web-страницу, называется клиентом. Обычно для этого на клиентской системе запускается программа Web-броузер, такая как Netscape Communicator, Internet Explorer, Opera или какая-либо другая. Так вы получаете доступ в пространство World Wide Web. Web-броузер обеспечивает вас средствами навигации в этом пространстве и отображения Web-страниц.

На другом конце Web-соединения находится система, называемая Web-сервером. Она принимает клиентский запрос на определенную страницу, находит ее на локальном диске и посылает клиенту — Web-броузеру. Схема, иллюстрирующая подобное взаимодействие, приведена на рис. 17.1.

Загрузка статической Web-страницы

Клиент запрашивает Web-страницу по ее URL (Uniform Resource Locator — унифицированный локатор ресурсов), содержащему информацию об адресе сервера и типе поддерживаемого сервером протокола. Обычный URL выглядит следующим образом:

http://www.google. com: 80/more. html

Этот URL состоит из нескольких частей.

  • http — обозначение протокола. Протокол пересылки гипертекста HTTP служит для пересылки Web-страниц. В этом месте URL можно столкнуться с протоколом пересылки файлов ftp или так называемым безопасным HTTP (https, или secure HTTP).
  • www.google.coin — адрес сервера, также называемый именем компьютера. На этом сервере находится интересующий вас документ. Кроме имени компьютера в этом месте может быть его IP-адрес, который выглядит как четыре числа, разделенных точками: 209.185.108.147. Для доступа к World Wide Web IP-адреса используются сравнительно редко, поскольку они менее надежны, чем имена.
  • :80 — номер порта, по которому будет осушествляться соединение клиента и сервера. Эта часть URL необязательна. Номер порта, как правило, определяется используемым протоколом. Так, протокол http обычно использует порт 80.
  • more.html — запрос к серверу. Обычно это имя нужного вам документа. К нему может быть указан путь, например /archives/foo.html, причем в конце запроса могут быть символы ? или ь. Запрос сообщает серверу, что вы хотите от него получить.

Получив от пользователя URL, клиент выполняет следующие действия (рис. 17.2).

  1. По имени сервера (ww.google.com) находит соответствующий IP-адрес (209.185.108.147).
  2. По IP-адресу и номеру порта устанавливается соединение с сервером.
  3. У сервера запрашивается страница more.html. Клиент ожидает ответ.
  4. Сервер посылает ответ, в данном случае — содержимое more.html, и закрывает соединение.
  5. Клиент отображает содержимое ответа на экране.

Подробное описание взаимодействия между клиентом и сервером приведено на 20-м занятии, "Работа с HTML-кодом и CGI-программами".

CGI и динамические Web-страницы

Во время загрузки обычной Web-страниды сервер находит на своем диске нужный документ и пересылает его клиенту (см. рис. 17.1 ).

Сервер, изображенный на рис. 17.1, никакне обрабатывает данные, он лишь анализирует запрос и передает требуемые данные клиенту.

Один из методов создания динамических Web-страниц предусматривает использование CGi-программ. CGI — общепринятый метод запуска на Web-сервере программ, генерирующих содержимое HTML-страниц. URL сообщает серверу, какая именно CGl-программа должна быть запущена, сервер ее запускает, она генерирует содержимое Web-страницы, и сервер пересылает это содержимое обратно клиенту, как показано на рис. 17.3.

Во время каждого клиентского запроса страницы, являющейся продуктом выполнения CGI-программы, выполняются следующие действия.

  1. Сервер запускает новый экземпляр CGI-программы.
  2. Эта программа, используя необходимую информацию, генерирует страницу или другой ответ.
  3. Содержимое страницы пересылается обратно клиенту.
  4. CGI-программа завершает выполнение.

CGI-программа может быть написана на различных языках программирования, а не только на Perl (хотя мы только что и приступили к изучению использования для CGI-программирования сценариев на Perl). Тем не менее для этой цели может быть использован практически любой язык программирования: С, оболочка UNIX, Pascal, LISP, TCL. Тот факт, что многие CGI-программы написаны на Perl, — лишь счастливое совпадение. Perl прекрасно приспособлен для написания программ, работающих с текстом, а большинство CGl-программ предназначены для обработки и вывода текста.

Впрочем, CGI-программы могут выводить все, что угодно: изображения, текст в формате HTML, zip-файлы, видеопотоки и любой другой тип содержимого Web. Большинство CGI-программ предназначено для вывода текста в формате HTML.

CGI — это ие язык, а протокол. Он не привязан ни к Perl, ни к HTML и лишь в малой степени зависит от протокола HTTP. CGI — согласованный интерфейс между Web-сервером и запускаемой на нем программой. Спецификация CGI содержится на Web-сервере Национального центра суперкомпьютерных приложений http://www.ncsa.uiuc.edu/cgi/interface.html. В последующих семи занятиях вы получите всю основную информацию, содержащуюся в этой спецификации.