Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
виничук HTML.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
2.6 Mб
Скачать

2 Розділ

ІНТЕРАКТИВНІ WEB-ДОКУМЕНТИ. ОСНОВИ JAVASCRIPT, PHP І MYSQL

2.1. Загальний огляд технологій створення інтерактивних Web-документів

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

Для надання динамічності HTML-сторінкам було запропоновано і реалізовано ряд технологій, які дозволяють створювати сторінки, що «реагують» на дії користувача. Одна з перших технологій заснована на сценаріях CGI (Common Gateway Interface — загальний стандарт шлюзів прийому-передавання документів). Під сценарієм, або скриптом, зазвичай розуміють «спрощену програму», засіб для розв'язання простих задач. CGI-сценарій — це програма, яка ініціалізується на сервері при передаванні на нього інформації з полів форми HTML. Він опрацьовує передані йому дані, динамічно формує HTML-сторінку і відсилає результат в броузер користувача. Ці програми створюються на будь-якій із доступних на сьогодні мов — починаючи з мови Basic і закінчуючи bat-файлами DOS, чи командами Unix. Найчастіше CGI-сценарії пишуть мовою програмування Perl, яка спеціально призначена для роботи з текстами. Недоліком цієї технології є суттєвий вплив на завантаження мережі: будь-який запит і відповідь займають ресурси мережі. При цьому на сервер для.виконання якої-небудь дії можуть бути передані неправильні дані. Користувач замість очікуваної (можливо досить довгий час) інформації отримає лише повідомлення про неправильно введені дані.

Для уникнення таких ситуацій фірмою Netscape було розроблено спеціальну мову сценаріїв JavaScript. Програми, написані цією мовою, вбудовуються безпосередньо в документ HTML та інтерпретуються броузером. Основна ідея JavaScript — можливість перевірки правильності введених у HTML-форму даних, зміни значень атрибутів HTML-дескрипторів і властивостей середовища (вікна броузера) у процесі перегляду HTML-сторінки користувачем. На практиці це виражається в тому, що можна, наприклад, змінити колір фону сторінки, або змінити інтегрований у документ малюнок, відкрити нове вікно або видати попередження. При цьому не відбувається перезавантаження сторінки. Подібна технологія знімає навантаження на мережу.

Створюючи JavaScript, розробники за основу взяли об'єктно-орієнтовану мову Java. Хоча за синтаксисом, набором команд, зарезервованими словами вони дуже подібні, але це зовсім різні мови і технології. Вони орієнтовані на виконання різних завдань у мережі, але доповнюють одна одну при створенні складних мережевих комплексів. Технологія Java дозволяє створювати програми, які можуть працювати як окремі закінчені проекти, або ж як додатки (аплети), підключені до HTML сторінки. Кожен аплет повинен зберігатися на сервері у своєму окремому файлі. JavaScript реалізує свою функціональність лише у складі сторінки HTML і написана цією мовою програма починає працювати тільки тоді, коли цю сторінку завантажити в броузер.

Фірма Microsoft розробила для свого броузера InternetExplorer власні мови сценаріїв — JScript (аналог JavaScript) і VBScript, яка є підмножиною мови VisualBasic, що широко використовується для розробки Windows-додатків. Проте використання цих мов сценаріїв є менш розповсюдженим, ніж використання JavaScript.

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

Підсумовуючи, перелічимо основні можливості, які отримує розробник Web-сторінок при використанні технології JavaScript:

— формувати HTML-документи «на льоту»;

— проводити перевірку правильності даних HTML-форм перед пересиланням їх на сервер;

— надати користувачу можливості вводити локальні дані для управління роботою JavaScript-програми, а також вибірково виконувати різноманітні операції;

— створювати вікна повідомлень, діалогові вікна для виводу попереджуючих повідомлень і введення даних;

— створювати документи з розширеними можливостями навігації, використовуючи фрейми і автономні вікна.

Мови сценаріїв дозволили внести деяку динаміку та інтерактивність у HTML-документи. Значнішим кроком у напрямку розв'язання проблеми інтерактив-ності Web-документів стала технологія динамічної мови розмітки документів Dynamic HTML (DHTML). По суті DHTML складається з трьох компонентів — каскадних таблиць стилів (CSS — Cascading Style Sheets), JavaScript i HTML, з'єднаних об'єктною моделлю документа (DOM-Document Object Model).

Із появою DHTML Web-майстер може:

— приховувати текст і зображення в документі, відображати їх залежно від дій користувача;

— переміщувати текст і зображення по сторінці;

— створити сторінку об'ємною (створити декілька шарів тексту, зображень тощо).

Головне, що жоден із пунктів не потребує перезавантаження сторіки.

Опис технологій написання CGI-скриптів та DHTML-сторінок вимагає значного обсягу і виходить за рамки даної роботи. Простота і функціональність JavaScript робить цю мову корисною для вивчення у навчальному процесі.

Як зазначалося в розділі 1.1, при зверненні Web-броузера до сервера для запиту певного ресурсу використовуєтся протокол передавання гіпертексту HTTP. При цьому запит має такий вигляд:

GET /index.html НТТР/1.0

Цей запит вказує серверу, що броузеру необхідно отримати файл index, html, який зберігається в кореневому каталозі. У більшості випадків сервер просто знаходить запрошену сторінку і відсилає її клієнту. Проте якщо ім'я файла має певне розширення, то сервер може виконати додаткову обробку сторінки. Наприклад, якщо ім'я файла закінчується на .asp, то сервер знаходить у файлі певні команди, передбачені для опрацювання, і виконує їх. Результат виконання кожної команди помішується в файл-опрацювання, який пересилається клієнту. Такий вид інтерактивності реалізований у сучасних технологіях Active Server Page (ASP) i PHP. Active Server Page належить до складу програмного забезпечення Microsoft для організації Web-сервера (Internet Information Server та Personal Web Server). Код ASP сценарію найчастіше пишеться мовою VBScript.

На відміну від ASP, PHP є продуктом з платформенно-незалежним відкритим вихідним кодом.

За допомогою зазначених технологій можна зробити все, що можна зробити за допомогою CGI-програм: опрацьовувати дані з форм, генерувати динамічні сторінки, звертатись до баз даних, розміщених на сервері, тощо. Оскільки ASP чи РНР сценарії розміщуються безпосередньо в тексті самих HTML-документів, то немає необхідності в спеціальних середовищах розробки. Програми, написані на VBScript (в ASP) чи РНР, легкі для читання та розуміння, на відміну від Perl-програм, що використовуються в технології CGI. Учні, знайомі з програмуванням, можуть досить швидко почати писати власні програми мовами РНР чи VBScript.

Використання ASP чи РНР особливо ефективне у поєднанні з базами даних MySQL.