Как работают сайты?

 

 

 

 

Что такое интернет.

 

Прежде чем описывать как работают сайты во всемирной паутине. Давайте посмотрим что же представляет из себя эта самая паутина. Итак, заходим в интернет на сайт «Википедия» и читаем про интернет: 

 

Интерне́т (англ. Internet, МФА: [ˈɪn.tə.net]) — всемирная система объединённых компьютерных сетей для хранения и передачи информации. Часто упоминается как Всемирная сеть и Глобальная сеть, а также просто Сеть. Построена на базе стека протоколов TCP/IP. На основе интернета работает Всемирная паутина (World Wide Web, WWW) и множество других систем передачи данных.

 

Интернет состоит из многих тысяч компьютерных сетей. Корпоративных, научных, правительственных, домашних и тд. Отлично: интернет состоит из компьютерных сетей.

А тоже такое компьютерная сеть?

 

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

 

Для нас важно знать что компьютерная сеть состоит из двух основных компонентов: 

  • сервер: программное обеспечение работающее на компьютере и предоставляющее клиентам ресурсы (также сервером называют компьютер на котором установлено серверное программное обеспечение).

 

  • клиент: программа которая пользуется услугами сервера (любое устройство которое может подключаться к сети)

 

 

Любой компьютер в зависимости от программного обеспечения может выполнять роль как сервера так и клиента в сети. И в реальной работе сервера часто являются клиентами получая информацию от других серверов. 

После того как ваш сайт будет размещен на сервере он станет частью всемирной паутины. 

 

 

 

 

Размещение сайта в сети.

 

 

Давайте представим что у вас есть готовый сайт. Чтобы он стал доступен посетителям сети интернет, его нужно разместить на сервере. 

 

Первый вариант - организация собственного сервера. Любой компьютер с установленным на нем северным программным обеспечением может выступать в роли сервера. И для нового сайта такой компьютер не обязательно должен быть производительным. Но вы должны понимать что по мере роста вашего сайта мощность сервера нужно будет увеличивать. И если в начале работы сайта достаточную производительность обеспечит даже система при которой на один компьютер будет установлен web сервер, сервер базы данных  и хранилище файлов с системой резервного копирования. То с ростом посещаемости для нормальной работы вам понадобится отдельный компьютер для каждого компонента. Также имейте ввиду что кроме обеспечения бесперебойного питание и постоянного подключения к сети для сервера необходим уникальный цифровой IP адрес. Что то вроде этого: 195.57.115.98. И за него нужно заплатить. Распределением таких адресов занимаются специальные организации.(как правило провайдер через которого вы подключаетесь к интернету занимается продажей таких адресов). 

 

Такой вариант является самым затратным и требует специальных знаний и навыков. Но вы полностью контролируете среду в которой работает ваш сайт. Как правило такой вариант организации работы сайта (или сайтов) является последним по мере развития вашего ресурса. Стоимость маломощного сервера подходящего для нового сайта составит от 25 до 30 тысяч гривен. Более производительные решения обойдутся дороже.

 

 

 

Второй вариант - аренда сервера в датацентре. В этом случае вы арендуете производственные мощности на удаленном сервере и избавлены от необходимости самостоятельно поддерживать бесперебойную работу системы. К тому же в таких датацентрах как правило установлено профессиональное серверное оборудование. Также вы можете получить техническую поддержку и помощь при установке и настройке программного обеспечения. Но в ресурсы которые вам предоставлены как правило ограничены. И здесь есть несколько вариантов: от дешевых малопроизводительных  систем (от 300 грн в месяц) при выделении вам виртуальной машины. До более дорогих (от 3000 грн в месяц) при которых вам будет выделен например: достаточно производительный процессор Xeon-8Gb, 32Gb оперативной памяти и 2Tb дискового пространства. 

Такой вариант является оптимальным в отношении стоимости и производительности. Но требует постоянных затрат и как и предыдущий требует специальных знаний для установки и настройки серверного программного обеспечения.

 

Третий вариант - аренда хостинга в датацентре. В этом случае вы арендуете место на уже готовом сервере. Вы полностью ограничены уже созданной архитектурной. Например имея сайт написанный на языке python с применением  фреймворка Django, вы не сможете установить его на сервер который работает с сайтами написанными на языке php. И как и в предидущем случае ресурсы сервера выделяемые под ваш сайт будут ограничены.

Такой вариант прекрасно подходит для молодых сайтов. Наименее затратен (от 200 грн в месяц). Сразу хочу сказать что не стоит прибегать к услугам бесплатного хостинга.  Во первых в таком случае ресурсы выделяемые под ваш сайт будут сильно ограничены, во вторых в таком случае датацентр не несет никакой ответственности за сохранность ваших данных. И наконец вас могут просто обязать показывать на вашем сайте рекламу.

