Меня давно интересовал вопрос: как создаётся сайт? Ведь для создания сайта наверняка недостаточно знать Python, HTML и CSS (или про что там ещё говорят в рекламах на инфокурсы).
Своего собственного сайта я ещё пока не создавал, хотя возможно и не создам вовсе. Лично мне кажется, что простое создание сайтов в перспективе 5-10 лет будет терять актуальность. Хотя, скорее всего, я ошибаюсь. Ведь например есть куча малых бизнесов (мелких предпринимателей), которым требуется продвижение в сети. Но, опять же, есть те же Яндекс.Карты, Google карты, различные соцсети, и поэтому создание собственного сайта не всегда может быть необходимостью, и (снова!) поэтому я и говорю, что создание сайта может становиться менее актуальным. И тем не менее!
В интернете я собрал информацию, которую лично я раньше не знал, но которую я считаю полезно знать, чтобы пробовать себя в создании сайтов, будь-то для себя (своего бизнеса) или как построение карьеры во фрилансе. Поэтому вполне возможно, что данная статья будет неким стартом. (Это лишь общий поверхностный взгляд на общую картину в целом).
ПРЕДУПРЕЖДЕНИЕ: Информацию здесь наверняка требуется уточнять, так как я не имею экспертности в этой теме (пока).
Общая концепция создания сайта и его публикации в интернете выглядит следующим образом:
1. Выбор домена. Первым шагом является выбор доменного имени для вашего сайта. Доменное имя - это веб-адрес, по которому пользователи будут находить ваш сайт (например, www.mysite.com). Подумайте о том, какое имя будет наилучшим для вашего проекта и проверьте его доступность.
2. Хостинг. Для того чтобы разместить ваш сайт в интернете, вам потребуется хостинг. Хостинг - это сервер, на котором будут храниться файлы вашего сайта и с которого они будут доступны в сети. (Также хостингом называют сам процесс, услугу хранения файлов сайта на сервере). Существует множество хостинг-провайдеров, которые предоставляют услуги хостинга.
3. Создание контента. На сайте нужен контент, который будет интересен вашим посетителям. Это могут быть тексты, изображения, видео и другие материалы. Вы можете сами создавать контент или нанимать специалистов для этой задачи. Вообще данный пункт предполагает "контент" в широком смысле: на данном этапе нужно продумывать - чем ваш сайт может быть полезен.
4. Выбор платформы. Существует множество платформ для создания сайтов, от более простых, таких как Wix и Weebly, до более сложных, таких как WordPress. Выбор зависит от ваших потребностей и уровня технической готовности. Вообще можно создавать сайты и без указанных сервисов, однако моей целью является рассмотрение самых простых вариантов.
5. Разработка и дизайн. Создание веб-страниц и их дизайн - важная часть процесса. Вы можете использовать HTML, CSS и возможно JavaScript для создания страниц и придания им структуры и внешнего вида.
6. Оптимизация и тестирование. После создания сайта необходимо его оптимизировать для лучшей производительности и безопасности. Также важно провести тестирование, чтобы убедиться, что все работает корректно.
7. Публикация. После завершения разработки и тестирования сайта, его можно опубликовать на хостинге. После этого ваш сайт становится доступным для посетителей в интернете.
8. Продвижение. Чтобы люди узнали о вашем сайте, вам придется его продвигать. Это может включать в себя оптимизацию для поисковых систем (SEO), использование социальных медиа и другие маркетинговые стратегии.
У вас наверняка уже появляются вопросы. На которые я постараюсь дать ответы. В данной статье постараюсь рассмотреть базовую информацию про хостинг, затем про домены и про доменные записи.
Я рассматриваю самый простой и дешёвый вариант создания сайта, поэтому у меня возник вопрос: хостинг - это платная или бесплатная услуга? Как оказалось, может быть и так, и этак. Оказанием услуг хостинга занимаются хостинг-провайдеры.
Платный хостинг. Платные хостинг-провайдеры обычно предоставляют более высокую производительность и надежность серверов, что делает ваш сайт более доступным и стабильным для посетителей.
Также вам будет доступна большая функциональность для управления сайтом. (Пока что не стоит заострять внимание на том, что конкретно включает в себя функциональность сайта; я говорю о сути в целом).
Не стоит игнорировать наличие технической поддержки, которая может быть полезна при возникновении проблем.
Наконец, обычно в платных планах включена возможность использования собственного доменного имени (например, www.mysite.com).
Бесплатный хостинг. Главный плюс в том что это бесплатно. Но. Есть несколько недостатков. Бесплатные хостинг-провайдеры могут предоставлять ограниченные ресурсы, такие как меньшее место на сервере и ограничения по трафику. Это может сказаться на производительности и доступности вашего сайта.
Функциональность бесплатных хостинг-проектов может быть ограниченной, и вам могут не предоставляться некоторые продвинутые возможности.
Многие бесплатные хостинг-провайдеры встраивают рекламу на вашем сайте как способ получения дохода. Это может быть раздражающим для пользователей.
Наконец, бесплатные хостинг-провайдеры обычно предоставляют поддомен (как правило, тоже бесплатный) вместо собственного доменного имени (например, www.mysite.freehosting.com). Либо если вы захотите иметь собственное уникальное доменное имя, то, как правило, за эту услугу придётся доплатить.
Таким образом, закрепим: хостинг может быть как платным, так и бесплатным.
Что вообще из себя представляет сервер хостинг-провайдера (т.е. что такое "хостинг" не в контексте услуги)? Так вот, на деле хостинг - это множество физических серверов, работающих в дата-центре. Эти серверы специализированы для хранения веб-сайтов и обслуживания запросов от пользователей. Можно использовать запрос в поисковой системе "дата-центр серверов", чтобы увидеть их изображения.
Выше, в самом первом пункте, я упоминал выбор доменного имени, и далее по тексту было понятно, что это, грубо говоря, название сайта, по которому его будут искать в интернете (точнее: его уникальный адрес). Откуда его взять? Как уже упоминалось раньше, его можно бесплатно получить на бесплатных хостинг сервисах (поддомен). Но это вторичный вариант. А вообще получить доменное имя можно у регистратора доменных имён. (Функции регистратора доменных имён могут выполнять (совмещать) хостинг-провайдеры, платформы по созданию сайтов). Таким образом, регистратор доменных имён - это отдельный участник "всей этой системы". Регистраторы специализируются на предоставлении услуг по регистрации и управлению доменными именами.
Регистраторы доменных имён являются организациями, которые имеют особый статус и лицензии для участия в системе доменных имен*, управляемой международной организацией, называемой ICANN (Internet Corporation for Assigned Names and Numbers) и подобными организациями национального уровня.
(*Система доменных имен, она же Domain Name System, она же DNS, - аббревиатура, которую я встречал довольно часто, но которая мало о чём мне говорила; теперь же у меня хотя бы будет некоторая ассоциация).
Регистраторы проходят процедуру аккредитации ICANN (или аналогичных организаций национального уровня). Это означает, что они получают право регистрировать доменные имена в определенных доменных зонах (например, .com, .net, .org) или национальных доменах (например, .us, .uk; для России:. .ru, .рф).
Итак, вот вы придумали доменное имя для своего будущего сайта, например, "smeshariki" (судя по картинкам в интернете, его ещё надо называют доменом второго уровня). Для его регистрации вы обращаетесь к одному из аккредитованных регистраторов, предоставляя ему всё необходимую информацию. В зависимости от того, к какому регистратору вы обратились, ваш домен может быть зарегистрирован в определённой доменной зоне или в национальных доменах (иначе их называют доменами первого уровня).
(Кстати, раньше было упомянуто слово "поддомен". В этом случае этот самый поддомен будет являться доменом второго уровня, а тогда ваш домен - доменом третьего уровня).
Регистратор отправляет запрос на регистрацию выбранного вами доменного имени в соответствующий реестр* (например, VeriSign для .com). Реестр проверяет доступность доменного имени и решает, может ли оно быть зарегистрировано.
Как вы уже догадались, доменные реестры верхнего уровня - это отдельные участники всей этой системы. И кроме VeriSign, есть также, например, Public Interest Registry (для зоны .org), Afilias (для .info), Neustar (для .biz) и др. В России реестром для доменов с национальной доменной зоной .ru и .рф управляет организация АНО «Координационный центр национального домена сети Интернет» (сокращенное название — "Координационный центр доменов .RU/.РФ").
Итак, если доменное имя доступно, оно регистрируется в реестре и привязывается к вашему аккаунту у регистратора. После регистрации вы имеете право управлять доменным именем через панель управления вашего регистратора (иными словами, через его сайт). Вы можете настраивать DNS-записи (WHAT?), в частности, указывать, куда должно перенаправляться доменное имя, и многое другое (про это чуть подробнее будет позже).
Доменные имена обычно арендуются на определенный срок (например, год). Чтобы сохранить доменное имя, вам придется оплатить продление до истечения срока.
Таким образом, регистраторы являются посредниками между конечными пользователями (вами) и организациями, управляющими реестрами доменных имен.
Теперь нужно будет отойти немножко в сторону (нет сидите, никуда вставать и уходить не нужно). Что вообще из себя представляет сайт? Это набор файлов, которые включают в себя различные типы контента и данные, необходимые для отображения веб-страниц. Основу сайта, как правило, составляют следующие типы данных:
1. HTML (HyperText Markup Language). Этот файл содержит структуру и содержание веб-страницы. Он определяет, какие элементы на странице должны быть заголовками, текстом, ссылками, изображениями и т. д. Расширение файла: .html или .htm.
2. CSS (Cascading Style Sheets). Файлы CSS используются для стилизации веб-страницы. Они определяют цвета, шрифты, отступы и другие аспекты внешнего вида. Расширение файла: .css.
3. JavaScript. Этот язык программирования используется для добавления интерактивности на веб-сайт. JavaScript-файлы позволяют создавать анимации, выпадающие меню, формы обратной связи и многое другое. Расширение файла: .js.
4. Изображения, видео и аудио. Это уже более привычные и известные для большинства типы данных, которые образуют контент на сайте.
Стоит ещё раз отметить, что количество файлов и их содержание могут значительно различаться в зависимости от размера и функциональности сайта. Ведь сайт также может включать в себя файлы архивов, такие как .zip или .rar, документы в форматах .pdf, .docx, файлы скриптов, такие как .php, .asp или .py, которые обрабатывают запросы пользователя и взаимодействуют с базами данных и т.д. Схематично структура файлов небольшого сайта будет выглядеть следующим образом:
Далее будет информация, в которой я до конца не уверен, но это то, как это вижу я.
Ранее я упоминал платформы (сервисы) для создания сайтов (типа Wix, Weebly, Blogger и др.). Там вы используете инструменты, предоставляемые этими сервисами, чтобы создать дизайн, добавить контент и настроить функциональность вашего сайта.
Ничего не могу утверждать конкретного про эти сервисы, ведь ранее я ими не пользовался, плюс, их, понятное дело, не две-три штуки на весь интернет; что я хотел этим сказать, - что конкретику для каждого сервиса придётся выяснять самим. И эти же самые сервисы могут предоставлять услуги хостинга (то есть выступать хостинг-провайдером). Однако вы можете экспортировать "своё творение" и перенести его на хостинг, на который вы хотите. Эту возможность нужно выяснять заранее - ведь её может вовсе не быть либо она может быть платной. Тут просто нужно зафиксировать главное: бесплатные хостинги и платформы могут иметь ограничения по ресурсам, функциональности и контролю над вашим сайтом. Это первый вариант создания сайта (через платформы).
Второй вариант - используя сторонние приложения. Например, для создания HTML-файла вы можете вообще использовать хоть текстовый блокнот на Windows; правда, сохранить его нужно в формате "HTML". А затем файлы вашего сайта нужно будет загрузить на хостинг.
Итак, что мы имеем на данном этапе? У вас есть зарегистрированное (через регистратора доменных имён) доменное имя вашего будущего сайта и, собственно, сам готовый сайт, который представляет собой набор определенных файлов, которые вам нужно разместить на хостинге. И вот вы разместили его на хостинге. А что дальше? - Дальше будет опять небольшое отступление.
Раньше я думал, что каждый сайт имеет свой собственный IP. Это не совсем так.
Зафиксируем момент, что "общение" устройств сетевой инфраструктуры происходит между собой с помощью IP-адресов. Иначе говоря, IP-адреса используются для идентификации устройств в сети. Ваш предполагаемый сайт - всё его содержимое - размещается (хранится, "хостится") на сервере, который имеет свой собственный уникальный IP. (Т.е. для себя я понял, что сайт не имеет собственный IP адрес, а связан с IP-адресом сервера, на котором он размещен).
А теперь задайтесь вопросом: было бы вам удобно вводить числовой ip-адрес сервера сайта, вместо привычного адреса? (см. картинки внизу)
Понятное дело, что в большинстве случаев переходы на сайты осуществляются через результаты поисковых систем, а не через ввод адреса сайта в адресную строку браузера. Я лишь привёл пример. К тому же, как оказалось, адреса некоторых сайтов не являются публичной общедоступной информацией; некоторые "крупные" сайты хранятся "в облаках" (облачных сервисах), инфраструктура которых распределена по множеству центров обработки данных и серверов по всему миру.
Ну и теперь, наконец, то, к чему я хотел подвести: как соединить имеющееся у вас доменное имя с сайтом который хранится на сервере хостинг-провайдера? За это отвечает настройка доменных записей (третья вещь, которую я собирался рассмотреть в этой статье). Настройка DNS-записей осуществляется через панель управления регистратора доменных имён. Разумеется, не каждый обладает опытом в этой области, поэтому регистраторы доменных имён и хостинг-провайдеры обычно предоставляют инструкции и удобные интерфейсы для настройки DNS-записей без необходимости глубокого понимания технических деталей.
В контексте данного повествования я ещё раз хочу отметить, что привязка доменного имени к серверу, где "хостится" сайт, осуществляется через настройку DNS-записей. Однако понятие настройки DNS-записей шире, то есть включает в себя не только указанную "привязку".
DNS-записи делятся на типы. Например,
- A-записи: определяют соответствие между доменным именем и IPv4-адресом. Или, иначе говоря, определяют соответствие между доменным именем сайта и IP-адресом сервера хостинг-провайдера, где размещен этот сайт, - то есть о чём я только что писал выше.
- CNAME-записи: позволяют создавать псевдонимы для доменных имен. Например, CNAME-запись может указывать, что "blog.example.com" является псевдонимом для "www.example.com".
- MX-записи: указывают, какой почтовый сервер обрабатывает электронную почту для данного доменного имени;
- TXT-записи: позволяют добавлять текстовую информацию к вашему домену. Это может использоваться для различных целей, включая верификацию владения доменом, установку специальных настроек.
Список не окончательный, и, думаю, здесь подробно его разбирать нет смысла. Вы, кстати, можете вбить в поисковик запрос "Проверка DNS записей домена", перейти на соответствующий сайт и проверить DNS-записи для какого-нибудь известного вам адреса сайта ("неспециалистам" эта информация мало что даёт).
Во всей этой системе - DNS-системе - работают ещё одни "участники". Это DNS-сервера. Они распределены по всему миру; локальные DNS-серверы есть у провайдеров интернет-соединения. Именно DNS-сервера с помощью DNS записей преобразуют доменные имена в соответствующие IP-адреса серверов, позволяя пользователям обращаться к сайтам по их доменным именам. Затем, с использованием DNS-записей, хостинг-провайдер определяет, к какому конкретному веб-сайту направить запрос от пользователя на основе введенного им доменного имени (т.е., очевидно, что у хостинг-провайдер обслуживает несколько сайтов, и вот чтобы определить, к какому именно сайту поступил запрос, используются DNS-записи).
Кстати, именно DNS-сервера хранят информацию о DNS-записях. Возможно я был не последовательным, но давайте ещё раз: настройка DNS-записей осуществляется через регистратор доменных имён, затем регистратор передаёт эти записи в DNS-систему, которую образуют DNS-сервера.
Когда пользователи вводят доменное имя в браузере, их запросы направляются через DNS-систему (т.е. через DNS-сервера) к серверу хостинг-провайдера, указанному в DNS-записях. Чтобы в дальнейшем ускорить весь этот процесс DNS-сервера кэшируют, т.е. сохраняют часто используемые записи (потому я и указал, что DNS-сервера хранят информацию о DNS-записях).
Кстати, если вы вдруг впоследствии захотите изменить хостинг-провайдера, то есть разместить ваш сайт на другом хостинге, то придётся перенастроить DNS-записи для вашего домена у вашего регистратора.
Наверняка после прочтения вам захочется зарегистрировать свой собственный домен и создать сайт. А даже если не захочется, то всё равно предлагаю добавить в закладки браузера сервис по ссылке внизу.