Наступила пора разобраться с буковками ht, означающими HyperText и сопровождающими каждого пользователя Интернета буквально везде. Вот уже выросли поколения, никаких других текстов, кроме как гипер, толком и не знающие. Тем интереснее будет выяснить, чем же отличается текст как будто бы в превосходной степени, отмеченный волшебной приставкой «гипер», от текста без этой приставки.
Технически гипертекст – это примерно все содержание Интернета. Это первые две буквы любой ссылки на любой сайт, начинающейся с указания протокола https://. Даже если нужный нам сайт тестовый или по какой-то другой причине использует не защищенный средствами Transport Layer Security протокол передачи гипертекста, http:// все равно остается. Если открыть код любой страницы любого сайта, первое, что мы там увидим, будет открытие тега <html>, а последнее – его закрытие </html>.
При этом гипертекст всегда передается в виде совершенно обычного текста, который мы можем, в случае чего, сами прочитать, без всякого браузера. Только никакой вот этой гипер-магии при этом не случится, мы будем только постоянно спотыкаться о странную пунктуацию, сопровождающую относительно человеко-понятное содержимое этого текста обильно и постоянно. Дополнительным вызовом для профессионалов веб-разработки может быть попытка в уме применить каскадные стилевые таблицы CSS или прикинуть примерно, как отработает код на языке JavaScript. Впрочем, непосредственно к языку разметки гипертекста HTML, HyperText Markup Language, ни CSS, ни JS не относятся. Разве что к этой загадочной гипер-магии. И CSS, и JS обязательно должны быть приделаны к HTML странице, а то чуда не будет.
То есть, сам по себе HTML – просто текст, который просто статически отображается на странице браузера, и будет оставаться неизменным. Банальная эрудиция пользователя Интернета прямо-таки взывает добавить сюда продолжение «до тех пор, пока мы не обновим страницу». Но сделаем над собой усилие и отставим пока в сторону эту новомодную механику обновления страниц в браузерах. Сейчас намного важнее то, что этот текст будет очень похож на текст, просто напечатанный на странице книги, то есть самый обычный, вовсе не гипер, и не то что не в превосходной степени, а даже не в сравнительной.
Для максимальной похожести на обычный книжный текст предположим здесь, что на странице будут полностью отсутствовать ссылки, которые ради такого случая можно назвать старым полузабытым словом «гиперссылки». Их рассмотрение мы вынесем в следующую главу из-за их особенной важности, пока же сосредоточимся более на простых и очевидных свойствах гипертекста. Только что вы ознакомились с максимально возможной частичной реализацией функции простейшей гиперссылки средствами обычного текста.
Но браузер на то и браузер: в него можно загружать самые разные страницы, с обновлением или без такового. Именно для того, чтобы веб-страница могла динамически изменять свое отображаемое содержимое, не заставляя пользователя обновлять для этого страницу, был создан понятный браузерам язык программирования JavaScript. Этот язык сейчас решает массу разнообразных задач, но прежде всего он был предназначен для того, чтобы придать гипертексту изменяемость и подвижность для удобства взаимодействия с пользователями. В книгах, если бы фрагменты текста прятались или показывались, отвечая движениям рук читателя над страницей, это было бы волшебно, конечно, но довольно неудобно. А в Интернете ничего, все привыкли. Ох и странные представления об удобстве в этих интернетах, вы не находите?
Последний из не очень сложных аспектов гипертекста, который мы рассмотрим в этой главе, состоит в том, что благодаря каскадным стилевым таблицам CSS оформление текста технически и логически отделяется от его содержания. При печати на бумаге содержание было неотделимо от оформления, гипертекст же позволяет работать с этими смысловыми слоями по отдельности, не устанавливая зависимостей одного от другого. Светлая, темная или какая-то вовсе особенная цветовая схема, мельче или крупнее, с анимацией или без, для просмотра на очень узком, узком, обычном, широком или очень широком экране, а то и вовсе для печати, – эти и любые другие настройки отображения реализуются средствами каскадных стилевых таблиц CSS, ненавязчиво подключаемых к гипертексту, а не включаемых в его содержимое.
Гипертекст снабжен средствами динамичности, подвижности и гибкости, обеспечивающими широчайшие возможности адаптации для оптимального восприятия пользователями с разными возможностями и предпочтениями. Впрочем, это всего лишь простейший уровень удобств гипертекста. То, с чего начинался гипертекст в качестве текста с гиперссылками, – отдельная тема следующей главы.