Но если вы хотите разместить в интернете простой домашний сайт, то вариант бесплатного хостинга вполне приемлем на первое время.(например narod.ru предоставляет услугу бесплатного хостинга)

 

 

 

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

 

Когда пользователь набирает в адресной строке браузера адрес вашего сайта. Или кликает на ссылке на ваш сайт в поисковой системе. Он видит доменное имя вашего сайта. Например vse-budet-ok.ru.  После этого браузер отправляет запрос на DNS сервер (Domain Name System — система доменных имён). На котором хранится таблица соответствий доменных имен  и IP адресов.  DNS сервер возвращает браузеру IP  адрес который соответствует введенному доменному имени. Далее браузер по IP адресу находит нужный сервер. (на самом деле все немного сложнее и первоначально запрос от браузера приходит на DNS сервер провайдера и если на этом сервере запрашиваемого ip адреса нет то сервер передает запрос на DNS сервер более высокого ровня и так далее - но для понимания для чего нужен домен это не важно). После того как браузер находит запрашиваемый сервер он скачивает с него данные которые относятся с поисковому запросу: html код, скрипты картинки и тд. Из этих данных браузер формирует интернет страницу и отображает ее. 

 

Как правило датацентры предлагают на продажу доменные имена. И также могут вам предложить зарегистрировать ваше доменное имя. Но в таком случае они регистрируют домен на себя и вы не сможете уйти от них к другому тостеру. Поэтому лучше регистрировать домен самостоятельно. В Украине это можно сделать на сайте  http://nic.ua или http://imena.ua, в России http://nic.ru. Домен обойдется примерно 20 у.е. в год.

 

После того как вы зарегистрировали домен вам нужно закачать файлы вашего сайта на сервер. Для этого вы получите подробные инструкции в датацентре к которому обратитесь. Сделать это вы сможете либо через браузер, зайдя в свой личный кабинет на сайте тостера. Либо при помощи специальной программы  - FTP клиент. Если ваш хостер поддерживает такую возможность. При возникновении любых вопросов вы всегда сможете обратиться в службу поддержки датацентра.

 

Кроме хостинга, в датацентре вам могут предложить купить выделенный IP адрес. Это стоит не дорого но дает вам несколько преимуществ. В целом же ситуация следующая. Когда вы выкладываете сайт на сервер датацентра, без выделенного IP, то с точки зрения других серверов и поисковых систем, IP адрес вашего сайта будет таким же как и адреса других сайтов на этом же сервере. И если на одном сервере вместе с вами находится сайт с которого отправляется спам то почтовая служба «забанит» IP адрес поместив его в черный список. И вы не сможете отправлять и принимать почту. Поисковые системы также могут «забанить» сайт за недобросовестные приемы продвижения сайта. (в таком случае вам необходимо обратится к хостеру и он обязан сменить вам IP адрес).  Покупка выделенного IP адреса позволяет избежать подобных проблем.

Выделенный IP даст вам возможность вести точную статистику посещений вашего сайта. Даст защиту при DoS-атаках на сервер. К тому же существует программное обеспечение  которое требует наличия выделенного ip для нормальной работы. В любом случае вы можете проконсультироваться с техподдержкой датацентра и решить нужен вам отдельный ip адрес или нет.

 

 

От чего зависит скорость работы сайта.    

 

Начиная с момента обращения браузера к DNS серверу начинается передача данных по каналам связи сети интернет. Проблемы в любом из промежуточных узлов сети или проблемы  каналов передачи информации (особенно если это радио канал или 3G сеть) могут замедлить загрузку вашего сайта. Но к счастью такое бывает не часто.

 

Ниже представлена таблица зависимости скорости загрузки сайта от его размеров и скорости подключения к сети Интернет. 

 

В любом случае уже на стадии проектирования вы должны учитывать что многое посетители вашего сайта будут заходить на него с мобильных устройств для которых скорость соединения и надежность каналов связи не велика. Поэтому постарайтесь не делать сайт очень большим иначе посетители будут уходить со страницы так и не дождавшись ее загрузки. 

Для мобильных устройств максимальное время загрузки сайта не должно превышать: 6-8 секунд. Для компьютеров подключенных к проводному интернету - 2-х секунд.

Подитожим: - на скорость загрузки сайта влияют:

  • оптимизация сайта при разработке
  • размер сайта
  • качество работы хостинга 
  • загрузка web сервера 
  • качество каналов передачи данных
  • скорость интернет соединения как датацентра так и клиента просматривающего вашу страницу

 

 

 

 

 

 

Надеюсь эта статья небольшая статья была вам полезна. 

Удачи. С уважением Евгений Булейко.