.

Скрипти, що виконуються на сервері (реферат)

Язык: украинский
Формат: реферат
Тип документа: Word Doc
0 3248
Скачать документ

РЕФЕРАТ

на тему:

Скрипти, що виконуються на сервері

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

Введення в скрипти, що виконуються на сервері

Першими серверними скриптами для Web були програми CGI. CGI
розшифровується як common gateway interface (загальний шлюзовой
інтерфейс). Термін шлюз в цьому випадку відноситься не до спеціальних
мережевих пристроїв, а до спеціальної програми, яка є посередником між
Web-сторінками і ресурсами Web-серверу.

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

Однак, оскільки CGI стала першою технологією, яка використовувалася для
скриптів, що виконуються на сервері, вона досі підтримується практично
всіма Web-серверами. Найбільш поширені мови програмування для програм
CGI – Perl і С. Як правило, програми CGI не взаємодіють зі скриптами.

Щоб уникнути проблем CGI, пов’язаних з продуктивністю і гнучкістю,
Microsoft та інші компанії розробили технологію ISAPI (Internet Server
Application Programming Interface, інтерфейс прикладного програмування
Інтернет -серверу). Програми ISAPI існують у вигляді DLL (dynamic-link
libraries, бібліотек динамічного компонування). У результаті в пам’яті
повинна знаходитися тільки одна копія DLL, незалежно від того, скільки
користувачів одночасно обслуговуються. Крім того, програма ISAPI працює
в адресному просторі пам’яті Web-серверу, що дозволяє уникнути
необхідності постійного виділення пам’яті і повернення простору, що
звільнився. Такі рішення позитивно позначаються на продуктивності роботи
Web-серверу. Тому більшість утиліт для основного Web-серверу від
Microsoft (Internet Information Server) реалізована саме у вигляді
програм ISAPI.

Інша проблема програм CGI полягала в тому, що мови програмування, що
використовувалися для них, наприклад С++ і Perl, були мало знайомі
більшості користувачів Windows. Для розв’язання цієї проблеми Microsoft
розробила спосіб використання як мови для серверних скриптів VBScript,
заснованого на більш поширеному Visual Basic. Сторінки, на яких
використовуються серверні скрипти VBScript, називаються Active Server
Pages (активними серверними сторінками), і для них використовується
розширення ASP.

Коли сервер отримує запит від браузера на завантаження сторінки ASP, він
обробляє цю сторінку, виконує розміщені на ній серверні скрипти і
передає видаленому відвідувачеві Web-сайта тільки результати їх
виконання, які складаються із звичайного тексту HTML (а не з коду
скриптів).

До проблем, які виникають при використанні серверних скриптів, належить
додаткова витрата ресурсів серверу і певні ризики, пов’язані з безпекою
серверу. З метою забезпечення безпеки на сервері можуть виконуватися
тільки ті скрипти, які вміщені в папку, спеціально позначену
адміністратором Web-серверу як executable (що виконується).
Адміністратор обмежує доступ до цієї папки тільки для визначеного кола
осіб і додатків.

Приклад скрипта, що виконується на сервері: зміна змісту Web-сторінки

Сторінка повинна нагадати вам приклад 2 з розділу, в якому розповідалося
про скрипти, що виконуються у браузері.

Діє ця сторінка точно так само, як і в прикладі, а саме: якщо з моменту
появи елемента списку пройшло менш 14 днів, то відображається малюнок у
вигляді напису New! або Upd!. У всіх інших випадках повинно показуватися
зображення кульки (cyanballgif). Для правильного компонування сторінки
використовується таблиця HTML.

Головна відмінність полягає в тому, що замість скрипта JavaScript, який
виконується у браузері, використовується скрипт на мові VBScript, який
виконується на Web-сервері. У результаті код виглядає абсолютно
по-іншому.

У коді HTML скрипти VBScript, що призначені для виконання на сервері,
повинні бути помічені тегами

Або ж бути вміщеними всередину тега з символами процента:

Код скрипта, який містить його програмну логіку, виглядає так:

Для простоти ми прибрали вибір між New! і Upd! (в нашому випадку для
оновлених елементів буде використаний тільки файл new.gif), але в іншому
програмна логіка залишилася тією ж самою. Однак текст скрипта на
VBScript дуже сильно відрізняється від тексту скрипта на JavaScript. Це
викликано відмінностями між цими мовами програмування:

у VBScript поточна дата і час повертається за допомогою функції now;

у VBScript дати і час у VBScript зберігаються у вигляді цілих чисел для
днів і десяткових дробів для часу. Наприклад, 6.00 буде виглядати як
0.25, 12.00 – 0.5, а 18.00 – як 0.75. Тому віднімання однієї дати від
іншої дозволяє відразу ж отримати потрібне нам значення в днях;

