Классификация web ресурсов

advertisement
WEB технологии
 К 1989 году гипертекст представлял новую, многообещающую
технологию, которая имела относительно большое число
реализаций с одной стороны, а с другой стороны делались
попытки построить формальные модели гипертекстовых систем,
которые носили скорее описательный характер и были навеяны
успехом реляционного подхода описания данных. Идея Т. БернерсЛи заключалась в том, чтобы применить гипертекстовую модель к
информационным ресурсам, распределенным в сети, и сделать
это максимально простым способом. Он заложил три
краеугольных камня системы из четырех существующих ныне,
разработав:
язык гипертекстовой разметки документов HTML (HyperText Markup
Lan-guage);
универсальный способ адресации ресурсов в сети URL (Universal
Resource Locator);
Количество компьютеров в
мировых сетях
1600000000
1400000000
1200000000
1000000000
800000000
600000000
400000000
200000000
0
1,46
945 млрд
(прогноз)
млн
500
147 млн
61
10 100
млн
1000 тыс тыс 1 млнмлн
1984 1987 1989 1993 1996 1998 2001 2005 2007
Количество пользователей Интернет в разных странах
9E-11
США
Япония
Миллионов Человек
8E-11
76,5
Великобритания
7E-11
Германия
6E-11
Канада
Австралия
5E-11
Франция
4E-11
Швеция
3E-11
Италия
Испания
2E-11
Нидерланды
1E-11
9,75
8,1
4,36
7,14
2,79
2,58
6,49
0
С т р а н ы
2,14
1,98
1,96
1,65
Тайвань
Классификация web ресурсов
конечные (или функциональные) сайты
навигационные сайты
поисковые
системы
каталоги
порталы
информационные
(или тематические)
сайты
корпоративные
сайты
сайты электронной
коммерции
сайты, являющиеся
Web интерфейсами
сетей Интернет
HTML
Часто применяются следующие расширения языка
HTML (выполняются на стороне клиента и/или
сервера и расширяют их возможности)
•
•
•
•
Java - машинно-независимый язык программирования (подробнее см.
подраздел 7.2.2).
JavaScript, VBScript и PerlScript - языки программирования,
интегрированные в HTML-код.
CGI и ISAPI - серверные расширения HTML, служащие для организации
полномасштабного диалога в Сети.
ActiveX - предложенная Microsoft Corp. технология, позволяющая
вводить в WEB-страницы любые (выгружаемые из Сети) активные
программные объекты; реализована в виде построенного на Win32 и
OLE API (подробности можно получить с сервера фирмы-разработчика
www.microsoft.com). Технология ActiveX, например, удачно применена
фирмой Inprise Corp. для создания ‘тонкого’ клиента при работе с
базами данных (внешне имеет много общего с технологией MIDAS той
же фирмы, однако выполняется в броузере клиента) для InterNet’а
HTML
Часто применяются следующие расширения языка
HTML (выполняются на стороне клиента и/или
сервера и расширяют их возможности)
•
•
•
IDC - Internet Database Connector - средство доступа к базам данных
через ODBC (Open Database Connectivity) в технологии ‘клиент/сервер’
для Microsoft SQL Server (IDC включает также соответствующий формат
файлов).
ASP (Active Server Pages) - технология позволяет решать те же задачи,
что и с помощью CGI и ISAPI, однако при этом заметно упрощается
процесс разработки WEB-приложений [23]. Документ ASP включает
шаблон, использует серверные сценарии на языке JScript или VBScript,
запросы к БД на SQL и COM-технологию.
PHP/FI - развивающийся в последнее время язык создания домашних
WEB-страниц, облегчения разработки форм и таблиц и анализа
запросов SQL; предложения PHP/FI (одна из распространенных версий 2.0) встраиваются непосредственно в текст HTML-страниц и
выполняются серверным процессом (см. подраздел 7.2.4).
Следует отметить существующие
технологии работы с мультимедиа в
InterNet
RealAudio (фирма Progressive Network) - один из примеров
многообещающей технологии потоковой передачи данных (streaming
audio), позволяющей проигрывать (звуковой) файл в процессе его
загрузки (информация на адресе www.realaudio.com); одна из
популярных программ - SOX (SOund eXchange, см.
www.spies.com/Sox/). Другие примеры - системы IWave (сокращение
от InternetWave, фирма VocalTec, информация на адресе
www.dspg.com) и TrueSpeech.
MBONE - Multicast Backbone - виртуальная сеть, позволяющая
передавать видеоизображения и аудио через InterNet с
использованием технологии групповой пересылки (multicasting).
Видео воспроизводится со скоростью 1 кадр/сек (при пропускной
способности канала 128 Кбайт/сек), для высококачественной
передачи голоса требуется 32 или 64 Кб/сек (MBONE применялась
для репортажей непосредственно с места событий, например, при
выходе космонавтов в открытый космос). Работу с MBONE
поддерживают приложения NetVideo, VisualAudioTool и Whiteboard
(все для UNIX).
Следует отметить существующие
технологии работы с мультимедиа в
InterNet
StreamWorks - разработанная фирмой Xing Technology Corp. система
передачи видео и аудио по любой сети (информация на www.xingtech.com).
Корпорации NBS и Reuters применяют StreamWorks для передачи
коммерческим подписчикам репортажей с места событий, несколько WEBрадиостанций используют StremWorks для высококачественной трансляции
музыки (от 14,4 Кб/сек до 44,1 Кб/сек для стерео и 112 Кб/сек для
полноценного видео).
VRML - Virtual Reality Modeling Language - язык моделирования виртуальной
реальности, подробнее см. работ.
Иерархия объектов JavaScript
window
location
frames
forms
elements
history
document
links
anchors
images
Язык Java по синтаксису близок к
C++, однако имеет существенные
особенности



