Інтернет: як це працює

  1. гіпертекст
  2. Всесвітня павутина
  3. браузери
  4. Web-сторінка
  5. HTML
  6. Механізм роботи Web-сервера
  7. Статичні і динамічні сторінки
  8. технологія CGI
  9. JavaScript-додатки
  10. Java-аплети і елементи управління ActiveX

Олександр Прохоров

гіпертекст

Всесвітня павутина

браузери

Web-сторінка

HTML

Механізм роботи Web-сервера

Статичні і динамічні сторінки

технологія CGI

JavaScript-додатки

Java-аплети і елементи управління ActiveX

WWW (World Wide Web - Всесвітня павутина) - найпопулярніший сервіс Інтернету. Саме він, завдяки своїй відносній простоті і наочності для користувачів, зробив настільки масовими звернення до ресурсів Мережі. Отже, що ж таке WWW і як працює дана служба?

найзагальнішому плані WWW - це система Web-серверів, що підтримує документи, відформатовані спеціальним чином найзагальнішому плані WWW - це система Web-серверів, що підтримує документи, відформатовані спеціальним чином. Служба WWW реалізована у вигляді клієнт-серверної архітектури. Користувач за допомогою клієнтської програми (браузера) здійснює запит тієї чи іншої інформації на сервері, а Web-сервер обслуговує запит браузера. Браузер - це програма, що забезпечує звернення до шуканого ресурсу на сервері по його URL (універсального адресою ресурсу), що інтерпретує отриманий результат і демонструє його на клієнтському комп'ютері ( Мал. 1 ).

Сервер і клієнт зазвичай працюють на різних комп'ютерах, а можливо, і на різних апаратних платформах, і під управлінням різних операційних систем.

Протокол, за яким відбувається доставка Web-сервером документа Web-браузеру, носить назву HTTP (Hypertext Transfer Protocol - Протокол передачі гіпертексту). Для того щоб докладніше пояснити механізм перегляду документів на Web-сервері, необхідно провести кілька понять, і перш за все поняття гіпертексту.

гіпертекст

іпертекст (Hypertext) - це текст, що містить гіперпосилання, що зв'язують слова або картинки документа з іншим ресурсом (з яким-небудь ще документом або з іншим розділом цього ж документа), при цьому подібні «пов'язані» слова або картинки документа, як правило, виділяються , зазвичай за допомогою підкреслення іпертекст (Hypertext) - це текст, що містить гіперпосилання, що зв'язують слова або картинки документа з іншим ресурсом (з яким-небудь ще документом або з іншим розділом цього ж документа), при цьому подібні «пов'язані» слова або картинки документа, як правило, виділяються , зазвичай за допомогою підкреслення. Користувач може активувати цю зв'язок клацанням миші. У більшості випадків подібна активізація посилання призводить до того, що викликається таким чином ресурс заміщає поточний документ. Зв'язати гіперпосиланням можна не тільки слово, але і цілий розділ документа і навіть область конкретної форми на будь-якої зображенні документа.

Деякі автори визначають гіпертекстовий документ як документ, що містить меню для переходу до інших ресурсів. Ідею гіпертекстової організації документа можна проілюструвати на прикладі довідників. Якщо художню книгу ми зазвичай читаємо з початку і до кінця (лінійно), то довідкову літературу ми найчастіше читаємо нелінійно: наприклад, зустрівши незнайоме слово, шукаємо його в додатку або в тлумачному словнику, потім знову повертаємося до розпочатого тексту і так далі. Іншими словами, ми звертаємося до різних розділів довідника по мірі необхідності.

В принципі, ідея нелінійного прочитання тексту виникла задовго до появи комп'ютерів. Відомо, наприклад, що в тлумаченні на книгу псалмів Гільберта Порретанскій (близько 1150 року н.е.) застосовувалися спеціальні позначки на полях, які відсилали читача на сторінки в інших місцях книги.

Практичне застосування ідеї і сам термін «гіпертекст» з'явилися з виникненням електронних документів, хоча і істотно раніше, ніж сама служба WWW. Вперше термін «гіпертекст» був ужитий Тедом Нельсоном 1 (Ted Nelson) в 1965 році. Істотний внесок в розвиток гіпертекстових систем внесла фірма Apple.

