Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Лекция 24. Электронная почта. Веб-служба



План:

1. Электронная почта

Протокол SMTP

Протоколы РОРЗ и IMAP

4. Веб-служба

Протокол HTTP

6. Контрольные вопросы

 

Сетевые услуги

С точки зрения пользователей компьютерные сети представляют собой набор услуг, таких как электронная почта, WWW, интернет-телефония и интернет-телевидение. Помимо услуг, ориентированных на конечных пользователей, существуют также услуги, ориентированные на администраторов сети, решающих задачи конфигурирования и управления сетевыми устройствами; в эту категорию услуг входят услуги FTP, telnet и SNMP. Дополняют общую картину уже рассмотренные нами служебные услуги, помогающие компьютерам и сетевым устройствам организовать свою работу, такие как услуги служб DNS и DHCP.

Электронная почта

Сетевая почтовая служба (электронная почта) — это распределенное приложение, главной функцией которого является предоставление пользователям сети возможности обмениваться электронными сообщениями.

Электронная почта построена в архитектуре клиент-сервер. Почтовый клиент всегда располагается на компьютере пользователя, а почтовый сервер, как правило, работает на выделенном компьютере.

Почтовый клиент (называемый также агентом пользователя) — это программа, предназначенная для поддержания пользовательского интерфейса (обычно графического), а также для предоставления пользователю широкого набора услуг по подготовке электронных сообщений. Кроме того, почтовый клиент поддерживает взаимодействие с серверной частью почтовой службы.

Почтовый сервер выполняет прием сообщений от клиентов, для чего он постоянно находится в активном состоянии. Кроме того, он выполняет буферизацию сообщений, распределение поступивших сообщений по индивидуальным буферам (почтовым ящикам) клиентов, управляет объемами памяти, выделяемой клиентам, выполняет регистрацию клиентов и регламентирует их права доступа к сообщениям, а также решает много других задач.

Электронные сообщения

Почтовая служба оперирует электронными сообщениями — информационными структурами определенного стандартного формата. Упрощенно электронное сообщение может быть представлено в виде двух частей, одна из которых (заголовок) содержит вспомогательную информацию для почтовой службы, другая часть (тело сообщения) — это собственно то «письмо», которое предназначается для прочтения, прослушивания или просмотра адресатом (RFC 8022).

Главными элементами заголовка являются адреса отправителя и получателя в виде Polina@domen.com, где

Polina — идентификатор пользователя почтовой службы,

domen.com — имя домена, к которому относится этот пользователь.

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

Протокол SMTP

В качестве средств передачи сообщения почтовая служба использует стандартный, разработанный специально для почтовых систем протокол SMTP (Simple Mail Transfer Protocol — простой протокол передачи почты). SMTP реализуется: SMTP-клиентом и SMTP-сервером. Этот протокол ориентирован на передачу данных по направлению от клиента к серверу, следовательно, SMTP-клиент работает на стороне отправителя, а SMTP-сервер — на стороне получателя. SMTP-сервер должен постоянно быть в режиме подключения, ожидая запросов со стороны SMTP-клиента.

Логика протокола SMTP:

После того как, пользователь инициирует отправку сообщения, SMTP-клиент посылает запрос на установление TCP-соединения на порт 25 (это назначенный порт SMTP-сервера).

Если сервер готов, то он посылает свои идентифицирующие данные, в частности свое DNS-имя.

Затем клиент передает серверу адреса (имена) отправителя и получателя.

Если имя получателя соответствует ожидаемому, то после получения адресов сервер дает согласие на установление ТСР-соединения, и в рамках этого надежного логического канала происходит передача сообщения. Используя одно TCP-соединение, клиент может передать несколько сообщений, предваряя каждое из них указанием адресов отправителя и получателя.

После завершения передачи TCP- и SMTP-соединения разрываются.

Если в начале сеанса связи SMTP-сервер оказался не готов, то он посылает соответствующее сообщение клиенту, и тот снова посылает запрос, пытаясь заново установить соединение.

Если сервер не может доставить сообщение, то он передает отчет об ошибке отправителю сообщения и разрывает соединение. После того как передача сообщения благополучно заканчивается, переданное сообщение сохраняется в буфере на сервере.

