Веб-серверы: информация для начинающих

В этом материале мы поговорим о том, как работают веб-серверы, какие бывают виды веб-хостингов и что такое выделенные серверы.

Вступление

Веб-сервером называется специальная программа, обеспечивающая работу сайтов и прочих ресурсов, доступных по протоколу www. Основная функция web-сервера заключается в том, чтобы принимать запросы от пользователей, обрабатывать их и отправлять в ответ нужную страницу, картинку или другой файл. Мы часто делаем такие запросы, когда реализуем проекты, связанные с управлением какими-то вещами, например, в умном доме.

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

  • NGINX – 29,2%;
  • Apache – 29,07%;
  • Microsoft IIS – 18,88%.

Указанные значения взяты из отчета британской аналитической компании Netcraft за июнь 2019 года. Следует отметить, что NGINX впервые обошёл Apache по популярности.

Как работает сервер?

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

Взаимодействие браузера с сервером происходит по следующему сценарию:

  1. Пользователь вводит в адресную строку URL сайта.
  2. Браузер обращается к DNS-серверу интернет-провайдера и получает адрес удаленного сервера.
  3. Далее браузер отправляет запрос серверу.
  4. Веб-сервер обрабатывает полученный запрос, генерирует необходимую страницу и отправляет её обратно.
  5. Браузер отображает полученную страницу на экране.

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

Виды веб-хостинга

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

  1. Обычный shared-хостинг. Это самый распространенный и доступный в финансовом плане вариант. Провайдер разместит ваш сайт на своем сервере по соседству с десятками других сайтов. Этого достаточно для полноценной работы web-ресурса, но скорость загрузки может быть невысокой, особенно в вечерние часы.
  2. Виртуальный сервер (VPS или VDS). Данный вариант в несколько раз дороже, но обеспечивает существенно большее быстродействие и гибкость настроек. Вы получаете в свое распоряжение аналог полноценного сервера, можете конфигурировать его на свое усмотрение и самостоятельно установить нужный web-сервер. Настраивать всё придётся самостоятельно, но это можно поручить фрилансеру или попросить помощи у технической поддержки провайдера.
  3. Выделенный сервер (Dedicated). Это уже полноценный аппаратный компьютер с выделенным подключением к сети. Всеми ресурсами вы распоряжаетесь единолично.
  4. Колокация (Colocation). Этот вариант обеспечивает наибольшую гибкость возможностей. Дата-центр предоставляет вам некоторое количество юнитов (слотов) в стандартной стойке с гарантированной подачей электроэнергии и подключением к интернету. А серверное оборудование вы покупаете и собираете самостоятельно.

Выделенные серверы

Остановимся на самом популярном виде серверов - выделенный или dedicated сервер. Разработанный проект оказался удачным и стал стремительно набирать обороты, или же вы только собираетесь запустить свой проект. В первом случае вы можете ощутить, что хостинга вам не хватает, во втором – вы все еще стоите перед выбором – хостинг или выделенный сервер.

Попробуем разобраться, в каких случаях необходимо покупать выделенный сервер.

Наличие выделенного сервера понадобится вам в том случае, если:

  • Первое - у вас на сайте или проекте должно быть размещено очень много информации. Допустим, вы собрались сделать проект, которому нужно хранить очень много видео- или аудиозаписей. В этом случае можно даже не пытаться купить хостинг, потому что максимум, который там могут вам предложить, как правило, 10-20 Гб.
  • Второе - высокая посещаемость сайта/проекта, допустим от 500-сот человек. При такой посещаемости выделенный сервер не роскошь, а необходимость.
  • Третье - скорость потока единовременной передачи данных при «одновременной активности» на проекте превышает 2 секунды.

На термине «одновременная активность» давайте остановимся подробнее. Если не углубляться в технические термины, то это означает, что на сайте или проекте одновременно чем-то заняты не менее 5 человек. Они могут в один момент писать письма, проходить аторизацию, подгружать какие-либо приложения и т.д.