Оскільки сучасні електронні документи містять не тільки текст, а й будь-яку мультимедійну інформацію (текст, графіка, звук), в якості посилань стали використовувати не тільки текстові, але і графічні об'єкти. Згодом поняття гіпертексту було розширено до поняття гіпермедіа. Гіпермедіа - це метод організації мультимедійної інформації на основі посилань на різні типи даних. Гіпермедіадокументи використовуються не тільки в WWW. Типовим прикладом гіпермедіа є мультимедійна інформація, що міститься в електронній енциклопедії. Читаючи, наприклад, текст про співочих птахів в CD-ROM-енциклопедії, ви можете перейти на відповідне посилання і послухати спів обраної птиці, а потім подивитися відеоролик із записом її польоту.

Особливо продуктивною ідея гіпертексту виявилася стосовно об'єднання цифрової інформації, розподіленої на серверах в усьому світі. Ось тут ми безпосередньо підходимо до поняття Всесвітньої павутини.

Всесвітня павутина

WW - це глобальна гіпертекстова система, організована на базі Інтернету WW - це глобальна гіпертекстова система, організована на базі Інтернету. WWW являє собою механізм, за допомогою якого пов'язується інформація, доступна за допомогою численних Web-серверів у всьому світі. Web-сервер - це програма, яка «вміє» отримувати http-запити і виконувати відповідно до цих запитів певні дії, наприклад запускати додатки і генерувати документи.

Документ, доступний через Web, називають Web-сторінкою, а групи сторінок, об'єднані спільною темою і навігаційно, - Web-вузлами, або Web-сайтами. Один апаратний Web-сервер може містити кілька Web-сайтів, але можлива і зворотна ситуація, коли величезний Web-сайт може підтримуватися групою Web-серверів (комп'ютерів).

Для того щоб краще зрозуміти ідею організації Всесвітньої павутини, звернемося до Мал. 2 , На якому показаний приклад використання WWW для пошуку інформації про новини. Припустимо, що користувачеві, який проживає в США, необхідно дізнатися останні московські новини, і він не знає адреси сервера, на якому можна знайти цю інформацію. Цілком ймовірно, що для того, щоб отримати необхідні дані, він набирає відомий йому адресу Web-сайту, який фізично розташований на комп'ютері в США і присвячений темі «Новини у світі». Очевидно, що на одному сервері не можуть зберігатися дані про місцеві новини усіх куточків земної кулі. При цьому можливо, що у найбільш важливих новин світового значення на сервері є посилання на новинні сайти, актуальні для різних регіонів. Цілком ймовірно, що, вибравши посилання «Європа», користувач з'єднається вже з іншим комп'ютером, розташованим десь в Європі ( Мал. 2 ). Припустимо, що на сторінці європейського сайту є посилання на Росію. За посиланням «Росія» можна з'єднатися з сервером в Росії. Ймовірно, за посиланням «Москва» на цьому сайті користувач отримає необхідну інформацію, а можливо, з'єднається з четвертим сервером, який представить необхідну йому інформацію. Таким чином, уточнюючи і деталізуючи інформацію, можна отримати новини конкретного району. Важливо відзначити, що в представленому на малюнку прикладі користувач звертається із запитами до різних серверів і при переході з одного сервера на інший йому не потрібно щоразу ставити адреси серверів і тим більше знати про те, де вони фізично знаходяться. У цьому випадку говорять, що процедура відбувається прозоро для користувача, тобто користувач сприймає весь процес так, як якщо б всі отримані ним сторінки перебували на його власному комп'ютері. Таким чином, процес перегляду інформації можна порівняти з перегортанням сторінок величезної книги на одному робочому столі за принципом «натисни і отримай». Процес переміщення по документах за допомогою гіпертекстових посилань отримав в побуті назва навігації, або серфінгу 2 .

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

браузери

ак ми вже відзначали, в браузерах реалізовані дві основні функції: запит інформації у Web-сервера і відображення її на клієнтському комп'ютері ак ми вже відзначали, в браузерах реалізовані дві основні функції: запит інформації у Web-сервера і відображення її на клієнтському комп'ютері. Крім того, браузери мають додаткові сервісними функціями, такими як спрощення пошуку, зберігання закладок, що вказують на вибрані сторінки, та ін.

Багато в чому розвиток браузерів визначалося конкуренцією двох компаній-розробників - Netscape і Microsoft.