Хотя в любом протоколе предполагается обмен данными между взаимодействующими частями, то есть данные передаются в обе стороны, различают протоколы, ориентированные на передачу (pull protocols), и протоколы, ориентированные на прием данных (push protocols). В протоколах, ориентированных на передачу, к которым, в частности, относится протокол SMTP клиент является инициатором передачи данных на сервер, а в протоколах, ориентированных на прием, к которым относятся, например, протоколы HTTP, РОРЗ и IMАР, клиент является инициатором получения данных от сервера.

Схема с выделенным почтовым сервером

Обычно почтовые серверы поддерживаются крупными организациями для своих сотрудников или провайдерами для своих клиентов. Для каждого домена имен система DNS создает записи типа MX, в которых хранятся DNS-имена почтовых серверов, обслуживающих пользователей, относящихся к этому домену.

На рис. 24.1 представлена схема с выделенным почтовым сервером.

Рис. 24.1. Схема с выделенным почтовым сервером в принимающем домене

Протокол SMTP используется, когда необходимо передать данные на сервер, а Полине, напротив, нужно получить их с сервера. Для этого случая были разработаны другие протоколы, обобщенно называемые протоколами доступа к почтовому серверу, такие, например, как РОРЗ и IMAP. Оба этих протокола относятся к протоколам, ориентированным на прием данных (протокол РОРЗ ожидает запрос на установление TCP-соединения через порт 110, a IMAP — через порт 143, на рисунке эти порты обобщенно изображены как порт TCP). В результате работы любого из них письмо Данилы оказывается в памяти компьютера Полины. Заметим, что на этот раз направление запроса от клиента к серверу не совпадает с направлением передачи данных, показанному стрелкой.

Схема с двумя почтовыми серверами-посредниками

Прежде чем мы перейдем к сравнению двух протоколов доступа к почте, давайте посмотрим на еще одну схему организации почтовой службы, наиболее приближенную к реальности (рис. 24.2). Здесь передача сообщений между клиентами почты (на нашем рисунке мелсду отправителем Данилой и получателем Полиной) проходит через два промежуточных почтовых сервера, каждый из которых обслуживает домен своего клиента. На каждом из этих серверов установлены также и клиентские части протокола SMTP. При отправке письма почтовый клиент Данилы передает сообщение по протоколу SMTP почтовому серверу домена, к которому относится Данила — RoyalMail. madeira.com. Это сообщение буферизуется на данном сервере, а затем по протоколу SMTP передается дальше на почтовый сервер домена Полины — mail. bim.com, откуда описанным уже образом попадает на компьютер Полины.

Рис. 24.2. Схема с выделенными почтовыми серверами в каждом домене

Возникает вопрос, зачем нужна такая двухступенчатая передача через два почтовых сервера? Прежде всего, для повышения надежности и гибкости процедуры доставки сообщения. Действительно, в схеме с передачей сообщения сразу на сервер получателя почтовый клиент отправителя в случае неисправности почтового сервера должен самостоятельно справляться со сложившейся нештатной ситуацией. Если же посредником в передаче сообщения является другой почтовый сервер, то это позволяет реализовывать разнообразные логические механизмы реакции на отказы на стороне сервера, который к тому же всегда находится в режиме подключения. Например, при невозможности передать письмо почтовому серверу получателя сервер отправляющей стороны может не только рапортовать об этом своему клиенту, но и предпринимать собственные действия — пытаться снова и снова послать письмо, повторяя эти попытки в течение достаточно длительного периода.

Протоколы РОРЗ и IMAP

А теперь давайте, как мы и собирались, сравним два протокола доступа к почте: РОРЗ (Post Office Protocol v.3 — протокол почтового отделения версии 3) и ШАР (Internet Mail Access Protocol — протокол доступа к электронной почте Интернета). Оба этих протокола решают одну и ту же задачу — обеспечивают пользователей доступом к их корреспонденции, хранящейся на почтовом сервере. В связи с многопользовательским характером работы почтового сервера оба протокола поддерживают аутентификацию пользователей на основе идентификаторов и паролей пользователей. Однако протоколы РОРЗ и ШАР имеют и принципиальные различия, важнейшее из которых состоит в следующем. Получая доступ к почтовому серверу по протоколу РОРЗ, вы «перекачиваете» адресованные вам сообщения в память своего компьютера, при этом на сервере не остается никакого следа от считанной вами почты. Если же доступ осуществляется по протоколу ШАР, то в память вашего компьютера передаются только копии сообщений, хранящихся на почтовом сервере.

