stringtranslate.com

Динамическая веб-страница

Динамическая веб-страница: пример серверных сценариев ( PHP и MySQL ).

Динамическая веб-страница — это веб-страница , созданная во время выполнения (во время выполнения программного обеспечения ), в отличие от статической веб-страницы , доставляемой по мере ее сохранения. Динамическая веб-страница на стороне сервера — это веб-страница , создание которой контролируется сервером приложений , обрабатывающим серверные сценарии. [1] В сценариях на стороне сервера параметры определяют , как будет происходить сборка каждой новой веб-страницы , включая настройку дополнительной обработки на стороне клиента. Динамическая веб-страница на стороне клиента обрабатывает веб-страницу с помощью JavaScript , выполняемого в браузере при ее загрузке. JavaScript может взаимодействовать со страницей через объектную модель документа (DOM), чтобы запрашивать состояние страницы и изменять его. Несмотря на то, что веб-страница может быть динамической на стороне клиента, она все равно может размещаться на статическом хостинге, таком как GitHub Pages или Amazon S3 , если в нее не включен какой-либо серверный код.

Затем динамическая веб-страница перезагружается пользователем или компьютерной программой для изменения некоторого переменного содержимого. Информация об обновлении может поступать с сервера или в результате изменений, внесенных в DOM этой страницы. Это может привести к усечению или не усечению истории просмотров или созданию сохраненной версии для возврата, но динамическое обновление веб-страницы с использованием технологий AJAX не создаст страницу для возврата и не усечет историю веб-просмотра вперед отображаемой страницы. Используя AJAX, конечный пользователь получает одну динамическую страницу, управляемую как одну страницу в веб-браузере, в то время как фактический веб-контент , отображаемый на этой странице, может варьироваться. Механизм AJAX работает только в браузере, запрашивая части своего DOM, DOM для своего клиента, с сервера приложений. Конкретный сервер приложений может предлагать стандартизированный интерфейс в стиле REST для предоставления услуг веб-приложению. [2]

DHTML — это общий термин для технологий и методов, используемых для создания веб-страниц, которые не являются статическими веб-страницами , хотя он вышел из общего употребления после популяризации AJAX, термина, который сейчас используется редко. Сценарии на стороне клиента, сценарии на стороне сервера или их комбинация обеспечивают динамическую работу в Интернете в браузере.

Базовые концепты

Классическая гипертекстовая навигация, использующая только HTML или XHTML , предоставляет «статический» контент, то есть пользователь запрашивает веб-страницу и просто просматривает ее и информацию на этой странице.

Однако веб-страница также может обеспечивать «живой», «динамический» или «интерактивный» пользовательский интерфейс. Содержимое (текст, изображения, поля форм и т. д.) на веб-странице может меняться в зависимости от различных контекстов или условий.

Создать такой эффект можно двумя способами:

Веб-страницы, использующие сценарии на стороне клиента, должны использовать технологию представления, широко называемую страницами с богатым интерфейсом . Языки сценариев на стороне клиента, такие как JavaScript или ActionScript , используемые для технологий динамического HTML (DHTML) и Flash соответственно, часто используются для управления типами мультимедиа (звук, анимация, изменяющийся текст и т. д.) презентации. Сценарии также позволяют использовать удаленные сценарии — метод, с помощью которого страница DHTML запрашивает дополнительную информацию с сервера, используя скрытый Frame , XMLHttpRequests или веб-службу .

Веб-страницы, использующие серверные сценарии, часто создаются с помощью серверных языков, таких как PHP , Perl , ASP , ASP.NET , JSP , ColdFusion и других языков. Эти серверные языки обычно используют Common Gateway Interface (CGI) для создания динамических веб-страниц . Эти типы страниц также могут использовать на стороне клиента первый тип (DHTML и т. д.).

История

Трудно быть точным относительно «начала динамических веб-страниц» или хронологии, поскольку точная концепция имеет смысл только после «широкомасштабного развития веб-страниц». HTTP существует с 1989 года, HTML публично стандартизирован с 1996 года. Рост популярности веб-браузера начался с Mosaic в 1993 году. В период с 1995 по 1996 год на рынке было представлено несколько динамических веб-продуктов, включая Coldfusion , WebObjects , PHP и Active Server . Страницы .

Появление JavaScript (тогда известного как LiveScript) позволило создавать динамические веб-страницы на стороне клиента, при этом код JavaScript выполнялся в браузере клиента. [4] Буква «J» в термине AJAX изначально обозначала использование JavaScript, а также XML . С появлением серверной обработки JavaScript, например Node.js , первоначально разработанной в 2009 году, JavaScript также используется для динамического создания страниц на сервере, которые отправляются клиентам в полностью сформированном виде.

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

Серверные сценарии

В экосистеме клиент-сервер есть четыре этапа: браузер, HTTP-запрос, веб-сервер и ответ. Скрипты на стороне сервера возникают, когда динамическая веб-страница или ресурс обрабатывается и генерируется веб-сервером.
Когда делается запрос к динамической веб-странице или ресурсу, сервер приложений обрабатывает запрос, используя свой серверный язык.

Программа, работающая на веб-сервере ( серверные сценарии ), используется для создания веб-контента на различных веб-страницах, управления сеансами пользователей и контроля рабочего процесса. Ответы сервера могут определяться такими условиями, как данные в опубликованной HTML-форме , параметры в URL-адресе , тип используемого браузера, течение времени или состояние базы данных или сервера .