В середині 1990-х років компанія Netscape захопила велику частку ринку завдяки своєму продукту Netscape Navigator, а Microsoft почала активно просувати розроблений нею Internet Explorer. Історія протистояння цих двох програм отримала назву війни браузерів, яка фактично звелася до появи у них нових можливостей. Завдяки інтеграції Internet Explorer з операційною системою Windows і пропозицією браузера в якості безкоштовної програми, Microsoft вдалося здобути перемогу в цій війні. В результаті ринок браузерів став досить специфічним: сьогодні найбільш популярні програми Internet Explorer і Netscape Navigator поширюються безкоштовно, в той час як деякі альтернативні і значно менш поширені програми є платними.

Поступово браузери з пристроїв для перегляду HTTP-документів стали універсальними Інтернет-клієнтами. Більш детальну інформацію про роботу браузерів ми поговоримо після того, як розповімо про будову Web-сторінки.

Web-сторінка

опулярность WWW обумовлена ​​тим, що можна не тільки переглядати чужі сторінки і мати доступ до величезної кількості інформації, представленої на сотнях мільйонів комп'ютерів, але і створити власні ресурси і таким чином донести будь-яку інформацію до всіх майбутніх відвідувачів сайту опулярность WWW обумовлена ​​тим, що можна не тільки переглядати чужі сторінки і мати доступ до величезної кількості інформації, представленої на сотнях мільйонів комп'ютерів, але і створити власні ресурси і таким чином донести будь-яку інформацію до всіх майбутніх відвідувачів сайту. Іншими словами, WWW - це глобальний механізм обміну інформацією: одні люди поміщають інформацію на Web-сервери, а інші її переглядають. Створивши Web-сайт, власник може помістити туди різного роду інформацію: текст, графіку, звук, анімацію, яка стане доступною для всіх відвідувачів цього ресурсу. З появою в Мережі вашої сторінки інформація про вас або про вашу фірму стане доступна сотням мільйонів користувачів цілодобово сім днів на тиждень. Кількість інформації, яке може бути надано відвідувачеві, практично не обмежена за часом, на відміну від радіо чи телебачення. Для того щоб ваш сайт був найбільш відвідуваним, необхідно забезпечити швидкий доступ до нього. Якщо ви спробуєте створити Web-сайт на домашньому комп'ютері, підключивши його до Інтернету через звичайний модем і телефонну лінію, ви не зможете забезпечити до нього швидкий доступ і, швидше за все, віджахнете потенційних відвідувачів. Як показує досвід, найбільше відвідувачів дратує довге завантаження сторінки, тому сервер, на якому ви хочете розмістити свій сайт, повинен мати високошвидкісне підключення до Інтернету.

Для того щоб забезпечити належну швидкість доступу до вашого ресурсу, бажано скористатися послугами так званого провайдера хостингу. Хостинг (від англ. Host - господар) - це надання якісної послуги з розміщення сайту на фізичному Web-сервері провайдера або власному сервері, розміщеному на майданчику провайдера. Зазвичай хостинг-провайдер стягує плату, яка тим вище, чим більше орендоване дисковий простір і інтенсивність трафіку. Однак існують і безкоштовні послуги хостингу. Якщо ви захочете отримати доменне ім'я третього рівня (наприклад, www.ivanov.narod.ru: (доменне ім'я першого рівня - ru, доменне ім'я другого рівня - narod, доменне ім'я третього рівня - ivanov), то, швидше за все, це буде безкоштовно . Доменні імена третього рівня надаються багатьма компаніями, що пропонують безкоштовний «народний» хостинг. Наприклад, ім'я www.your-name.narod.ru (де your-name - це ім'я, яке ви можете дати своєму ресурсу) надає компанія Яндекс. Однак солідніше мати домен другого рівня - найкраще підійде ім'я виду «ваша _фамілія.ru мул і ваша_компанія.ru ». У цьому випадку вам доведеться як мінімум оплатити реєстрацію вашого доменного імені. Зате при наявності у вас подібного імені ваші колеги зможуть знайти вас в Інтернеті, навіть не знаючи точного імені вашого сайту. Наприклад, сайт http://www.compress.ru/ можна легко знайти просто за назвою журналу. При цьому слід зазначити, що сьогодні знайти незайнятий домен досить складно.

Якщо ви збираєтеся створити невеликий аматорський сайт, то вас, швидше за все, влаштує доменне ім'я третього рівня і проблем з його безкоштовним розміщенням не буде. Основні проблеми виникнуть при його розробці.

Говорити про створення власних сторінок не має сенсу до тих пір, поки ми не розглянемо їх пристрій. Тому далі ми розповімо, з чого складаються Web-сторінки, і для початку поговоримо про основи мови гіпертекстової розмітки HTML (Hypertext Markup Language), який призначений для створення гіпертекстових документів.

