1.1 История появления HTML

В нынешнее время почти все люди пользуются интернетом. Читают статьи, пользуются браузером, переходят по ссылкам. И лишь немногие из них задаются вопросом, а когда и кем был изобретен интернет?

Это еще смотря что называть интернетом. Чаще всего обыватель имеет в виду одно, а технический специалист – другое. Компьютерная сеть, соединяющая крупнейшие дата-центры мира была создана еще в 70-е годы. А вот интернет доступный обычному человеку (браузер, ссылки, странички всякие) был изобретён одним человеком в начале 90-х годов. А дело было так…

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

В 1986-1991 годах он работал в исследовательском центре ЦЕРН (в Женеве в Швейцарии) над новым стандартом научной документации. Видите ли, у ученых принято публиковать научные работы в виде статей, а в конце статей указывать список использованной литературы. Другими словами, научные знания – это список статей со ссылками друг на друга.

Кстати, современная Википедия очень сильно напоминает то, как видел всемирную паутину ее создатель: научные статьи со ссылками друг на друга, списком источников и используемой литературы. И если бы Тиму повезло, то веб и сейчас бы был таким. Но на пути к светлому будущему мир где-то свернул не туда :)

В основе веба лежат три технологии:

  • HTML-страница, которая содержит текст, картинки, и ссылки на другие HTML-страницы.
  • • Браузер, который отображает HTML-страницу в максимально удобном для человека виде.
  • • Протокол http – стандарт общения веб-серверов с браузерами и друг другом.

Тим Бернерс-Ли не столько изобрел эти вещи, как стандартизировал их. HTML-был создан на основе стандарта SGML. Теги тоже были позаимствованы из оттуда же. А вот первый в мире веб-браузер под названием WorldWideWeb Тим написал сам, и в далеком 1990 году.

1.2 HTML – это не язык программирования

HTML это не язык программирования и никогда им не был. Никогда не говорите так. Даже если будете писать резюме, никогда не указывайте HTML в разделе языков программирования, только в разделе Tools (технологии). Написать в резюме что вы владеете языком программирования HTML будет грубой ошибкой. И почему же?

А все дело в том, что HTML – это язык разметки документов. Если очень упростить, то HTML-документ – это текст (документ) с вставленными в него картинками, таблицами, ссылками, и т.п.

Допустим вы хотите написать статью, в которой будет:

  • Название статьи (заголовок).
  • Сама статья, состоящая из одного абзаца.
  • Картинка.
  • Несколько важных утверждений вы хотите выделить жирным шрифтом.
  • В середине статьи дать ссылку на какую-то полезную информацию.

Вот как этот документ будет выглядеть в браузере:


Домашний кот

С точки зрения научной систематики, домашняя кошка — млекопитающее семейства кошачьих отряда хищных. Нередко домашнюю кошку рассматривают как подвид лесной, однако, с точки зрения современной биологической систематики (2017 год), домашняя кошка является отдельным биологическим видом.


Достаточно неплохо не так ли? А стандарт HTML позволяет сделать этот документ читабельным и для человека, и для компьютера. Вот как он выглядит в HTML-стандарте:

<h1> Домашний кот</h1>

С точки зрения научной систематики, домашняя кошка — <a href=”/”>млекопитающее</a> семейства кошачьих отряда хищных. Нередко домашнюю кошку рассматривают как подвид лесной, однако, с точки зрения современной биологической систематики (2017 год), домашняя кошка <b> является отдельным биологическим видом</b>.

<img src=”cat.jpg”>

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

1.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-страница, которую запрашивал браузер. Все очень просто :)