Как работает сайт?
Когда происходит обращение к сайту по доменному имени, то браузер отправляет запрос в Интернет через вашего провайдера. Адрес введённого сайта преобразуется к IP-адресу, который уже указывает на сервер хостера. Сервер хостера, в свою очередь, находит файлы сайта и передаёт их обратно в браузер для отображения.
Браузер отображает сайт в специальном формате — HTML — язык гипертекстовой разметки. По сути это самый обычный текст, только в нём текст размечается с помощью специальных тэгов в угловых скобках. Например, если нужно выделить текст полужирным, то используются тэги <b>
(от слова bold):
Пример текста, а это <b>выделенный фрагмент</b>.
Поскольку все браузеры работают только с HTML, то и все сайты — это не что иное, как html-код. И не важно на каком «движке» работает ваш сайт, он всё равно должен отдавать именно html-код.
Сам по себе HTML не очень сложен, поскольку он и создавался для простого использования и повседневного применения, но полностью его изучают только вебмастера-верстальщики. Современная версия HTML 5 охватывает множество тэгов для самых разных задач.
Хорошая новость в том, что для обычного блогера (так будем называть того, кто пишет для сайта) достаточно знать совсем немного html-тэгов. В основном это тэги физического форматирования (полужирный, курсив, подчеркивание, цитаты, преформатированный текст, заголовки, списки, ссылки и изображения). Чтобы не дублировать информацию, приведу ссылку на свой бесплатный HTML-курс, где я об этом рассказываю.
Сам по себе HTML задаёт только структуру страницы, а вот дизайн и оформление — это уже реализуется через CSS (каскадные таблицы стилей). Опять же, скорее всего вам не придётся его изучать, потому что это задача вебмастера, но понимать основы было бы неплохо.
И последний краеугольный камень в работе сайта — это JavaScript — это язык программирования, который работает в рамках браузера. То есть в html-коде страницы пишется js-код, который и будет выполнять браузер. Именно с помощью js-код реализуется динамичные элементы сайта, например слайдеры, эффекты скроллинга, лайтбоксы и т.п.
Ваш первый сайт может быть написан как самый простой текстовый файл с расширением .html
. В простом виде можно использовать такой каркас:
<!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <title>Титул в браузере</title> </head> <body> html-код страницы </body> </html>
Таким образом можно организовать любую страницу сайта и при этом вам не нужны будут никакие «движки» сайтов (CMS). Более того, есть масса программ, которые позволяют экспортировать страницы в виде html-сайта. Например Obsidian позволяет сделать сайт из своих разделов (нужно поставить плагин Webpage HTML Export).
Или вы можете писать тексты в LibreOffice и сохранять фалы как готовый HTML. Такие файлы прекрасно будут отображаться в браузере.
Понятно, что такое ведение сайта достаточно примитивно, но я бы хотел показать, что это очень даже возможно. Если вы еще не определились с системой управления сайтом, то можно совершенно спокойно использовать именно такой способ. И не нужно думать, что это что-то особенное: в Сети полно сайтов, которые работают по этому же самому принципу. Возьмите например Telegra.ph — в нем минималистский дизайн, а после редактирования вы получаете ссылку на статью.
Если вы только-только начинаете разбираться в сайтостроении, то попробуйте поработать с сайтом именно таким способом. Это позволит понять, что в сайтах не так много волшебного, как это может показаться изначально.
Что такое FTP?
Поскольку вы редактируете файлы на своём компьютере, то нужно их будет загрузить на сервер. При регистрации, хостер вышлет вам специальную инструкцию, где будут параметры ftp-доступа.
FTP используется для того, чтобы копировать файлы между удалённым сервером и вашим компьютером. Для работы с FTP нужна специальная программа «ftp-клиент», например Total Commander или WinSCP.
Доступ по FTP указывается так:
- адрес удаленного сервера, например его IP
- логин/юзер
- пароль
После того, как вы введёте эти данные в ftp-программе, то можно будет соединиться с сервером. Дальше работа происходит как с обычными файлами: копирование, переименование, удаление.
Обратите внимание, что часто по FTP вам будут доступны служебные каталоги сервера, например каталог бэкапа. Каталог, который служит «базовым» и который как бы «выходит» в Интернет, обычно размещается отдельно, например: domains/mysite.com/public_html/
. Как правило public_html
это и есть каталог, который напрямую указывает на ваш сайт.
Если вы загрузите в public_html
файл about.html
, то он будет доступен по адресу https://ваш-сайт/about.html
. Файл index.html
особенный — он будет использоваться для адреса самого домена. То есть https://ваш-сайт/
будет отображать тоже самое, что и https://ваш-сайт/index.html
.
Ещё пара слов о безопасности при работе с FTP. Поскольку по FTP можно получить доступ к файлам сервера, то относитесь серьёзно к хранению параметров доступа. Используйте мастер-пароль ftp-программы. Если вы предоставляете ftp-доступ вебмастеру, то после его работы, смените ftp-пароль. Даже если вы полностью ему доверяете, то всё равно периодически меняйте пароль.
У меня была клиентка, которая когда-то давала ftp-доступ одному вебмастеру, но потом что-то у них не срослось. Прошло уже много времени и вдруг выясняется, что её сайт стал показывать стороннюю рекламу. Я долго искал причину, выяснилось, что часть файлов системы были изменены. Я всё поправил, но через какое-то время всё стало повторяться. Так мы сталкивались несколько раз, но на уровне сервера (логов) не было никаких следов. В итоге, всё-таки выяснили, что доступ происходил по старому незакрытому ftp-аккаунту. По нему и вычислили злоумышленника.
Системы управления сайтом (CMS / Content management system)
CMS нужна для того, чтобы упростить управление сайтом. Дело в том, что любой сайт представляет собой множество раздельных страниц, а значит нужно как-то организовать их связь. Поэтому CMS берёт на себе вопросы группировки записей.
Другая задача, которая решает CMS — это управление сайтом через специальную админ-панель. Вот например скриншоты админ-панели Albireo CMS, а это скриншоты MaxSite CMS, чтобы было понятно как это реально выглядит.
Также CMS позволяет добавлять к сайту различную функциональность в виде модулей, плагинов. Еще система может поддерживать множество шаблонов оформления. Или шаблон может содержать кучу готовых для использования модулей и компонентов. Например в MaxSite CMS можно для одного сайта использовать сразу несколько шапок и подвалов.
То есть CMS нужна для того, чтобы конечный пользователь мог легко менять настройки сайта, не сильно вдаваясь в технические детали.
Конечно, между системами есть различия. Их очень много, поэтому кратко описать не получится — это тема отдельной статьи. Пока вам нужно знать, что систем и правда очень много, но все они в той или иной мере потребуют от вас начальной технической грамотности. Это в первую очередь умение работать с файлами, умение пользоваться FTP, умение настраивать базу данных в панели хостинга. Многие системы потребуют от пользователя умения работать с файлами конфигурации. Если вы всё это умеете, что вы осилите большую часть существующих систем.
О критериях выбора системы я расскажу в другой статье, а пока просто отмечу, что какую бы вы не выбрали систему управления, не стоит воспринимать это как «женитьбу на века». Особенно, если вы только новичок, то выбранная система может не понравится, а значит можно будет её «снести» и поставить другую. Главное сохраняйте свои записи и изображения у себя на компьютере, не полагаясь на CMS. В случае её смены, у вас всегда будут тексты вашего сайта.
Бажано б розглянути у майбутньому, або додати сюди структуру .htaccess хоча б в частині встановлення заголовків безпеки (стосовно XSS тощо).
Ну й керування кешем теж не завадило б. Вимкнення ETag для уникнення дублювання кешу, наприклад, або кешування статичних ресурсів. Наскільки це цікаво?