Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Давайте сегодня поговорим про расположение ваших сайтов на веб-серверах (что это такое?). Делается это, естественно, для того, чтобы любой посетитель из любой точки мира, подключенной к сети интернет, смог бы получить доступ к вашему ресурсу.
Принципы размещения сайтов в интернете остаются неизменными уже больше двух десятков лет, но тем не менее это не упрощает задачу тех, кто окунается в мир доменов, хостингов, DNS серверов и IP адресов впервые.
Сегодня я постараюсь в одной статье рассказать об этом максимально подробно, но не отвлекаясь на конкретные примеры проверки и покупки доменного имени и аренды хостинга. Я об этом уже писал и просто сошлюсь на имеющие материалы. Нашей же задачей в этой конкретной публикации будет — выявить взаимосвязь между всеми этими шаманскими действиями и понять, зачем все это вообще необходимо делать.
Домены, Ip адреса и связывающие их DNS сервера
Итак, в первую очередь нам необходимо будет разместить на неком адресном пространстве свои документы (под общим названием — сайт). Обращение к этому адресному пространству будет осуществляться при помощи универсальных локаторов ресурсов URL (был придуман создателем интернета Тимом Бернерсом-Ли, как и многое другое). Более подробно про урлы вы сможете прочитать по приведенной ссылке, а я на примере напомню вам, где тут собака порылась (знаете откуда пошло обзывание значка @ собакой?). Давайте разберем такой урл:
https://ktonanovenkogo.ru/seo/search/rambler-ru-poiskovaya-sistema.html
Такой привычный нам тип можно разбить на несколько частей:
- http:// — указание протокола, по которому будет осуществляться обмен данными (например, между браузером и web-хостом — смотрите что такое хост), а также специальные символы, которые принято использовать (://)
- ktonanovenkogo.ru — указание доменного имени, к которому будет осуществляться обращение
- /seo/search/rambler-ru-poiskovaya-sistema.html — указание пути в этом адресном пространстве (веб-сайте) к какому-то документу
Причем надо понимать, что сама по себе запись доменного имени (ktonanovenkogo.ru), которая входит в состав исследуемого нами URL, для машин (веб-серверов) не имеет ровным счетом никакого смысла, ибо они оперируют исключительно IP адресами.
Доменные же имена служат двум основным целям:
- удобство запоминания адресного пространства (IP запомнить сложнее)
- возможность переносить свой ресурс на разные хостинги, где ему будут предоставляться различные IP адреса, и при этом не менять урлы для доступа к документам сайта. Как раз для реализации этой задачи и используются так называемые DNS сервера, о которых мы поговорим чуть ниже по тексту
Узнать IP адрес сайта по его домену можно во многих онлайн сервисах, а можно просто пропинговать его из командной строки Windows и увидеть искомый набор цифр. Для этого нажмите сочетание клавиш Windows+R на клавиатуре, а потом введите в открывшейся строке диалогового окна «Выполнить» команду cmd.
В открывшемся черном и очень страшном окне введите команду:
ping ktonanovenkogo.ru
В результате вы не только узнаете скорость ответа вашего ресурса на запрос, но и получите информацию об IP сервере, на котором он находится. Лет десять назад я даже прописывал в файле hosts на компьютере соответствие цифровых адресов и доменных имен наиболее часто посещаемых мною ресурсов, чтобы не тратилось время на обращение к DNS серверам. Правда Ip-шники ресурсов иногда изменялись и я какое-то время тупил по поводу того, а чего это мой любимый портал не открывается.
Сам по себе файл hosts является неким атавизмом, который использовался как локальный DNS на заре становления интернета (когда появился интернет?). Но когда сайтов в сети стало реально очень много, то его использование стало делом крайне неудобным и появились удаленные ДНС сервера с таблицами соответствия IP и доменов всех ресурсов во всемирной паутине.
Однако, hosts можно использовать до сих пор для решения каких-то специфических задач, например, получить доступ к сайту на новом хосте до того, как пропишется информация во всех DNS серверах интернета (что в некоторых случаях может занимать до двух суток). Правда получить доступ к нему в операционках Vista, 7,8 и 10 стало не таким уж и тривиальным занятием (где находится файл Хостс?).
Сейчас в основном в интернете используется стандарт IPv4, и цифровой адрес в этом случае состоит из четырех байт, т.е. с помощью него можно назначить около четырех миллиардов уникальных хостов. В скором времени будет повсеместно внедряться IPv6, что позволит решить все возможные проблемы с нехваткой цифровых адресов. Ну, а для назначения соответствия IP (цифирек) и доменных имен, как мы и говорили чуть ранее, используется система ДНС.
DNS (Domain Name System) — специальная служебная иерархия серверов, в которых содержится информация о том, какой именно IP адрес за какими доменом скрывается.
Следовательно, когда вы обращаетесь через браузер (или какую-либо другую программу) к определенному сайту, вводя его Урл (например, https://ktonanovenkogo.ru), то ваш компьютер в первую очередь обращается к ближайшему ДНС-серверу с вопросом о том, а по какому же цифровому адресу живет этот ресурс. И лишь после получения искомого Ip-шника от DNS сервера (для моего блога сейчас айпи 109.120.169.66 — можете вставить его в адресную строку браузера и убедиться) произойдет отправка запроса уже непосредственно к самому сайту.
Т.е. имеет место быть определенная задержка при обращении к любому сайту с вашего компьютера, что есть не хорошо. Но современные браузеры сейчас уже умеют кэшировать полученные данные и не осуществляют повторных запросов к DNS. Наверное, теперь более понятным становится смысл моей возни с файлом hosts, описанной чуть выше.
Так как IP мы практически не видим при обращении к ресурсу, то интересовать они будут нас постольку поскольку. А вот домены представляют гораздо больший интерес для вебмастера, ибо являются той самой видимой частью, которая идентифицирует адресное пространство.
Что такое доменные имена (домены) и какие они бывают
Если вы присмотритесь, то заметите, что запись доменных имен разделяется точками (по крайней мере хоть одна, да будет). На примере домена моего блог (ох как же долго я его подбирал):
ktonanovenkogo.ru
Точки разделяют так называемые уровни доменных имен, которые нужно начинать считать справа на лево. В приведенном примере ktonanovenkogo — это домен второго уровня, ru — первого. Если бы у меня был форум, то вполне возможно, что он бы жил на доменном имени третьего уровня:
forum.ktonanovenkogo.ru
Домены первого уровня распределяются по двум группам:
-
Cctld (country code top-level domain) — домены первого уровня закрепленные за странами.
У России на данный момент имеется аж целых три доменные зоны первого уровня:
- su — рудимент, оставшийся от советского союза и представляющий сейчас пространство ресурсов на русском языке
- ru — изначально закреплено за Россией
- рф — Idn адреса (internationalized domain name), когда есть возможность использовать в названии домена символы из национальных языков (в нашем случае русского). На самом деле, их названия все равно записываются английскими символами (происходит перекодирование), но мы только этого не видим. Если вы в браузере введете адрес:
http://ктонановенького.рф/
а после перехода на этот сайт скопируете его адрес из адресной строки, то получите совсем уж неудобоваримую ахинею:
http://xn--80aedhwdrbcedeb8b2k.xn--p1ai/
В любой стране имеется ряд компаний регистраторов доменных имен, в ведении которых находится распределение доменов второго уровня в этих самых национальных зонах (Cctld). Если вы захотите узнать, какие компании имеют право продавать их в России, то необходимо будет перейти на страничку координационного совета — cctld.ru.
Таких компаний не так уж и много, но они могут иметь целую сеть реселлеров (партнеров), которые будут заниматься подбором доменов от их имени. Если вас текущий ресселлер чем-то не удовлетворил или у вас возникли напряги с ним, то, обратившись к регистратору, вы сможете выбрать другого ресселера или же перейти непосредственно под крыло регистратора.
У ресселеров цены на домены (розницы), как правило, в разы ниже цен у регистраторов (оптовиков), и при этом я не нашел каких-либо видимых причин опасаться покупать по дешевке у первых, а не переплачивать за ту же самую услугу вторым. Если вам интересно, то можете почитать про описание процесса покупки доменного имени у ресселера Reghouse, которым я сам пользуюсь.
-
Gtld (generic top-level domain) — доменные имена, которые находятся в общем пользовании в независимости от страны, в которой проживает вебмастер.
Совсем без ограничений можно покупать домены в зонах .com, .net, .org, .info, .biz и .name. В зонах же .edu, .gov и .mil такая возможность предоставляется только для учреждений, а так же учебных и военных заведений штатов. Имеется также еще ряд специализированных доменов первого уровня, например, .travel, .jobs, .aero, .asia.
Доменные имена второго уровня в этих общедоступных зонах можно купить у любого регистратора (не только национального), чем, собственно, и пользуются некоторые ресурсы, у которых могут возникнуть конфликты с правообладателями. Тот же торрентс был вынужден перебраться в общедоступную зону org, ибо в национальной доменной зоне ru его ресурс был заблокирован.
Покупка и продление доменов — что, где, почем?
Осуществляя покупку у любого регистратора, вы получаете права на его использование в течении одного года. По истечении этого срока, вы опять должны будете его оплатить. Если этого не происходит, то означенное доменное имя уже через месяц окажется доступным для регистрации и любой желающий сможете его приобрести (будьте внимательны и всегда включайте автопродление доменов в панели вашего регистратора).
Проверить интересующий вас домен на занятость можно будет на сайте любого регистратора или ресселера, но обычно советуют это делать на ресурсах официальных регистраторов во избежании перехвата. Например, на рег.ру (промо-код на скидку EB69-6AD7-D77D-43BD).
Можете вводить предполагаемое имя домена прямо в приведенную ниже форму:
Можно проверять на занятость не только доменную зону RU, но и все другие — вдруг где-то еще окажется не занятым «vasy-pupkin». Кстати, нужно знать, что для всех зон кроме Idn можно использоваться только сочетания латинских символов и некоторых допустимых знаков ([0-9],[a-z],[A-Z],[_],[-]):
Как видите, в зоне рф занятость не отображается и связано это с тем, что в названиях таких доменов нельзя использовать латиницу. Однако, не во всех национальных зонах Idn действует это правило, что приводит к упрощению жизни фишинговых мошенников.
Если вас интересуют только зоны общего пользования, то вам нужно будет перейти на вкладку «Международные»:
Каждый регистратор в разных странах мира будет сам решать, во сколько ему обойдется поддержка ваших прав в этих доменных зонах (нужно, например, содержать штат переводчиков, ибо уровень онлайн переводчиков от Google и Яндекса пока еще оставляет желать лучшего) плюс степень его жадности в определении своей маржи.
Кроме национальных (российских в случае ник.ру) и общедоступных зон у многих регистраторов и ресселеров, как в России, так и в мире, вы обнаружите возможность проверить и зарегистрироваться в национальных зонах некоторых особо ушлых стран. В случае ник.ру эту возможность вы получите на вкладке «Зарубежные»:
Эти страны поставили торговлю доменными именами второго уровня (cctld) в своих национальных зонах на поток. Например, доменная зона первого уровня .tv вовсе изначально не была предназначена для сайтов связанных так или иначе с телевидением, а выделен как национальный для такой страны, как Тувалу (островное государство с населением в десять тысяч человек). Ну, а они теперь домены из своей зоны продают направо и налево, получая, наверное, немалую для такого карликового государства прибыль.
Таким образом, при покупке доменного имени вы сможете проверить, а в каких же именно доменных зонах оно свободно. Иногда, в случае занятости, у регистратора напротив доменного имени может красоваться ссылка «Предварительный заказ» (встать на очередь). На вашем счете у регистратора заблокируют необходимую сумму для оплаты, а в случае его освобождения вам об этом сообщат.
Когда вы купите интересующий вас домен, то в процессе покупки заключите договор с выбранным вами регистратором, а также на его вебсайте у вас будет свой кабинет для работы с приобретенными доменами. Вещь это нужная, ибо при переносе сайта на другой хостинг именно там вы сможете прописать новый список так называемых NS серверов (по сути, DNS), взятых у нового хостера. Кстати, на первых порах можно использовать и бесплатный хостинг, а уже потом переехать на платный. Но вот по поводу бесплатного домена для сайта я бы еще подумал (разве что только на первое время).
По умолчанию, при просмотре информации о домене в так называемой whois записи, вы обнаружите там свои личные данные, которые было необходимо указать при регистрации. Лично я считаю, что это чревато возможными мошенническими действиями, поэтому стараюсь закрывать эту информацию в whois все в том же кабинете регистратора (у кого-то эта услуга платная, а у кого-то — бесплатная):
Кстати, многие хостинговые компании тоже являются ресселерами официальных российских регистраторов и у них можно будет купить или даже получить в подарок (например, при оплате хоста за год) доменное имя. Но лично я предпочитаю не держать все яйца в одной корзине, хотя и не имею на этот счет каких-либо весомых аргументов.
Что такое хостинг и как его выбирают
Что же такое хостинг? Это предоставление физического пространства (не адресного, о котором мы говорили чуть выше) для файлов вашего сайта.
Ну, а связь физического и адресного пространств будет осуществляться при помощи DNS серверов. У хостинговой компании мы покупаем это самое место под файлы и базы данных, и его связь с адресным. Кстати, благодаря DNS серверам вовсе не обязательно заказывать хостинг именно в той стране, где проживаете. Как правило, зарубежный аналог будет несколько дешевле российского, но тут возникает проблема языкового барьера при общении со службой техподдержки (во всяком случае для меня).
Сам по себе выбор хостинга для своего сайта является вовсе не тривиальной задачей. Даже читая многочисленные отзывы в интернете, вы не найдете идеального варианта — сколько людей, столько и мнений. Лично я определил для себя несколько вещей, на которые действительно стоит ориентироваться при подборе хостинга:
- Отзывчивость (временнАя и человеческая) службы техподдержки. Не забуду, как в субботу у меня возникли проблемы с доступностью, а техподдержка ответила и приняла меры лишь спустя полутора суток. При этом хостинг был дешевый, супербыстрый и, черт побери, достаточно стабильный. Но все это было замечательно пока не грянул гром. Пока не очутитесь в описанной ситуации — не сможете оценить весь «кайф» создавшегося положения.
- Идеальным будет только тот хостинг, который удовлетворяет именно вашим потребностям, а не потребностям большинства. Наплюйте на мнения других и ищите исходя из своих потребностей. Я бы никогда не пересел на Инфобокс (у него до недавнего времени не было реферальной программы и поэтому его в инете никто не пиарил, а подсовывали каждый свои шкурно-выгодные варианты с рефссылками), если бы слушал других, а вместе с тем не могу на него нарадоваться спустя уже пяток годков.
Начинал я, кстати, вообще с бесплатного хостинга, но с поддержкой php и mysql, а значит с возможностью установки движка для сайта (CMS). Психологически довольно сложно начать зарабатывать деньги в интернете с того, чтобы платить их самому (гораздо приятнее зарабатывать без вложений, как было описано в статье из верхнего меню этого блога). Поэтому на начальном этапе бесплатный хостинг поможет побороть жабу, а уже потом вы либо решитесь на продолжение каторжного труда вебмастера, либо на завязывание с этим «бесперспективным» занятием.
Но все же, у того физического пространства, которое вы берете в аренду у хостинговых компаний, имеются определенные характеристики. Как правило, они типичны для всех, но все же стоит обращать на это внимание, пусть и не первостепенное. Например, Яндекс Народ не позволял раньше (когда он еще существовал) использовать для создания сайта CMS системы, ибо на нем нет поддержки php и mysql.
На что обращать внимание при выборе хостинга:
- Про техподдержку я уже говорил, но еще раз напомню. Советую еще перед покупкой тарифа (либо на стадии бесплатного тестирования) попробовать обратиться в техподдержку в неурочное время, например, ночью в субботу и посмотреть на результат.
- Размер физического пространства (области на жестком диске сервера) отдаваемого для хранения файлов вашего сайта (обычно измеряется в гигабайтах). Лично для меня этот параметр не важен, ибо мой блог весит довольно мало даже с учетом множества иллюстраций, которые я использую в статьях.
-
Количество сайтов (доменных имен) и баз данных (используются в большинстве CMS), которые вы можете создать на данном тарифе хостинга. Т.е. если у вас есть десяток небольших и не очень посещаемых ресурсов (о допустимой нагрузке на процессор разговор пойдет чуть ниже), то вовсе не обязательно для этого покупать десяток тарифов, достаточно одного с нужным лимитом.
Но опять же оговорюсь, что это будет справедливо только для не очень нагруженных проектов. Сетку сателитов, если она у вас имеется, тоже не стоит пихать под один тариф, ибо это ее запросто спалит в поисковых системах.
- Не всегда выводится на первый план при покупке хостинга, но запросто может коснуться посещаемых проектов такая вещь, как допустимая нагрузка на процессор сервера. При превышении этого предела, в зависимости от конкретного хостера, возможно вынесение предупреждения или же ресурс сразу заблокируют на какое-то время. Штука весьма неприятная, ибо приходится переходить на более дорогой тариф или вообще на выделенный сервер, либо искать новую хостинговую компанию с более высоким лимитом.
- DNS сервера хостера, с помощью которых осуществляется привязка доменного имени и того IP адреса, под которым ваш ресурс будет виден в интернете. Понятно, что эта опция обязательна и эти самые DNS адреса (как правило, два — основой и резервный) вы получите после оплаты хостинга по выбранному вами тарифу. Вы потом пойдете в свой кабинет на сайте регистратора доменов и впишите их в соответствующие поля.
-
Опять же обязательная для всех хостингов возможность доступа к сайту про протоколу ФТП. Логин и пароль для доступа вам сообщат после покупки тарифа, а вот вводить эти данные вы уже будете в специальную программу, которая называется клиент или же файловый менеджер.
Самым популярным, среди бесплатных FTP клиентом, является файлзила, но кроме нее довольно часто в этом качестве используют и Тотал, хотя сохраняемые пароли в нем не шифруются, что чревато взломом вашего ресурса.
P.s. У меня недавно был печальный опыт взлома и заражения моих сайтов вирусами именно через Файлзилу, путем увода незашифрованных паролей. Не наступайте на мои грабли — озаботьтесь прямо сейчас защитой ваших паролей с помощью надежного бесплатного менеджера паролей, например, такого как Keepass. Это не реклама, это совет, который мне в свое время никто не дал, к сожалению.
ФТП клиент имеет два окна — в одном будет открыта какая-либо папка на вашем компьютере, а в другом — то самое физическое пространство хостинга (жесткий диск на веб-сервере), т.е. там, где лежат файлы вашего ресурса:
ФТП вам понадобится для заливки файлов движка (в случае динамического сайта), либо файлов HTML с кодом вебстраниц (в случае статического) и во многих других случаях, когда потребуется копировать, удалять или изменять любые объекты на удаленном хосте (например, изменять внешнее оформление через файл стилей CSS). По FTP вы видите только объекты (бинарные данные), а не вебстраницы как при обращении к сайту через браузер по протоколу HTTP.
Что такое лучший хостинг и как его найти?
-
Практически все платные хостинги позволят вам создавать в своем аккаунте почтовые ящики, который будут указывать на их явную принадлежность к вашему сайту, например:
blog@ktonanovenkogo.ru
Про то, как создать почтовый ящик в панели управления cPanel и как его потом привязать к почтовому интерфейсу Gmail, читайте в статье про почту для домена или в более новой статье про бесплатную почту для доменов от Яндекса.
Хотя последнее время мне очень понравился бесплатный вариант почты домена от Яндекса.
-
Сейчас, наверное, уже все платные хостинги поддерживают возможность использования серверных скриптов (CGI). В описании их тарифов вы сможете увидеть название каталога для таких скриптов (что-то вроде CGI-BIN). Т.о. программная среда позволит запускаться на сервере скриптам, написанным на каком-либо серверном языке программирования. Наиболее распространенным является PHP, а также перл, руби и др.
Какие конкретно языки поддерживает данный хостинг, можно узнать из его описания или же обратившись с этим вопросом к техподдержке. Нас это в первую очередь интересует с той точки зрения, что при наличии поддержки PHP и MySql (баз данных), мы без проблем сможем использовать так называемые CMS (системы управления контентом).
ЦМС позволяет легко создавать интернет проекты совсем не подготовленным пользователям. Все тексты, добавляемые вами на сайт, будут храниться в базах данных, а на самом хостинге будут лишь размещаться файлы движка и шаблоны.
Шаблоны для движков позволят вам в мгновении ока полностью менять дизайн вебсайта совершено не затрагивая его контента, который, еще раз повторюсь, живет в специальных таблицах, образующих собой базу данных (под нее вам предоставляется отдельное дисковое пространство, которое зачастую может находиться на другом физическом сервере). Более подробно можете об этом прочитать в статье про CMS Joomla.
Особенностью работы ЦМС является то, что обращение к документу, например, по адресу:
https://ktonanovenkogo.ru/seo/smo/google-socialnaya-set-gugl-plyus.html
не вызывает 404 ошибку на веб-сервере. Хотя такого документа в папке SMO на веб-сервере просто-напросто нет, равно как нет там и самой папки SMO и даже SEO. Но умная ЦМС перехватывает эту ошибку у веб сервера и налету формирует запрашиваемую страницу путем подгрузки файлов текущего шаблона и запихивания в нужные его места нужные куски текста, которые этот движок берет из базы данных.
У любого ресурса на CMS, кроме видимой пользователям стороны (фронт энда), существует еще и невидимая для большинства оборотная сторона (бэк энд или же админка, например, админка Joomla). В админку имеют доступ лишь авторы сайта, для того, чтобы иметь возможность в удобной форме (через Html формы) загружать в базу данных тексты новый статей, описаний товаров в интернет магазине и т.п.
-
Конечно же, когда вы будете вносить коррективы в верстку вашего сайта, а также наполнять его контентом, то уместным будет регулярно делать резервное копирование его файлов и базы данных.
Однако, на любом платном хостинге ваши данные будут бэкапиться автоматически. Отличия будут состоять лишь в удобстве управления этими резервными копиями, частоте их создания, а также времени и месте хранения (лучше, если бэкап будет храниться на другом физическом сервере или хотя бы другом физическом диске).
-
Любой хостер позволит вам бесплатно создавать так называемые поддомены, т.е. доменные имена третьего уровня. Например, будь у меня форум, вполне возможно, что он бы жил на поддомене:
forum.ktonanovenkogo.ru
Это будет своеобразное подпространство внутри выделенного вам пространства хоста. У поддомена будет и своя корневая папка, т.е. фактически это будут дополнительные сайты в вашем адресном пространстве.
-
Для владельцев статических ресурсов (не использующих CMS), где каждая вебстраница является отдельным файлом на дисковом пространстве хостинга (а не базы данных), возможно, будет актуальной поддержка SSI (Server Side Includes). Веб сервера с поддержкой SSI имеют возможность при обработке запроса браузера выполнить на своей стороне определенный набор директив перед тем, как отдать запрошенный документ браузеру.
Получается аналог некой слабенькой CMS, с помощью которой, например, можно сделать нечто подобное шаблонизации для статических сайтов. В этом случае, если вы захотите добавить новый пункт в меню, не потребуется делать это во всех сотнях и тысячах страниц вашего интернет проекта, а лишь в одном файлике, который будет с помощью директивы include подключаться ко всем страницам сайта на веб сервере во время обработки запроса браузера.
Т.е. вы выносите, например, левое меню в отдельный файл Left.txt, а во всех страницах на месте вывода этого левого меню прописываете следующий код:
<!--#include virtual="left.txt"-->
Путь прописывается относительно того документа, куда эта директива вставляется. Про относительные и абсолютные ссылки в URL и URI я уже писал. Точно так же можно будет подключить и другие общие для многих вебстраниц блоки (шапку, сайдбар, футер) для их более быстрого редактирования, если это понадобится.
Выбирать вам, но от себя советую посмотреть сначала в сторону этих решений:
- Инфобокс
- Рег.ру (промо-код на скидку EB69-6AD7-D77D-43BD)
- FASTVPS
- AvaHost
- NeoServer
- HostiMan
- Проголдхост
- Offerhost
- HandyHost
В завершении хочу сказать, что вообще-то не обязательно сразу же бежать покупать доменное имя и хостинг. Можно попробовать поиграться с движком сайта и с наполнением его контентом на своем собственном компьютере. Достаточно лишь поднять на нем веб сервер. Делается это довольно просто и об этом подробно описано в статье про локальный сервер denwer (денвер) или более современный локальный сервер OpenServer.
Вне зависимости от скорости вашего инета, при использовании Денвера не потребуется перекачивать файлы через сеть, отсюда и скорость работы над проектом сильно повысится. Ну, а когда вы уже вдоволь наиграетесь и напрактикуетесь, то можно будет созданный вами на локальном сервере сайт перенести на вполне реальный хостинг, прикупив для него предварительно домен второго уровня.