Лекція №7, Вибір та настроювання програмного забезпечення глобальної мережі, Настроювання веб-серверів, Клієнтські скрипти
Код роботи: 3747
Вид роботи: Лекція
Предмет: Web-програмування
Тема: №7, Вибір та настроювання програмного забезпечення глобальної мережі, Настроювання веб-серверів, Клієнтські скрипти
Кількість сторінок: 18
Дата виконання: 2015
Мова написання: українська
Ціна: безкоштовно
1. Огляд існуючих веб-серверів
2. Клієнтські скрипти
3. Модель об'єктів JavaScript - об'єкти Navigator'а
1. Огляд існуючих веб-серверів
Веб-се́рвер (англ. Web Server) — це сервер, що приймає HTTP-запити від клієнтів, зазвичай веб-браузерів, видає їм HTTP-відповіді, зазвичай разом з HTML-сторінкою, зображенням, файлом, медіа-потоком або іншими даними. Веб-сервер — це основа Всесвітньої павутини.
Веб-сервером називають як програмне забезпечення, що виконує функції веб-сервера, так і комп'ютер, на якому це програмне забезпечення працює.
Сьогодні найбільш поширеними веб-серверами є:
• Apache — кросплатформенний веб-сервер з відкритим початковим кодом, найчастіше використовується в Unix-подібних ОС
• IIS компанії Microsoft, розповсюджується з ОС сімейства Windows Server
Клієнти дістаються веб-сервера за URL адресою потрібної їм веб-сторінки або іншого ресурсу.
Apache HTTP-сервер (вимовляється /ə.ˈpæ.ʧi/) — відкритий веб-сервер Інтернет для UNIX-подібних, Microsoft Windows, Novell NetWare та інших операційних систем. На сьогодні є найуживанішим Веб сервером мережі Інтернет.
Apache розроблюється та підтримується спільнотою розробників відкритого програмного забезпечення під керівництвом Apache Software Foundation.
Споконвічно розроблювальний по ліцензії GNU, Apache у даний час став самим популярним сервером. Біля 60% вузлів, що поставляють інформацію в інтернет, використовують як web-сервер саме Apache. Відкритість коду пішла йому на користь, і на даний момент це один із самих надійних і безупинно розвиваються web-серверів. Він підтримує всі найсучасніші технології і дозволяє розширювати свої функції за рахунок підключення зовнішніх модулів.Біжуча версія 2.2.21
IIS (Internet Information Services, до версії 5.1 — Internet Information Server) — це набір серверів для декількох служб Інтернету від компанії Майкрософт. IIS поширюється з операційними системами родини Windows Server. Основний компонент IIS — веб-сервер, який дозволяє розміщувати в Інтернеті сайти. IIS підтримує протоколи HTTP, HTTPS, FTP, POP3, SMTP, NNTP. IIS другий за популярністю веб-сервер за кількістю сайтів, після Apache HTTP Server. За даними компанії Netcraft на 11.10.2007, понад 37.13% сайтів обслуговується веб-сервером IIS. Поточна версія 7.
Відкіля взялася назва Apache?
Незважаючи на настільки явну асоціацію, нічого загального з індіанцями дана назва не має. Воно трансформувалося з фрази "A PAtCHy server". Patch у перекладі з англійського - "заплатка", а в програмуванні - "доповнення до програми, що виправляє деякі помилки або змінює поведінку програми". Первісний код web-сервера був написаний на основі декількох вже існуючих фрагментів коду, до яких і були додані трохи патчів. От так і виникло вже добре відома назва Apache.
Ще одна проблема для творця українсько-мовного WEB-сайта - проблема українського кодування. На сьогоднішній день їхній як-мінімум чотири: Koi-8, CP-1251, ibm866 і iso8859-5. Можна, звичайно, весь сервер зберігати в КОІ-8. Однак, це неповага до користувачів ОС Windows. Навпаки, сервер, видимий тільки в CP-1251 буде недоступний користувачам відкритих систем. І саме Apache допоможе Вам у вирішенні цієї проблеми.
Отже, Вам потрібний WEB-сервер, причому саме RussianApache. Найпростіший спосіб його дістати - відкрити будь-який WEB-броузер або скориставшись програмою ftp зайти за адресою ftp://apache.lexa.ru/pub/apache-rus і взяти останню версію WEB-сервера для потрібної операційної системи. У версії починаючи з 2.0 проблема багатомовності вирішена, тому брати русифіковану версію немає потреби. Проте нова версія більш складна в налаштуванні.
Далі необхідно визначитися, у якій директорії буде знаходитися програмне забезпечення сервера. Група розроблювачів Apache вважає, що це буде c:Program FilesApache GroupApache.
Для встановлення достатньо запустити дистрибутив і виконувати інструкції майстра(бажано ніччого не змінювати).
Перший файл, що потрібний для роботи Apache - ${HTTP_HOME}/conf/httpd.conf. У постачання входить приклад такого файлу ( ${HTTP_HOME}/conf/httpd.conf-dist ), але для того, щоб добре навчитися налаштовувати Apache, ми створимо його самі.
2. Клієнтські скрипти
Скриптова мова (англ. scripting language, в російській літературі прийнято назву мова сценаріїв) - мова програмування, розроблена для запису «сценаріїв», послідовностей операцій, які користувач може виконувати на комп'ютері. Прості скриптові мови раніше часто називали мовами пакетної обробки (batch languages або job control languages). Сценарії зазвичай інтерпретуються, а не компілюються (хоча все частіше застосовують компіляцію щоразу перед запуском).
Тобто по іншому скріпт - це програма, яка поставляється у вихідних кодах і для реалізації якої необхідна наявність інтерпритатора відповідної мови, який виконує компіляцію, звязування та запуск на виконання програми.
Скріпти класифікують на:
• Універсальні скриптові мови
o AngelScript
o Perl
o Python
o PHP
o Squirrel
o Tcl (Tool command language)
o REBOL
o Ruby
o Lua
o AutoIt
o Pawn
• Вбудовані в прикладні програми
o UnrealScript
o Emacs Lisp
o AutoLISP
o VBA
o MQL4 script
o Game Maker Language
o ERM
• Командні оболонки
o AppleScript
o sh
o bash
o csh
o JCL
o ksh
o COMMAND.COM и cmd.exe
o Visual Basic Script
o REXX
• Вбудовувані
o ActionScript - В Adobe Flash, Adobe AIR, Adobe Flex
o Браузерні мови: JavaScript, JScript,VBScript
o Lingo — використовується в редакторі Director, називають скріптовою
o Guile
o Io
o Lua
o Sleep
o Script.NET
JavaScript — назва реалізації стандарту мови програмування ECMAScript компанії Netscape, базується на принципах прототипного програмування. Найпоширеніше і найвідоміше застосування мови — написання сценаріїв для веб-сторінок, але, також, використовується для впровадження сценаріїв керування об’єктами вбудованими в інші програми.
Незважаючи на схожість назв, JavaScript та мова програмування Java мають дуже мало спільного. Права на назву Java належать компанії Sun Microsystems, дочірній фірмі компанії Oracle Corporation.
Як і все, що пов'язано з Web, технологія JavaScript набагато молодша за Java. JavaScript спочатку був розроблений компанією Netscape, тому його перше ім'я - LiveScript. Очікувалося,що ця мова сценаріїв розширить можливості HTML і виступить як часткова альтернатива великому числу CGI-сценаріїв, перероблятиме інформацію з форми і додаватиме динаміку в призначені для користувача сторінки. Після виходу Java компанія Netscape почала працювати разом з компанією Sun над створенням мови сценаріїв, чий синтаксис і семантика за планом повинні були тісно зв'язуватися з Java. Звідси виникла і назва JavaScript. В результаті спільних зусиль Netscape і Sun і була створена ця мова.
З моменту своєї появи (грудень 1995 р.) мова JavaScript мала істотну підтримку в особі провідних виробників, в числі яких Apple, Borland, Sybase, Informix, Oracle. Digital, HP і IBM. JavaScript продовжує розвиватися, упроваджуючись не тільки в сучасні браузери, але і в додатки, створені різними компаніями.
Трохи пізніше, розуміючи всю важливість створення Web-сценаріїв, Microsoft вирішила підтримати JavaScript. Проте компанія Netscape вважала за краще передати Microsoft тільки ліцензію на право використання технології. На основі загальнодоступної документації в Microsoft був створений "перепроектований" JavaScript - JScript, підтримуваний Internet Explorer 3.0 і вище. JScript 1.0 погано сумісний з JavaScript 1.1, використовуваним Netscape Navigator 3.0 і пізнішими браузерами. Зрештою безліч версій і різних хитрощів, характерних для того або іншого браузера, стали причиною головного болю для розробників Web-сайтів, що використовують JavaScript. На щастя, засмучені розробники сценаріїв змогли зітхнути вільно. Компанії Netscape, Microsoft і інші виробники вирішили підігнати мову під стандарти ESMA (European Computer Manufactureres Association). У той період ESMA склала специфікацію мови - ECMAScript, що підтримали всі виробники. Хоча стандарти ESMA надають істотну допомогу, все ж таки компанії Netscape і Microsoft продовжували розвивати мови JavaScript і JScript,виходячи при цьому за межі стандартів. Крім JScript, ще одним конкурентомJavaScript є VBScript, створений з метою спрощення Web-розробок на Visual Basic(VB). VBScript є підмножиною мови Visual Basic. Через відсутність підтримки з боку Netscape, VBScript використовується для інтрамереж. Він користуєтьсявеликою популярністю у користувачів Microsoft Internet Explorer.
Не дивлячись на появу VBScript, JavaScript став стандартною мовою сценаріїв для Web. JavaScript часто застосовується при створенні інструментів для розробки Web-сторінок.
Правила написання скрипта.на мові JavaScrip
Нижче перераховані правила написання скриптів стосовно мови JavaScript, дотримання яких гарантує коректність роботи програм.
• JavaScript регістрозалежна мова. Написання змінних і функцій, як визначених користувачем, так і стандартних, повинно виконуватися з урахуванням регістра визначеного при оголошенні.
• Для розділення операторів використовується роздільник ";"
• При завданні блоку операторів використовують фігурні дужки "{"
• Присвоєння значень проводиться за допомогою оператора присвоєння "="
• Однорядковий коментар ставиться за допомогою символів "//", багаторядковий - "/* */"
/* Приклад коду написаного на JavaScript */
var myVariable; // Оголошення змінної
myVariable = 0; // Присвоєння значення
for (count=1; count<10; count++){ // Задання циклу
myVariable = myVariable + count //Підсумовування чисел від 1 до 10
alert(myVariable);// Виведення значення змінної myVariable в
//діалоговому вікні
Де потрібно писати скрипт. JavaScript
Скрипт розміщують між відкриваючим і закриваючим елементами <script>. Таких пар відкриваючих і закриваючих тегів в документі може бути багато, і в них розташовується код JavaScript. Найчастіше код, який містить функції, розташовують в розділі <head>, а код який повинен виконуватися в процесі завантаження сторінки - в <body>. Для настройки розділу <script> використовуються наступні атрибути:
• language - застарілий атрибут, що використався для вказання мови скрипта. Для JavaScript присвоюється значення "javascript"
• type - новий атрибут, що використовується для вказання мови скрипта. Для JavaScript присвоюється значення "text/javascript"
• src - атрибут, який указує на зовнішній файл з скриптами
Є можливість писати скрипти в зовнішньому файлі і пов'язати цей файл з файлом html-документа через елемент <script> і його атрибут src. Файл, який містить скрипти JavaScript повинен мати розширення.js. Усередині файлу елемент <script> не ставиться, а скрипт пишеться відразу спочатку файлу.
<html>
<head>
<title>
Використання влаштованого скрипта
</title>
</head>
<body>
<script type="text/javascript">
var s = "JavaScript - це мова клієнтських скриптів!";
alert(s);
</script>
</body>
</html>
Файл index.html Файл script.js
<html> <head> <title> Використання скрипта розміщеного в зовнішньому файлі </title> </head> <body> <script type="text/javascript" src="./script.js"></script> </body> </html> var s = "JavaScript - це мова клієнтських скриптів!"; alert(s);
Ці два приклади містять код скрипта, який виводить в діалоговому вікні повідомлення. Відмінність в них полягає в тому, що в першому html-документі скрипт розміщений в розділі <body>, а в другому - скрипт знаходиться в зовнішньому файлі (передбачається що js-файл знаходиться в тій же теці що і html-файл)
На даний момент ще є браузери що не підтримують скриптів, і весь код скрипта в них виводиться на екран у вигляді тексту. Щоб цього не відбувалося рекомендується весь код скрипта розміщувати між коментарями HTML - "<!-- //-->". Браузери, які розуміють скрипт, коментарі просто ігнорують.
<html>
<head>
<title>
Використання скрипта заключеного в обмежувачі коментару
</title>
</head>
<body>
<script type="text/javascript">
<!--
Тут повинен бути скрипт
//-->
</script>
</body>
</html>
3. Модель об'єктів JavaScript - об'єкти Navigator'а
Ідея JavaScript дуже проста. Всі операції, які можна виконувати в програмі на JavaScript, описують дії над добре відомими і зрозумілими об'єктами, якими є елементи робочої області програми Netscape Navigator і контейнери мови HTML. Власне об'єктна орієнтованість JavaScript на цьому і кінчається. Є тільки об'єкти з набором властивостей і набір функцій над об'єктами. Останні називаються методами. Окрім методів існують і інші функції, які більше схожі на функції з традиційних мов програмування і дозволяють працювати із стандартними математичними типами або управляти процесом виконання програми. Ще в JavaScript є події - аналог програмних переривань. Ці події також орієнтовані на роботу в World Wide Web, наприклад, завантаження сторінки в робочу область Navigator'a або вибір гіпертекстового посилання. Використовуючи події, автор гіпертекстової сторінки і програми її тієї, що відображає може організувати проглядання динамічних об'єктів, наприклад, рядок, що біжить, або управління багатовіконним інтерфейсом.
Опис ієрархії класів
Всі вбудовані об'єкти JavaScript беруть свій початок від робочої області Netscape, і їх можна представити у вигляді наступної ієрархії:
Окрім цих класів об'єктів користувач може створювати і свої власні. Але звичайно більшість програм використовують цю систему класів і не створюють нових.
Оголошення змінної.
JavaScript не є мовою програмування, що строго типізується, - змінні не мають чітко фіксованого типа. Тип будь-якої змінної співпадає з типом значення, присвоєного цій змінній. Тип змінної може мінятися впродовж роботи скрипта (але цього бажано уникати).
Оголошувати змінні в JavaScript не обов'язково, хоча хороший стиль програмування рекомендує оголошувати всі змінні, які Ви збираєтеся використовувати. Для оголошення змінних використовується оператор var
var а; // Оголошення змінної без присвоєння значення
var а = 25; // Оголошення змінної з присвоєнням їй значення (ініціалізація)
var а, b, c; // Оголошення декількох змінних
var а = 1, b = "JavaScript", c = 5.6; // Оголошення декількох змінних з присвоєнням їм значень
Імена змінних можуть бути будь-якої довжини, і повинні починатися з букви, символу підкреслення (_) або символу ($). Подальші символи можуть бути буквами, числами, символами підкреслення або символами ($).
Змінні можуть бути локальні і глобальні. Локальні оголошуються усередині функцій і видно тільки в межах цієї функції. Якщо змінна оголошена не усередині функції - то вона глобальна, і доступ до неї можна одержати з будь-якого блоку скрипта XHTML документа.
Типи даних.
Дані, які можуть зберігатися в змінних, підрозділяються на декілька типів:
• Рядки
• Числа
• Логічні(булеві) дані
• Об'єкти
Рядок є послідовністю символів, вміщених в одинарні(') або подвійні (") лапки. Змінній можна присвоїти початкове значення '' або "", рядки нульової довжини.Важливо відзначити, що рядок є об'єктом (об'єкти розглядатимуться в наступних уроках). Якщо в одному рядку необхідно розмістити інший (вкладений) рядок, то при цьому використовують інший тип лапок. Конкатенація рядків (об'єднання) проводиться знаком "+".
Числа діляться на декілька підтипів:
• Цілі
• Дійсні
• Вісімкові
• Шістнадцяткові
Для запису дійсних чисел використовується знак "крапка" (.) і/або використовується знак e. Вісімкові числа починаються з цифри 0 і містять цифри від 0 до 7. Шістнадцяткові числа починаються з символів: 0x або 0X і містять знаки: 0..9,a..f.
var i = 39; //Ціле десяткове число 39
var i = 0.39e2; //Число 39
var i = -6787.2763; //Число -6787.2763
var i = 0372; //Вісімкове число 372
var i = 0x55f2; //Шістнадцяткове число 55f2
Логічний тип має всього два значення: true(правда) і false(брехня). false відповідає числу 0, вся решта значень при використанні у виразах еквівалентна значенню true.
var flag = true; // Змінна flag має значення true (правда)
var flag = false; // Змінна flag має значення false (брехня)
Умовні оператори.
До умовних операторів відносяться if...else і switch.
if (a>b)
alert(a)
else
alert(b);
Умовний оператор if має також скорочену форму - у вигляді умовної операції "?:".
(a>b) ? alert(a): alert(b);
Оператор switch (перемикач) виконує той блок операторів, мітка якого відповідає значенню виразу перемикача.
switch (x) {
case 2: x++;
break;
case 3: break;
case 4: x--;
break;
default:alert ('Число поза допустимими значеннями!');
}
Оператори циклів
У мові JavaScript визначені цикли for і while. do... while. Таким чином, підтримуються всі основні види циклів, що зустрічаються у мовах структурного програмування.
Цикл for має наступний синтаксис: for ([початкове значення;][умова;][вираз приросту;]) { };
Приклад:
var d = 5;
var f = 1;
for (i=l; i <= d; і++) f=f*i;
alert(f);
У прикладі за допомогою циклу обчислюється факторіал для числа 5, який рівний 120 (1*2*3*4*5).
За допомогою циклу while можна виконувати один або декілька операторів до тих пір, поки вірно задана умова. Його синтаксис має наступний вигляд:
while (умова) {
Якщо задана умова невірно спочатку, то цикл не буде виконаний жодного разу. Тому в тих випадках, коли потрібно виконати операторів циклу а хоч би один раз, можна використовувати оператора do...while. Цей оператор має наступний синтаксис:
do {оператори тіла циклу
} while (умова)
Функції
Функції - це один з основних способів об'єднання операторів в блоки. У мові JavaScript функція є групою виразів, що служать для виконання якого-небудь певного завдання. Визначення і виклик
Перш, ніж викликати функцію, її треба визначити. Визначення функцій в JavaScript має наступний синтаксис:
function Імяфункциі (аргументи) {
блок виразів;}
Для того, щоб функція була виконана, її треба викликати. Виклик функції може проводитися з будь-якого місця JavaScript програми. Для цього досить написати:
Імяфункциі(параметри)
де <ИмяФункции> - ім'я раніше оголошеної функції, а параметри - список з одного або декількох значень, розділених комами і передаваних функції як аргументи.
<html>
<head>
<title>
Використання функцій
</title>
<script type="text/javascript">
function cube(value){
return value * value * value;
}
</script>
</head>
<body>
<script type="text/javascript">
var x = cube(3);
alert (x);
</script>
</body>
</html>
Таким чином, написавши такий код ми при завантаженні сторінки приcвоїмо змінній х значення 27.
Діалогові вікна
У JavaScript передбачено три різні способи для виведення інформації на екран і для отримання інформації від користувача. Найпростішим є метод alert, який використовується просто для відображення вікна повідомлення з кнопкою OK. Нижче приведений приклад використання цього методу:
alert("Hello, World");
Метод confirm дозволяє відображати вікно повідомлення з кнопками OK і Cancel. Якщо користувач натискає кнопку OK, то метод повертає значення true, інакше повертається false. Нижче приведений простий приклад використання методу confirm:
confirm("Bи дійсно хочете закінчити роботу?");
Метод prompt дозволяє відображати повідомлення і текстове поле для введення користувачем якої-небудь інформації. Цьому методу передається два параметри: те повідомлення, яке з'являється у вікні, і значення, яке відображається в текстовому полі за замовчуванням. Якщо користувач натиснув кнопку OK, то повертається те значення, яке на той момент містилося в текстовому полі. Нижче приведений простий приклад використання методу prompt:
prompt("Введіть ваше ім'я". "");