Для многих людей, размещающих веб-сайты, что представляет собой их веб-сервер и как он работает, остается загадкой. Но в целом веб-серверы довольно просты.
Прежде чем углубляться в особенности работы веб-серверов, нам нужно понять, что такое сервер. Проще говоря, сервер — это устройство (например, компьютер), предназначенное для предоставления услуг другим устройствам. Эти услуги, по сути, представляют собой программы, которые позволяют другим программам подключаться к ним для определенных целей. В качестве иллюстрации давайте рассмотрим пример, знакомый многим: Netflix. Netflix использует обширную инфраструктуру серверов для потоковой передачи контента подписчикам. Когда вы запускаете приложение Netflix на планшете или телевизоре, вы запускаете программу локально, на своём устройстве, которая затем подключается к другой программе (сервису), размещённой на серверах Netflix. После входа в систему сервис отправляет данные в ваше приложение, например информацию о том, что вы смотрели ранее, что вы, возможно, захотите посмотреть, а также потоковое видео на основе выбранных вами параметров.
Такая настройка называется моделью «клиент-сервер». В примере с Netflix приложение на вашем планшете или телевизоре — это клиент, а сервис, к которому оно подключается на стороне Netflix, — это сервер.
Когда речь идёт о хостинге веб-сайтов, модель точно такая же, хотя функциональность предлагаемых услуг отличается, как и функциональность клиентов, используемых для взаимодействия с этими услугами.
Для большинства людей, владеющих веб-сайтами, наиболее важны две службы: сам веб-сайт и электронная почта. Веб-сайт — это, конечно же, система страниц, которые вы просматриваете в браузере. В данном случае ваш браузер (будь то Chrome, Firefox, Opera или что-то другое) является клиентом. Когда вы вводите URL своего веб-сайта в адресную строку браузера, вы указываете браузеру подключиться к службе, работающей на веб-сервере, которая отвечает за ваш веб-контент. (Чтобы узнать, как ваш компьютер определяет, к какому серверу подключиться на основе введенного вами веб-адреса, прочтите нашу статью Что такое DNS?) Этот сервис, которым часто является Apache, но может быть и другая программа, затем отвечает на запрос вашего браузера, отправляя ему данные, как правило, в формате HTML и CSS. Затем ваш браузер отображает эти данные так, как вы задумали. (Некоторые, несомненно, вспомнят, как им приходилось иметь дело с браузерами, которые отображали эти данные немного иначе.) Клиенты и сервисы, работающие с веб-сайтами, общаются друг с другом по HTTP или протоколу передачи гипертекста. «HTTP», конечно же, знакомо большинству читателей по адресной строке браузера, как и «HTML», что расшифровывается как «язык гипертекстовой разметки».
Веб- технологии стали настолько сложными, что многие обычные веб-сайты теперь используют гораздо больше, чем просто HTTP и HTML. Популярные системы управления контентом, такие как WordPress или Joomla, например, также требуют PHP и базу данных, такую как MySQL. PHP — это язык программирования, который используется только на стороне сервера, то есть он не взаимодействует с клиентом. Но MySQL также работает по модели «клиент-сервер», хотя клиент обычно локален по отношению к самому серверу. Кроме того, многие владельцы веб-сайтов начинают внедрять SSL — протокол безопасности, используемый для шифрования трафика между клиентами и серверами (возможно, вы уже замечали «HTTPS» в адресной строке).
Электронная почта — это ещё одна технология клиент-серверного взаимодействия, которую обычно реализуют веб-серверы. Но в отличие от веб-сайта, который использует один сервис, электронная почта использует два: один отвечает за отправку и получение почты, а другой вы используете для получения почты, отправленной вам. Если вы используете почтовое приложение на своём телефоне или компьютере, оно будет периодически подключаться к почтовому сервису, работающему на вашем сервере, чтобы проверять наличие новых писем. В ответ этот сервис отправит вам данные о клиенте, которые включают не только содержимое ваших электронных писем, но и метаданные, содержащие такую информацию, как адрес отправителя, время отправки письма и сервер, с которого оно было отправлено. Обычно здесь используется либо IMAP, или протокол доступа к сообщениям в Интернете, либо POP, что расшифровывается как Post Office Protocol.
Точно так же, когда вы отправляете электронное письмо из своего приложения другу, ваш клиент подключается к службе передачи почты на вашем сервере и отправляет сообщение. Затем эта служба связывается с аналогичной службой на сервере, на котором размещена электронная почта вашего друга, и доставляет ваше сообщение. Тот же процесс происходит, когда ваш друг отправляет вам электронное письмо. В этом случае обычно используется SMTP, или простой протокол передачи почты.
Как и в случае с веб-технологиями, использование электронной почты часто подразумевает нечто большее, чем просто протоколы электронной почты. В наши дни многие люди пользуются веб-почтой, а не приложением. А те, кто использует приложения, чаще подключаются по протоколу SSL.
На сервере можно запустить множество других сервисов, но веб-серверы обычно используются для сервисов, напрямую связанных с веб-сайтами и электронной почтой, а в некоторых случаях и для хранения данных. Обязательно прочитайте наши обзоры различных хостинговых компаний, чтобы узнать, что они предлагают.