Такие веб-страницы часто создаются с помощью серверных языков, таких как ASP , ColdFusion , Go , JavaScript , Perl , PHP , Ruby , Python , WebDNA и других языков, сервером поддержки , который может работать на том же оборудовании, что и веб-страница. веб сервер. Эти серверные языки часто используют Common Gateway Interface (CGI) для создания динамических веб-страниц. Двумя заметными исключениями являются ASP.NET и JSP , которые повторно используют концепции CGI в своих API, но фактически отправляют все веб-запросы в общую виртуальную машину.

Серверные языки используются для встраивания тегов или маркеров в исходный файл веб-страницы на веб-сервере. [5] Когда пользователь на клиентском компьютере запрашивает эту веб-страницу, веб-сервер интерпретирует эти теги или маркеры для выполнения действий на сервере. Например, серверу может быть дано указание вставить информацию из базы данных или такую ​​информацию, как текущая дата.

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

Сценарии на стороне клиента

Сценарии на стороне клиента изменяют поведение интерфейса на определенной веб-странице в ответ на действия устройства ввода или на определенные временные события. В этом случае динамическое поведение происходит внутри презентации . Содержимое на стороне клиента создается в локальной компьютерной системе пользователя. [6]

Такие веб-страницы используют технологию представления, называемую страницами с богатым интерфейсом . Языки сценариев на стороне клиента, такие как JavaScript или ActionScript , используемые для технологий динамического HTML (DHTML) и Flash соответственно, часто используются для управления типами мультимедиа (звук, анимация, изменяющийся текст и т. д.) презентации. Сценарии на стороне клиента также позволяют использовать удаленные сценарии — метод, с помощью которого страница DHTML запрашивает дополнительную информацию с сервера, используя скрытый фрейм , XMLHttpRequests или веб-службу .

Первое публичное использование JavaScript произошло в 1995 году, когда этот язык был реализован в Netscape Navigator 2 , стандартизированном как ECMAScript два года спустя. [7]

Пример

Содержимое на стороне клиента создается на компьютере клиента. Веб-браузер получает страницу с сервера, затем обрабатывает встроенный в страницу код (обычно написанный на JavaScript ) и отображает содержимое полученной страницы пользователю. [8]

Свойство innerHTML(или команда записи) может иллюстрировать генерацию динамической страницы на стороне клиента: две отдельные страницы, A и B, могут быть созданы повторно (посредством «динамического ответа на событие») как document.innerHTML = Aи document.innerHTML = B; или «при динамической нагрузке» с помощью document.write(A)и document.write(B).

Комбинированные технологии

Все клиентские и серверные компоненты, которые вместе создают динамическую веб-страницу, называются веб-приложением . Веб-приложения управляют взаимодействием пользователей, состоянием, безопасностью и производительностью. [9]

Ajax использует комбинацию сценариев на стороне клиента и запросов на стороне сервера. Это метод разработки веб-приложений для динамического обмена контентом, который для этого отправляет запросы на данные на сервер. Сервер возвращает запрошенные данные, которые затем обрабатываются клиентским скриптом. Этот метод может сократить время загрузки сервера, поскольку клиент не запрашивает повторную генерацию всей веб-страницы языковым анализатором сервера; передается только тот контент, который будет меняться. Карты Google — это пример веб-приложения, использующего методы Ajax.

Веб -клиент , например веб-браузер, может выступать в качестве собственного сервера, получая доступ к данным со множества различных серверов, таких как Gopher, FTP, NNTP (Usenet) и HTTP, для создания страницы. HTTP поддерживает загрузку документов с клиента обратно на сервер. Для этого существует несколько HTTP-методов .

Смотрите также

Рекомендации

  1. ^ ДеГрот, Сэнди. «Руководства по предметам и курсам: Цифровой UIC: статические и динамические веб-сайты». www.researchguides.uic.edu . Проверено 12 декабря 2023 г.
  2. ^ Филдинг, Рой Томас (2000). «Глава 5: Передача представительского состояния (REST)». Архитектурные стили и проектирование сетевых архитектур программного обеспечения (доктор философии). Калифорнийский университет в Ирвайне.
  3. ^ Нельсон, Энн; Нельсон, Уильям Х.М. (2002). Построение электронной коммерции с помощью конструкций веб-баз данных. Эддисон Уэсли. ISBN 9780201741308.
  4. ^ Бенсон, Брент В. (1999). «Яваскрипт» . Уведомления ACM SIGPLAN . 34 (4): 25–27. дои : 10.1145/312009.312023 . S2CID  10076062..
  5. ^ Татро, Кевин (2013). Программирование PHP: создание динамических веб-страниц (3-е изд.). О'Рейли. ISBN 9781449365837.
  6. ^ Дойл, Барри; Лопес, Кристина Видейра (17 января 2008 г.). «Обзор технологий разработки веб-приложений». arXiv : 0801.2618 [cs.SE].
  7. ^ Окин, младший (2005). Информационная революция: Руководство по истории, технологиям и использованию Всемирной паутины для «не для чайников» . Железная пресса. ISBN 9780976385745.
  8. ^ «Изучение VBScript», П. Ломакс. ISBN 1-56592-247-6 . Эд. О'Рейли, 1997. с. С13. 
  9. ^ Веб-приложение на Wayback Machine (архивировано 22 февраля 2014 г.)

Внешние ссылки