Это различие серьезно влияет на характер работы с электронной почтой. Сейчас очень распространенной является ситуация, когда человек в течение одного и того же периода времени использует несколько различных компьютеров: на постоянном месте работы, дома, в командировке. Теперь давайте представим, что произойдет с корреспонденцией пользователя Полины, если она получает доступ к почте по протоколу РОРЗ. Письма, прочитанные на работе, останутся в памяти ее рабочего компьютера. Придя домой, она уже не сможет прочитать их снова. Опросив почту дома, она получит все сообщения, которые поступили с момента последнего обращения к почтовому серверу, но из памяти сервера они исчезнут, и завтра на работе она, возможно, не обнаружит важные служебные сообщения, которые были загружены на диск ее домашнего ноутбука. Таким образом, получаемая Полиной корреспонденция будет «рассеяна» по всем компьютерам, которыми она пользовалась. Такой подход не позволяет рационально организовать почту: распределять письма по нескольким различным папкам, сортировать их по разным критериям, отслеживать состояние переписки, отмечать письма, на которые послан ответ, и письма, еще требующие ответа и т. д. Конечно, если пользователь всегда работает только с одним компьютером, недостатки протокола РОРЗ не являются столь критичными. Но и в этом случае проявляется еще один «дефект» этого протокола — клиент не может пропустить, не читая, ни одного письма, поступающего от сервера. То есть объемное и, возможно, совсем ненужное вам сообщение может надолго заблокировать вашу почту.

Протокол ШАР был разработан как ответ на эти проблемы. Предположим, что теперь Полина получает почту по протоколу ШАР. С какого компьютера она ни обратилась бы к почтовому серверу, ей будут переданы только копии запрошенных сообщений. Вся совокупность полученной корреспонденции останется в полной сохранности в памяти почтового сервера (если, конечно, не поступит специальной команды от пользователя об удалении того или иного письма). Такая схема доступа делает возможным для сервера предоставление широкого перечня услуг по рациональному ведению корреспонденции, то есть именно того, чего лишен пользователь при применении протокола РОРЗ. Важным преимуществом IMAP является также возможность предварительного чтения заголовка письма, после чего пользователь может принять решение о том, есть ли смысл получать с почтового сервера само письмо.

 

Веб-служба

Изобретение службы World Wide Web (WWW), или Всемирной паутины, стоит в одном ряду с изобретениями телефона, радио и телевидения. Благодаря WWW люди получили возможность получать доступ к нужной им информации в любое удобное для них время. Теперь проще найти интересующую вас статью в Интернете, чем в стопке журналов, хранящихся рядом в шкафу. Очень быстро исчезают многие традиционные приемы рациональной организации работы с информацией, заключающиеся, например, в хранении полезной информации в записных книжках, раскладывании вырезок из журналов и газет в картонные папки с веревочками, упорядочивании документов в каталогах путем наклеивания на них маркеров с условными кодами, помогающими быстро отыскать нужный документ, и т. д. Этим приемам приходят на смену новые безбумажные технологии Интернета, среди которых важнейшей является сетевая служба WWW, или веб-служба. Заметим, что WWW не только предоставляет любому человеку возможность быстрого поиска нужных данных и доступа к ним, но и позволяет ему выносить на многомиллионную аудиторию пользователей Интернета собственную информацию — мнения, художественные и публицистические произведения, результаты научной работы, объявления и т. д. Причем он может это сделать без особых организационных забот и практически бесплатно.

Мы не будем долго останавливаться на описании всех возможностей этой службы, учитывая, что для большинства из нас регулярный просмотр вебсайтов стал не просто обыденностью, а необходимым элементом жизненного уклада.

Веб- и HTML-страницы

Миллионы компьютеров, связанных через Интернет, хранят невообразимо огромные объемы информации, представленной в виде веб-страниц.

Веб-страница, или веб-документ, как правило, состоит из основного HTML-файла и некоторого количества ссылок на другие объекты разного типа: JPEG-или GIF-изображения, другие HTML-файлы, аудио- или видеофайлы.