HTML

попередніх публікаціях справжнього циклу ми вже відзначали, що до Інтернету підключається величезна кількість комп'ютерів різної архітектури і різних можливостей по відображенню інформації попередніх публікаціях справжнього циклу ми вже відзначали, що до Інтернету підключається величезна кількість комп'ютерів різної архітектури і різних можливостей по відображенню інформації. Завдання розробки сторінок для кожного типу обладнання є практично нездійсненним. З урахуванням того, що документ буде доступний мільйонам комп'ютерів, не можна заздалегідь визначити, на якому типі обладнання він буде відтворюватися. Якщо ми говоримо про текстовому документі, то він може відображатися не тільки на різних типах екранів, але і, наприклад, може бути відтворений програмою синтезу мови. При цьому функціональна розмітка документа повинна бути прочитана незалежно від способу виведення.

Замість того щоб вказувати, як повинен виводитися документ на тому чи іншому обладнанні, розробники пішли іншим шляхом: запропонували використовувати спеціальний мову функціональної розмітки - HTML. HTML-документ складається з власне тексту і розмітки, до якої відносяться всі записи, які не є інформаційним наповненням документа. Розмітка HTML дозволяє визначити посилання на зовнішні документи або на внутрішні розділи того ж самого документа, а також несе інформацію про форматування документа.

Для того щоб пояснити ідею організації HTML-документа, доречно навести аналогію з роботою технічного редактора, який готує текст для верстки. Редактор робить розмітку тексту, відзначаючи, яким повинен бути формат, як набрати заголовки, де що розташувати. Наприклад, це можуть бути позначки типу: «Даний абзац надрукувати жирним шрифтом, таке-то пропозиція виділити червоним кольором, а після такого-то абзацу вставити текст зі сторінки такої-то». Для того щоб коментарі редактора читалися коректно, існують спеціальні правила розмітки. Верстальник читає коментарі технічного редактора і заверстує текст відповідно до них.

Аналогічні коментарі записуються в HTML-документі, потім вони прочитуються браузером, щоб він «знав», як потрібно відображати дані на екрані комп'ютера. Мова HTML був розроблений в кінці 1980-х років у фізичній лабораторії CERN (Швейцарія) і спочатку використовувався в локальній мережі лабораторії. Однак незабаром він завоював популярність і став широко застосовуватися в Інтернеті.

Слід зазначити, що поняття функціональної розмітки ширше, ніж поняття форматування документа. Наприклад, гіпертекстова розмітка дає можливість визначити, що той чи інший текст в документі є назвою сторінки (title). Очевидно, що це вже не форматування, а саме визначення функціональності конкретної частини документа.

HTML описує лише найзагальніші інструкції для подання інформації, які можуть бути інтерпретовані різними браузерами на різних платформах. При цьому спочатку приймається як даність факт неможливості досягнення абсолютної точності відтворення вихідного документа всіма клієнтами.

Це означає, що сторінка, описана одним і тим же HTML-кодом, може по-різному відбиватися на двох комп'ютерах з різними платформами, режимами монітора і браузерами. Можна сказати, що браузер виконує форматування документа, виходячи з набору інструкцій, що містяться в HTML, і з можливостей по відображенню інформації конкретним комп'ютером.

Наприклад, якщо на вашому комп'ютері немає шрифту, яким пропонується відобразити ту чи іншу напис, буде використаний інший, найближчий до нього з доступного набору.

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

Наприклад, в настройках браузера ви можете вказати правила вибору кольору для відображення фону документа, визначивши, яким повинен бути колір шрифту на Web-сторінці і яким кольором повинні виділятися текстові гіперпосилання.

Команди HTML (або керуючі маркери гіпертекстового документа) називають тегами (від англ. Tag - ярлик, маркер), вони вставляються безпосередньо в текст документа і полягають в кутові дужки <...>.

Уніфікований набір заздалегідь визначених тегів дозволяє користуватися різними браузерами. Незважаючи на той факт, що HTML використовується для представлення Web-сторінок, він також може застосовуватися і для інших цілей, наприклад для подання документів, розміщених на CD-ROM.

Основна перевага HTML - це його простота. Для підготовки HTML-документів не вимагається знання мов програмування. Додавати в документ теги розмітки можна, використовуючи звичайний текстовий редактор або особливі HTML-редактори, які мають спеціальні елементи управління для спрощення введення тегів.

