Введение"Закоренелый циник определил бы Интернет как средство имитировать полезную деятельность и одурачивать обладателей модемов красивыми картинками." Немного историиВсе это началось в 1969 г., когда Пентагон создал агентство ARPA (Advanced Research Projects Agency) и поручил ему разработку нецентрализованной компьютерной сети, которая должна функционировать даже тогда, когда многие ее части будут отключены или разрушены в результате применения ядерного оружия. Проект был назван ARPANet (ARPA Network). Для решения поставленной задачи был разработан новый сетевой протокол IP (Internet Protocol), который определял, как электронные сообщения упаковываются, адресуются и передаются по сети. Окончательный стандарт был сформулирован в 1981 г. под названием TCP/IP (Transmission Control Protocol over Internet Protocol). Он позволил пользователям подключать различные службы их сетей к ARPAnet, которая вскоре получила название Интернет (INTERNET = INTER-connected group of NETworks) или просто Сеть (с большой буквы, в отличие от всех остальных сетей). В 70-е и 80-е годы ARPANet продолжала расти; кроме того, она стала высокоскоростной сетью за счет подключения к ней нескольких мощных суперкомпьютеров. В это же время компьютерными сетями начали пользоваться ученые и исследователи различных специальностей, и, в конце концов, Национальный научный фонд США (NSF, National Science Foundation) перенял технологию TCP/IP у ARPANet и создал собственную распределенную сеть сетей NSFNet, способную обрабатывать гораздо большие объемы данных. В 1985 г. NSF открыл доступ к NSFNet всем образовательным организациям, академическим институтам, правительственным учреждениям и международным научно-исследовательским организациям. В 1989 г. проект ARPANet был закрыт Пентагоном из-за отсутствия средств и поддержки со стороны военных. В 1987 г. к Интернету присоединился Европейский центр ядерных исследований (CERN, Conseil Europeen pour la Recherche Nucleaire) в Женеве. Этот факт не имел бы никакого значения для истории Сети, если бы там не работал Тим Бернерс-Ли (Tim Berners-Lee). В 1989 г. он и несколько его коллег разработали систему распределенных гипертекстовых документов, которой суждено было стать следующим этапом в развитии Интернета. Их усилиями были созданы протокол передачи гипертекстов HTTP, язык HTML и концепция Всемирной паутины (World Wide Web, WWW). Наконец, в 1993 г. Марк Андрисен (Marc Andreessen) и Эрик Бина (Eric Bina) из NCSA (The National Center for Supercomputing Applications) в Иллинойсе, США написали первый коммерческий Веб-обозреватель Mosaic, который и вызвал взрыв интереса к WWW. Последующее развитие WWW проходило под знаком "войны обозревателей" за рынок. Эта война началась в 1994 г. с того, что команда разработчиков Mosaic перешла в корпорацию Netscape Communications и создала Netscape Navigator, надолго определивший облик стандартного Веб-обозревателя. Вскоре корпорация Microsoft оценила размер потенциального рынка пользователей Веб и вышла на него с собственным продуктом Internet Explorer. С тех пор и по сей день эта "сладкая парочка" (получившая в американском народе прозвище Microscape) борется за сердца и деньги пользователей всего мира. В 90-е годы Интернет разрастается невероятными темпами, причем львиная доля его мощностей используется двумя подсистемами: World Wide Web и электронной почтой. По оценкам специалистов1, количество компьютеров, подключенных к Интернету, ежегодно удваивалось. В марте 2000 г. к Интернету было подключено более 300 миллионов пользователей более чем в 100 странах мира. Веб глазами программистаИтак, Интернет это распределенная компьютерная сеть, объединяющая громадное количество отдельных сетей посредством единого межсетевого протокола TCP/IP. При этом пользователь "видит" только свой персональный компьютер (клиент) и сервер той сети, к которой он подключен либо как рабочая станция локальной сети, либо посредством модема и телефонного канала. Доступ его сервера к остальным Интернет-серверам обеспечивается автоматической маршрутизацией через специальные устройства (т. н. рутеры). К счастью, для успешной разработки Веб-страниц нам нет нужды ни вникать в этот процесс, ни изучать протокол TCP/IP. WWW, как подсистема Интернета, также основывается на архитектуре клиент-сервер. Отличие состоит в том, что и на сервере, и на клиенте должно быть установлено дополнительное программное обеспечение Веб-сервер и Веб-обозреватель соответственно. Это программное обеспечение поддерживает стандартный протокол передачи гипертекстов (HTTP), а также ряд других протоколов, в частности, протокол передачи файлов (FTP). Архитектура клиент-сервер означает, что взаимодействие пользовательского компьютера с Интернетом происходит так:
Как мы увидим позже, реальная картина несколько сложнее: обозреватель может не только запрашивать готовые документы, но и запускать на сервере программы, которые генерируют Веб-страницы на основе его запроса (например, при выборке из базы данных строк, отвечающих определенному критерию). Но пока для нас важно другое. Протоколы Сети и WWW разработаны так, чтобы работать на любом компьютере, независимо от его аппаратной "начинки" и операционной системы. Это означает, что Веб-документы должны правильно обрабатываться любым Веб-сервером и отображаться любым обозревателем. К сожалению, не все так хорошо в этом лучшем из миров несмотря на существование стандартов и Веб-серверы, и обозреватели реализуют их не полностью или не совсем так, как предполагали авторы стандартов. Поэтому перед Веб-разработчиком встает проблема совместимости его продукта с программным обеспечением его потенциальных потребителей. Эта задача распадается на две неравнозначные подзадачи:
Эти задачи неравнозначны потому, что в первом случае я, как разработчик, сам выбираю сервер для размещения своих продуктов, а значит, знаю о нем все, что мне нужно. Если окажется, что сервер не обеспечивает нужных мне возможностей (например, на нем нет интерпретатора языка PERL, на котором написаны мои сценарии), то я просто заключу договор с другим провайдером Интернет-услуг и перенесу свои документы на его сервер. Вторая задача намного сложнее, т. к. контролировать рынок обозревателей я не могу, как не могу диктовать пользователю, в каком обозревателе нужно просматривать мою информацию. Все, что я могу, это изучить состояние рынка и понять, на что мне следует ориентироваться. Немного статистикиИз сказанного ясно, что нас должны волновать два вопроса:
Для того, чтобы ответить на эти вопросы, обратимся к статистическим данным2. Интернет-серверы
Компьютеры-клиентыВыводыТеперь мы можем ответить на поставленные выше вопросы.
Разумеется, прежде всего вы должны убедиться, что необходимые вам программные средства установлены на вашем сервере и получить от администратора сети полномочия, необходимые для их использования. ИнструментарийВсе приведенные в данном справочнике примеры HTML- и DHTML-документов, включая каскадные таблицы стилей, JavaScript-сценарии и VML-графику, проверялись на компьютере с процессором Pentium/MMX-233, работающем под управлением Microsoft Windows 98, в обозревателях Microsoft Internet Explorer 5.5, Netscape Navigator 4.7 и Mozilla/5.0 (M18). Для отладки сценариев использовался Microsoft Script Debugger 1.0. Для создания и отладки Java-аплетов автор пользовался Microsoft SDK for Java 4.0 и виртуальной Java-машиной Microsoft Java VM Build 3240. Сценарии на языке PERL отлаживались и проверялись с помощью ActivePerl 5.6.0.613 for Windows, программы на языке VRML с помощью PLATINUM World View 2.1 for Internet Explorer. Верификация XML-документов проводилась в Microsoft XML Notepad Beta 1.5, их отображение проверялось в обозревателе Microsoft Internet Explorer 5.5. Считаем важным подчеркнуть, что все перечисленные программные средства можно загрузить с соответствующих Веб-узлов бесплатно. 1 Статистические данные взяты из Internet Industry Almanac . 2 Все данные приведены по состоянию на март-апрель 2000 г. Более свежую информацию см. на узлах: The Internet Operating System Counter , Netcraft Web Server Survey , StatMarket . | ||||