документи (такі як браузер), називаються клієнтами. Терміни "на стороні серверу" і "на стороні клієнта", що використовуються, наприклад, при роботі з картами-зображеннями, відносяться до тієї машини, яка керує процесом. Функції на стороні клієнта виконуються на машині користувача, функції на стороні серверу - на видаленій машині.
Web-сервери відповідають на запити браузерів (клієнтських програм), знаходять задані файли (або виконують сценарій CGI) і повертають документ або результати сценарію. Web-браузери і сервери спілкуються по протоколу Hypertext Transfer Protocol (HTTP, протокол передачі гіпертексту).
Програмне забезпечення серверів. Більшість серверів працює на платформі Unix. Саме тому в світі Web як і раніше використовується термінологія системи Unix. В процесі роботи знадобиться вивчити декілька Unix-команд. Проте відсоток серверів Windows NT, Windows 95 і навіть MacOS постійно збільшується. Деякі серверні пакети пропонують графічний інтерфейс як альтернатива управлінню з командного рядка Unix. Ось деякі відомі сервери: NCSA Server, Apache, CERN, Netscape Servers, Internet Information Server (IIS).
Сьогодні більшість серверів (приблизне 70%) працює на Apache або його попереднику NCSA. Конкретний тип серверу не впливає на велику частину того, що робить дизайнер, наприклад, на створення графіки або розробку базових HTML-файлів. Звичайно, він впливатиме на більш досконалі методи створення Web-сайтів, такі як Server Side Includes (серверні включення), додавання типів МІМЕ і Web-сторінки, керовані базами даних.
Кореневий каталог. Коли браузер запрошує документ, сервер визначає місцезнаходження документа, починаючи з кореневим каталогом документа. Це каталог, який був конфігурований для зберігання всіх
документів, сумісно що використовуються за допомогою Web. Він не обов'язково з'являється в URL, який указує на документ, тому важливо знать, який каталог є кореневим при завантаженні файлів.
Індексні файли. Прямий слеш (/) в кінці URL означає, що URL звертається до каталога, а не до файлу. За умовчанням сервери відображають зміст каталога, вказаного в URL. Більшість серверів, проте, конфігурована так, щоб відображати особливий файл замість списку каталога, цей файл називається індексним. Індексні файли звичайно мають ім'я index.html, але на деяких серверах вони можуть називатися welcome.html або defaulthtml.
Якщо сервер конфігурований на знаходження індексного файлу і не знаходить його, замість нього може бути відображене зміст каталога, але це робить файли уразливими для сторонніх. З цієї причини непогано завжди називати одну із сторінок (звичайно головну) в кожному каталозі index.html (або іншим обумовленим ім'ям).
Заголовки відгуку HTTP. Як тільки сервер визначає місцерозташування файлу, він посилає вміст цього файлу назад браузеру разом з деякими заголовками відгуку HTTP (response headers). Ці заголовки забезпечують браузер інформацією про файл, що прибуває, включаючи його тип даних (також відомий як "тип вмісту" або "тип МІМЕ"). Звичайно сервер визначає формат по розширенню файлу; наприклад, файл з розширенням .gif розпізнається як файл зображення.
Браузер читає інформацію в заголовку і визначає, що робити з файлом. Він може відобразити файл у вікні або запустити відповідний допоміжний або вбудовуваний додаток (plug-ins).
Сценарії CGI. Замість того щоб звертатися до файлів HTML, URL може зажадати запустити програму CGI. CGI розшифровується як Common Gateway Interface (загальний шлюзовий інтерфейс). Він дозволяє Web-серверу спілкуватися з іншими програмами (сценаріями CGI), які працюють на сервері. Сценарії CGI звичайно пишуть на Моваах Perl, 3 або C++.
Сценарії CGI використовують для виконання різноманітних функцій, таких як пошук, управління картами-зображеннями на стороні серверу, гри. Проте найтиповіше використовування сценаріїв - обробка форм.
Більшість адміністраторів серверів дотримується правила берегти сценарії CGI в спеціальному каталозі, озаглавленому cgi-bin (скорочено від CGI-binaries). Коли вони зберігаються в одному каталозі, адміністраторам простіше управляти сервером і забезпечувати його безпеку. Якщо сценарій CGI запрошується браузером, сервер виконує функцію і повертає браузеру динамічний вміст.
Використовування SSI. SSI - Server Side Includes або, по-російськи, - включення на стороні серверу. SSI - це директиви, що вставляються прямо в HTML-код і службовці для передачі вказівок WeB-серверу. Зустрічаючи такі директиви, які називаються SSI-вставками, Web-сервер інтерпретує їх і виконує відповідні дії. Наприклад: вставка HTML-фрагмента з іншого файлу, динамічне формування сторіночок залежно від деяких змінних (наприклад, типу браузера) і інші не менше приємні речі.
Переваги SSI виявляються, коли нам потрібно підтримувати достатньо великий за об'ємом сайт, що має певну структуру і елементи коду, що повторюються, на всіх сторіночках. При вживанні серверних включень сайт зручно розглядати як що складається з окремих блоків, кожний з яких відповідає за свою частину сторіночки. Ці блоки практично незмінні і повторюються від сторінки до сторінки. В ці блоки можна винести такі елементи сторіночки як: головне меню, рекламні вставки, елементи оформлення сторіночок і т.д., що повторюються Фізично ці блоки є просто HTML-файлами, що містять частину коду, потрібну для виконання їх задачі.
Для того, щоб сервер знав, що сторіночка не звичайна, а містить SSI-директиви, вона має спеціальне розширення: *.shtml або *.shtm, наявність якого і примушує Web-сервер заздалегідь обробляти сторіночки. Взагалі-то,
розширення може бути будь-хто - залежно від конфігурації Web-серверу, але в основному застосовується саме *.shtml.
Повна сторіночка формується Web-сервером на льоту, збираючи код сторіночки з таких ось блоків. Для того, щоб вказати серверу, який блок потрібно вставити і в якому місці сторіночки, використовується спеціальна форма запису у вигляді коментаря. Наприклад, ось така:
<!--#command param=ftvalue" —>
де # - ознака початку SSI-вставки; command - SSI-команда; param -параметри SSI-команди.
Перша перевага SSI з погляду дизайнера полягає в тому, що при такому підході Web-майстру, що займається підтримкою сайту, можна не боятися випадково зіпсувати дизайн. Елементи складної верстки приховані за