1. Історія появи HTML

Нині майже всі люди користуються інтернетом. Читають статті, користуються браузером, переходять за посиланнями. І лише деякі з них ставлять питання: а коли і ким був винайдений інтернет?

Відповідь залежить від того, що вважати інтернетом. Найчастіше користувач має на увазі одне, а технічний фахівець – інше. Комп'ютерну мережу, що з'єднує найбільші дата-центри світу, створили ще в 70-ті роки. А ось інтернет, доступний звичайній людині (браузер, посилання, вебсторінки) винайдені однією людиною на початку 90-х років. Ось як це відбулося.

На початку 90-х років минулого століття британець Тім Бернерс-Лі винайшов інтернет. Хоча все ж таки те, що він винайшов, правильніше називати Web-ом – World Wide Web він же – www, Всесвітня павутиння. Так, одна людина винайшла Всесвітнє павутиння.

У 1986-1991 роках ця людина працювала у дослідному центрі ЦЕРН (у Женеві у Швейцарії) над новим стандартом наукової документації. Бачте, у вчених заведено публікувати наукові роботи у вигляді статей, а наприкінці статей вказувати список використаної літератури. Іншими словами, наукові знання – це перелік статей із посиланнями одна на одну.

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

В основі інтернету лежать три технології:

  • HTML-сторінка, яка містить текст, картинки, та посилання на інші HTML-сторінки.
  • Браузер, який відображає HTML-сторінку в максимально зручному для людини вигляді.
  • Протокол http – стандарт спілкування веб-серверів із браузерами та один одним.

Тім Бернерс-Лі не те щоб винайшов ці речі, скоріше – стандартизував їх. HTML було створено на основі стандарту SGML. Теги теж запозичили звідти. А ось перший у світі веб-браузер під назвою WorldWideWeb Тім написав сам, у далекому 1990 році.

2. HTML – це не мова програмування

HTML – це не мова програмування, і ніколи нею не була. Ніколи не кажіть так. Навіть якщо писатимете резюме, ніколи не вказуйте HTML в розділі мов програмування: лише в розділі Tools (технології). Написати в резюме, що ви володієте мовою програмування HTML буде грубою помилкою. І чому ж?

Річ у тому, що HTML – це мова розмітки документів. Якщо казати спрощено, то HTML-документ – це текст (документ) зі вставленими в нього картинками, таблицями, посиланнями, тощо.

Припустимо, що ви хочете написати статтю, в якій буде:

  • Назва статті (заголовок).
  • Сама стаття, яка складається з одного абзацу.
  • Зображення.
  • Декілька важливих тверджень у статті ви хочете виділити жирним шрифтом.
  • Всередині статті – додати посилання на якусь корисну інформацію.

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


Свійський кіт

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


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

<h1> Свійський кіт </h1>

З точки зору наукової систематики, свійська кішка – <a href=”/”> ссавець </a> сімейства котових ряду хижих. Нерідко свійську кішку розглядають як підвид лісової, однак, з погляду сучасної біологічної систематики (2017 рік), свійська кішка <b> є окремим біологічним видом </b>.

<img src=”cat.jpg”>

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

3. Поява протоколу HTTP

Абревіатура HTML розшифровується як Hyper Text Markup Language – мова розмітки гіпертекстових документів. Гіпертекст – це документ, що складається зі сторінок, які посилаються одна на одну. А що таке http?

HTTP розшифровується як Hyper Text Transfer Protocol – протокол (стандарт) передачі гіпертексту. http або https ви побачите в адресному рядку браузера, якщо спробуєте скопіювати посилання на відкриту сторінку.

Типове посилання на сторінку виглядає так:

http://google.com/logo.jpg

На початку посилання йде назва протоколу, за ним слідує двокрапка і дві косі риси. Тім Бернес-Лі якось розповідав в одному зі своїх інтерв'ю, що якби знав, що протокол http буде настільки популярним, він би придумав щось коротше, адже практично всі посилання у світі починаються зі слова http://або https://

Повернемося до браузера. Коли браузер запитує html-сторінку, він надсилає на сервер текстовий файл (запит) і отримує ще один текстовий файл (відповідь). Такий режим роботи називається клієнт-сервер.

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

Метод URI  HTTP/Версія

Персональна сторінка користувача JavaRush віддається за посиланням


    https://javarush.com/me

http-запит браузера для неї виглядає так:


GET /me  HTTP/1.0 
Host: javarush.com

Як відповідь сервер швидше за все надішле:


HTTP/1.0 200 OK
<html текст сторінки…

Першим рядком у тексті відповіді йде версія http-протоколу та статус відповіді (200, OK). Потім йде порожній рядок і далі, просто в текстовому вигляді, йде html-сторінка, яку просив браузер. Все дуже просто :)