Это означает, что каждый из них одновременно взаимодействует с сервером. При такой нагрузке, если суммарное время запроса превышает 2 секунды, то вам прямая дорога к покупке выделенного сервера. Конечно же, провайдер, предоставляющий хостинг-услуги, скажет вам, что вы подключены к каналу в 100 mbps, но умолчит о том, что помимо вашого сайта к нем подключены еще 2-3 десятка таких же сайтов.

Исходя из этих соображений, можно сказать предельно просто - если ваш сайт начал грузиться очень медленно, то это повод рассмотреть возможные варианты приобретения выделенного сервера. Сервер не обязательно должен находиться на этом же хостинге, если хостинг не соответствует вашим запросам.

Виды выделенных серверов

Сервера бывают двух видов:

  • физический,
  • виртуальный.

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

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

Стоимость же выделенного сервера полностью зависит от его параметров. Как пример, 60 условных единиц в месяц будет стоить сервер со следующими параметрами:

  • AMD Athlon 64 X2 3400+ 2x1.8 ГГц,
  • объем оперативной памяти 4 ГБ,
  • объем жесткого диска 640 ГБ.

Неплохо было бы обратить внимание на тарифные планы. Оптимальным будет безлимитный трафик и канал со скоростью 100 mbps. Но если же такой скорости вам не хватает, есть варианты, где скорость будет повыше, но, как правило, трафик в таких планах лимитирован. Допустим, терабайт вам дается изначально, а все что сверх этих объемов оплачивается отдельно.

Также существуют тарифы, при которых и скорость 1 ГБ и трафик безлимитный, но за стоимость такого тарифа можно спокойно приобрести физический сервер.

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

Часто может разочаровать факт того, что сайт или проект не стали работать быстрее, а скорость загрузки на хостинге аналогичная. Но здесь может быть ряд проблем с которыми так просто не разберешься. Мой сервер работает как часы и упал он только однажды, после выкладывания нового курса по PHP. Количество желающих загрузить его одномоментно превысило 1000 человек, а такого наплыва сервер не смог выдержать. Благо когда у вас выделенный сервак, то и ваши проблемы решаются очень быстро службой поддержки.

Построение невзламываемого веб-сервера

Давайте теперь поговорим о построении "невзламываемого" веб-сервера на основе систем на одном чипе.

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

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

Если отойти от стереотипов создания и настройки веб-серверов на основе отработанных решений и воспользоваться иными возможностями публикации информации в сети интернет, то можно добиться стойкости портала от взломов, практически на все 100%. Достаточно применить однокристальный компьютер или контроллер.

Достаточно применить однокристальный компьютер или контроллер.

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

Реализация простого веб-сервера с помощью решений, специально предназначенных для подобных целей – передачи информации с датчиков в сеть интернет и есть тот конёк. Расширив функции веб-сервера до нужных масштабов легко дробиться нужных результатов. Компьютерные контроллеры легко подвергаются масштабированию за счёт:

  • расширения оперативной памяти,
  • производительности процессоров,
  • объёмов хранения данных.

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

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

Однокристальные компьютеры и специальные контроллеры, предоставляющие HTTP-интерфейс внешнего доступа позволяет производить операции чтения по запросам к веб-серверу. Записать же информацию на веб-сервер и таким образом внедрить вирусные коды через исполняемые скрипты языков управления веб-контентом не представляется возможным. В этом главная суть реализации невзламываемого веб-сервера на основе специализированных контроллеров, как промышленного производства, так и ручного воплощения.

18 октября 2019 в 14:09 | Обновлено 7 ноября 2020 в 01:20 (редакция)
Опубликовано:
Статьи

1 комментарий

  1. RoyGreatorex
    4 декабря 2020 в 15:04

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

    Ответить

Добавить комментарий

Ваш E-mail не будет никому виден. Обязательные поля отмечены *