Содержание
Веб-сервер. Если спросить разработчика или программиста, он скажет: это специальное программное обеспечение обслуживает запросы клиента и дает ему доступ (или не дает) к определенным сайтам. Сисадмин уверен, что это часть вычислительной системы, в которую входят компьютеры, ПО, компьютерные сети. Оба окажутся правы, потому что сервер принимает и дает ответы на запросы клиента в виде страниц, документов, файлов, изображений, медиа-потоков.
Как компьютер может стать сервером
Проще простого. Нужна всего-навсего специальная оболочка, которую устанавливают на компьютер. Только его мощность должна соответствовать количеству ресурсов, которые на нем размещены, удовлетворять требования к быстродействию. Надо разместить большее ресурсов, обеспечить высокую скорость – компьютер должен быть более мощным.
Весь процесс чем-то напоминает поход в библиотеку. Человек захотел прочитать конкретную книгу. Он обращается с просьбой к библиотекарю. Тот идет в книгохранилище за нужной книгой, находит ее и выдает читателю. В данном примере роль сервера со всеми данными выполняет книгохранилище. Роль оболочки выполняет библиотекарь, принявший запрос и выдавший ответ. А читатель является клиентом.
Если нужна дополнительная информация, можно еще раз обратиться с запросом к библиотекарю. Точно также мы кликаем по ссылке. Отличие книгохранилища состоит в том, что конкретная книга выдается одному читателю, а сервер предоставит доступ к информации неограниченному числу пользователей
Можно провести аналогию с обслуживанием. Клиент обращается с вопросом к библиотекарю (поисковой системе) или ищет сам в указателе (каталогах Яндекса).
Задачи и функции
Как и книгохранилище, сервер должен хранить информацию в виде страниц, текстового контента, изображений, видеоматериалов, любых файлов. Его функционал обеспечивает:
- Получение запросов.
- Запуск программ на серверных языка программирования.
- Формирование веб-страниц.
- Отправку сформированных страниц клиенту.
- Защиту информации.
- Идентификацию посетителей.
- Ведение журнала обращений.
- Обслуживание запросов mailto, связанных с почтовым клиентом, FTP – протоколом передачи файлов и других.
Принцип работы
Основой работы сервера являются протоколы. Это правила, по которым информация передается по сети. Обычно его пишут в начале URL-адреса. Указания ftp или http:// встречаются не часто.
Наиболее часто стали появляется URL-адреса, которые начинаются с https://. Это относится к протоколу передачи гипертекста. Когда сервер формирует страницу, он знает, что должен сделать ее гипертекстовым документом.
Это происходит следующим образом:
- Пользователь ввел адрес или кликнул ссылку.
- Браузер по всем правила закодировал информацию и передал запрос.
- Хостинг, на котором находится адрес, должен активировать серверные программы, обязанные выполнять определенные функции.
- Начинается расшифровка данных, выполнение команд.
- Выполняется формирование гипертекста, его кодируют и возвращают отправителю.
- Браузер обязан принять ответ, перевести код на язык гипертекстовой разметки, отобразить страницу на мониторе.
Без чего веб-сервер не работает
Ни один сервер не может обойтись без компьютера. Если его нет, то запросы некому обрабатывать. Плюс нагрузка, которая на него ложится. Если посетителей много, то мощность машины должны быть соответствующей.
Чтобы не покупать очень дорогое оборудование, можно обратиться в фирму, которая специализируется на предоставлении услуг хостинга. У нее можно арендовать сервер и получить квоту на размещение файлов. Стоит отметить, что простенькие сайты могут справиться сами.
Второй пункт – привязка статического IP-адреса к серверу. Служба доменных имен DNS свяжет IP-адрес (пример, 777.777.777.777
) с доменным именем (к примеру, www.noname.com
). Теперь к сайту открыт доступ.
Топ-3 популярных оболочек
Пришло время познакомиться с тремя популярными оболочками – системами управления серверов: Apache, NGNIX, IIS.
Apache
Кроссплатформенное ПО распространяется бесплатно, постоянно поддерживается разработчиками.
Достоинства:
- доступен благодаря открытому коду, можно адаптировать к русской кодировке;
- гибкие настройки (есть разные конфигурационные файлы);
- модульная структура позволяет работать с динамическим и статическим контентом;
- веб-ориентированные языки обеспечивают совместимость с разным серверным ПО и базами данных;
- безопасность;
- кроссплатформенность позволяет работать на Unix-подобных системах, Mac OS, Windows;
- хорошо работает с одностраничными (лендингами) и многостраничными сайтами.
К сожалению, Apache не лишен недостатков:
- производительность ниже, чем у конкурентов. Это «расплата» за гибкость. Хотя все исправляется отключением ненужных опций;
- сложность конфигурации;
- использование разных переменных делает настройку немного сложной для новичков;
- много лишнего функционала, которым большинство не пользуется, а только тратит время на его отключение.
Многие считают Apache универсальным инструментом, который поможет быстро запустить любые проекты от маленьких до очень масштабных.
NGNIX
Компания Netcraft, занимающаяся анализом доли активных площадок, работающих на Ngnix, зафиксировала этот показатель на уровне 21.13 процентов. Среди его клиентов Rambler. Яндекс, Mail.ru. Он активно используется профессиональными разработчиками, крупными компаниями. Его преимущества: надежность, безопасность, способность выдержать большой поток посетителей, распространяется бесплатно. Основной недостаток: с динамическим контентом самостоятельно не работает.
Желающие могут купить платную версию «Plus», цена которой начинается с двух с половиной тысяч долларов.
IIS
Громкое имя разработчика (Microsoft) сделало его известным. Это набор сервисов, которые позволяют создать веб-сервер, глубоко интегрированный с Windows. Родная платформа ASP.Net, альтернатива – PHP. Чтобы получить полноценный хостинг нужно установить Windows Server, начиная с 7 версии, иначе не получить поддержку. Более ранние версии не поддерживались. Поставляется в комплекте с ОС Windows NT.
Об установочных пакетах
Начинающий программист и разработчик может развернуть веб-сервер на своем компьютере, кликнув всего несколько раз. Для этого созданы специальные инструменты, такие как OpenServer, Xampp, Localhost Denver.
OpenServer
В портативную среду входят разные базы данных, языки программирования со своими версиями. Инсталляционный набор дополнен интерфейсом для базы данных PhpMyAdmin. Для работы можно использовать флешку. У бесплатного скачивания скорость низкая, за небольшую плату ее можно увеличить в несколько раз.
Xampp
Бесплатное скачивание, для управления предусмотрена панель. Совместимость с пакетами Php, кроссплатформенным ПО Apache, Perl и другими.
Localhost Denver
В наборе для разработчиков есть все нужные инструменты, хороший набор пакетов, но с устаревшими дистрибутивами. Новых обновлений нет давно.