Jump to content

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

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

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

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

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

Основные понятия

[ редактировать ]

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

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

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

  • Использование сценариев на стороне клиента для изменения поведения интерфейса на определенной веб-странице в ответ на действия мыши или клавиатуры или на определенные временные события. В этом случае динамическое поведение происходит внутри презентации .
  • Использование сценариев на стороне сервера для изменения предоставленного источника страницы между страницами, настройки последовательности или перезагрузки веб-страниц или веб-контента, передаваемого в браузер. Ответы сервера могут определяться такими условиями, как данные в опубликованной HTML-форме , параметры в URL-адресе , тип используемого браузера, течение времени или состояние базы данных или сервера . [3]

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

Веб-страницы, использующие серверные сценарии, часто создаются с помощью серверных языков, таких как PHP , Perl , ASP , 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 и других языков, сервером поддержки , который может работать на том же оборудовании, что и веб-страница. веб-сервер. Эти серверные языки часто используют общий интерфейс шлюза (CGI) для создания динамических веб-страниц. Двумя заметными исключениями являются ASP.NET и JSP , которые повторно используют концепции CGI в своих API, но фактически отправляют все веб-запросы в общую виртуальную машину.

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

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

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

[ редактировать ]

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

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

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

Пример

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

The 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. ^ «Веб-приложение» . Архивировано из оригинала 22 февраля 2014 года . Проверено 24 июля 2013 г. {{cite web}}: CS1 maint: bot: исходный статус URL неизвестен ( ссылка )
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 462aa18c9d97420a46266fe94c740f47__1720725600
URL1:https://arc.ask3.ru/arc/aa/46/47/462aa18c9d97420a46266fe94c740f47.html
Заголовок, (Title) документа по адресу, URL1:
Dynamic web page - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)