Веб сервер - это вычислительная машина со специальным ПО (программное обеспечение), которая принимает запросы пользователей в виде определенных протоколов (http, https) и отправляет результат в виде html страницы на браузер пользователя.
Чтобы вычислительная машина стала веб-сервером на него нужно установить специальную программную оболочку. Технические требования к компьютеру зависят от количества размещаемых ресурсов и требованиями к скорости обработки запросов. Чем мощнее вычислительная машина, тем быстрее может обработать запросы веб сервер.
Какие задачи решает веб сервер.
Главная задача веб- сервера это хранение информации и обработка запросов. Файлы, таблицы, базы данных, картины, html страницы.
Также веб-сервер решает следующие задачи:
- Принимает запросы от пользователей
- Запускает специальные функции на языках программирования (серверныз)
- генерирует веб страницы
- отправляет результат в виде html страницы на браузер пользователя
- Защищает от несанкционированного доступа к данным веб сервера
- проводить идентификацию пользователей
- вести журнал (log файл) запросов и запускаемых функций
Для того чтобы иметь представление о том , как функционирует веб сервер, нужно знать принципы передачи информации в интернете. Их основа , это определенные протоколы: любой веб адрес начинается с типа ftp: , http://,https://.
Hyper Text Transfer Protocol – протокол передачи html документа во всемирной паутине. Страницы любого сайта представляют собой гипертекстовый документ (html страница).
- При введении адреса пользователем браузера или нажатии на ссылку , браузер отправляет запрос, кодируя по данному протоколу http
- Хост , к которому привязан адрес, запускает функции веб сервера согласно запросу пользователя
- Веб сервер обрабатывает запрос, генерируется гипертекст, кодируется по протоколу, и отправляется обратно клиенту
- Браузеру приходит ответ на запрос, преобразовывается информация в html и выводится на экран
Существуют компании, которые занимаются предоставлением веб серверов в аренду (хостинг). Пользователю услуги дается квота для размещения файлов сайта.
Для начинающих веб программистов можно развернуть локальный веб сервер на своем компьютере для обучения, накопления опыта.
Когда вопрос с сервером для сайта решен, нужно привязать к нему статический IP-адрес.
Веб сайт будет доступен на веб-сервере после того, как зарегистрировано доменное имя, совершено преобразование адресов службой DNS — связывание IP-адреса (к примеру, 123.100.100.100) и домена (www.mydomen.ru).
Далее мы рассмотрим популярную программную оболочки для веб серверов Apache.
Веб сервер Apache
Это бесплатный, свободно распространяемый продукт, который имеет много преимуществ:
- Постоянная поддержка разработчиков.
- Программные приложения для работы с серверными языками программирования PHP, Perl, Python, Ruby, ASP и т.д.
- Открытый код оболочки веб сервера. Доработкой этого продукта занимаются разные программисты во всем мире.
- Совместимость с разными операционными системами. Вначале был создан под ОС Unix, но сейчас поддерживается ОС Windows, Mac OS, BSD, Linux, и т.д.
- Надежность и безопасность.
Также есть такие ПО для веб серверов NGNIX, IIS
Для начинающих программистов и разработчиков создаются установочные дистрибутивы, которые позволяют в несколько шагов развернуть веб-сервер у себя на компьютере.
OpenServer. Портативная среда разработки, включающая множество баз данных, языков программирования и их версий, а также дополнительные сервисы. Например, интерфейс PhpMyAdmin для работы с БД MySQL. На сегодняшний день это самый популярный инсталляционный набор. Этот дистрибутив можно скачать здесь. Я тоже скачал его себе на ноутбук и иногда пользуюсь для тестирования некоторых задач.
Denwer. Довольно таки удобный набор всех нужных инструментов, включающий Apache, PHP, MySQL, PhpMyAdmin. До OpenServer я пользовался этим дистрибутивом, но со временем он устарел и перестал поддерживаться и я перешел на Openserver