logo
kl3495

6.5. Глобальна мережа Internet (інтернет). Www.

Історія виникнення Інтернету. Поняття Інтернету. Стек протоколів TCP/IP.

В середині 60-х років Міністерство оборони США побажало управляти мережею, яка могла б пережити навіть ядерну війну. Звичайні мережі, сполучені телефонними дротами, були визнані занадто уразливими, оскільки втрата однієї лінії або комутатора перервала б зв'язок, для якого ця лінія або комутатор використовувалися, а можливо, навіть розділила б мережу на окремі ділянки. У цих мережах використовувалася комутація каналів (коли на час передачі інформації пари комп'ютерів з'єднуються "один-с-одним" і в період з'єднання відбувається передача усього об'єму інформації). Для вирішення проблеми Міністерство оборони звернулося до управління перспективного планування науково-дослідних робіт ARPA (Advanced Research Projects Agency). Приблизно в цей же час Теодором Хольме Нельсоном була придумана ідея гіпертексту (сам термін уперше був вимовлений в 1965 році).

У грудні 1969 року вдалося запустити експериментальну мережу (ARPANET), що складається з 4 вузлів. Ця мережа підтримувала комутацію пакетів (коли необхідні для передачі дані розбиваються на частини, а до кожної частини приєднується заголовок, що містить повну інформацію про доставку пакету за призначенням). В процесі експлуатації з'ясувалося, що наявні протоколи мережі не придатні для роботи з об'єднаними мережами. В результаті були проведені додаткові дослідження в області протоколів, що завершилися в середині 70-х винаходом моделі і протоколів TCP/IP. TCP/IP був спеціально розроблений для управління обміном даними по інтермережах, що ставало усе більш важливим у міру підключення усе нових мереж до ARPANET. У 1980 році були представлені основні принципи об'єднання мереж :

· мережі взаємодіють між собою по протоколу TCP/IP;

· об'єднання мереж проводиться через спеціальні шлюзи (gateway);

· усі комп'ютери, що підключаються, мають єдині методи адресації.

З 1983 року протокол TCP/IP став обов'язковим на усіх комп'ютерах ARPANET. Розвиток мережі відбувався досить швидкими темпами. До 1984 року число хост-систем (крайових систем) перевищило 1000. У цьому ж році вводиться принцип системи найменування доменів (Domain Name System, DNS), що дозволяє замінити цифрові адреси комп'ютерів символьними іменами.

Сучасна історія Інтернету почалася в 1989 році, коли Тім Бернерс-Ли (Tim Berners - Lee) в Європейській лабораторії фізики елементарних часток (CERN) розробив технологію гіпертекстових документів - World Wide Web (WWW), що дозволяє користувачам мати доступ до будь-якої інформації, що знаходиться в мережі Інтернет на комп'ютерах по всьому світу. Саме ця розробка зумовила кінець кінцем вибухове зростання числа

користувачів Інтернету. За минулий час WWW пройшов декілька фаз розвитку.

Символьний гіпертекст

Спочатку Web була текстовою гіперпосилальною системою. Перша програма-браузер (браузер - програма для перегляду html -документов) LineMode, створена в 1991 році, не підтримувала графіку і "мишу". Можна лише було переглядати статичні гіпертекстові сторінки, вводячи номери сторінок, що переглядаються.

Графічно-орієнтовані статичні HTML -документы

Ця фаза почалася в лютому 1993 року з випуском браузеру NSCA Mosaic. Браузер розроблявся для Національного центру по застосуванню супер-ЕОМ (NSCA). Це була невелика програма (9000 рядків коду), що працює тільки під X, - windows (графічна оболонка для операційних систем сімейства unix). Але в ній було головне - графіка стала повноправною частиною інтерфейсу, а миша - єдиним засобом роботи. Розробники Mosaic створили повністю новий інтерфейс для Інтернет. Інтерфейс виявився настільки приємний на погляд і в роботі, що підкорював кожного, хто починав з ним працювати просто з цікавості. Браузер не вимагав від користувачів знань про внутрішній устрій мережі. Інтернет відкрив простори мільйонам користувачів.

Через декілька місяців комп'ютерні компанії стали цілеспрямовано проникати в Web, яка сама по собі залишалася статичною. Вміст включав текстові або графічні документи і ряд інших елементів. Можливо, сторінка містила аудио- або відеофайли, які доводилося спочатку завантажувати, а потім програвати, використовуючи зовнішні застосування.

Динамічні HTML -документы

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

Активні HTML -документы

Четверта фаза почалася в 1995 році з появою модулів, що підключалися, в Netscape Navigator і появою мови Java. Що спочатку розроблявся для потреб виробників побутової електроніки, мова Java виявилася засобом, що дозволяв перейти в Web на технологію клієнт-сервер, в якій клієнт мав певну незалежність від сервера. Інтернет-програмування перестало бути програмуванням тільки для сервера. А трохи пізніше була розроблена мова сценаріїв JavaScript, повністю інтегрований в гіпертекстову розмітку документів. У тому ж 1995 року Web стає найпопулярнішим сервісом Інтернету. Поступово інші сервіси стають в WWW вторинними, оскільки багато хто користується Web -сайтами як шлюзами для доступу до інших служб.

Для більшості користувачів глобальної мережі Інтернет асоціюється з одним високорівневим сервісом - World Wide Web (WWW), що використовує протокол HTTP (Hypertext Transfer Protocol - протокол передачі гіпертексту). Зрозуміло, існує безліч інших протоколів - електронна пошта, канали новин, FTP (File Transfer Protocol - протокол передачі файлів) та ін.

Що ж таке Інтернет? Визначення цьому терміну було дане в 1995 році Федеральною мережевою радою (FNC). Інтернет - це глобальна інформаційна система, яка, :

- логічно взаємозв'язана простором глобальних унікальних адрес, заснованих на Інтернет-протоколі (IP) або наступних розширеннях або наступниках IP;

- здатна підтримувати комунікації з використанням сімейства Протоколу управління передачею/Інтернет-протоколу (TCP/IP) або його наступних розширень/наступників і/або інших IP -совместимых протоколів;

- забезпечує, використовує або робить доступною, на громадській або приватній основі, високорівневі сервіси, надбудовані над описаною тут комунікаційною і іншою пов'язаною тут інфраструктурою.

Отже, основа Інтернету - протокол IP. Еталонну модель стека протоколів Інтернету можна зображена на малюнку 6.13.