у VBScript дати підтримуються напряму. Все, що вміщено між знаками фунта
(#), вважається датою;

у VBScript доступна та ж команда document.write, що і в JavaScript, але
в VBScript можна також використати і код HTML, який розкиданий всередині
конструкцій If…Then…Else.

Тепер детальніше про кожний рядок коду. У першому оголошується змінна
maxdays, і їй відразу ж задається значення 14. У другому рядку дата 19
серпня 1999 р. (записана в форматі, прийнятому в США) віднімається від
поточної дати, і отримана різниця порівнюється зі значенням змінної
maxdays. У третьому рядку вказується код HTML, який буде переданий
Web-сервером в браузер, якщо нерівність другого рядка істинна. У
наступних двох рядках говориться про те, яке зображення використати у
всіх інших випадках. Останній рядок завершує конструкцію
If…Then…Else.

Оскільки довжина цього коду набагато менша, ніж в прикладі, написаному
на JavaScript для виконання в браузері, ми можемо обійтися без окремої
підпрограми і розмістити такий код для кожного елемента списку. Це
спростить структуру нашої програми.

Зверніть увагу, що в коді HTML (див. мал. 16) оголошення змінної maxdays
і привласнення їй значення робиться в розділі Head нашої Web-сторінки.
Це гарантує, що код не буде відображатися у вікні браузера.

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

Такий спосіб можна використовувати завдяки деяким особливостям VBScript
і ASP. Знак рівності (=) на самому початку скрипта еквівалентний виразу
document.write. Крім того, перетворення типів даних у VBScript
проводиться автоматично. Тому вираз конвертує поточну дату в
текст і відображає отримане значення на Web-сторінці.

У скриптів, які виконуються на сервері, є три головних переваги:

немає необхідності задумуватися про відмінності в браузерах. Оскільки в
браузери передається тільки звичайний код HTML, сторінка буде правильно
відображатися в будь-якому браузері. У результаті об’єм тестування
скорочується: вам досить перевірити тільки взаємодію скриптів з
Web-сервером;

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

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

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

Використання Microsoft Script Editor

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

У FrontPage 200х з’явився новий і дуже корисний засіб для роботи зі
скриптами – Microsoft Script Editor. Він має багато загального з
графічними середовищами розробки, передбаченими у Visual Studio. Реально
Microsoft Script Editor – це не компонент FrontPage, а засіб,
передбачений для роботи з багатьма продуктами Microsoft. Його можна
відкрити двома способами:

відкрити будь-який значок скрипта, клацнувши по ньому два рази мишею або
клацнувши по ньому правою кнопкою миші, і в контекстному меню вибрати
Microsoft Script Editor. Інший варіант – виділити значок скрипта і
натиснути Alt+Enter або вибрати в меню Format пункт Properties;

якщо скрипт у вас ще не створений, в меню Tools можна вибрати пункт
Macro, а потім – MicrosoftScriptEditor. Tе ж саме можна зробити,
скориставшись поєднанням клавіш Shift+Alt+F11.

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

Цілком можливо, що робота з кодом (в тому числі з кодом скриптів) – це
те, від чого ви намагалися позбутися, коли здобували FrontPage. Якщо це
так, опис Microsoft Script Editor, наведений нижче, ви можете сміливо
опустити. Однак в багатьох випадках вміння працювати з цим редактором
може вам стати в нагоді. Розкрийте ці іконки, щоб переглянути події та
об’єкти для Web-сторінки. У вікні провідника показані файли, що
використовуються в поточному сеансі редагування

Найбільша область в центрі називається головним вікном редагування. Саме
в ньому відображається код Web-сторінки. Ви можете редагувати код в
звичайному текстовому редакторі, або за допомогою меню Edit, або
особливим способом, який буде описаний нижче. Для підвищення читаності
різні ділянки коду позначені різними кольорами. Ви можете як завгодно
змінювати настройки, обравши в меню Tools пункт Options, потім Text
Editor, а після цього – Font And Color.

Зверніть увагу на дві вкладки в нижній частині цього вікна:

вкладка Design призначена для відображення поточної сторінки в
графічному режимі. Вона буде доступна, тільки якщо у вашій системі
встановлений Microsoft Visual InterDev. Якщо ж такої можливості у вас
немає, скористайтеся звичайним редактором WYSIWYG в режимі Page View у
FrontPage;

вкладка Source(FrontPage 2000) або HTML у FrontPage2002 дозволяє
відобразити код HTML для Web-сторінки. У Microsoft Script Editor ця
вкладка відкривається за умовчанням;

Вікно провідника проектів

Вікно провідника проектів (у верхньому правому кутку на мал. 17)
призначене для відображення списків файлів, які використовуються на
Web-сторінці. У нашому випадку там показаний тільки один файл – сама
Web-сторінка.

Вікно властивостей

Вікно властивостей, яке розташоване безпосередньо під вікном провідника
проектів, – одне з самих корисних вікон в MicrosoftScriptEditor. Без
нього б він набагато менше відрізнявся від звичайного текстового
редактора. Головне призначення цього вікна – можливість настроювати
властивості елементів, вибраних вами у головному вікні редагування. У
цьому вікні можна використати будь-яке з трьох уявлень: Alphabetic
(властивості будуть показані за алфавітом), Categorized (за категоріями)
і Property Pages (звичайні діалогові вікна для настройки властивостей.
Вибирати потрібне уявлення можна за допомогою трьох значків у верхній
частині цього вікна.

У вікні властивостей перераховані тільки ті властивості, які доступні
для даного елемента. Ви можете вводити значення вручну або вибирати їх
зі списку (кнопка для розкриття списку з’явиться, як тільки ви виділите
дану властивість).

Вікно схеми скрипта

У вікні схеми скрипта ви можете переглянути список всіх подій і всіх
скриптів для поточної Web-сторінки. У цьому вікні передбачені чотири
головних списки:

Client Objects & Events – це список всіх основних об’єктів на
Web-сторінці, а також список подій і підлеглих об’єктів для них (в
ієрархічному порядку). Подвійне натиснення мишею по запису про подію
дозволяє перейти до коду для цієї події в головному вікні редагування
(якщо такого коду ще немає, то він буде створений автоматично);

Client Scripts – в цьому списку містяться записи для кожного тега

Server Objects & Events – це також список об’єктів і подій, але для
Active Server Pages;

Server Scripts – список скриптів для Active Server Pages.

Вікно схеми HTML

У вікні схеми HTML показана структура елементів на Web-сторінці. При
натисненні по елементу на цій схемі Microsoft Script Editor відкриє його
в головному вікні редагування.

Це вікно не відкривається за умовчанням при запуску Microsoft Script
Editor, тому воно не показане на мал. 17. Щоб відкрити його,
скористайтеся пунктом Other Windows в меню View. Це вікно займає ту ж
область екрана, що і вікно схеми скрипта. Для переходу між цими вікнами
скористайтеся вкладками HTML Outline і Script Outline.

Вікно панелі елементів

Панель елементів Microsoft Script Editor призначена для розміщення на
Web-сторінці елементів, що зустрічаються найчастіше. Це можна зробити
шляхом перетягування або подвійним натисненням миші по зображенню
елемента.

Додаткові елементи можна вставляти за допомогою меню HTML. Однак і в
панелі елементів, і в меню HTML Microsoft Script Editor ви знайдете не
всі елементи, які можна розмістити на Web-сторінці. У деяких випадках
вам доведеться створювати теги для них вручну.

Редагування коду скрипта

Головна перевага Microsoft Script Editor полягає в тому, що за допомогою
нього дуже зручно редагувати і налагоджувати код як скриптів, так і
HTML.Вам досить набрати тільки початок функції, а потім скористатися
клавішею Tab (крім того, можна вибрати потрібне значення в списку, що
автоматично з’являється ). Редактор Microsoft Script Editor автоматично
допише повну назву функції. Це не тільки зекономить багато часу, але і
допоможе зберегти від помилок в синтаксисі.

Відладка з допомогою Microsoft Script Editor

Найбільш вражаючий і потужний засіб Microsoft Script Editor – це
можливості відладки. Microsoft Script Editor дозволяє вам проводити
відладку як скриптів, що виконуються в браузері, так і серверних
скриптів в автоматичному режимі. Ви можете скористатися всіма
можливостями потужного відладчика: запускати скрипт для по-крокового
виконання, перевіряти значення змінних і властивості об’єктів в різні
моменти виконання і встановлювати точки зупинки.

У найбільшому вікні в тексті скрипта виділена поточна команда. Вікно
Locals дозволяє переглядати всі локальні змінні для цього скрипта. У
цьому вікні є вкладка Immediate, яка дозволяє негайно виконати будь-яку
команду – прямо під час виконання скрипта. Наприклад, ми можемо виконати
в ній рядок коду Cnt=3, і значення для змінної Cnt зміниться на 3. Після
цього ми можемо продовжити відладку за допомогою клавіші F11 (натиснення
на цю клавішу приводить до виконання наступного рядка коду). Якщо ж нам
треба прогнати скрипт цілком, в нашому розпорядженні клавіша F5.

Жоден серйозний програміст при відладці додатків не може обійтися без
пунктів зупинки (breakpoints). Пункти зупинки дозволяють зупинитися в
будь-який момент виконання скрипта і проаналізувати, наприклад, поточне
значення змінних. Щоб встановити пункт зупинки, виберіть потрібне місце
у програмі в головному вікні редагування і скористайтеся командою Insert
Breakpoint в меню Debug (встановлювати і знімати пункти зупинки можна
також подвійним натисненням миші по лівому краю основного вікна
редагування). Пункт зупинки буде помічений в коді скрипта червоною
точкою. Для видалення пункту зупинки в меню Debug призначена команда
Remove Breakpoint, для тимчасового відключення (без видалення) – Disable
Breakpoint. Можна видалити відразу всі пункти зупинки за допомогою
команди Clear All Breakpoints.

Microsoft Script Editor – це дуже складний і потужний додаток з безліччю
можливостей. Мабуть, для повного опису всіх його функцій і особливостей
була б потрібна книга розміром не менше тієї, яку ви зараз тримаєте в
руках. Однак я сподіваюся, що коротке знайомство з Microsoft Script
Editor стане хорошим відправним пунктом для отримання вами нових знань.

Використання Visual Basic Editor

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

Тепер у FrontPage, як і в інших додатках Microsoft Office, реалізована
підтримка спеціального діалекту Visual Basic, яка називається Visual
Basic For Applications (VBA). Цей діалект мало чим відрізняється за
можливостями від звичайного Visual Basic і дозволяє використовувати дуже
зручні і потужні засоби створення і редагування коду, реалізації
вигаданих вами діалогових вікон, використання найрізноманітних
властивостей, подій і методів. Більш-менш докладний розгляд навіть
тільки основних можливостей VBA значно збільшив би розмір цієї книги,
тому ми обмежимося тільки коротким оглядом.

Ви можете відкрити Visual Basic Editor, обравши в меню Tools пункт
Macro, а потім – Visual Basic Editor. Інший спосіб – скористатися
поєднанням клавіш Alt+Fll.

У верхньому лівому кутку Visual Basic Editor розташоване вікно проекту.
У цьому вікні показані модулі, форми і модулі класу (частіше вони
називаються просто класами). Модуль – це просто файл, який містить код
Visual Basic, за звичай функцій або підпрограм. Форма – це спеціально
розроблене діалогове вікно, модуль класу містить об’єктно -орієнтований
код, який взаємодіє з іншими модулями за допомогою властивостей, методів
і подій.

У вікні Properties відображаються властивості виділеного об’єкта.
Наприклад, у модуля RFP_2000Macros є тільки одна доступна для зміни
властивість – його ім’я. Такі об’єкти, як діалогові вікна і елементи
форм, володіють десятками властивостей, які можна настроювати в цьому
вікні.

У головному вікні редагування підпроцедура, яка називається ShowDate. У
цієї підпроцедурі міститься єдина команда:

“MsgBox This Page Last Updated” & Chr(13) & _

ActiveDocument.LastModified,

vblnformation

Команда MsgBox призначена для відображення стандартного діалогового
вікна Windows, в яке буде вміщений напис «This Page Last Updated».

Амперсанд (&) зливає рядки разом, а підкреслення (_) повідомляє
програмі, що рядок продовжується. Chr(13) означає символ з кодом 13,
тобто символ перекладу рядка. Він потрібен нам виключно для того, щоб
напис «This Page Last Updated» і самі дані про час і дату оновлення були
розміщені на різних рядках.

Вираз ActiveDocument.LastModified призначений, для отримання інформації
про поточну сторінку у FrontPage. ActiveDocument – це службовий вираз,
що означає поточну, відкриту у FrontPage сторінку, а LastModified –
властивість цієї сторінки (дату і час останнього збереження),
vblnformation – це спеціальна константа VBA. Взагалі, можна було б
обійтися і без неї, але вона відображає красивий синьо-білий значок з
буквою I в лівій частині екрана, яка свідчить про те, що це діалогове
вікно – інформаційне.

Щоб запустити цей макрос, збережіть його у Visual Basic Editor (після
цього Visual Basic Editor можна закрити), поверніться у FrontPage і в
меню Tools виберіть Macro, а потім – Macros. Відкриється діалогове вікно
із списком всіх наявних макросів, в якому ви можете вибрати наш макрос
ShowDate і виконати його за допомогою кнопки Run. Якщо якісь макроси ви
використовуєте часто, для них можна створити кнопку на панелі
інструментів або пункт меню. Детальніше про це – в наступному розділі.

Нашли опечатку? Выделите и нажмите CTRL+Enter

Похожие документы
Обсуждение

Ответить

Курсовые, Дипломы, Рефераты на заказ в кратчайшие сроки
Заказать реферат!
UkrReferat.com. Всі права захищені. 2000-2020