На данном сайте используются cookie-файлы и аналогичные технологии. Если, прочитав это сообщение, вы остаетесь на сайте, это означает, что вы не возражаете против использования этих технологий.
Подробнее Хорошо
vk pixel
Архитектура простых сайтов

Блог

06. 02. 2017г.
2
Введение.

Этот пост, в противоположность предыдущему, будет не для программистов, а скорее для тех, кто в Интернет-технологиях - пользователь. Итак...

Из чего состоит и как работает сайт? Немного необычный (хотя и достаточно известный в узких кругах) взгляд в этом посте, и он заключается в том, что сайт - это функция. Наподобие математической, y = f(x). Если не вдаваться в подробности, то для обычного пользователя сети Интернет, вот эта самая f - и есть сайт, в то время как x - это строка запроса в браузере, а y - ответ от сайта, который в нем же и отображается.

Компоненты и работа сервера, на котором работают сайты.

Если смотреть "с высоты птичьего полета", сайт состоит из следующих компонент, в порядке их вступления в дело на сервере, где размещен сайт (хостинг):
1. Сервер статики. Статика - это файлы, содержимое которых не зависит от запроса (изображения, файлы стилей для контента, скриптов обработки пользовательских событий в браузере, вложенные документы). Для них ставят быстрые серверные приложения, и чаще всего это многим известный Nginx.
2. Сервер, запускающий код сайта. Чаще всего это Apache - он умеет запускать код, предварительно сообщив ему характеристики запроса (ту самую строку запроса из браузера скажем).
3. Собственно, программный код сайта (очень распространен язык PHP), о которым мы поговорим чуть далее и подробнее. Он в ответ на запрос генерирует HTML, отображаемый (как называют этот процесс программисты - рендеринг, от английского rendering) в браузере клиента. Этот код часто взаимодействует с базой данных.
4. База данных - хранилище данных, чаще всего MySQL. В базе данных удобно хранить перечисляемые объекты, например, записи новостей или записи о товарах, записи о зарегистрированных пользователях и их заказах. База данных позволяет быстро получать различные срезы перечисляемых объектов (по определенному признаку, например - по категории).

MySQL

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

Об устройстве программного кода и системах управления контентом (CMS).

Системы управления контентом (Content Management Systems) - это заготовленные заранее сайты, как минимум, с уже готовыми функциями администрирования контента и методами работы по сохранению/извлечению его из базы данных.
Все они отличаются, в первую очередь:
1. Набором функций: как можно организовать контент, какие типы уже заготовлены (новости, товары, и тому подобное), какие технические возможности он предоставляет (резервное копирование например).
2. Внешним видом административной и публичной части. Для публичной части возможно выбрать как эксклюзивный дизайн (по заказу), так и шаблонные варианты (которые в большинстве случаев можно до некоторой степени поменять). Вид административного интерфейса обычно не меняют, но от него так же часто требуется некоторое удобство. Например, корректная работа в мобильных браузерах.
3. Ценой. Существуют как платные системы управления контентом (например, многофункциональный 1С-Битрикс, который хорошо подходит для Интернет-магазинов), так и бесплатные - многим известный Wordpress (который хорошо подходит для одностраничных или сайтов, где основной упор на текстовом контенте).
Разные CMS в своих "внутренностях" (программном коде) устроены сильно по-разному. Это связанно и со внешним видом, и с функциональностью.

Заключение.

В этом обзорном посте мы неглубоко рассмотрели как работают некоторые несложные сайты. Существуют и отличные от описанного выше способы работы серверов. Так, достаточно молодая технология Node.JS работает иначе - там каждый запрос не обрабатывается новым экземпляром программного кода, а обрабатывает поток событий (различные запросы) в одном цикле. Это удачное решение не столько для веб-сайтов, сколько для веб-приложений (требующих совместной работы - например, одновременное онлайн-редактирование документов). Но историю об этом мы прибережем на будущее :)

2 комментария
Arsenwrown
11.02.2017
подскажите пожалуйста на каком движке сделан этот сайт
17.02.2017
Добрый день! Наш сайт под управлением CMS 1C-Битрикс.
Назад
В корзине 0 товаров на 0 р.