Наявність засобів візуальної розробки Web-сторінок дозволяє створювати HTML-документи, навіть не запам'ятовуючи призначення тих чи інших тегів. Візуальної розробкою називається процес, при якому користувач оперує об'єктами, які при розробці виглядають майже так само, як і при відображенні браузером, а HTML-код створюється при цьому автоматично.

Існує более сотні тегів для розміткі информации на Web-сторінці. Більшість тегів вікорістовується в парах. Хто відкріває и закриває теги почінаються и завершуються знаками <і>. Закриває тег відрізняється від відкриваючого наявністю символу / (слеш) перед ключовим словом. Наприклад, пара тегів <b> ... </ b> (див. таблицю ) Використовується для того, щоб дати команду браузеру, що текст, поміщений між тегами, повинен бути відображений жирним шрифтом, а теги <I> ... </ I> показують, що при відображенні тексту повинен бути застосований курсив. Хто відкриває і закриває теги впливають на частину документа, укладену між ними. Розташування парних тегів виконується так, щоб дотримувалися правила вкладення.

Крім парних, бувають непарні теги, які визначають разовий ефект в конкретному місці або впливають на весь документ. Наприклад, тег <br> часто використовується для позначення необхідності розриву рядка.

Ефект застосування тега може видозмінюватися шляхом додавання атрибутів. Атрибут (від лат. Attributum - приєднане) показує ознака об'єкта, що визначає його стан. Застосування деяких атрибутів має на увазі вказівку значення атрибута, яке відділяється від ключового слова атрибута знаком рівності і полягає в лапки.

Тег присвоювання кольору тексту (в табліці він показаний в третьому рядку) є прикладом тега з атрибутом.

Одним з найважливіших є тег, що визначає гіперпосилання. При визначенні гіперпосилання необхідно пов'язати елемент Web-сторінки, за яким буде відбуватися перехід, з адресою даного переходу. Тег позначається за першою літерою слова «anchored», що в перекладі з англійської означає «прив'язаний».

Посилання починається з відкриває тега <A> і закінчується закриває тегом </A>.

Адреса переходу визначається значенням атрибута Href і являє собою URL того ресурсу, на який вказує посилання. Таким чином, формат визначення гіперпосилання можна представити у вигляді:

<a href="URL"> ім'я посилання </a>

Приклад HTML-тексту, що визначає гіперпосилання на сайт www.mail.ru, наведено в 4-му рядку таблиці . Cтруктура HTML-документа визначається тегами структури.

HTML-документ починається з тегів <HTML> <HEAD> (назва сторінки, вказівка ​​кодової сторінки, вказівка ​​типу документа) </ HEAD> <BODY> і закінчується тегами </ BODY> </ HTML>. Майже всі наповнення, яке ви хочете включити в сторінку, поміщається між тегами <BODY> і </ BODY>.

Стандарт HTML - це набір формальних рекомендацій, визначених консорціумом W3C (World Wide Web Consortium) і оброблюваних браузерами провідних виробників, такими як Microsoft Internet Explorer і Netscape Navigator. Останній стандарт мови - це HTML 4.0. Однак Internet Explorer і Netscape Navigator інтерпретують окремі конструкції мови по-різному, а також використовують деякі нестандартні розширення, специфічні тільки для даного браузера. Тому, в принципі, немає гарантії, що відображення сторінок, що використовують розширені можливості HTML, буде однаково здійснено в різних браузерах. У зв'язку з цим розробники Web-сторінок змушені перевіряти функціональність створюваних сайтів як мінімум в двох вищеназваних браузерах.

Механізм роботи Web-сервера

віслюку того як ми ввели поняття мови HTML, можна докладніше описати механізм роботи Web-сервера і браузера віслюку того як ми ввели поняття мови HTML, можна докладніше описати механізм роботи Web-сервера і браузера. Розглянемо приклад.

Припустимо, ваш товариш створив свій сайт за адресою www.petrov.ru і розташував на ньому своє резюме за адресою http://www.petrov.ru/resume.htm. Що відбувається, коли ви переглядаєте дане резюме зі свого комп'ютера?

