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 , используемые для технологий Dynamic 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 Pages .

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

MediaWiki , система управления контентом , на которой работает Wikipedia, является примером изначально динамической веб-страницы на стороне сервера, с которой взаимодействовали посредством отправки форм и параметров 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 , используемые для технологий Dynamic 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 Maps — пример веб-приложения, использующего методы Ajax.

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

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

Ссылки

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

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