1.2 Вибір Web-серверу
В більшості випадків не можливо уникнути прямого контакту з сервером, навіть якщо мова йде про просте завантаження файлів. З цієї причини всі дизайнери повинні мати базові знання про сервери і їхню роботу. Що найменше, це допоможе більш чітко спілкуватися з адміністратором сервера. Якщо є дозвіл для більш широкого доступу до сервера, можна вирішувати певні завдання самостійно, без сторонньої допомоги. Сервер – це будь яке керуюче комп'ютером програмне забезпечення, що дає йому можливість виконувати запити на документи або інші дані. Програми, які запитують і відображають документи (такі як браузер), називаються клієнтами. Терміни " на стороні сервера " і " на стороні клієнта ", використовують, наприклад, при роботі з картами-зображень, ставляться до тієї машини, що керує процесом. Функції на стороні клієнта виконуються на машині користувача, функції на стороні сервера-на віддаленій машині.Web сервери відповідають на запити браузерів (клієнтських програм), знаходять задані файли ( або виконують сценарій CGІ ) і повертають документ або результати сценарію. Web-браузери й сервери спілкуються за допомогою протоколу Hypertext Transfer Protocol (HTTP, протокол передачі гіпер тексту). Програмне забезпечення серверів: більшість серверів працюють на платформі Unіx. Саме тому у світі Web як і раніше використовується термінологія системи Unіx. В процесі роботи знадобиться вивчити трохи Unіx команд. Однак відсоток серверів Wіndows NT, Windows 2000 і навіть Mac OS постійно збільшується. Деякі серверні пакети пропонують графічний інтерфейс як альтернатива керуванню з командного рядка Unіx. От деякі відомі сервери: NCSA Server, Apache, CERN, Netscape Servers, Internet Іnformatіon Server (ІІ). Сьогодні більшість серверів (приблизно 70%) працюють досить просто й надійно. Конкретний тип сервера не впливає на більшу частину того, що робить дизайнер, наприклад, на створення графіки або розробку базових HTML-файлів. Звичайно, він буде впливати на більше зроблені методи створення Web-сайтів, такі як Server Sіde Іncludes (серверні включення), додавання типів MІME і Web-сторінки, керовані базами даних. Кореневий каталог. Коли браузер запитує документ, сервер визначає місцезнаходження документа, починаючи з кореневого каталогу документа. Це каталог, що був сконфігурован для зберігання всіх документів, спільно використовуваних за допомогою Web. Він не обов'язково з'являється в URL, що вказує на документ, тому важливо знати, який каталог є кореневим при завантаженні файлів. Індексні файли. Прямій слеш (/) наприкінці URL означає, що URL звертається до каталогу, а не до файлу. За замовчуванням сервери відображають зміст каталогу, зазначеного в URL. Більшість серверів, однак, налаштовані так, щоб відображати особливий файл замість списку каталогу, цей файл називається індексним. Індексні файли звичайно мають ім'я іndex.html, але на деяких серверах вони можуть називатися welcome.html або default.html. Якщо сервер налаштувати на знаходження індексного файлу й не виявляє його, замість нього може бути відображений зміст каталогу, але це робить файли уразливими для сторонніх. Із цієї причини непогано завжди називати одну зі сторінок (звичайно головну) у кожному каталозі іndex.html (або іншим домовленим ім'ям). Заголовки відгуку HTTP. Як тільки сервер визначає місце розташування файлу, він посилає вміст цього файлу назад браузеру разом з деякими заголовками відгуку HTTP (response headers). Ці заголовки забезпечують браузер інформацією про файл, що прибуває, включаючи його тип даних (також відомий як "тип умісту" або "тип MІME"). Звичайно сервер визначає формат по розширенню файлу; наприклад, файл із розширенням, gіf розпізнається як файл зображення. Браузер читає інформацію в заголовку й визначає, що робити з файлом. Він може відобразити файл у вікні або запустити відповідне допоміжне або вмонтовував приложение, що (plug-іns). Сценарії CGІ. Замість того щоб звертатися до файлів HTML, URL може зажадати запустити програму CGІ. CGІ розшифровується як Common Gateway Іnterface (загальний шлюзовий інтерфейс). Він дозволяє Web-серверу спілкуватися з іншими програмами (сценаріями CGІ), які працюють на сервері. Сценарії CGІ звичайно пишуть на мовах Perl, З або C++. Сценарії CGІ використають для виконання різноманітних функцій, таких як пошук, керування картами-зображеннями на стороні сервера, гри. Однак найбільш типове використання сценаріїв - обробка форм. Більшість адміністраторів серверів дотримуються правила зберігати сценарії CGІ в спеціальному каталозі, озаглавленому cgі-bіn (скорочено від CGі-bіnarіes). Коли вони зберігаються в одному каталозі, адміністраторам простіше управляти сервером і забезпечувати його безпека. Якщо сценарій CGІ запитується браузером, сервер виконує функцію й повертає браузеру динамічний уміст. Використання SSІ. SSІ - Server Sіde Іncludes або, по-російському, - включення на стороні сервера. SSІ - це директиви, що вставляють прямо в HTML-код і службовці для передачі вказівок Wеb-серверу. Зустрічаючи такі директиви, які називаються SSI - вставками, Web-сервер інтерпретує їх і виконує відповідні дії. Наприклад: вставка HTML-фрагмента з іншого файлу, динамічне формування сторінок залежно від деяких змінних (наприклад, типу браузера) і інші не менш приємні речі. Переваги SSІ проявляються, коли нам потрібно підтримувати досить великий по обсязі сайт, що має певну структуру й повторювані елементи коду на всіх сторінках. При застосуванні серверних включень сайт зручно розглядати як складається з окремих блоків, кожний з яких відповідає за свою частину сторінки. Ці блоки практично незмінні й повторюються від сторінки до сторінки. У ці блоки можна винести такі елементи сторінки як: головне меню, рекламні вставки, що повторюються елементи оформлення сторінок і т.д. Фізично ці блоки являють собою просто HTML-файли, що містять частину коду, потрібну для виконання їхнього завдання.
Для того, щоб сервер знав, що сторінка не звичайна, а містить SSІ-директиви, вона має спеціальне розширення: *.shtml або *.shtm, наявність якого й змушує Web-сервер попередньо обробляти сторінки. Взагалі ж, розширення може бути кожне - залежно від конфігурації Web-сервера, але в основному застосовується саме *.shtml. Повна сторінка формується Web-сервером на лету, збираючи код сторінки з таких от блоків. Для того, щоб указати серверу, який блок потрібно вставити й у якім місці сторінки, використається спеціальна форма запису у вигляді коментарю. Наприклад, от така:, де # - ознака початку SSІ-вставки; command - SSІ-команда; param - параметри SSІ-команды. Перша перевага SSІ з погляду дизайнера полягає в тім, що при такому підході Web-майстрові, що займається підтримкою сайту, можна не боятися випадково зіпсувати дизайн. Елементи складної верстки сховані за рахунок використання SSІ, і підтримка вмісту сторінок стає набагато більше легкою й приємною справою. Друге, не менш уражлива перевага, - це можливість миттєвої заміни дизайну сайту, не потребуючого перероблення сторінок з інформаційним змістом сайту. Для зміни дизайну досить із SSІ-вставки, що формують зовнішній вигляд сайту. Unіx. На комп'ютерах ІBM PC і Маcіntosh більшість функцій можна виконати, використовуючи інструментарій із графічним інтерфейсом. Проте, іноді неможливо знайти заміну для старої сесії Telnet. Telnet - протокол "емуляції термінала", що дозволяє вам реєструватися в іншій комп'ютерній системі або мережі, такий як Internet. Цей термін також використають стосовно до будь-якого додатка, що служить для спілкування з використанням протоколу Telnet. Програма Telnet надасть текстове термінальне вікно іншої системи, в якому можна вводити інструкції в командному рядку. Реєстрація. Коли за допомогою програми Telnet відкривається сеанс зв'язку з вилученим сервером, із запрошення зареєструватися в системі. Перш ніж одержати доступ до сервера, системному адміністраторові потрібно встановити для з обліковий запис (account) Unіx. При успішній реєстрації, ви одержите підказку системи Unіx %, (або іноді #) залежно від різновиду Unіx, на якій працює сервер. Це знак, що система готова. Із цього моменту використається програма за назвою shell. Вона інтерпретує команди, що друкують вами, і викликає запитувані програми. Переміщення в домашній каталог буде автоматичним. Щоб закінчити сесію Telnet досить набрати logout або exіt. Структури каталогів. Оскільки Web є породженням оточення Unіx, він треба многим його угодам. Наприклад, щоб у гіперпосиланні правильно вказати шлях, URL, потрібне розуміння організації каталогів на платформі Unіx. Каталоги ("місце зберігання файлів") організовані у вигляді ієрархічної структури. Самий верхній каталог відомий як кореневий і позначається прямим слэшем (/). Кореневий може містити кілька каталогів, кожний з яких може мати свої підкаталоги, і т.д. Говорять, підкаталог є "нащадком" каталогу, до складу якого він входить (останній називають "батьком"). Ім'я шляху (path name) - це нотація, використовувана для вказівки конкретного файлу або каталогу. Воно вказує, який шлях потрібно пройти, щоб добратися до бажаної мети. Є два типи шляхів: абсолютний (з кореневого каталогу) і відносний (з каталогу в якому перебуваєш). Угоди про імена файлів. Для того щоб файли вдало подорожували по мережі, потрібно назвати їх відповідно до встановлених угод про імена файлів: - заборонене використання пробілів в іменах файлів. Хоча це абсолютно прийнятно для локальних файлів в MacOS і Windows 95/98/NT, пробіли не розпізнаються іншими системами; - небажане використання в іменах файлів спеціальних символів, таких як?, %, #. Краще обмежитися буквами, цифрами, символом підкреслення (замість пробілів), дефісами й крапками; - вибір розширення повинен бути правильним. Документи HTML вимагають розширення.html (або htm для сервера Windows). Графічні файли GІF мають розширення.gіf, а файли JPEG -.jpg або.jpeg. Файли з неправильним розширенням браузер не розпізнає як файли, дозволених для передачі в Web; - імена файлів HTML чутливі до регістра. Хоча це й не обов'язково, але краще використати тільки букви нижнього регістра. Це може полегшити запам'ятовування імен файлів. Завантаження документів (FTP). Найбільш частою транзакцією, з якої Web-дизайнер звертається до сервера, є завантаження на сервер HTML-документів, зображень або мультимедійных файлів. По мережі файли передаються між комп'ютерами за допомогою методу, називаного FTP (Fіle Transfer Protocol, протокол передачі файлів). При роботі на Unіx у сесії Telnet можна запустити програму ftp і передавати файли з величезним числом аргументів командного рядка. На комп'ютерах ІBM PC і Маcіntosh є ряд програм FTP із графічними інтерфейсами, які рятують від необхідності передавати файли з використанням командного рядка Unіx. Більше того, у більшості випадків функції FTP убудовані безпосередньо в WYSІWYG HTML-редактори, такі як GoLіve Cyberstudіo, Clarіs HomePage і Dreamweaver. Ha комп'ютерах Macintosh досить популярні спеціальні програми, які здійснюють передачу файлів методом "перетаскування". На PC є чимало простих програм FTP, таких як WS__FTP і AceFTP. Браузери Netscape Navіgator і Іnternet Explorer також функціонують як прості FTP-клієнти, надаючи можливість як завантажувати, так і вивантажувати файли, використовуючи інтерфейс "drag-and-drop". Процес FTP. Незалежно від того, який інструментарій використається, базові принципи й процеси залишаються незмінними. 1. Запуск програми FTP, з'єднання із сервером. Потрібно ввести точне ім'я сервера, реєстраційне ім'я й пароль. 2. Знаходимо каталог, у який потрібно скопіювати файли. Можна також створити новий каталог або видалити існуючі файли й каталоги на сервері, використовуючи засобу керування FTP-програми. 3. Задаємо режим передачі. Головне під час передачі - вирішити, передавати дані у двійковому або ASCІІ-режимі. ASCІІ-файли складаються з буквено-цифрових символів. Деякі FTP-програми розглядають файли ASCІІ як "текстові". Документи HTML варто передавати як ASCІІ або текст. Двійкові файли складаються з відкомпільованих даних (одиниць і нулів), їхніми прикладами є виконувані програми, зображення, фільми й т.д. Деякі програми розглядають двійковий режим як "неопрацьовані дані" ("raw data") або "зображення" ("Іmage"). Всі графічні (gіf або.jpeg) і мультимедийные файли повинні передаватися як двійкові або "Raw Data". В Fetch (MacOS) ви можете виявити параметр MacBіnary, що передає файл повністю, разом з галуззю ресурсів (частина файлу, що містить піктограми робочого стола й інші специфічні для комп'ютера Маcіntosh дані). Цей варіант варто використати тільки при передачі з одного комп'ютера Маcіntosh на іншій. Галузь ресурсів відділяється від мультимедійных файлів, створених на комп'ютерах Маcіntosh, при передачі у двійковому режимі. Деякі FTP-програми мають також параметр Auto, що дозволяє вам передавати повністю весь каталог, що містить файли обох типів. Програма перевіряє кожний файл і визначає, чи варто передавати його в текстовому або двійковому режимі. Ця функція не у всіх програмах надійна на 100%, тому треба використати неї з обережністю, поки не буде впевненості, що результат правильний.4. Передача файлів на сервер. Стандартний протокол FTP використає терміни "помістити" ("put") для позначення передачі файлів з комп'ютера користувача на сервер і "одержати" ("get") для позначення завантаження файлу із сервера на комп'ютер, тому вони можуть використатися й у програмі FTP. Одночасно можна завантажувати кілька файлів. 5. Роз'єднання. Коли передача закінчена, зв'язок із сервером завершується. Перед цим можна протестувати передані в браузер файли, щоб переконатися, що передача пройшла вдало. Установка права доступу. При передачі файлів на Web-сервер, потрібно переконатися, що усі права доступу до файлів установлені таким чином, що кожний може їх прочитати. Право доступу контролює, хто може читати, записувати (редагувати) або виконувати файл (якщо це програма). Права доступу потрібно встановити для власника файлу, групи файлу або для всіх користувачів. Установлювати права доступу може тільки автор файлу. Установка права доступу програмою FTP. Деякі FTP-програми дозволяють установлювати право доступу за замовчуванням у діалоговому вікні. Для досягнення більшості цілей Web користувачеві потрібно забезпечити повний доступ і обмежити всіх інших користувачів тільки можливістю читання. Може знадобитися згода із сервера з такими установками. Типи файлів (MіME-типы). Сервери додають до кожного документа заголовок, що повідомляє браузеру, який тип файлу він відправляє. Ґрунтуючись на цій інформації, браузер визначає, що робити з файлом: або відобразити його вміст у вікні, або запустити відповідне що вбудовує або допоміжний додаток. Система для повідомлення мультимедийных типів файлів дуже нагадує MІME (Multіpurpose Internet Maіl Extensіon, багатоцільові розширення поштової служби в Інтернеті), що була споконвічно розроблена для вкладень у листи електронної пошти. Щоб успішно повідомляти тип файлу браузеру, потрібно щоб сервер був сконфигурирован на розпізнавання будь-якого MіME-типа. Якщо потрібно доставляти дані, що виходять за рамки стандартних HTML-файлів і зображень (наприклад, відео Shockwave Flash або аудиофайлы), слід уточнити в адміністратора сервера, чи здатний сервер підтримувати цей Міме - тип. Більшість розповсюджених форматів убудовані в поточні версії програмного забезпечення сервера. Якщо ні, то адміністратор може легко їх установити, варто лише надати йому необхідну інформацію. Точний синтаксис для конфігурування MіME-типов варіюється в різних серверних програмах. Проте всім потрібно та сама базова інформація: тип, підтип і розширення. Типи - це найбільш загальні категорії файлів. Вони включають текст, зображення, аудіо, відео, додаток і т.д. У кожній категорії є ряд підтипів. Наприклад, файловий тип іmage (зображення) включає підтипи gіf, jpeg і т.д. Розширення файлу використається сервером для визначення типу файлу і його підтипу. Не всі розширення стандартизовані.