Як тільки ви набираєте в своєму браузері вищевказаний URL, браузер отримує інформацію про використаний протоколі (http), імені сервера (www.petrov.ru) і запитуваній файлі (resume.htm). Браузер звертається до DNS-сервера, щоб перевести ім'я сервера www.petrov.ru в IP-адресу, який служить для знаходження потрібного сервера, встановлює зв'язок з Web-сервером і, використовуючи протокол http, запитує шуканий ресурс. Сервер посилає браузеру HTML-сторінку, щоб він міг відобразити даний документ. Браузер зчитує HTML-теги, відтворює сторінку на екрані вашого комп'ютера, і ви бачите результат свого запиту.

Зазвичай навіть проста Web-сторінка містить не тільки текст, а й графіку. Іншими словами, сторінка складається з декількох файлів, тобто в загальному випадку передається на ваш комп'ютер файл може бути не тільки текстовим, але і графічним або ще якимось. Як же браузер розпізнає ці файли? Спочатку сервер посилає текстове повідомлення, яке інформує клієнта про те, який файл він буде відправляти: що це буде - текст у форматі HTML, або графіка в форматі jpg, або що-небудь інше, і тільки після цього передає зміст даного файлу. Незважаючи на те що зазвичай Web-сторінка складається з багатьох файлів, за час одного запиту Web-сервер посилає тільки один файл. Тобто, отримавши HTML-текст і знайшовши в ньому, наприклад, посилання на графічний елемент, браузер посилає новий запит на сервер, і при цьому не обов'язково на той же самий, з якого прийшов HTML-текст. Ймовірно, більшості користувачів Інтернету знайома ситуація, коли завантаження сторінки відбувається із затримкою і спочатку відображається текст, а потім починають з'являтися картинки. Дана ситуація якраз відображає послідовність завантаження елементів Web-сторінки. Для того щоб завантажити кожен новий файл, браузер повинен встановити нову сесію. При цьому, оскільки сучасні сервери і браузери працюють в багатопотоковому режимі, одночасно можуть виконуватися декілька сесій, але для скачування кожного нового файлу ініціюється своя сесія.

Якщо запитуваного ресурсу за даною адресою немає, то Web-сервер видасть повідомлення, яке ви, ймовірно, не раз бачили на своєму екрані: 404 / File not found (файл не знайдено).

Статичні і динамічні сторінки

татіческіе сторінки являють собою точну копію файлів, що знаходяться в каталогах Web-cервера, і не змінюються до тих пір, поки розробник сам в них щось не поміняє татіческіе сторінки являють собою точну копію файлів, що знаходяться в каталогах Web-cервера, і не змінюються до тих пір, поки розробник сам в них щось не поміняє. Однак сторінки можуть формуватися динамічно, тобто під час обробки запиту по якійсь програмі, а не з готового файлу на диску. Існує кілька способів формування такої сторінки:

  • формування за запитом безпосередньо на Web-сервері. Для реалізації можливості динамічного формування Web-сторінок необхідно дати сервера вказівки, які файли є «звичайними», а які містять інструкції по їх програмної обробці. Так, всі файли у відповідному каталозі Web-сайту, в списку прав доступу до яких є «виконання», вважаються динамічними, а сервер сам підбирає засіб для формування конкретної сторінки при зверненні до такого файлу на основі його атрибута і / або розширення його імені. При цьому сторінку може сформувати або сам сервер (за допомогою спеціальних команд), або зовнішня програма, що запускається безпосередньо або через CGI-інтерфейс (common gateway interface - загальний шлюзовий інтерфейс). Програма для формування динамічної сторінки може бути написана на компільовані або интерпретируемом мовою. Текст програми, що містить команди для динамічного формування сторінок, називається скриптом. Список відповідності атрибутів скриптів зовнішнім програмам для їх обробки задається в розділі Web-сервер / Обробники скриптів. Наприклад, за замовчуванням скрипти з розширеннями * .pl і * .cgi обробляються інтерпретатором мови Perl;
  • формування на комп'ютері користувача. В цьому випадку тексти програм для формування динамічних Web-сторінок передаються спочатку на локальний комп'ютер користувача, де вже браузер повинен викликати для них відповідне засіб для обробки і отримання Web-сторінки. Програма для формування динамічної сторінки також може бути написана як на компільовані, так і на интерпретируемом мовою.

технологія CGI

Ви напевно стикалися зі сторінками, яких раніше не існувало і які були створені за Вашим запитом динамічно - сформовані, як то кажуть, «на льоту».

Наприклад, будь-яка книга відгуків надає вам певну форму, в яку ви додаєте свій відгук, і потім, коли ви наступного разу відкриєте цю сторінку, вона буде містити нове повідомлення.