HTML-страница, или HTML-файл, или гипертекстовая страница, содержит текст, написанный на языке HTML (Hypertext Markup Language - язык разметки гипертекста). История появления этого языка связана с попытками программистов разработать средство, которое позволяло бы им программным путем создавать красиво сверстанные страницы для просмотра на экране. Другими словами, красивая картинка появляется на дисплее только в результате ее интерпретации специальной программой, а в исходном виде она представляет собой однообразный текст с множеством служебных пометок. Вместо применения различных приемов форматирования, таких как выделение заголовков крупным шрифтом, а важных выводов — курсивным или полужирным начертанием, создатель документа на языках этого типа просто вставляет в текст соответствующие указания о том, что данная часть текста должна быть выведена на экран в том или ином виде. Служебные пометки такого рода в исходном тексте выглядят, например, как < b> < /Ь> (начать и закончить вывод текста полужирным начертанием) и называются тегами. Язык HTML не является первым языком разметки текста, его предшественники существовали задолго до появления веб-службы, например, в первых версиях ОС UNIX существовал язык troff (с помощью этого языка отформатированы страницы электронной документации UNIX, известные как man-страницы).

В язык HTML включены разные типы тегов, команд и параметров, в том числе для вставки в текст изображений (тег < i mg s гс='...'). Чтобы HTML-страница выглядела так, как задумал программист, она должна быть выведена на экран специальной программой, способной интерпретировать язык HTML. Такой программой является уже упоминавшийся веб-браузер.

Существует особый тип тега, который имеет вид < а href=»...»...< /а> и называется гиперссылкой. Гиперссылка содержит информацию о веб-странице или объекте, который может находиться как на том же компьютере, так и на других компьютерах Интернета. Отличие гиперссылки от других тегов состоит в том, что элемент, описываемый ею, не появляется автоматически на экране, вместо этого на месте тега (гиперссылки) на экран выводится некоторое условное изображение или особым образом выделенный текст — имя гиперссылки. Чтобы получить доступ к объекту, на который указывает эта гиперссылка, пользователь должен «щелкнуть» на ней, дав тем самым команду браузеру найти и вывести на экран требуемую страницу или объект. После того как новая веб-страница будет загружена, пользователь может перейти по следующей гиперссылке — такой «веб-серфинг» может продолжаться теоретически сколь угодно долго. Все это время веб-браузер будет находить указанные в гиперссылках страницы, интерпретировать все размещенные на них указания и выводить информацию на экран в том виде, в котором ее спроектировали разработчики этих страниц.

URL

Браузер находит веб-страницы и отдельные объекты по адресам специального формата, называемым URL (Uniform Resource Locator — унифицированный указатель ресурса). URL-адрес может выглядеть, например, так: http: //www.olifer.co.uk /books/books, htm.

В URL-адресе можно выделить три части.

1. Тип протокола доступа. Помимо HTTP, здесь могут быть указаны и другие протоколы, такие как FTP, telnet, также позволяющие осуществлять удаленный доступ к файлам или компьютерам1. Тем не менее основным протоколом доступа к веб-страницам является HTTP (как в нашем примере), и мы поговорим о нем немного позже.

2. DNS-имя сервера. Имя сервера, на котором хранится нужная страница. В нашем случае — это имя сайта www.olifer.co.uk.

3. Путь к объекту. Обычно это составное имя файла (объекта) относительно главного каталога веб-сервера, предлагаемого по умолчанию. В нашем случае главным каталогом является /books/books.htm. По расширению файла мы можем сделать вывод о том, что это HTML-файл.

Веб-клиент и веб-сервер

Как мы уже отмечали, сетевая веб-служба представляет собой распределенную программу, построенную в архитектуре клиент-сервер. Клиент и сервер веб-службы взаимодействуют друг с другом по протоколу HTTP.

Клиентская часть веб-службы, или веб-клиент, называемый также браузером, или агентом пользователя веб-службы, представляет собой приложение, которое устанавливается на компьютере конечного пользователя и одной из важных функций которого является поддержание графического пользовательского интерфейса. Через этот интерфейс пользователь получает доступ к широкому набору услуг, главной из которых, конечно, является «веб-серфинг», включающий поиск и просмотр страниц, навигацию между уже просмотренными страницами, переход по закладкам и хранение истории посещений. Помимо средств просмотра и навигации, веб-браузер предоставляет пользователю возможность манипулирования страницами: сохранение

1 URL-адреса с самого начала предназначались не только для веб-служб, но и для других сервисов доступа к информации через Интернет.

их в файле на диске своего компьютера, вывод на печать, передача по электронной почте, контекстный поиск в пределах страницы, изменение кодировки и формата текста, а также множество других функций, связанных с представлением информации на экране и конфигурированием самого браузера.

