Заявка на услуги DST
Наш специалист свяжется с вами, обсудит оптимальную стратегию сотрудничества,
поможет сформировать бизнес требования и рассчитает стоимость услуг.
О том, что статический сайт состоит из простых HTML-файлов, знают все, но процесс создания динамических страниц понимает не каждый. Полное представление этого механизма лежит в основе построения сайтов при помощи серверных языков программирования. В этой статье специалисты DST Global (dstglobal.ru) расскажут как создаются динамические страницы.
В динамическом сайте страницы не существует, пока посетитель не перейдет по конкретной ссылке. Своим переходом он отправляет на сервер параметры запроса, являющиеся сегментами ссылки, после чего сервер оправляет ответ в виде HTML-кода.
Использование сайта заключается в обмене данными между посетителем и удаленным сервером. Сам того не замечая, первый посылает запросы через свой браузер, а второй отвечает на них. Основными запросами являются GET и POST. Запрос GET это обычная строковая ссылка на сайте, переход по которой служит командой серверу.
Сервер, получив строку запроса, передает ее управляющей программе (скрипту) для дальнейшей обработки. Например, ссылка может выглядеть так: site.ru/blog/user/alex. Сегментами ссылки могут быть: blog, user, alex. По логике, эта ссылка должна привести на страницу всех записей пользователя alex или страницу с описанием профиля. Не важно.
Всю полученную строку скрипт может разбить на указанные сегменты, а потом эти значения использовать для запроса к базе данных (БД). Так как в базе могут находиться сотни пользователей, значение alex нужно для того, чтобы извлечь конкретного. Однако данный пользователь может не только вести блог, но и участвовать в форумах, поэтому значение blog нужно, чтобы уточнить, какие именно записи пользователя показывать (в блоге).
Данные в БД чаще всего записаны не в том виде, в каком их ожидает посетитель сайта. Нередко для формирования одного ответа извлекаются данные из нескольких таблиц БД. Более того, некоторые строки или списки формируются из значений, содержащихся в разных столбцах таблицы. Данные также могут храниться и в файлах, и так же быть частью формируемого ответа. Одним словом, данные хранятся в неудобном для человеческого восприятия виде, но именно такой способ хранения удобен машине.
Если обобщить, то программа на сервере, получив необходимые параметры, собирает в кучу все данные, а затем приводит их в относительно понятную форму, после чего они передаются следующей программе для генерации вида.
В веб-программировании видом считают HTML-код. Вид отвечает за то, как именно собранные данные будут отображаться, вид формируется автоматически, за этот процесс может отвечать одна или более функций. Реализации бывают разные. Вот пример. Функция генерации вида списка записей получает в качестве параметра массив данных, в котором содержатся заголовки и описания записей, созданных конкретным пользователем. Предположим, в БД найдено пять записей пользователя alex — функция должна вернуть HTML-код, состоящий из пяти элементов.
В данном случае в функции описывается шаблон лишь одного элемента, но так как в массиве их пять, то при циклической обработке (пять итераций) создается одна большая строка (HTML-код из пяти элементов). Если элемент кода нуждается в изменениях, то их достаточно внести в одном месте в шаблоне, после чего будут изменены все виды.
Приведен пример создания одного визуального элемента, но конечная страница состоит и из других. В некоторых реализациях любой HTML-код создается динамически, в некоторых применяют некий смешанный подход. Например, сама страница (head, body и другие базовые части) может быть статической, а динамическими являются какие-то определенные блоки. Это удобно для одностраничных сайтов.
Помимо вида формируются еще и новые ссылки. Записи пользователя пронумерованы в БД, и когда создается вид со списком этих записей, в этом же цикле могут создаваться и ссылки на отдельные страницы. Так, если посетитель перейдет по ссылке blog/alex/4, он получит страницу с отображением записи с идентификатором 4. И таких записей в БД может быть миллионы. Очевидно, что вручную с таким объемом не справиться, поэтому динамические сайты обладают явным преимуществом.
Наш специалист свяжется с вами, обсудит оптимальную стратегию сотрудничества,
поможет сформировать бизнес требования и рассчитает стоимость услуг.
Ижевск, ул. Воткинское шоссе, д. 170 Е, Технопарк Нобель, офис 1117
Задать вопрос по почте