Протокол Інтернету (IP) є основою усієї архітектури. Мета протоколу Internet полягає в передачі дейтаграммы (одиниця інформації в протоколі, блок інформації, посланий як пакет мережевого рівня через передавальне середовище без попереднього встановлення з'єднання і створення віртуального каналу; повідомлення, яке не вимагає підтвердження про прийом від приймаючої сторони) через набір об'єднаних комп'ютерних мереж. Таким чином, на мережевому рівні Інтернет можна розглядати як набір підмереж або автономних систем, сполучених один з одним. Це здійснюється за допомогою передачі дейтаграмм від одного модуля Internet до іншого до тих пір, поки не буде досягнутий одержувач. Дві основні функції протоколу IP - адресація і фрагментація.

верхний уровень (прикладной уровень)

TCP (транспортный уровень)

протокол Internet (межсетевой уровень)

коммуникационная сеть (от хоста сети)

Мал. 6.13 Еталонна модель стека протоколів Інтернету

Модулі Internet знаходяться на хостах (машинах, призначених для виконання програм користувача) і шлюзах (машинах, що забезпечують з'єднання різних, часто несумісних мереж) мереж системи Internet. Дейтаграммы прямують з одного модуля Internet на іншій через конкретні комп'ютерні мережі, засновані на інтерпретації Internet -адресов. Таким чином, одним з важливих механізмів протоколу Internet є Internet -адрес. Принципи адресації в Інтернеті і структура IP -адреса буде розглянуті нижче.

При передачі повідомлень з одного Internet -модуля на іншої дейтаграммы можуть потребувати проходження через мережі, для яких максимальний розмір пакету менший, ніж розмір дейтаграммы. Щоб здолати цю складність, в протокол Internet включений механізм фрагментації.

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

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

Протокол TCP (Transmission Control Protocol - протокол управління передачею) є надійним протоколом на основі з'єднань, що дозволяє без помилок доставляти байтовий потік з однієї машини на будь-яку іншу машину об'єднаної мережі. Він розбиває вхідний потік байт на окремі повідомлення і передає їх міжмережевому рівню (протоколу IP). На пункті призначення одержуючий TCP -процесс відновлює з отриманих повідомлень вихідний потік. Крім того, TCP здійснює управління потоком, щоб швидкий відправник не завалив інформацією повільного одержувача.

Щоб ідентифікувати окремі потоки даних, підтримувані протоколом TCP, останній визначає ідентифікатори портів (16-бітова адреса). Номери портів нижче 1024, звані популярними портами, зарезервовані за стандартними службами. Наприклад, служба передачі файлів використовує порт 21, передачі гіпертексту - 80 порт Оскільки ідентифікатори портів вибираються кожною програмою протоколу TCP незалежно, то вони не будуть унікальні. Щоб забезпечити унікальність адрес для кожної програми протоколу TCP, ми об'єднуємо той, що ідентифікує цю програму Internet адреса і ідентифікатор порту. В результаті отримуємо сокет, який буде унікальний в усіх локальних мережах, об'єднаних в єдине ціле. З'єднання повністю визначається парою сокетів на своїх кінцях.

Протокол UDP (User Data Protocol - призначений для користувача протокол даних) є ненадійним протоколом без встановлення з'єднання. Цей протокол надає прикладній програмі процедуру для посилки повідомлень іншим програмам, причому механізм протоколу мінімальний. Протокол UDP орієнтований на транзакції, отримання дейтаграмм і захист від дублювання не гарантовані.

Завдання протоколів верхнього рівня - надання високорівневого сервісу. До них відносяться протоколи FTP (File Transfer Protocol - протокол передачі файлів), HTTP (Hypertext Transfer Protocol - протокол передачі гіпертексту), SMTP (Simple Mail Transfer Protocol - поштовий протокол) і інші.

Інтернет-протокол. Адресація в Інтернеті. Служба DNS.

Як було вказано вище, Інтернет-протокол IP взаємодіє, з одного боку, з протоколом більш високого рівня, від якого отримує дані для передачі по мережі або якому передає отримані дані, і з протоколами локальної комп'ютерної мережі, яким передаються упаковані дані для передачі або від яких приходять пакети даних.

Схему дій для передачі дейтаграммы від однієї прикладної програми до іншої можна проілюструвати таким чином (см. рис. 6.14).

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

Модуль Internet готує заголовок дейтаграммы і стикує з ним дані. У заголовку дейтаграммы вказуються - версія протоколу IP, тип сервісу (висока достовірність, висока пропускна спроможність, мала затримка), час життя пакету, протокол верхнього рівня, що використовує передавані дані, адресу відправника, адреса одержувача та ін. параметри. Модуль Internet визначає локальну мережеву адресу, відповідну цій адресі Internet. В даному випадку це адреса шлюзу.

Модуль передає цю дейтаграмму і адресу в локальній мережі в розпорядження інтерфейсу локальної мережі.

Інтерфейс локальної мережі створює відповідний цій мережі заголовок і сполучає з ним дейтаграмму. Потім він передає по локальній мережі отриманий таким чином результат.

Дейтаграмма достигает хост-компьютер, играющий роль шлюза и расположенный в вершине сети. Интерфейс локальной сети отделяет этот заголовок и передает дейтаграмму на модуль Internet. Модуль Internet определяет из Internet адреса, что дейтаграмма должна быть направлена на хост-компьютер во второй сети. Модуль Internet определяет адрес хоста-получателя в локальной сети. Он обращается к интерфейсу локальной сети с тем, чтобы она переслала данную дейтаграмму по назначению.

Інтерфейс створює заголовок локальної мережі і сполучає з ним дейтаграмму, а потім результат направляє на хост-получатель. При необхідності (якщо максимальний розмір пакету в мережі менший, ніж розмір дейтаграммы) дейтаграмма може бути розбита на частини. Кожна частина забезпечується ідентифікатором, що дозволяє потім зібрати їх в єдине ціле. На хосте-получателе інтерфейс локальної мережі видаляє заголовок локальної мережі і передає те, що залишилося на Internet модуль.

Модуль Internet визначає, що дейтаграмма, що розглядається вище, призначена для прикладної програми на цей хосте. Модуль передає дані прикладній програмі у відповідь на системний виклик. Як результат цього виклику передаються адреса одержувача і інші параметри.

Мал. 6.14 Шлях передачі дейтаграммы

З вищесказаного ясно, що одним з найважливіших понять IP -протокола являється Інтернет-адреса (IP -адрес).

Кожен комп'ютер в мережі TCP/IP має IP -адрес, що складається з номера мережі і номера вузла. Усе IP -адреса мають довжину 32 біта і використовуються в полях Адреса одержувача і Адреса відправника IP -пакетов (дейтаграмм). IP -адрес зазвичай записується у вигляді чотирьох чисел (октетів), що представляють значення кожного байта в десятковій формі, і розділених точками, наприклад, 192.10.24.100

Номер мережі може бути вибраний адміністратором довільно, або призначений за рекомендацією спеціального підрозділу Internet (Network Information Center, NIC), якщо мережа повинна працювати як складова частина Internet. Зазвичай провайдери послуг Internet отримують діапазони адрес у підрозділів NIC, а потім розподіляють їх між своїми абонентами.

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

Ділення IP -адреса на полі номера мережі і номера вузла - гнучке, і межа між цими полями може встановлюватися дуже довільно. Яка частина адреси відноситься до номера мережі, а яка - до номера вузла, визначається значеннями перших бітів адреси.

1 байт

2 байт

3 байт

4 байт

Класс A

0

№ сети

№ узла

Класс B

10

№ сети

№ узла

Класс C

110

№ сети

№ узла

Класс D

1110

Адрес группы широковещания (multicast)

Класс E

11110

Зарезервировано для будущего использования

Структура IP -адресів.

З таблиці видно:

У протоколі IP існує декілька угод про особливу інтерпретацію IP -адресов:

Окрім IP -адресов, хосты ідентифікуються доменними (символьними) іменами, легшими для запам'ятовування і відбиваючими логічну структуризацію мережі і, часто, функціональне призначення того або іншого хоста. Домен - це безліч хостов, об'єднаних в логічну групу. Доменне ім'я складається з символьних полів, розділених точками.

Для відображення доменного імені на IP -адрес використовується DNS (Domain Name System) - доменна служба імен. DNS - це розподілена база даних, підтримувальна ієрархічну систему імен для ідентифікації вузлів в мережі Internet. Служба DNS призначена для автоматичного пошуку IP -адреса по відомому символьному імені вузла. Специфікація DNS визначається стандартами RFC 1034 і 1035. DNS вимагає статичної конфігурації своїх таблиць, що відображують імена комп'ютерів в IP -адрес.

Протокол DNS є службовим протоколом прикладного рівня. Цей протокол несиметричний - в нім визначені DNS -серверы і DNS -клиенты. DNS -серверы зберігають частину розподіленої бази даних про відповідність символьних імен і IP -адресов. Ця база даних розподілена по адміністративних доменах мережі Internet. Клієнти сервера DNS знають IP -адрес сервера DNS свого адміністративного домена і по протоколу UDP передають запит, в якому повідомляють відоме символьне ім'я і просять повернути відповідний йому IP -адрес.

- com - комерційні організації (наприклад, microsoft.com);

- edu - освітні (наприклад, mit.edu);

- gov - урядові організації (наприклад, nsf.gov);

- org - некомерційні організації (наприклад, fidonet.org);

- net - організації, підтримувальні мережі (наприклад, nsf.net).

Повне ім'я домена подібно до повного імені файлу, складається з шляху від цього домена до вершини дерева. Крайнє праве поле означає домен верхнього рівня, далі, справа наліво, слідують піддомени в порядку ієрархічної вкладеності, крайнє ліве поле означає ім'я хоста. Наприклад, ім'я abcdef.hotmail.ru означає - хост abcdef знаходиться в домені hotmail, який у свою чергу знаходиться в домені ru.

Протокол TCP.

Як вже було сказано, протокол TCP є протоколом транспортного рівня. Він призначений для встановлення надійних прямих з'єднань між процесами в багатомережевій системі. Як було вказано раніше, протокол IP забезпечує передачу незалежних пакетів даних (дейтаграмм). При цьому в самому протоколі відсутні засоби забезпечення надійності з'єднань. Таким чином, з використанням Інтернет-протоколу неможливо відстежити втрату якої-небудь дейтаграммы. Це - завдання протоколу TCP.

Основні дії протоколу TCP :

Базова передача даних

Протокол TCP здатний передавати безперервні потоки октетів між своїми клієнтами в обох напрямах, пакуючи деяку кількість октетів в сегменти для передачі через системи Internet. У загальному випадку протоколи TCP вирішують на власний розсуд, коли проводити блокування і передачу даних.

Іноді користувачам буває необхідно переконатися в тому, що усі дані, передані ними протоколу TCP, вже відправлені. Для цієї мети визначена функція проштовхування (push). Щоб переконатися в тому, що дані, відправлені протоколу TCP, дійсно передані, відправник вказує, що їх слід проштовхнути до одержувача.

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

Достовірність

Протокол TCP повинен мати захист від руйнування даних, втрати, дублювання і порушення черговості отримання, що викликаються комунікаційною системою Internet. Це досягається привласненням чергового номера кожному передаваному сегменту, а також вимогою підтвердження (ACK) від програми TCP, що приймає дані. Якщо підтвердження не отримано протягом контрольного інтервалу часу, то дані посилаються повторно. З боку одержувача номера черги використовуються для відновлення черговості сегментів, які можуть бути отримані в неправильному порядку, а також для обмеження можливості появи дублікатів.

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

До тих пір, поки програми протоколу TCP продовжують функціонувати коректно, а система Internet не розвалилася повністю на складові частини, помилки пересилки не впливатимуть на правильне отримання даних. Протокол TCP захищає від помилок комунікаційної системи Internet.

Управління потоком

Протокол TCP дає засоби одержувачеві управляти кількістю даних, посиланих йому відправником. Це досягається поверненням так званого "вікна" (window) разом з кожним підтвердженням, яке вказує діапазон прийнятних номерів, що йдуть за номером останнього успішно прийнятого сегменту. Вікно визначає кількість октетів, яку відправник може послати до отримання подальших вказівок.

Розподіл каналів

Щоб дозволити на окремо взятому комп'ютері багатьом процесам одночасно використовувати комунікаційні можливості рівня TCP, протокол TCP надає на кожному хост-компьютере набір адрес або портів. Разом з адресами мереж і хост-комп’ютеров на комунікаційному рівні Internet вони утворюють сокет (socket - роз'їм).

Кожне з'єднання унікальним чином ідентифікується парою сокетів. Таким чином, будь-який сокет може одночасно використовуватися в багатьох з'єднаннях.

Співвідношення портів і процесів здійснюється кожним хост-компьютером самостійно. Проте часто використовувані процеси зв'язуються з фіксованими документованими сокетами (HTTP - порт 80, FTP - 21 і так далі).

Цей сервіс можна згодом використовувати через відомі адреси. Установка і налаштування адрес портів для інших процесів може включати динамічніші механізми.

Робота із з'єднаннями

Механізми управління потоком і забезпечення достовірності, описані вище, вимагають, щоб програми протоколу TCP ініціалізували і підтримували певну інформацію про стан кожного потоку даних. Набір такої інформації, що включає сокети, номери черги, розміри вікон, називається з'єднанням. Кожне з'єднання унікальним чином ідентифікується парою сокетів на двох кінцях.

Якщо два процеси бажають обмінюватися інформацією, відповідні програми протоколу TCP повинні спершу встановити з'єднання (на кожній стороні ініціалізувати інформацію про статус). Після закінчення обміну інформацією з'єднання має бути розірване або закрите, щоб звільнити ресурси для надання іншим користувачам.

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

Пріоритет і безпека

Користувачі протоколу TCP можуть зажадати для свого з'єднання пріоритет і безпеку. Передбачені характеристики з'єднань, що приймаються за умовчанням, коли такі параметри не вимагаються.

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

Протокол HTTP.

Протокол HTTP (Hypertext transfer protocol - протокол передачі гіпертексту) є представником протоколів Інтернет прикладного рівня. Цей протокол працює відповідно до моделі клієнт/сервер. При виконанні роботи два мережеві процеси працюють разом, пересилаючи один одному інформацію. При цьому один процес, що є ініціатором діалогу, є клієнтом. Процес, очікуючий запиту і оброблювальний запити клієнтів, є сервером.

Протокол HTTP - це протокол запитів/відповідей. Клієнт посилає запит серверу, який його обробляє і посилає відповідь.HTTP -соединение зазвичай відбувається шляхом TCP/IP -соединений. Заданий за умовчанням порт - 80, хоча може використовуватися і інші порти.

Таким чином, відповідно до моделі стека протоколів Інтернету, прикладна програма, що використовує протокол HTTP, повинна за певними правилами (вони будуть розглянуті нижче) сформувати запит, по протоколу TCP встановити з'єднання, передати серверу сформований запит, отримати по протоколу TCP відповідь, оформлену за правилами протоколу HTTP.

Оскільки протокол HTTP і інші протоколи прикладного рівня використовують поняття URI (Uniform Resource Identifier - універсальний ідентифікатор ресурсу), розглянемо детальніше, як він визначається. Заздалегідь помітимо, що нині поняття URI практично співпадає з поняттям URL (Universal Resource Locator -универсальный адреса ресурсу).

URI складається з наступних частин: тип, ім'я вузла (домена), номер порту, шлях, рядок запиту і ідентифікатор фрагмента.

Тип - є протокол (це може бути також ftp, https).

Вузол - ідентифікує машину. Це може бути або доменне ім'я, або IP -адрес.

Порт - номер порту, по якому проходить робота протоколу. Може не вказуватися. У такому разі мається на увазі стандартний порт, використовуваний протоколом (80 для HTTP).

Шлях - є місце розташування запитаного ресурсу. Залежно від налаштувань цей шлях може відповідати деякому шляху на сервері, але може і не відповідати.

Запит - у разі використання сценаріїв в рядку запиту можуть передаватися параметри в сценарій. Є набір пар ім'я/значення. Пари розділяються знаком &, а ім'я і значення розділяються знаком =.

Фрагмент - вказує на певний розділ ресурсу.

URI може не містити рядка запиту і ідентифікатора фрагмента.

Для URI не має значення регістр букв (нечутливий до регістра).

URI може бути абсолютним і відносним. Абсолютний URI завжди починається з типу протоколу. Приклад абсолютного URI показаний вище. Відносний URI, без імені протоколу або номера порту, може містити повні шляхи (завжди вказуються з кореневого каталогу і починаються зі знаку слеша /) або відносні шляхи (починаються з символа, отличного от /).

Огляд клієнтських технологій Інтернет. Поняття про мови розмітки. SGML. HTML як застосування SGML. Структура HTML -документа.

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

розмітки. SGML. HTML як застосування SGML. Структура HTML -документа.

Клієнтська частина середовища розробки Web -приложений складається в основному з 4 частин:

- браузери - служать призначеним для користувача інтерфейсом для застосування.

- HTML - мова гіпертекстової розмітки. Документи у форматі HTML поступають браузеру для відображення.

- Клієнтські розширення. У міру зростання потреб користувачів в активних web -документах з'явилася потреба працювати з виконуваним вмістом (executable content) в браузері. Для самої технології не обов'язково прив'язуватися до роботи конкретного браузеру, хоча він і підтримує її. Прикладом клієнтських розширень можуть служити Java -апплеты, елементи управління ActiveX.

- Клієнтські мови сценаріїв. На сьогодні основною такою мовою є JavaScript, тісно інтегрований з HTML.

Узагальнена структурована мова розмітки (Structured Generalized Markup Language - SGML) - це система визначення мов розмітки. SGML стандартизований в 1986 році і широко поширений скрізь, де вимагаються великі об'єми структурованого тексту, представленого в легкодоступних форматах. Мова дозволяє розмічати документи, уявляючи інформацію про структуру, представлення і семантику в одному документі. SGML має великий спектр підтримки, оскільки у нього є величезна кількість властивостей, спеціально орієнтованих на роботу з текстовими застосуваннями. Проте ця мова є досить складною (специфікація мови займає більше 500 сторінок) і, отже, важким для реалізації.

Мова SGML визначає базовий синтаксис і дає можливість описувати власні елементи (звідси і термін узагальнений). Кожна мова розмітки, визначена в SGML, називається застосуванням SGML. Застосування SGML характеризується:

- Оголошенням SGML. SGML Оголошення вказує, які символи і роздільники можуть відображуватися в застосуванні.

- Визначенням типу документу DTD. DTD визначає синтаксис конструкцій розмітки. DTD може включати додаткові визначення, наприклад, посилання на комбінації символів.

- Специфікацію, що описує семантику, використовувану в розмітці. Ця специфікація також накладає синтаксичні обмеження, які неможливо виразити за допомогою DTD.

- Екземпляри документу містять дані (вміст) і розмітку. Кожен екземпляр утримує посилання на DTD, яке повинне використовуватися для інтерпретації.

HTML (Hypertext Markup Language - мова розмітки гіпертексту) є одним із застосувань SGML. HTML надає обмежений набір елементів для структуризації документу, тому його застосування є відносно простим.

Розглянемо, які конструкції SGML використовуються в HTML.

1. Елементи. SGML оголошує типи елементів, представляючі структури або бажану поведінку. HTML включає типи елементів, представляючі абзаци, гіпертекстові посилання, списки, таблиці, зображення і так далі

Кожне оголошення типу елементу зазвичай включає три частини: початковий тег, вміст і кінцевий тег.

Ім'я елементу відображується в початковому тегу (пишеться <имя-элемента>) і в кінцевому тегу (пишеться </имя-элемента>). Деякі елементи можуть не мати вмісту. Наприклад, елемент переходу на наступний рядок BR не має вмісту. У стандарті також визначено, що деякі елементи можуть не мати кінцевого тега або він може бути опущений. Наприклад, елемент абзацу P може не мати кінцевого тега.

2. Атрибути. З елементами можуть бути пов'язані властивості, звані атрибутами, які можуть мати значення (стандартні або встановлювані авторами або сценаріями). Пари атрибут/значення поміщаються перед закриваючою дужкою ">" початкового тега елементу. У початковому тегу елементу може бути будь-яке число (допустимих) пар атрибут/значення, розділених пропусками. Вони можуть вказуватися у будь-якому порядку.

Наприклад, в наступному прикладі для елементу H1 встановлений атрибут id :

<h1 id="section 1">Це заголовок</h1>

3. Посилання на символи. Посилання на символи - це числові або символьні імена символів, які можуть бути включені в документ HTML. Вони зручні для звернення до рідко використовуваних символів або до символів, які важко або неможливо вводити в засобах розробки документів. Посилання на символи починаються зі знаку "&" і закінчуються крапкою з комою (;). Ось деякі приклади:

- "<" представляє знак <.

- ">" представляє знак >.

- """ представляє знак ".

4. Коментарі. Коментарі в HTML мають наступний синтаксис:

<!-- це коментар -->

<!-- це теж коментар, він займає декілька рядків -->

Проблеми між відкриваючим роздільником розмітки ("<"!) і відкриваючим роздільником коментаря ("--") недопустимі, але їх можна використовувати між закриваючим роздільником коментаря ("--") і закриваючим роздільником розмітки (">"). Поширеною помилкою є включення рядка символів перенесення ("---") в коментар. Слід уникати використання в коментарях двох або більш за символи перенесення.

Інформація в коментарях не має спеціального значення (наприклад, посилання на символи не інтерпретуються).

Документ у форматі HTML 4.0 складається з трьох частин:

Перед кожним елементом або після кожного елементу може знаходитися порожній простір (пропуски, перехід на новий рядок, табуляції і коментарі). Розділи 2 і 3 повинні відділятися елементом HTML.

Вот пример простого документа HTML:

<!DOCTYPE "-//W3C//ДАТА ГРОМАДСЬКОСТІ HTML HTML

4.0//EN" "http ://www.w 3.org/КОНЦЕРН/строгий

REC-html40/.дата">

<HTML>

<ГОЛОВА>

<ЗАГОЛОВОК>Мой первый документ HTML</ЗАГОЛОВОК>

</ГОЛОВА>

<ТІЛО>

<P>Привет, мир!

</ТІЛО>

</HTML>

У документі HTML має бути оголошена використовувана в нім версія мови HTML. Оголошення типу документу вказує визначення типу документу (DTD), використовуване в цьому документі.

HTML 4.0 визначає три DTD, так що автори повинні включати у свої документи одне з наступних оголошень типів. Різниця між DTD полягає в підтримуваних ними елементах.

- HTML 4.0 Strict DTD (строге визначення) включає усі елементи і атрибути, що не є небажаними і що не використовуються в документах з кадрами. Для документів, що використовують це DTD, використовуйте таке оголошення типу документу :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"

"http ://www.w 3.org/TR/REC - html40/strict.dtd">

- HTML 4.0 Transitional DTD (перехідне визначення) включає усе, що включено в строге DTD, а також небажані елементи і атрибути (більшість з яких відноситься до візуального представлення). Для документів, що використовують це DTD, використовуйте таке оголошення типу документу :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"

"http ://www.w 3.org/TR/REC - html40/loose.dtd">

- HTML 4.0 Frameset DTD (визначення для кадрів) включає усе, що включено в перехідне DTD, а також кадри. Для документів, що використовують це DTD, використовуйте таке оголошення типу :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN"

"http ://www.w 3.org/TR/REC - html40/frameset.dtd">

Після оголошення типу документу інша частина документу HTML міститься в елементі HTML. Таким чином, типовий документ HTML має таку структуру:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"

"http ://www.w 3.org/TR/REC - html40/strict.dtd">

<HTML>

..Тут йдуть заголовок, тіло і т.д..

</HTML>

Основні елементи HTML. Елемент HTML. Атрибути lang, dir. Елементи HEAD, TITLE. Атрибут title. Елементи META, LINK, BODY. Атрибути id, class.

Елемент HTML. Ідентифікує документ як що містить елементи HTML. Початковий тег - не обов'язковий. Кінцевий тег - не обов'язковий. Після оголошення типу документу частина документу HTML, що залишилася, міститься в цьому елементі. Усередині цього елементу можуть

знаходитися елементи HEAD і BODY для ділення документу на частини.

Атрибути, визначені для елементу, :

LTR: Зліва направо.

RTL: Справа наліво.

Ці атрибути використовуються в основному для допомоги пошуковим машинам, для допомоги програмам перевірки орфографії і тому подібне. Визначення цих атрибутів не є обов'язковим. Ці атрибути можуть бути встановлені і в інших елементах HTML.

Елемент HEAD. Містить інформацію про поточний документ, таку як заголовок, ключові слова, які можуть використовуватися пошуковими машинами, і інші дані, які не рахуються вмістом документу. Початковий тег - не обов'язковий. Кінцевий тег - не обов'язковий. Усередині цього елементу можуть знаходитися елементи TITLE, META, LINK, BASE і деякі інші.

Елемент TITLE. Означає назва документу, яка зазвичай відображується в заголовку вікна браузеру. Початковий тег - обов'язковий. Кінцевий тег - обов'язковий. За стандартом застосування цього елементу є обов'язковим. На практиці ця вимога виконується не завжди. Якщо цей елемент присутній в документі, він повинен міститися в розділі HEAD. Заголовки можуть включати комбінації символів (для символів зі

знаком наголосу, спеціальних символів і так далі), але не можуть містити іншої розмітки.

Елемент TITLE може мати атрибут, званий title. Цей атрибут встановлюється для практично усіх елементів HTML. Цей атрибут пропонує інформацію про елемент, для якого він встановлюється. Візуальні браузери часто відображують заголовок як підказку. Установка цього атрибуту для посилання дозволяє повідомити користувачів про природу пов'язаного ресурсу.

Вот образец заголовка документа:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"

"http://www.w3.org/TR/REC-html40/strict.dtd">

<HTML>

<HEAD>

<TITLE title=”это заголовок”>Интернет-технологии</TITLE>

... другие элементы заголовка...

</HEAD>

<BODY>

... тело документа...

</BODY>

</HTML>

Елемент META.

Надає різні типи інформації, що не відображується, і інструкцій для браузеру. Це, зокрема, інформація про зміст сторінки, ключові слова, про автора, команди, що управляють, пошуковим роботам і так далі. Початковий тег: обов'язковий, Кінцевий тег: заборонений. Усі елементи META повинні розташовуватися в розділі HEAD.

META -тэги мають два можливі атрибути

- <META HTTP - EQUIV="ім'я" CONTENT="вміст">

- <META NAME="ім'я" CONTENT="вміст">

Атрибут HTTP - EQUIV

META -тэги з атрибутом HTTP - EQUIV еквівалентні HTTP -заголовкам. Зазвичай вони управляють діями браузерів і можуть бути використані для вдосконалення інформації, що видається звичайними заголовками. Теги такої форми можуть дати такий же ефект, що і HTTP -заголовки, і на деяких серверах автоматично можуть бути переведені в справжні HTTP -заголовки.

Expires - дата застарівання. Управління кешуванням в HTTP/1.0. Якщо вказана дата пройшла, то черговий запит цього документу викликає повторний мережевий запит, а не підвантаження документу з кеша. Дата зі значенням "0" інтерпретується як "зараз". Таке значення примушує браузер кожного разу при запиті перевіряти - чи змінювався цей документ. Це, до речі відноситься і до прокси-агентам. Пошукові роботи можуть або

зовсім не індексувати такий документ, або постійно перевіряти його.

<META HTTP - EQUIV="expires" CONTENT="Wed, 26 Feb 2012 08:21:57 GMT"> що еквівалентно HTTP -заголовку

Expires: Wed, 26 Feb 2012 08:21:57 GMT

Pragma - контроль кешування для HTTP/1.0. Значенням має бути "no-cache".

Content - Type - вказівка типу документу. Може бути розширено вказівкою кодування сторінки (charset).

<META HTTP - EQUIV="Content-type" CONTENT="text/html; charset=KOI - 8r">

Content - language - вказівка мови документу. Може використовуватися пошуковими машинами при індексуванні сторінок. Комбінація поля Accept - Language (посиланого браузером) з вмістом Content - language може бути умовою вибору сервером тієї або іншої мови.

<META HTTP - EQUIV="Content-language" CONTENT="en-GB">

Refresh - визначення затримки в секундах, після якої браузер автоматично оновлює документ. Додаткова можливість - автоматичне завантаження іншого документу.

<META HTTP - EQUIV="Refresh" Content="3, URL=http://www.name.com/page.html"> що еквівалентно HTTP -заголовку

Refresh: 3; URL=http://www.name.com/page.html

Cache - Control - визначає дії кеша по відношенню до цього документу. Можливі значення:

Атрибут NAME

META -тэги з атрибутом NAME використовуються у випадках, коли поля не співвідносяться з HTTP -заголовками.

Robots - управління індексацією сторінки для пошукових роботів.

<META NAME="Robots" CONTENT="NOINDEX, FOLLOW">

Можливі значення:

За умовчанням CONTENT="index, follow".

Description - коротка анотація змісту документу. Використовується пошуковими системами для опису документу. Довжина тексту до 100 символів.

<META NAME="Description" CONTENT="Документ містить опис елементів HTML">

Keywords - використовується пошуковими системами для індексування документу. Довжина списку до 1000 символів. Не допускається використання одного і того ж ключового слова більше 7 разів, пошукові системи

просто ігноруватимуть це слово.

<META NAME="Keywords" CONTENT="елементи, теги, метадані ">

Document - state - управління індексацією сторінки для пошукових роботів. Визначає частоту індексації - або один раз індексувати, або реиндексировать документ регулярно.

<META NAME="Document-state" CONTENT="Static">

Можливі значення:

Author - звичайне ім'я автора, формат довільний.

<META NAME=" Author " CONTENT="Іванов И. И., 2010 р. ">

Generator - звичайна назва і версія редактора, за допомогою якого створена ця сторінка.

Copyright - звичайний опис авторських прав на документ в довільному форматі

Елемент LINK.

Надає документу незалежний від середовища метод визначення відношення цього документу до інших документів і ресурсів Мережі. За допомогою елементу LINK можна:

Початковий тег: обов'язковий, Кінцевий тег: заборонений. Усі елементи LINK повинні розташовуватися в розділі HEAD.

Серед атрибутів, визначених для цього елементу, найважливішими є:

Атрибути rel і rev можуть набувати значень:

Приклад використання цього елементу:

<!DOCTYPE "-//W3C//ДАТА ГРОМАДСЬКОСТІ HTML HTML 4.0//EN" "http ://www.w 3.org/КОНЦЕРН/строгий REC-html40/.дата">

<HTML>

<ГОЛОВА>

<ЗАГОЛОВОК>Глава 4</ЗАГОЛОВОК>

<Заголовок="Початку" ЄДНАЛЬНОГО rel="Первая страница руководства", type="текстовий/html" href="http://де-небудь.

початок com/керівництва/.html">

<"Індекс" ЄДНАЛЬНОГО rel=, type="текстовий/html" href="http://де-небудь.індекс com/керівництва/.html">

<ЄДНАЛЬНИЙ rel=, "Наступний" type="текстовий/html" href="http://де-небудь.com/керівництво/Chapter5.html">

<ЄДНАЛЬНИЙ rel=, "Попередній" type="текстовий/html" href="http://де-небудь.com/керівництво//Chapter3.html">

<Заголовок=допомоги ЄДНАЛЬНОГО rel="Страница помощи", type="текстовий/html" href="допомога.html"> <!-- описаны

ссылки на индекс, первую, следующую и предыдущую страницу, а также страницу помощи -->

<єднальний rel="stylesheet" type="текстовий/css" href="://де-небудь.керівництво com/керівництва/.css">

<!-- описано местонахождение таблицы стилей руководства -->

</ГОЛОВА> ..продолжение документа..

Елемент BODY.

Визначає зміст документу. Початковий тег: не обов'язковий, Кінцевий тег: не обов'язковий.

Визначення найважливіших атрибутів :

background = uri. Небажаний. Значення цього атрибуту - URI, що вказує на зображення. Це зображення є фоном.

text = color. Цей атрибут встановлює колір тексту.

link color. Цей атрибут встановлює колір тексту гіпертекстових посилань, по яких перехід не був здійснений.

vlink color. Цей атрибут встановлює колір тексту посилань, по перехід був здійснений.

alink = color. Цей атрибут встановлює колір тексту посилань, коли вони вибрані користувачем.

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

Все эти атрибуты являются нежелательными, так как предпочтительным является задание представления документа с помощью таблиц стилей.

Кроме этих атрибутов, элемент BODY и имеет множество атрибутов, общих для многих других элементов:

Рассмотрим атрибуты id и class.

Атрибут id назначает элементу уникальный идентификатор. Он имеет в HTML несколько ролей:

Атрибут class, з іншого боку, призначає одне або декілька імен класів елементу; при цьому елемент може називатися таким, що належить до цих класів. Ім'я класу може використовуватися декількома екземплярами елементу. Атрибут class має в HTML декілька ролей:

- Спосіб вибору таблиці стилю (коли автор хоче призначити інформацію про стиль набору елементів).

- Для загальної обробки агентами користувачів

Наприклад: <BODY id="myBody" class="info">..

означає привласнення елементу BODY унікального ідентифікатора з ім'ям myBody. Цей ідентифікатор може потім використовуватися в сценаріях. Також вказується, що до документу має бути клас info з таблиці стилів (помітимо, що розташування таблиці стилів може бути вказане за допомогою елементу LINK).

Елементи форматування тексту. Списки. Таблиці.

Існує досить багато елементів, призначених для форматування тексту документу. Це елементи B, BLOCKQUOTE, BR, Hx, HR, I, P, SUB, SUP і інші.

Елементи Hx (H1, H2, H3, H4, H5, H6). Визначають заголовки тексту. Всього існує 6 рівнів заголовків - від H1 (найбільш важливий, і, отже, найбільший заголовок) до H6 (найменш важливий і найменший заголовок). Початковий тег - обов'язковий. Кінцевий тег - обов'язковий. Для елементу немає специфічних атрибутів, визначені тільки загальні для більшості елементів атрибути - id, class, lang, dir, title і деякі інші.

Елемент P. Визначає параграф (абзац) тексту. Початковий тег - обов'язковий. Кінцевий тег - не обов'язковий. Для елементу немає специфічних атрибутів.

Елемент BR. Призначений для примусового переходу тексту на інший рядок. Початковий тег - обов'язковий, кінцевий тег - заборонений.

При відкритті тексту в браузері можна переконатися, що візуальна дія елементу BR не дорівнює дії елементу P.

Мова HTML пропонує авторам декілька механізмів створення списків інформації. У кожному списку має бути один або декілька елементів списків. Списки можуть містити:

Елемент UL призначений для створення неврегульованих списків, елемент OL - для впорядкованих списків. Ці елементи повинні містити один або декілька елементів LI, що описують елементи списку. Відмінність впорядкованих і неврегульованих списків - тільки у візуальному представленні. Елементи впорядкованого списку нумеруються, а елементи неврегульованого списку відзначаються деяким маркером, вид якого залежить від використовуваного стилю. Для UL і OL наявність початкового і кінцевого тега обов'язкова. Для LI початковий тег обов'язковий, кінцевий - не обов'язковий. Для тегів визначені загальні атрибути і деякий набір небажаних атрибутів :

type = інформація про стиль. Цей атрибут встановлює стиль елементу списку. Доступные в настоящее время значения:

Type

Стиль нумерации

1

арабские цифры

1, 2, 3, ...

a

буквы нижнего регистра

a, b, c, ...

A

буквы верхнего регистра

A, B, C, ...

i

римские цифры в нижнем регистре

i, ii, iii, ...

I

римские цифры в верхнем регистре

I, II, III, ...

start = число. Тільки для OL. Цей атрибут задає початковий номер першого елементу у впорядкованому списку. За умовчанням початковий номер - "1". Хоча значенням цього атрибуту є ціле число, відповідна мітка може бути нецифрова. Якщо як стиль вибрані латинські букви верхнього регістра (A, B, C, ..), start=3 означає "C". Якщо як стиль вибрані римські цифри нижнього регістра, start=3 означає "iii" і так далі

value = число. Тільки для LI. Цей атрибут встановлює номер поточного елементу списку. Хоча значенням атрибуту є ціле число, відповідна мітка може бути нечислова (див. атрибут start).

compact. Якщо цей логічний атрибут встановлений, він повідомляє візуальних агентів користувачів про те, що генерувати список треба компактніше. Інтерпретація цього атрибуту залежить від агента користувача.

Описаний вище неврегульований список може бути представлений таким чином:

<UL>

<LI>Неврегульовану інформацію.

<LI>Впорядковану інформацію.

<LI>Визначення.

</UL>

Визначення трохи відрізняються від розглянутих вище списків і створюються з використанням елементів DL, DT, DD.

summary="В этой таблице приводится некоторая статистика о фруктовых мухах: средняя высота и вес, процент мух с красными глазами (особей мужского и женского пола).">

<CAPTION> Тестова таблиця із збідненими осередками </CAPTION>

<TR><TH rowspan="2"> </TH><TH colspan="2">Средний </TH>

<TH rowspan="2">Красные<BR>глаза</TH></TR></TR>

<TR><TH>высота</TH><TH>вес</TH></TR>

<TR><TH>мужской пол</TH><TD>1.9</TD><TD>0.003</TD><TD>40%</TD></TR>

<TR><TH>женский пол</TH><TD>1.7</TD><TD>0.002</TD><TD>43%</TD></TR>

</TABLE>

Візуальне представлення цієї таблиці буде наступним:

Елемент TABLE створює таблицю. Початковий тег - обов'язковий. Кінцевий тег - обов'язковий. Усі інші елементи таблиці повинні знаходитися усередині цього елементу. Для цього елементу визначена безліч атрибутів. З них найважливішими є:

all

Отображает все части рамки внутри таблицы

cols

Отображает все вертикальные рамки внутри таблицы

groups

Отображает горизонтальные части рамки между группами таблицы THEAD, TBODY, TFOOT

none

Удаляет все рамки вокруг таблицы

rows

Отображает все горизонтальные рамки внутри таблицы

Елемент CAPTION визначає заголовок таблиці. Він повинен розташовуватися безпосередньо після початкового тега елементу TABLE і може зустрічатися в таблиці тільки один раз. Початковий тег - обов'язковий. Кінцевий тег - обов'язковий.

Рядки таблиці можуть групуватися в заголовки, нижні заголовки і один або декілька розділів тіла таблиці за допомогою елементів THEAD, TFOOT і TBODY відповідно. Заголовки таблиці повинні містити інформацію про стовпці таблиці. Тіло таблиці повинне містити рядки даних таблиці.

Якщо елементи THEAD, TFOOT і TBODY присутні, кожен з них містить групу рядків. Кожна група рядків повинна містити принаймні один рядок, визначуваний елементом TR. Елементи TR служать контейнерами для рядка елементів таблиці.

У прикладі показаний порядок і структура заголовків таблиці, нижніх заголовків і тел.

<TABLE>

<THEAD>

<TR> ...заголовок...

</THEAD>

<TFOOT>

<TR> ...нижний заголовок...

</TFOOT>

<TBODY>

<TR> ...первая строка данных блока 1...

<TR> ...вторая строка данных блока 1...

</TBODY>

<TBODY>

<TR> ...первая строка данных блока 2...

<TR> ...вторая строка данных блока 2...

<TR> ...третья строка данных блока 2...

</TBODY>

</TABLE>

Елемент TFOOT повинен розташовуватися до елементу TBODY у визначенні TABLE, щоб агенти користувачів могли генерувати нижній заголовок до отримання усіх (можливо, численних) рядків даних. Нижче наводиться зведення обов'язкових тегів і тегів, які можна опустити, :

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

- Початкові теги для елементів THEAD і TFOOT обов'язкові, якщо в таблиці присутні верхній і нижній заголовки, але відповідні кінцеві теги можна опускати.

Розділи THEAD, TFOOT і TBODY повинні містити однакове число стовпців.

Кожен рядок таблиці (описана елементом TR) містить одну або декілька елементів таблиці. Елементи таблиці описуються елементами TH і TD. При цьому TH використовується для опису осередків заголовка, а TD - для опису осередків даних, що знаходяться в тілі таблиці. Для цих елементів початковий тег - обов'язковий, кінцевий - не обов'язковий. Серед безлічі атрибутів, визначених для осередків, найбільш

важливими є: rowspan = число. Цей атрибут визначає число рядків, об'єднаних поточним осередком. За умовчанням використовується значення один ("1"). Значення нуль ("0") означає, що осередок об'єднує усі рядки від поточної до останнього рядка таблиці.

colspan = число. Цей атрибут визначає число стовпців, об'єднаних поточним осередком. За умовчанням використовується значення один ("1"). Значення нуль ("0") означає, що осередок об'єднує усі стовпці від поточного до останнього стовпця таблиці.

Наведемо приклад складної таблиці, в якій деякі осередки об'єднані, :

<TABLE border="1">

<TR><TD>1 </TD><TD rowspan="2">2,5 </TD><TD>3</TD></TR>

<TR><TD>4 </TD><TD> </TD></TR>

<TR><TD colspan="3">7-9</TD></TR>

</TABLE>

Зовнішній вигляд таблиці буде наступним:

1

2,5

3

4

7-9

Тут об'єднано два осередки по вертикалі. Для цього використовувався атрибут rowspan. Для об'єднання осередків в рядку (осередки 7 -9) використовувався атрибут colspan.

У цьому ж прикладі показано застосування символу нерозривного прикладу  , який часто застосовується, якщо вимагається зберегти форматування таблиці за відсутності вмісту в осередку.

Окрім цих атрибутів, часто використовуються атрибути вирівнювання вмісту осередків

Ці ж атрибути можуть використовуватися в елементі TR. У такому разі вони діють на усі осередки рядка.

Посилання. Зображення. Об'єкти

Посилання зв'язують один ресурс Інтернету з іншим. Посилання має два кінці - званих якорями - і напрям. Посилання починається в "початковому" якорі (джерелі) і вказує на "цільовий" якір, який може бути будь-яким ресурсом Web (наприклад, зображенням, відеокліпом, звуковим файлом, програмою, документом HTML, елементом в документі HTML і так далі). За умовчанням з посиланням пов'язано завантаження іншого ресурсу Web. Ця поведінка досягається зазвичай шляхом вибору посилання (наприклад, за допомогою клацання миші, введення з клавіатури і так далі).

Для визначення якорів використовується елемент A. Початковий тег - обов'язковий. Кінцевий тег - обов'язковий. Посилання і якорі, визначувані елементом A, не можуть бути вкладеними; елемент A не повинен містити інших елементів A. Має безліч атрибутів, серед яких найважливішими є, :

name - дає якорю ім'я, так що він може служити метою іншого посилання. Значенням цього атрибуту має бути унікальне ім'я. Зона дії імені - поточний документ.

href - визначає місце розташування ресурсу Web, визначаючи зв'язок між поточним елементом (початковим якорем) і цільовим якорем, визначуваним цим атрибутом.

Кожен елемент A визначає якір:

- Вміст елементу A визначає положення якоря.

- Атрибут name задає ім'я якоря, так що він може служити пунктом призначення будь-якого числа посилань.

- Атрибут href призначає якір пунктом призначення рівно одного посилання.

У наступному HTML -фрагменте міститься два посилання, у однієї цільовим anchor являється документ HTML з ім'ям "chapter 2.html", а у другої цільовий anchor - зображення у форматі GIF, розташоване у файлі "forest.gif":

<BODY> ..якийсь текст..

<P>Детальніше за см в <A href="chapter 2.html">главі два</A>.

См також <A href="./images/forest.gif">карту лісу.</A>

</BODY>

Визначивши якір, ми можемо зв'язати його з цим же або з іншим документом. URI, що призначають якір, включають символ "#", за яким слідує ім'я якоря (ідентифікатор фрагмента). Ось декілька прикладів таких URI :

- Абсолютний URI: http://www.mycompany.com/one.html#anchor - one

- Відносний URI: ./one.html#anchor - one або one.html#anchor - one

- Якщо посилання визначене в тому ж документі: #anchor - one

Ось приклад визначення і використання якорів усередині одного документу:

<H1>Зміст;</H1>

<P><A href="#section1">Вступ</A><BR>

<A href="#section2">Передісторія</A><BR> ..продовження змісту..

..тіло документу..

<H2><A name="section 1">Вступ</A></H2> ..розділ 1..

<H2><A name="section 2">Передісторія</A></H2> ..розділ 2..

Мова HTML дозволяє включати в сторінки зображення, аплети, мультимедійні об'єкти і тому подібне. Для цього використовуються наступні елементи:

Елемент IMG використовується для вставки зображень в документи. Для цього елементу початковий тег - обов'язковий, кінцевий тег - заборонений. Найважливішими атрибутом елементу являються:

src - задає місце розташування зображення.

alt - вказує альтернативний текст. Не є обов'язковим. Використовується текстовими браузерами - цей текст показується замість зображення. Звичайні браузери

використовують цей текст як підказку.

width, height - визначають розмір зображення. Також не є обов'язковими, але можуть бути використані для точнішої розмітки документу.

align - визначають вирівнювання зображення відносно навколишнього тексту. Має значення:

- bottom: означає, що вікно об'єкту має бути вертикально вирівняне відносно поточної базової лінії. Це значення використовується за умовчанням.

- middle: означає, що центр об'єкту має бути вирівняний вертикально відносно поточної базової лінії.

- top: означає, що верх об'єкту має бути вертикально вирівняний відносно верху поточного текстового рядка.

- left і right, призводять до переміщення зображення до поточного лівого або правого поля.

Приклад використання елементу IMG :

<IMG src="589.jpg" alt="вид з мого вікна">

<IMG src="589.jpg" width="100" height="200">

Сучаснішим способом вставки зображень є використання елементу OBJECT. Він дозволяє вставляти не лише зображення, але і складніші об'єкти - документи Word, анімацію, Flash -фильмы і так далі

Наприклад, зображення можна вставити таким чином:

<OBJECT data="589.jpg" type="image/jpeg" width="100" height="200"> вид з мого вікна

</OBJECT>

Документ Word може бути вставлений в HTML таким чином:

<OBJECT data="lecture 8.doc" type="application/msword"></OBJECT>

Відеокліп:

<OBJECT data="http://mysite.com/myvideo.avi" type="application/avi"></OBJECT>

Частина коду, створювана Flash для публікації ролика :

<OBJECT classid="clsid: D27CDB6E - AE6D - 11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="550"

HEIGHT="400" id="myflash" ALIGN="">

<PARAM NAME=movie VALUE=" myflash.swf">

<PARAM NAME=quality VALUE=high>

<PARAM NAME=bgcolor VALUE=#FFFFFF>

</OBJECT>

Таким чином, елемент OBJECT надає загальний механізм включення об'єктів різної природи в сторінку. Для цього елементу наявність початкового і кінцевого тега є обов'язковою.

Найважливіші атрибути:

classid - використовується для вказівки місця розташування об'єкту за допомогою URI. Він може використовуватися разом з атрибутом data або як альтернатива йому,

залежно від типу об'єкту.

codebase - визначає базовий шлях, використовуваний для дозволу відносних адрес URI, що задаються в атрибутах classid, data і archive. Якщо цей атрибут відсутній, значенням за умовчанням є базова адреса URI поточного документу.

codetype - визначає тип вмісту даних, отримання яких слід чекати при завантаженні об'єкту, що задається атрибутом classid. Цей атрибут не є обов'язковим, але рекомендується, якщо використовується атрибут classid, оскільки він дозволяє агентові користувача уникнути завантаження інформації для типу утримуваного, який він не підтримує. Якщо цей атрибут відсутній, за умовчанням використовується значення атрибуту type.

data - використовується для вказівки місця розташування даних об'єкту, наприклад, даних зображення для об'єктів, що визначають зображення. Якщо дається відносна адреса URI, він повинен інтерпретуватися відносно атрибуту codebase.

type - визначає тип вмісту для даних, що задаються атрибутом data. Цей атрибут не є обов'язковим, але рекомендується, якщо використовується атрибут data.

archive - використовується для визначення розділеного пропусками списку адрес URI архівів, що містять ресурси, що відносяться до об'єкту, який може включати ресурси, що задаються атрибутами classid і data. Попереднє завантаження архівів приведе до зменшення часу завантаження об'єкту. Архіви, вказані у вигляді відносних адрес URI, повинні інтерпретуватися відносно атрибуту codebase.

У більшості браузерів є вбудовані механізми для генерації основних типів даних, таких як текст, зображення, кольори, шрифти і ряд графічних елементів. Для генерації типів даних, які браузери не підтримують за умовчанням, вони зазвичай запускають зовнішні застосування. Елемент OBJECT дозволяє авторам об'єктів управляти генерацією даних - задавати зовнішню генерацію або використання деякої визначуваної автором програми, що генерує дані в браузері.

У загальному випадку автор повинен визначити три типи інформації :

· Реалізація включеного об'єкту. Наприклад, якщо включений об'єкт - аплет, автор повинен вказати місце розташування виконуваного коду аплета.

· Генеровані дані. Наприклад, якщо включений об'єкт є програмою, що генерує дані шрифту, автор повинен вказати місце розташування цих даних.

· Додаткові значення, необхідні об'єкту. Наприклад, деяким аплетам можуть бути потрібні початкові значення для їх параметрів.

Елемент PARAM визначає набір значень, які можуть знадобитися об'єкту під час роботи. Для цього елементу початковий тег обов'язковий, кінцевий - заборонений. Набір елементів PARAM повинен розташовуватися усередині елементу OBJECT. Елемент має наступний найважливіші атрибути:

Елементи DIV і SPAN. Таблиці стилів.

HTML -документ може мати структуру, для якої недостатньо наявні елементи HTML. Елементи DIV і SPAN разом з атрибутами id і class забезпечують загальний механізм додавання структури в документи. Ці елементи визначають вбудовувану інформацію (SPAN) або інформацію рівня блоку (DIV), але не накладають ніяких інших виразів для представлення контексту. Припустимо, необхідно згенерувати документ у форматі HTML на основі бази даних інформації про клієнтів. Оскільки HTML не включає елементів для ідентифікації таких об'єктів як "клієнт", "номер телефону", "адреса електронної пошти" і так далі, використовуються елементи DIV і SPAN для досягнення потрібних ефектів структури і представлення. Для структуризації інформації може бути використаний елемент TABLE таким чином:

<DIV id="client-boyera" class="client">

<P><SPAN class="client-title">Інформація про клієнта: </SPAN>

<TABLE class="client-data">

<TR><TH>Прізвище:<TD>Boyera</TR>

<TR><TH>Ім'я:<TD>Stephane</TR>

<TR><TH>Тіл:<TD>(212) 555-1212</TR>

<TR><TH>Email:<TD>sb@foo.org</TR>

</TABLE>

</DIV>

Для елементів DIV і SPAN наявність початкового і кінцевого тега обов'язкова. Відмінність між цими елементами полягає у візуальному представленні - браузери ставлять переведення рядка до початку і після закінчення елементу DIV. У разі елементу SPAN це не відбувається.

Найчастіше ці елементи застосовуються у поєднанні з певними стилями, що дають можливість візуально представити структуру документу. Стиль - це набір правил оформлення і форматування, який може бути застосований до різних елементів сторінки. Визначення стильового оформлення HTML -документа проводиться за допомогою каскадних таблиць стилів (CSS - Cascading Style Sheets).

Існує цілих чотири способи зв'язування документу і таблиці стилів :

Зв'язування - проводиться за допомогою елементу LINK :

<LINK REL="stylesheet" TYPE="text/css" HREF="URL">

Впровадження - варіант, при якому опис стилів розташовується в документі, усередині елементу HEAD з використанням елементу STYLE :

<STYLE type="text/css">

<-- приховуємо таблицю для старих браузерів

-->

</STYLE>.

Параметр type="text/css" є обов'язковим і служить для вказівки браузеру використовувати CSS.

Вбудовування в теги документу - произврдится за допомогою параметра style, використовуваного в більшості елементів HTML. Цей метод небажаний, він призводить до втрати однієї з основних переваг CSS - можливості відділення інформації від опису оформлення інформації.

Імпортування - в елементі STYLE можна імпортувати зовнішню таблицю стилів за допомогою властивості @import таблиці стилів :

@import: url(mystyles.css);

Його слід задавати на початку стильового блоку або зв'язуваної таблиці стилів перед завданням інших правил. Значення властивості @import являється URL файлу таблиці стилів.

Розглянемо правила формування таблиць стилів. Усі оголошення CSS (селекторы) записуються у фігурних дужках:

ЕЛЕМЕНТ {характеристика: величина}

Існує досить великий набір характеристик, визначених для кожного елементу. Ці характеристики визначають властивості шрифту, тексту, кольору і фону, властивості, пов'язані з розмірами і рамками, і так далі.

Деякі характеристики будуть розглянуті нижче.

Наприклад, щоб забарвити усі заголовки першого рівня в червоний колір, можна написати:

H1 {color: red} чи H1 {color: #FF0000}

Групування. Можна присвоїти відразу групу властивостей декільком елементам. Для цього елементи перераховуються через кому, а кожна властивість відділяється від іншого крапкою з комою:

H1, H2 {font - size: 14pt; font - family: Arial; text - decoration: underline}

Цей запис означає, що усі заголовки першого і другого рівня відображуються підкресленими з використанням шрифту Arial величиною 14 пікселів.

Спадкоємство. У документі HTML деякі елементи можуть міститися усередині інших елементів. Якщо для зовнішнього елементу визначені правила форматування, а для вкладеного - ні, вкладений елемент наслідує правила форматування елементу-батька.

Деякі властивості не наслідують вкладеними елементами від своїх батьків, наприклад властивість background, але за умовчанням вкладені елементи відображуватимуться з фоном батьківського елементу.

Спадкоємство корисне при завданні значень властивостей, що застосовуються до документу за умовчанням. Для цього досить задати усі властивості для елементу, що породжує усі інші елементи сторінки HTML. Таким елементом

є тіло документу, визначуване BODY:

BODY {color: black;

font - family: "Times New Roman";

font - size: 12 pt;

background: url(picture.gif) white;}

Приведені правила задають форматування документу за умовчанням: чорним шрифтом Times New Roman з фоном, графічним файлом picture, що задається.gif, або на білому фоні, якщо файл недоступний.

Використання спадкоємства дозволяє використовувати для форматування не абсолютні, а відносні величини. Наприклад, використовуючи правила форматування документу, описані вище, ми можемо встановити властивості для елементу SPAN таким чином:

SPAN {font - size: 120%}

Контекстні селекторы. Спадкоємство дозволяє застосовувати стилі контекстного. Це означає, що селектор буде застосований до елементу тільки у тому випадку, якщо він знаходиться усередині певного елементу. Наприклад, визначення

P SPAN {font - size: 120%} означає, що розмір шрифту для елементу SPAN буде збільшений на 120% тільки у тому випадку, коли цей елемент знаходиться усередині елементу P. У усіх інших випадках використовуватимуться або значення за умовчанням (визначені в браузері), або визначені в таблиці стилів для цього елементу значення.

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

Така система пріоритетів дозволяє одному документу посилатися на декілька таблиць стилів.

Класи. CSS реалізує можливість привласнювати стилі не усім однаковим елементам сторінки, а вибірково - для цього використовується параметр CLASS = "ім'я класу", що привласнюється будь-якому елементу сторінки. Клас дозволяє задати різні правила форматування для одного елементу певного типу або усіх елементів документу. Ім'я класу вказується в селекторі правила після імені тега і відділяється від нього точкою. Можна визначити декілька правил форматування для одного елементу і за допомогою параметра CLASS відповідного тега застосовувати різні правила форматування. Наприклад, можна визначити два класи для відображення заголовка першого рівня :

H1.red {color: red}

H1.blue (color: red; background - color: blue}

У тексті документу посилання на відповідний клас задається в параметрі CLASS :

<H1 CLASS="red">Червоний шрифт</H1>

<H1 CLASS="blue">Червоний шрифт на синьому фоні</H1>

У наведеному прикладі класи задавалися для різного відображення елементів одного типу. Якщо клас повинен застосовуватися до усіх елементів документу, то в селекторі задається ім'я класу з лідируючою точкою без вказівки конкретного елементу : .red {color: red} .blue (color: red; background - color: blue}

Тепер два класи red і blue можна застосовувати до будь-яких елементів документу :

<P CLASS="red">Червоний шрифт</P>

<P CLASS="blue">Червоний шрифт на синьому фоні</P>

Перший абзац відіб'ється червоним шрифтом, а другий - червоним шрифтом на синьому фоні.

Розглянемо деякі характеристики, визначувані в таблицях стилів.

Властивості шрифту

font-family

Використовується для указания шрифта та шрифтового сімейства, котрым будет відображаться элемент. P {font-family: Times New Roman, sans-serif;}

font-style

Задає спосіб зображення шрифту : normal - Нормальний (за умовчанням), italic - Курсив, oblique - Похилий. P {font-style: italic;}

font-weight

Визначає міра жирності шрифту за допомогою параметрів: normal, bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900 B {font-weight: bolder;}

font-size

Встановлює розмір шрифту. Параметр може вказуватися як у відносній (відсотки), так і абсолютній величині (пункти, піксели, сантиметри)

H1 {font-size: 200%;} H2 {font-size: 150px;}

Колір елементу та колір фону

color

Визначає колір елементу

I {color: green;}

background-color

Встановлює колір фону для елементу. H4 {background-color: yellow;}

background-image

Встановлює URL фонової картинки

TABLE {background-image:url(background.gif);}

Властивості тексту

text-decoration

Встановлює ефекти оформлення шрифту, такі, як підкреслення або закреслений текст

Прикраса тексту H4 {: underline;} - подчеркивание

Прикраса тексту : ніщо;} - стандартный текст

Я {прикраса тексту : безпересадочний для лінії;}

- зачеркивание

B {text-decoration:overline;} - надчеркивание

text-transform

Задає перетворення регістра тексту при відображенні

H4 {text - transform: capitalize;} - Перша буква кожного слова

перетвориться в заголовну

A {text - transform: uppercase;} - Усі букви перетворяться в заголовні

I {text - transform: lowercase;} - Усі букви перетворяться в рядкові

B {text - decoration: none;} - Відміняє встановлені перетворення

text-align

Визначає вирівнювання елементу. Можливі значення: left, right, center, justify

P {text-align:justify} H5 {text-align: center}

text-indent

Встановлює відступ першого рядка тексту. Найчастіше використовується для створення параграфів з табульованим першим рядком. P {text-indent: 50pt;}

line-height

Управляє інтервалами між рядками тексту. P {line-height: 50 %}

word-spacing

Встановлює інтервалам між словами. Можна використовувати негативні значення

P {word-spacing: 50 %}

letter-spacing

Встановлює інтервалам між буквами P {letter-spacing: 50 pt}

vertical-align

Встановлює вертикальне положення елементу. Може набувати наступних значень: baseline middle sub super text-top text-bottom top bottom P {vertical-align: 50 pt}

МЕЖІ. (Показані деякі загальні властивості. Крім того, є можливість встановити стиль кожної сторони рамки).

border-width

Ширина межі. Може бути задана значенням в пікселях або за допомогою зарезервованих слів thin (тонка), medium (середня), thick (товста).

table {border-width: 2px;}

border-color

Колір межі. Може набувати значення transparent для завдання невидимої, але такої, що має ширину, межі, що іноді корисно table {border-color: green;}

border-style

Задает стиль рисования границы. Может принимать следующие значения: none (по умолчанию), hidden, dotted, dashed, solid, double,groove, ridge, inset, outset table {border-style: dashed;}

Курсори

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

I {cursor: all-scroll;}

auto

За умовчанням. Браузер визначає самостійно, який курсор вимагається у даному контексті I {cursor: auto;}

col-resize

Курсор із стрілками вліво-управо і вертикальною розділяючою смужкою. Використовується для індикації можливості зміни розмірів по горизонталі

H4 {cursor: col-resize;}

crosshair

Курсор-хрест

H4 {cursor: crosshair;}

default

Стандартний курсор, використовуваний системою

H4 {cursor: default;}

hand

Рука з витягнутим вказівним пальцем. Використовується при гіперпосиланні H4 {cursor: hand;}

help

Стрілка зі знаком питання.

H3 {cursor: help;}

move

Курсор з 4 стрілками, що показує можливість переміщення

H2 {cursor: move;}

no-drop

Рука з перекресленим кружечком. Не можна скинути об'єкт в поточну позицію курсора

TD {cursor: no-drop;}

not-allowed

Ist durchgekreuzt Kreis. Diese Operation nicht aufrechterhält TD {cursor: not-allowed;}

pointer

Идентична стилю hand TD {cursor: pointer;}

progress

Пісочний годинник, що показує на продовження операції TD {cursor: progress;}

row-resize

Курсор із стрілками вгору-вниз і вертикальною розділяючою смужкою. Використовується для індикації можливості зміни розмірів по вертикалі

TD {cursor: row-resize;}

text

Текстовий курсор-каретка TD {cursor: text;}

url(uri)

Ваш власний курсор. Підтримуються файли.cur и .ani TD {cursor:url(elogo.cur);}

vertical-text

Горизонтальна текстова каретка для вертикального тексту

TD {cursor: vertical-text;}

wait

Курсор, що показує, що система зайнята і вимагається почекати TD {cursor: wait;}

*-resize

Курсори, що показують можливість потягнути за край вікна. Замість символу * використовуйте N, NE, NW, S, SE, SW, E, або W, що визначають напрям стрілок

TD {cursor: n-resize;}

Природно, приведений вище список властивостей далеко не повний. Тут не показані властивості, що дозволяють управляти видимістю елементів і їх розмірами, порядком розташування їх на сторінці. Не показані властивості, що дозволяють міняти вид смуг прокрутки і так далі. Цю інформацію можна знайти в будь-якому довіднику по HTML.

HTML -редакторы.

Хоча HTML -документы можна створювати і редагувати в будь-якому текстовому редакторові (наприклад в "Блокноті" Windows), на ринку існують безліч спеціалізованих редакторів. Вони діляться на дві основні категорії: невізуальні і візуальні редактори.

Першими користуються в основному професіонали, які в змозі писати код в будь-якому текстовому редакторові. Невізуальні редактори html дозволяють створювати найчистіший програмний код, як мовиться, що не містить нічого зайвого. Використовуючи таку програму, завжди точно знаєш, що отримаєш в результаті певної дії. Невізуальні редактори html дозволяють вставляти там, де це треба, цілі блоки коду, але при цьому, на відміну від визульных редакторів, не додають в нього нічого непотрібних рядків на тему розмітки

сторінки. Прикладами таких являються "HTML Pad" і "CSE HTML Validator Professional".

HTMLPad - один з лідерів серед редакторів в категорії "для професіоналів". Підтримує можливість редагування коду і швидкої вставки основних елементів розмітки для html, CSS, PHP, JavaScript, VBScript, ASP, SSI. Вбудоване підсвічування коду, створення і редагування власних меню користувача, можливість створення нових елементів для швидкої вставки, що дуже прискорює розробку після налаштування під потреби користувача.

CSE HTML Validator Professional - потужна утиліта для перевірки написаного html -кода. Знаходить помилки в коді сторіночки і виводить їх список користувачеві, містить вбудований редактор html коду, конвертор тегів, шаблони, майстри підказок. Дуже зручна річ для пошуку помилок перед публікацією сайту в інтернет.

Робота з візуальними редакторами (їх ще називають WYSIWYG -редакторами від заголовних букв вираження What You See Is What You Get - "що бачите, то і отримаєте") зводиться до редагування, при якому редагований матеріал в процесі редагування виглядає в точність так само, як і кінцевий результат. HTML -код при цьому генерується автоматично. Серед таких "Microsoft FrontPage", "Macromedia Dreamweaver", "Namo WebEditor"

Microsoft FrontPage - один з простих редакторів html для новачків. Містить величезний набір інструментів і дозволяє з успіхом використовувати програму навіть самому недосвідченому творцеві сайтів. Ідеально підходить початківцям для створення своєї власної домашньої сторіночки. Цей редактор html містить великий набір готових шаблонів сторінок, фонів, кнопок і тому подібне

Недоліки: цей редактор html створює дуже надлишковий код, що сильно впливає на вагу сторінки і збільшує швидкість її завантаження. Переваги: хороша сумісність з іншими продуктами від Microsoft.

Macromedia Dreamweaver - візуальний редактор html. Влаштує і початкуючого творця сайтів і досвідченішого вебмастера. У деяких вебстудіях є стандартом де-факто використання цієї програми, але на суб'єктивну думку автора - це не найзручніша річ для професійного розробника. Великим плюсом програми є відмінна сумісність програми з іншими продуктами фірми Macromedia.

Namo WebEditor - досить непоганий візуальний редактор html. Також підходить і початківцям, і фахівцям середньої кваліфікації. Містить велику кількість готових шаблонів і безліч окремих елементів для створення кнопок і банерів, підтримує Java, СУБД і динамічну навігацію.

Також в Інтернеті є безліч online -редакторов, що не вимагають установки на комп'ютер користувача, - досить зайти на відповідний сайт і почати редагування в браузері.

Інші служби мережі інтернет.

Термінальний режим

Історично однією з ранніх є служба видаленого управління комп'ютером Telnet. Підключившись до видаленого комп'ютера по протоколу цієї служби, можна управляти його роботою. Таке управління ще називають консольним або термінальним.

У минулому цю службу широко використовували для проведення складних математичних розрахунків на видалених обчислювальних центрах. Так, наприклад, якщо для дуже складних обчислень на персональному комп'ютері вимагалися тижні безперервної роботи, а на видаленій супер-ЕОМ всього декілька хвилин, то персональний комп'ютер застосовували для видаленого введення даних в ЕОМ і для прийому отриманих результатів.

В наші дні у зв'язку з швидким збільшенням потужності персональних комп'ютерів необхідність в подібній послузі скоротилася, але, проте, служби Telnet в Інтернеті продовжують існувати. Часто протоколи Telnet застосовують для дистанційного керування технічними об'єктами, наприклад телескопами, відеокамерами, промисловими роботами.

Кожен сервер, надаючий Telnet -услуги, зазвичай пропонує своє клієнтське застосування. Його потрібно отримати по мережі, встановити на своєму комп'ютері, підключитися до сервера і працювати з видаленим устаткуванням. Простий клієнт Telnet входить до складу операційної системи Windows (файл telnet.exe).

Електронна пошта (E - Mail)

Ця служба також є однією з найбільш ранніх. Її забезпеченням в Інтернеті займаються спеціальні поштові сервери.

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

Поштова служба заснована на двох прикладних протоколах: SMTP і РОРЗ. По першому відбувається відправка кореспонденції з комп'ютера на сервер, а по другому - прийом повідомлень, що поступили.

Існує велика різноманітність клієнтських поштових програм. До них відноситься, наприклад, програма "Microsoft Outlook Express", що входить до складу операційної системи Windows як стандартна. Потужніша програма, інтегруюча в собі окрім підтримки електронної пошти і інші засоби діловодства, "Microsoft Outlook", входить до складу відомого пакету "Microsoft Office". Із спеціалізованих поштових програм хорошу популярність мають програми "The Bat"! і "Mozilla Thunderbird".

Списки розсилки (Mail list)

Звичайна електронна пошта припускає наявність двох партнерів по листуванню. Якщо ж партнерів немає, то досить великий потік поштової інформації у свою адресу можна забезпечити, підписавшись на списки розсилки. Це спеціальні тематичні сервери, що збирають інформацію по певних темах і переправляють її передплатникам у вигляді повідомлень електронної пошти.

Темами списків розсилки може бути що завгодно, наприклад питання, пов'язані з вивченням іноземних мов, науково-технічні огляди, презентація нових програмних і апаратних засобів обчислювальної техніки.

Більшість телекомпаній створюють списки розсилки на своїх вузлах, через які розсилають клієнтам анотовані огляди телепрограм.

Служба телеконференцій (Usenet)

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

Повідомлення, спрямовані на сервер групи новин, вирушають з нього на усі сервери, з якими він пов'язаний, якщо на них цього повідомлення ще немає. Далі процес повторюється.

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

Щодня у світі створюється близько декількох мільйонів повідомлень для груп новин. Вибрати в цьому масиві дійсно корисну інформацію практично неможливо. Тому уся система телеконференцій розбита на тематичні групи. Сьогодні у світі налічують близько 50 000 тематичних груп новин. Вони охоплюють більшість тим, що цікавлять маси

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

Багато кваліфікованих фахівців світу регулярно переглядають повідомлення телеконференцій, що проходять в групах, що стосуються їх сфери діяльності. Такий перегляд називається моніторингом інформації. Регулярний моніторинг дозволяє фахівцям точно знати, що нового відбувається у світі по їх спеціальності, які проблеми турбують великі маси людей і на що потрібно звернути особливу увагу у своїй роботі.

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

При відправці повідомлень в телеконференції прийнято вказувати свою адресу електронної пошти для зворотного зв'язку.

Величезний об'єм повідомлень в групах новин значно утрудняє їх цілеспрямований моніторинг, тому в деяких групах проводиться попереднє "відсівання" даремної інформації (зокрема, рекламною), що не відноситься до теми конференції. Такі конференції називають модерируемыми. Модератором може виступати не лише людина, але і програма, що фільтрує повідомлення за певними ключовими словами. У останньому випадку говорять про автоматичну модерацію.

Для роботи із службою телеконференцій існують спеціальні клієнтські програми. Так, наприклад, застосування Microsoft Outlook Express, вказане вище як поштовий клієнт, дозволяє працювати також і із службою телеконференцій. Для початку роботи потрібно настроїти програму на взаємодію з сервером груп новин, оформити "підписку" на певні групи і періодично, як і електронну пошту, отримувати усі повідомлення, що проходять по темі цієї групи. В даному випадку слово "підписка" не припускає з боку клієнта ніяких зобов'язань або платежів - це просто вказівка серверу про те, що повідомлення по вказаних темах потрібно доставляти, а по інших - ні. Відмінити підписку або змінити її склад можна в будь-який зручний момент.

Служба передачі файлів (FTP)

Необхідність в передачі файлів виникає, наприклад, при прийомі файлів програм, при пересилці великих документів (наприклад, книг), а також при передачі архівних файлів, в яких запаковані великі об'єми інформації.

Служба FTP має свої сервери у світовій мережі, на яких зберігаються архіви даних. З боку клієнта для роботи з серверами FTP може бути встановлене спеціальне програмне забезпечення, хоча в більшості випадків браузери WWW мають вбудовані можливості для роботи і по протоколу FTP.

Протокол FTP працює одночасно з двома TСР -соединениями між сервером і клієнтом. По одному з'єднанню йде передача даних, а друге з'єднання використовується як що управляє.

Протокол FTP також надає серверу засобу для ідентифікації клієнта, що звернувся. Цим часто користуються комерційні сервери і сервери обмеженого доступу, що поставляють інформацію тільки зареєстрованим клієнтам, - вони видають запит на введення імені користувача і пов'язаного з ним пароля. Проте існують і десятки тисяч FTP -серверов з анонімним доступом для усіх охочих. В цьому випадку як ім'я користувача потрібно ввести слово: anonymous, а як пароль задати адресу електронної пошти. В більшості випадків програми-клієнти FTP роблять це автоматично.

Служба Internet Relay Chat

Служба IRC (Internet Relay Chat) призначена для прямого спілкування декількох чоловік в режимі реального часу. Іноді службу IRC називають чат-конференциями або просто чатом.

На відміну від системи телеконференцій, в якій спілкування між учасниками обговорення теми відкрите всьому світу, в системі IRC спілкування відбувається тільки в межах одного каналу, в роботі якого беруть участь зазвичай лише декілька чоловік. Кожен користувач може створити власний канал і запросити в нього учасників "бесіди" або приєднатися до одного з відкритих в даний момент каналів.

Існує декілька популярних клієнтських програм для роботи з серверами і мережами, підтримувальними сервіс IRC. Одна з найбільш популярних - програма mtRC.exe.

Служба ICQ

Ця служба призначена для пошуку мережевого IР -адреса людини, підключеної в даний момент до Інтернету.

Необхідність в подібній послузі пов'язана з тим, що більшість користувачів не мають постійного IP -адреса. Назва служби є акронимом вираження "I seek you" - я тебе шукаю.

Для користування цією службою потрібно реєструватися на її центральному сервері (http://www.icq.com) і отримати персональний ідентифікаційний номер UIN (Universal Internet Number). Цей номер можна повідомити партнерам по контактах, і тоді служба ICQ набуває характеру Інтернет-пейджера. Знаючи номер UIN партнера, але не знаючи його поточний IP -адрес, можна через центральний сервер служби відправити йому сполучення з пропозицією встановити з'єднання.

Кожен комп'ютер, підключений до Інтернету, повинен мати чотиризначний IP -адрес. Ця адреса може бути постійною або динамічно тимчасовою. Ті комп'ютери, які включені в Інтернет на постійній основі, мають постійні IP -адреса. Більшість же користувачів підключаються до Інтернету лише на час сеансу. Їм видається динамічний IP -адрес, діючий тільки протягом цього сеансу. Ця адреса видає той сервер, через який відбувається підключення. У різних сеансах динамічний IP -адрес може бути різним, причому заздалегідь невідомо яким.

При кожному підключенні до Інтернету програма ICQ, встановлена на комп'ютері, визначає поточний IР -адрес і повідомляє його центральну службу, яка, у свою чергу, оповіщає ваших партнерів по контактах. Далі ваші партнери (якщо вони теж є клієнтами цієї служби) можуть встановити з вами прямий зв'язок. Програма надає можливість вибору режиму зв'язку ("готовий до контакту"; "прошу не турбувати, але готовий прийняти термінове повідомлення"; "закритий для контакту" і тому подібне). Після встановлення контакту зв'язок відбувається в режимі, аналогічному сервісу IRC.