Одна з технологій, що дозволяє додати динамічний зміст в Web-сторінки, називається CGI. Вона дозволяє асоціювати з тим чи іншим URL не просто статичний документ, а програму, в результаті роботи якої можуть бути сформовані дані в реальному часі.

Розглянемо приклад з наданням відомостей про погоду. Метеорологічне зведення про погоду змінюється кожен день, і щодня може створюватися нова статична сторінка з прогнозом. Однак, якщо ви хочете надавати миттєві дані, ви повинні кожен раз генерувати нову сторінку. Це може бути реалізовано на основі CGI-технології. У момент звернення на сервер на ньому запускається CGI-програма, яка звертається до цифрового вимірювального пристрою і видає відомості про температуру, тиск і т.д. Коли ви в черговий раз зверніться на цю адресу, ви отримаєте нові відомості.

Інший приклад: коли ви заповнюєте деякий запит, наприклад запит в пошуковій системі, то у відповідь отримуєте результати роботи СGI-програми у вигляді набору шуканих адрес.

CGI-програму можна представити як частину Web-сервера, яка запускається Web-сервером в реальному часі. Сервер передає запити користувача CGI-програмі, яка їх обробляє і повертає результати своєї роботи на екран користувача (рис. 3). На більшості Web-серверів CGI-механізм має таку структуру: створюється спеціальна піддиректорія, в якій зберігаються подібні програми, і адміністратор Web-сервера налаштовує доступ до неї таким чином, щоб файли з неї не зчитувалися, а запускалися на виконання. Результат роботи програми відсилається браузеру у відповідь на запит. З точки зору клієнта немає ніякої різниці, що знаходиться за адресою даного URL - статичний документ або CGI-програма. Браузер сприймає інформацію однаково незалежно від того, чи сформована вона «на льоту» або мова йде про статичної сторінці. Результат роботи CGI-програми має той же формат, що і статичний документ.

Абревіатура CGI напевно траплялася вам в рядку вашого браузера під час подорожі по Всесвітній павутині, і ви, швидше за все, бачили посилання на / cgi-bin / - директорію, в якій зазвичай і лежать cgi-програми. Безліч інтерактивних сервісів, таких як гостьова книга, форум і т.д., побудовані саме на cgi-програмах.

Під терміном «CGI» розуміють не тільки програму, а й протокол. У цьому сенсі CGI - це стандартний для Web-сервера спосіб передати користувальницький запит прикладної програми і отримати дані назад для передачі їх користувачеві. Протокол CGI для пересилання даних між сервером і додатком є ​​частиною протоколу HTTP.

Слід зазначити, що якщо ви збираєтеся розмістити свою сторінку на серверах безкоштовного хостингу, то цілком можливо, що cgi-скрипти на цих серверах не підтримуються.

Альтернативою CGI є технологія компанії Microsoft Active Server Page (ASP), побудована за тим же принципом: скрипт, включений в Web-сторінку, виконується на сервері до того, як сторінка відсилається користувачеві.

Існують і інші технології, що працюють за тим же принципом.

Як видно на Мал. 3 , CGI-програма працює на стороні сервера. Однак можливо також організувати динамічні сторінки за рахунок передачі на клієнтський комп'ютер програм, які генерують динамічний зміст сторінок вже на стороні клієнта ( Мал. 4 ). Ця технологія реалізована в такий спосіб: активні документи зберігаються на Web-серверах і викачуються на локальний комп'ютер так само, як і статичні сторінки, але після того, як програма активного документа виявляється на локальному комп'ютері, вона запускається і виконує певні обчислення на комп'ютері користувача, спираючись на локальні обчислювальні ресурси. А результати цих обчислень вже відображаються на екрані. Відповідно швидкість відображення даних на екрані не залежить від швидкості зв'язку з віддаленим сервером, оскільки висновок активного документа відбувається тільки після його завантаження на локальний комп'ютер. Для створення активних документів можуть використовуватися різні технології: додатки, написані на JavaScript, Java-аплети і елементи управління ActiveX.

JavaScript-додатки

JavaScript - це мова, що інтерпретується опису сценаріїв, розроблений компанією Netscape.

C допомогою додатків, написаних на JavaScript, можна розширити можливості HTML-сторінок. JavaScript, впроваджений в Web-сторінку, виконується на стороні клієнта, тобто інтерпретується браузером і може додати HTML-сторінці значну інтерактивність. JavaScript часто використовують для обробки введення даних у форми і деяких інших сервісів.