К числу наиболее популярных сейчас браузеров можно отнести Microsoft Internet Explorer, Mozilla Firefox компании Mozilla и последнее предложение компании Google — Chrome. Веб-браузер —- это не единственный вид клиента, который может обращаться к веб-серверу. Эту роль могут исполнять любые программы и устройства, поддерживающие протокол HTTP, а также многие модели мобильных телефонов — для доступа в этом случае применяется специальный протокол WAP (Wireless Application Protocol — протокол беспроводных приложений).

Значительную часть своих функций браузер выполняет в тесной кооперации с веб-сервером. Как уже было сказано, клиент и сервер веб-службы связываются через сеть по протоколу HTTP. Это означает, что в клиентской части веб-службы присутствует клиентская часть HTTP, а в серверной — серверная часть HTTP.

Веб-сервер — это программа, хранящая объекты локально в каталогах компьютера, на котором она запущена, и обеспечивающая доступ к этим объектам по URL-адресам. Наиболее популярными веб-серверами сейчас являются Apache и Microsoft Internet Information Server.

Как и любой другой сервер, веб-сервер должен быть постоянно в активном состоянии, прослушивая ТСР-порт 80, который является назначенным портом протокола HTTP. Как только сервер получает запрос от клиента, он устанавливает TCP-соединение и получает от клиента имя объекта, например, в виде /books/books.htm, после чего находит в своем каталоге этот файл, а также другие связанные с ним объекты и отсылает по TCP-соединению клиенту. Получив объекты от сервера, веб-браузер отображает их на экране (рис. 24.3). После отправки всех объектов страницы клиенту сервер разрывает с ним ТСР-со-единение. В дополнительные функции сервера входят также аутентификация клиента и проверка прав доступа данного клиента к данной странице.

Для повышения производительности некоторые веб-серверы прибегают к кэшированию наиболее часто используемых в последнее время страниц в своей памяти. Когда приходит запрос на какую-либо страницу, сервер, прежде чем считывать ее с диска, проверяет, не находится ли она в буферах более «быстрой» оперативной памяти. Кэширование страниц осуществляется и на стороне клиента, а также на промежуточных серверах (прокси-серверах). Кроме того, эффективность обмена данными с клиентом иногда повышают путем компрессии (сжатия) передаваемых страниц. Объем передаваемой информации уменьшают также за счет того, что клиенту передается не весь документ, а только та часть, которая была изменена. Все эти приемы повышения производительности веб-службы реализуются средствами протокола HTTP.

Рис. 24.3. Отображение веб-страницы

Протокол HTTP

HTTP (HyperText Transfer Protocol — протокол передачи гипертекста)1 — это протокол прикладного уровня, во многом аналогичный протоколам FTP и SMTP. В настоящее время используются две версии протокола, НТТР/1.0 иНТТР/1.1

Обмен сообщениями идет по обычной схеме «запрос-ответ». Клиент и сервер обмениваются текстовыми сообщениями стандартного формата, то есть каждое сообщение представляет собой несколько строк обычного текста в кодировке ASCII.

Для транспортировки HTTP-сообщений служит протокол TCP. При этом TCP-соединения могут использоваться двумя разными способами:

□ долговременное соединение — передача в одном TCP-соединении нескольких объектов, причем время существования соединения определяется при конфигурировании веб-службы;

□ кратковременное соединение — передача в течение одного ТСР-соедине-ния только одного объекта.

Долговременное соединение, в свою очередь, может быть использовано двумя способами:

□ последовательная передача запросов с простоями — новый запрос посылается только после получения ответа;

□ Конвейерная передача — это более эффективный способ, в котором следующий запрос посылается до прибытия ответа на один или несколько предыдущих запросов (напоминает метод скользящего окна). Обычно по умолчанию степень параллелизма устанавливается на уровне 5-10, но у пользователя имеется возможность изменять этот параметр при конфигурировании клиента.

В HTTP 1.1 по умолчанию применяются постоянные соединения и конвейерный режим.

Формат HTTP-сообщений

В протоколе HTTP все сообщения состоят из текстовых строк. Сообщения и запросов, и ответов имеют единую обобщенную структуру из трех частей: обязательной стартовой строки, а также необязательных заголовков и тела сообщения. В табл. 24.1 приведены форматы и примеры стартовых строк и заголовков для запросов и ответов.