Не поддерживается перегрузка операторов
(вследствие трудности поддержки и
относительно редкого использования на
практике).
Запрещено множественное наследование
(основания подобны вышеприведенным,
запрет несколько смягчается возможностью
использования унаследованных
интерфейсов).
Исключены указатели, являющиеся частой
причиной труднолокализируемых ошибок в
C++.
Мощь языка Java основана на
сочетании четырех его характеристик
1.
2.
3.
4.
Сетевой осведомленности (network awareness) заключается в том, что каждое решение при разработке
языка принималось таким образом, чтобы предоставить
возможность Java-приложениям обладать сетевыми
характеристиками (в применении к InterNet это вылилось в
обеспечении гнездового интерфейса низкого уровня - lowlevel socket interface).
Переносимости - возможность исполнения Java-программ
на различных аппаратных и операционных платформах.
Безопасности - достигается путем сегментации памяти,
выгрузки из Сети только классов Java (а не ‘родных’,
зависящих от конкретной ОС, методов) и фильтрования всех
потенциально опасных требований доступа к системным
ресурсам через специальный класс SecurityManager.
Объектной ориентации - путем разграничения доступа к
объектам путем применения концепций наследования и
инкапсуляции.
Расширенный язык разметки XML
XML-документ состоит из двух частей:
размеченного документа, отображающего
исходную информацию, и декларации средств
используемого языка разметки. Эта
декларация, называемая таблицей
определения типов DTD (Document Type
Definition), должна соответствовать общим
правилам языка XML, но может содержать
объявления элементов, специфичных для
некоторого приложения и определяющих
используемую разновидность XML.
Разновидности XML (словари XML) могут
создаваться по мере необходимости, что и
оправдывает определение XML как метаязыка.
PHP

PHP – это язык сценариев,
выполняющийся на стороне сервера. Он
был разработан специально для Web –
программирования и в очень короткие
сроки приобрел большую популярность.
PHP является интерпретируемым
языком программирования.
Технология PHP
PHP
Сервер Web
Проигрыватель
сценариев
PHP
Сеть
Клиент
Web
Программное обеспечение
WWW построено по схеме
клиент-сервер.
HTTP
НТТР используется для
взаимодействия программклиентов с программамишлюзами, разрешающими
доступ к:




файловым архивам FTP
системам Gopher и WAIS
ресурсам электронной почты
спискам новостей Usenet
Протокол реализует принцип
"запрос - ответ".
Запрашивающая программа-клиент
инициирует взаимодействие с
сервером и посылает запрос:
метод доступа
адрес URL
версию протокола
сообщение с модификаторами типа
данных
 информация клиента




Заголовки протокола HTTP
Заголовки объекта







Allow
Перечисляет поддерживаемые сервером методы
Content-Encoding
Способ, которым закодировано тело сообщения,
например, с целью уменьшения размера
Content-Length
Длина сообщения в байтах
Content-Type Тип содержимого и, возможно, некоторые параметры
ETag Уникальный тэг ресурса на сервере, позволяющий сравнивать
ресурсы
Expires
Дата и время, когда ресурс на сервере будет изменен, и его
нужно получать заново
Last-Modified
Дата и время последней модификации содержимого
Заголовки протокола HTTP
Заголовки ответа




Age Число секунд, через которое нужно повторить запрос для получения
нового содержимого
Location
URI ресурса, к которому нужно обратиться для получения
содержимого
Retry-After
Дата и время или число секунд, через которое нужно
повторить запрос, чтобы получить успешный ответ
Server
Название программного обеспечения сервера, приславшего
ответ
Заголовки запроса




Accept
Типы содержимого, которое "понимает" клиент и может
воспроизвести
Accept-Charset Кодировки символов, в которых клиент может принимать
текстовое содержимое
Accept-Encoding Способ, которым сервер может закодировать
сообщение
Host Хост и номер порта, с которого запрашивается документ
Заголовки протокола HTTP



If-Modified-Since,If-Match,If-None-Match,If-Range,If-Unmodified-Since
Заголовки запроса для условного обращения к ресурсу
Range
Запрос части документа
User-Agent Название программного обеспечения клиента
Общие заголовки


Connection Указывает серверу на завершение (close) или продолжение
(keep-alive) сеанса
Date Дата и время формирования сообщения
Публикация БД в Интернет со
статическим формированием
страниц
Преобразователь
Сервер
Web
СУБД
HTML
БД
Сеть
Клиент
Web
Публикация БД в Internet с
использованием технологии CGI
БД
Сервер Web
СУБД
CGI
Сеть
Клиент
Web
Download