Зазвичай скриптові мови (мови підготовки сценаріїв) простіше для написання програм, ніж компільовані мови, такі як C і C ++. Нагадаємо, що додаток, створене на базі інтерпретується мови, передбачає наявність інтерпретатора, який здійснює покомандного обробку вихідного тексту програми (кожен оператор транслюється в машинний код і відразу виконується, потім транслюється і виконується наступний оператор), в той час як компілятор транслює відразу весь вихідний текст програми в об'єктний код, який потім перетворюється редактором зв'язків в виконувану програму. Тому скрипт виконується довше, ніж відкомпільоване програма, оскільки кожна інструкція спочатку обробляється іншою програмою.

JavaScript-додаток дозволяє виконувати довільні математичні обчислення, відкривати і закривати нові вікна, викликати спливаючі меню, підказки, що переміщаються графічні об'єкти і т.д.

В JavaScript реалізована можливість визначати обробники подій - фрагменти коду, що виконуються при певних діях користувача. Це дозволяє використовувати JavaScript для забезпечення взаємодії з користувачем. Наприклад, свого часу мені попадалася написана на JavaScript програмка, яка виводила на екран зображення пари очей з бігаючими зіницями, що рухаються в бік курсора і як би стежать за діями користувача. Можна навести більш практичний і, швидше за все, знайомий користувачам приклад. Більшість з вас заповнювали різні форми на Web-сайтах і стикалися з ситуацією, коли, натиснувши на кнопку «Відправити», замість підтвердження того, що ваша форма відправлена ​​на Web-сервер, ви отримували повідомлення, що не всі параметри форми заповнені. Така служба може бути організована на базі JavaScript-додатки. Цей додаток стежить, чи всі необхідні поля заповнені, і в разі якщо заповнення вироблено невірно, без звернення до сервера генерує повідомлення про те, що певні поля незаповнені. Ця процедура може тривати на стороні клієнта до тих пір, поки форма не буде правильно заповнена. На відміну від cgi-скриптів, які виконуються на сервері і не залежать від типу браузера, встановленого на клієнтській машині, JavaScript-додаток може вимагати наявності браузера певної версії.

Java-аплети і елементи управління ActiveX

Більшість браузерів підтримує вищезгадані мови сценаріїв, такі як JavaScript. Це дозволяє розширити функціональні можливості стандартних елементів управління, проте в ряді випадків потужності мов сценаріїв явно недостатньо або рішенням, яке не повинно залежати від конкретного браузера. У цих випадках застосовуються аплети Java. Слово аплет походить від англійського «application» - «додаток». Java-аплет - це невелика прикладна програма, написана на мові Java, яка може бути вбудована в HTML-сторінки і передана з Мережі разом з документом як приєднання для його виконання у користувача. Технологія розробки HTML-документа дозволяє написати Java-програми, відкомпілювати і поставити посилання на отриманий код в HTML-документі. Такі додаткові Java-програми та називаються Java-аплетами.

Java-аплет може представляти розрахунки, анімацію або інші завдання, не вимагаючи додаткових запитів до сервера.

Java-аплет починає виконуватися відразу після передачі на комп'ютер клієнта або запускається за допомогою спеціальних команд. Іноді він являє собою досить складну програму. З метою безпеки Java-аплети мають обмеження щодо доступу до певних ресурсів локального комп'ютера і заборона комунікацій з комп'ютерами Мережі, за винятком того комп'ютера, з якого даний аплет отримано.

Своєрідною відповіддю з боку компанії Microsoft на технологію Java, розроблену компанією Sun Microsystems, є технологія ActiveX control.

ActiveX control зазвичай реалізована у вигляді невеликих бібліотек, які можуть скачиваться браузером (або вже встановлені на клієнтському комп'ютері) і представляються користувачеві у вигляді динамічного змісту Web-сторінки.

З міркувань безпеки деякі відвідувачі Web-сайтів не хочуть отримувати на свій комп'ютер програми з Інтернету, тому сучасні браузери дозволяють відключити завантаження Java-аплетів і елементів управління ActiveX. Більш детально ці питання будуть розглянуті в наступних публікаціях.

Автор буде вдячний за зауваження і коментарі до статті, які він просить надсилати на адресу: [email protected] .

КомпьютерПресс 1'2003


Отже, що ж таке WWW і як працює дана служба?
Що відбувається, коли ви переглядаєте дане резюме зі свого комп'ютера?
Як же браузер розпізнає ці файли?