Как видно из таблицы, запросы и ответы имеют разные форматы стартовой строки. Каждая из них состоит из трех элементов, включающих поле версии протокола HTTP. В примере и в запросе, и в ответе указана версия НТТР/1.1. Стартовая строка запроса включает в себя поле метода — это название операции, которая должна быть выполнена. Чаще всего в запросах используется метод GET, то есть запрос объекта. Именно он включен в наш пример запроса. Помимо этого метода в запросах протокол предусматривает и другие методы, такие как POST, который используется клиентом, например, для отправки электронной почты или в поисковых машинах, когда клиент запрашивает у сервера не определенный объект, а объекты, содержащие ключевые слова, помещенные в теле сообщения. Еще одним элементом стартовой строки является URL-ссылка на запрашиваемый объект — здесь это имя файла /books/ books.htm.

В стартовой строке ответа, помимо уже упоминавшегося указания на версию протокола HTTP, имеется поле кода состояния и поле фразы для короткого текстового сообщения, поясняющего данный код для пользователя. В настоящее время стандарты определяют пять классов кодов состояния:

□ 1хх — информация о процессе передачи;

□ 2хх — информация об успешном принятии и обработке запроса клиента (в таблице в примере стартовой строки ответа приведен код и соответствующая фраза 200 О К, сообщающие клиенту, что его запрос успешно обработан);

□ Зхх — информация о том, что для успешного выполнения операции нужно произвести следующий запрос по другому URL-адресу, указанному в дополнительном заголовке Location;

□ 4хх — информация об ошибках со стороны клиента (читатель наверняка не раз сталкивался с ситуацией, когда при указании адреса несуществующей страницы браузер выводил на экран сообщение 404 Not Found);

□ 5хх — информация о неуспешном выполнения операции по вине сервера (например, сообщение 505 http Version Not Supported говорит о том, что сервер не поддерживает версию HTTP, предложенную клиентом).

Таблица 24.1. Форматы стартовых строк и заголовков

 

 

 

Обобщенная структура сообщения HTTP-запрос HTTP-ответ
Стартовая строка (всегда должна быть первой строкой сообщения; обязательный элемент) Формат запроса Метод/ URL НТТР/1.Х. Пример: GET /books/books.htm HTTP/1.1 Формат ответа: HTTP/l.x КодСостояния Фраза. Пример: НТТР/1.0 200 ОК
Заголовки (следуют в произвольном порядке; могут отсутствовать) Заголовок о DNS-имени компьютера, на котором расположен веб-сервер. Пример: Host: www.olifer.co.uk Заголовок о времени отправления данного ответа. Пример: Date: 1 Jan 2009 14: 00: 30
Заголовок об используемом браузере. Пример: User-agent: Mozilla/5.0 Заголовок об используемом веб-сервере. Пример: Server: Apache/1.3.0 (Unix)
Заголовок о предпочтительном языке. Пример: Accept-language: ru Заголовок о количестве байтов в теле сообщения. Пример: Content-Length: 1234
Заголовок о режиме соединения. Пример: Connection: close Заголовок о режиме соединения. Пример: Connection: close
Пустая строка
Тело сообщения (может отсутствовать) Здесь могут быть расположены ключевые слова для поисковой машины или страницы для передачи на сервер Здесь может быть расположен текст запрашиваемой страницы

Среди кодов состояния имеется код 401, сопровождаемый сообщением authorization required. Если клиент получает такое сообщение в ответ на попытку доступа к странице или объекту, это означает, что доступ к данному ресурсу ограничен и требует авторизации1 пользователя. Помимо поясняющей фразы сервер помещает в свой ответ дополнительный заголовок www-Authenticate: <... >, который сообщает клиенту, какую информацию он должен направить серверу для того, чтобы процедура авторизации могла быть выполнена. Обычно это имя и пароль. Веб-клиент с момента получения такого ответа сервера начинает добавлять во все свои запросы к ресурсам данного сервера дополнительный заголовок Authori zation: < имя, паролъ>, который содержит информацию, необходимую для авторизации доступа.

1 Об аутентификации и авторизации читайте в последних разделах этой главы.

Динамические веб-страницы

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

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

Динамика страницы достигается путем ее программирования. Различают два класса программ, предназначенных для создания динамического содержания веб-страниц:

· программы, работающие на стороне клиента (на том компьютере, где запущен веб-браузер);

· программы, работающие на стороне сервера.

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

Популярными языками сценариев для серверной части являются Perl, ASP, JSP и PHP. Существует также стандартный программный интерфейс между веб-сервером и программами, генерирующими динамическое содержание, — это общий шлюзовой интерфейс (Common Gateway Interface, CGI).

 

Контрольные вопросы:


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-04-09; Просмотров: 3589; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.054 с.)
Главная | Случайная страница | Обратная связь