мини|500x500п|Динамичка веб страница: пример серверског скриптовања (PHP и MySQL) Динамичка веб страница је веб страница која се конструише током извршавања програма (током извршавања софтвера), за разлику од статичне веб странице која се испоручује онако како jе сачувана.
Динамичка веб страница на страни сервера је веб страница чију конструкцију контролише апликативни сервер који обрађује скрипте на страни сервера. У скриптовању на страни сервера, параметри одређују како се одвија креирање сваке нове веб странице, укључујући и подешавање додатне обраде на страни клијента.
Динамичка веб страница на страни клијента обрађује веб страницу користећи JavaScript који се покреће у прегледачу док се она учитава. JavaScript може да комуницира са страницом путем Document Object Model (DOM), да би испитивао стање странице и модификовао је. Иако веб страница може бити динамичка на страни клијента, она и даље може бити хостована на статичким хостинг сервисима као што су GitHub Pages или Amazon S3, све док нема укљученог кода на страни сервера.
Динамичку веб страницу затим поново учитава корисник или рачунарски програм да би променио неки променљиви садржај. Ажурирање информација може се вршити са сервера или из промена направљених на DOM те странице. Ово може, али и не мора, скратити историју прегледања или креирати сачувану верзију за враћање на исту, док динамичко ажурирање веб странице помоћу AJAX технологија неће ни креирати страницу за враћање, нити скратити историју прегледања веба испред приказане странице. Користећи AJAX, крајњи корисник добија једну динамичку страницу којом се управља као једном страницом у веб прегледачу, док се стварни веб садржај приказан на тој страници може разликовати. AJAX механизам се налази само на прегледачу и захтева делове свог DOM, DOM, за свог клијента, од апликативног сервера. Одређени апликатовни сервер може понудити стандардизовани REST интерфејс за пружање услуга веб апликацији.
DHTML је општи термин за технологије и методе које се користе за креирање веб страница које нису статичне веб странице, који је изашао из уобичајене употребе од популаризације AJAX и који се сада сам по себи ретко користи. Скриптовање на страни клијента, скриптовање на страни сервера или комбинација наведених, омогућава динамично веб искуство у прегледачу.
Основни концепти Класична хипертекстуална навигација, само помоћу HTML или XHTML, пружа „статички“ садржај, што значи да корисник захтева веб страницу и једноставно прегледа страницу и информације на тој страници.
Међутим, веб страница такође може кориснику да пружи „живо“, „динамичко“ или „интерактивно“ искуство. Садржај (текст, слике, поља обрасца итд.) на веб страници може се мењати као одговор на различите контексте или услове.
Постоје два начина за креирање ове врсте ефекта:
Коришћење скриптовања на страни клијента за промену понашања интерфејса унутар одређене веб странице, као одговор на радње миша или тастатуре, подаци се примају са веб API, веб сокета или у одређеним временским догађајима. У овом случају, динамичко понашање се дешава унутар презентације. Коришћење скриптовања на страни сервера за промену изворног кода странице између страница, подешавање редоследа или поновно учитавање веб страница или веб садржаја на прегледачу. Одговори сервера могу бити одређени условима као што су подаци у објављеној HTML форми, параметри у URL, тип прегледача који се користи, проток времена или стање базе података или сервера.
Веб странице које користе скриптовање на страни клијента морају да користе технологију презентације, која се широко назива страницама са богатим интерфејсом. Језици за скриптовање на страни клијента, попут JavaScript или ActionScript, који се користе за Dynamic HTML (DHTML) и Flash технологије, респективно, често се користе за оркестрирање типова медија (звук, анимације, промена текста итд.) презентације. Скриптовање такође омогућава коришћење удаљеног скриптовања, технике којом DHTML страница захтева додатне информације са сервера, користећи скривени оквир (Hidden Frame), XMLHttpRequests или веб сервис. Такође је могуће користити веб оквир за креирање веб API, који клијент, путем употребе JavaScript-а, користи за добијање података и динамичку промену његовог изгледа или понашања у зависности од података.
Веб странице које користе скриптовање на страни сервера често се креирају уз помоћ серверских скриптних језика као што су 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 кодом који се извршава у прегледачу клијента. Слово „J“ у термину AJAX првобитно је означавало употребу JavaScript-а, као и XML-а. Са порастом обраде JavaScript-а на страни сервера, на пример, Node.js, првобитно развијеног 2009. године, JavaScript се такође користи за динамичко креирање страница на серверу које се потпуно формиране шаљу клијентима.
МедијаВики, систем за управљање садржајем који покреће Википедију, је пример оригинално серверске динамичке веб странице, са којом се интеракција остварује путем слања образаца и URL параметара. Временом, прогресивно унапређивана проширења, попут визуелног уређивача, такође су додавала елементе који су динамички на страни клијента, док оригинални динамички елементи на страни сервера, попут класичног обрасца за уређивање, остају доступни за коришћење (грациозна деградација) у случају грешке или некомпатибилности.
Скриптовање на страни сервера мини|300x300п|Када се направи захтев динамичкој веб страници или ресурсу, апликацијски сервер обрађује захтев користећи свој серверски језик. Програм који се покреће на веб серверу користи се за генерисање веб садржаја на различитим веб страницама, управљање корисничким сесијама и контролу процеса рада. Одговори сервера могу бити одређени условима као што су подаци у објављеном HTML обрасцу, параметри у URL, тип прегледача који се користи, проток времена или стање базе података или сервера.
Такве веб странице се често креирају уз помоћ серверских језика као што су ASP, ColdFusion, Java, JavaScript, Perl, PHP, Ruby, Python и други језици, од стране сервера за подршку који може да ради на истом хардверу као и веб сервер. Ови серверски језици често користе Common Gateway Interface (CGI) за креирање динамичких веб страница. Два значајна изузетка су ASP.NET и JSP, који поново користе CGI концепте у својим API-јима, али заправо шаљу све веб захтеве у дељену виртуелну машину.
Серверски језици се користе за уграђивање ознака или маркера унутар изворне датотеке веб странице на веб серверу. Када корисник на клијентском рачунару захтева ту веб страницу, веб сервер интерпретира ове ознаке или маркере да би извршио радње на серверу. На пример, сервер може бити инструкован да убаци информације из базе података или информације као што је тренутни датум.
Динамичке веб странице се често кеширају када се очекује мало или нимало промена и очекује се да ће страница примити значајну количину веб саобраћаја који би значајно оптеретио сервер и успорио учитавање странице ако би морао да генерише странице у ходу за сваки захтев.
Скриптовање на страни клијента Скриптовање на страни клијента је промена понашања интерфејса унутар одређене веб странице као одговор на радње улазних уређаја или у одређеним временским догађајима. У овом случају, динамичко понашање се дешава унутар презентације. Садржај на страни клијента се генерише на локалном рачунарском систему корисника.
Такве веб странице користе технологију презентација која се назива странице са богатим интерфејсом. Скриптни језици на страни клијента попут JavaScript или ActionScript, који се користе за Dynamic HTML (DHTML) и Flash технологије, респективно, често се користе за оркестрирање типова медија (звук, анимације, промена текста итд.) презентације. Скриптовање на страни клијента такође омогућава употребу удаљеног скриптовања, технике којом DHTML страница захтева додатне информације са сервера, користећи скривени оквир, XMLHttpRequests или веб сервис.
Прва јавна употреба JavaScript-а била је 1995. године, када је језик имплементиран у Netscape Navigator 2, стандардизован као ECMAScript две године касније.
Пример Садржај на страни клијента се генерише на рачунару клијента. Веб прегледач преузима страницу са сервера, затим обрађује код уграђен у страницу (обично написан у JavaScript) и приказује садржај преузете странице кориснику.
Својство innerHTML (или команда write) може илустровати генерисање динамичке странице на страни клијента: две различите странице, A и B, могу се регенерисати (помоћу „динамичног одговора на догађај“) као document.innerHTML = A и document.innerHTML = B; или „динамички при учитавању“ помоћу document.write(A) и document.write(B).
Комбиновање технологија Све клијентске и серверске компоненте које заједно граде динамичку веб страницу називају се веб апликација. Веб апликације управљају интеракцијама корисника, стањем, безбедношћу и перформансама.
Ајаx користи комбинацију скриптовања на страни клијента и захтева на страни сервера. То је техника развоја веб апликација за динамичку размену садржаја и шаље захтеве серверу за подацима. Сервер враћа тражене податке које затим обрађује скрипта на страни клијента. Ова техника може смањити време учитавања сервера јер клијент не захтева да се цела веб страница регенерише помоћу језичког парсера сервера; преноси се само садржај који ће се променити. Google мапе су пример веб апликације која користи Ајаx технике.
Веб клијент, као што је веб прегледач, може да делује као сопствени сервер, приступајући подацима са многих различитих сервера, као што су Gopher, FTP, NNTP (Usenet) и HTTP, да би направио страницу. HTTP подржава отпремање докумената од клијента назад на сервер. Постоји неколико HTTP метода за ово.
Референце
Категорија:Веб-сајтови Категорија:Веб-дизајн