Statičke i dinamičke web stranice. Statičke i dinamičke web stranice. Razvoj modela baze podataka

Direktna indeksirana veza do stranice- ovo je link koji nije blokiran od strane prohibitora HTML oznake i/ili atributa, kao i bez ikakvih preusmjeravanja (preusmjeravanja). Na primjer, ako odlučite postaviti link do moje stranice na svoju web stranicu/blog, preporučljivo je da je ne skrivate od robota za pretraživanje sa atributom zabranjujući nofollow. Ako se odlučite povezati na neku od mojih stranica, otvorite link za indeksiranje. Bio bih zahvalan za direktne indeksirane veze do moje stranice.
Ako koristite grafički/tekstualni sadržaj ili bilo koji fragment/citat pozajmljen sa ove stranice na vašoj web stranici/blogu, veza do web stranice mora biti bez ikakvih zabranjujućih atributa i/ili preusmjeravanja.

Šta je TFP i FTP, koja je razlika?

Skraćenice TFP i FTP nemaju ništa zajedničko jedna s drugom. Jedina stvar koja ih spaja je sazvučje izgovora, što nekoga može zbuniti.
TFP - (Vrijeme za štampanje), prevedeno kao “vrijeme po ispisu”. Ovaj izraz koriste fotografi i modni modeli. TFP je vrsta valute koju koriste predstavnici foto industrije. TFP je, po pravilu, osiguran ugovorom između modela i fotografa, kako bi se izbjegle svakakve nevolje vezane za autorska prava itd.
Kada manekenka pristane na TFP, to znači da je spremna da radi besplatno određeno vrijeme, a za rad će dobiti svoje fotografije (sve ili neke, sa ili bez obrade).
Sada o FTP-u.
FTP (Protokol za prijenos datoteka) je protokol za prijenos datoteka koji koriste web programeri i drugi. Za rad sa serverom preko ovog protokola, koristite FTP klijent je program koji radi direktno sa FTP serverom.
FTP protokol se koristi za prijenos mrežnih dokumenata, kao što su HTML, PHP, CSS, JPEG, itd., sa privatnog uređaja programera na hosting server. Isti protokol se koristi za preuzimanje mrežnih dokumenata sa servera na privatni uređaj programera.

Šta je ekstenzija datoteke?

Ekstenzija datoteke, ili bolje rečeno, ekstenzija naziva datoteke je niz određenih znakova koji se dodaju imenu datoteke. Ovi znakovi služe za identifikaciju tipa, ili kako oni kažu, formata datoteke. Ekstenzija naziva datoteke nije ništa drugo do kombinacija slova i/ili brojeva koja dolazi iza posljednje tačke u nazivu datoteke, na primjer, fotograf.gif, gdje je "fotograf" naziv datoteke, a ".gif" je njegova ekstenzija . Postoji ogroman broj ekstenzija datoteka, ali svi oni odgovaraju određenim standardima i aplikacijama. Ali ako želite da smislite svoju originalnu ekstenziju za neki fajl, na primer, ime_datoteke.fotograf, molim vas, nema problema! Ali Windows OS neće moći otvoriti takvu datoteku ako na vašem računalu nema odgovarajućeg programa koji vidi ovu ekstenziju. Na primjer, ako na Windows OS-u želite da otvorite datoteku sa ekstenzijom .gif, ovaj OS zna za ovu ekstenziju i otvoriće neku sliku. Ali ako želite da otvorite datoteku sa ekstenzijom .fotograf, takva datoteka se neće otvoriti, jer Windows OS nije upoznat sa takvom ekstenzijom. Datoteka s ovom ekstenzijom može se otvoriti u aplikaciji koja podržava ovu ekstenziju.

Šta je web stranica za vizit karte, šta postoji?

Web stranica sa vizit kartama je web stranica čija je glavna svrha predstavljanje informacija javnosti o kompaniji ili pojedincu. Takav sajt se obično sastoji od malog broja statičkih ili dinamičkih stranica.
Stranice web stranica sa vizit kartama trebaju sadržavati osnovne informacije o kompaniji/pojedincu, robi koju proizvode i informacije o njihovim uslugama. To mogu biti stranice sa cjenovnicima, kontakt detaljima i, naravno, obrazac povratne informacije. Web stranica za posjetnice fotografa u pravilu se razlikuje od drugih sličnih stranica po svom izvrsnom dizajnu i obilju fotografija. Web stranica fotografa mora imati njegov portfolio i kontakte. IN U poslednje vreme Sve češće možete pronaći web stranicu sa vizit kartama, čije su neke stranice izgrađene na FLASH tehnologiji, ili u potpunosti na FLASH-u.
FLASH stranice izgledaju dobro, ali takve stranice su trenutno indeksirane od strane pretraživača vrlo loše, ili ih uopće ne indeksiraju.

Šta je dinamička web stranica/web stranica?

Dinamična web stranica- ovo je stranica na kojoj se sadržaj ili neki njegov dio može generirati (promijeniti) u realnom vremenu bez dodatnih pokreta tijela. Za dinamički povezane stranice koristi se takozvani engine - CMS (content management system).
Kako radi? Na primjer, stranica koju vidite ovog trenutka u prozoru pretraživača, ne postoji u ovom obliku. Sastavlja se od zasebnih delova (šablona), koje server sastavlja u jednu celinu. Odnosno, kada se traži stranica, web server obrađuje zahtjev i odmah „u hodu“ sastavlja web stranicu iz odvojenih dijelova i šalje nam je na pregled u pretraživaču. Mijenja se samo sadržaj stranice, ali predložak stranice ostaje nepromijenjen.
Zamislite ormar koji ima nekoliko polica različite stvari. Na jednoj polici je tekstualni sadržaj (baza podataka), na drugoj - grafičke datoteke(fotografije, elementi grafičkog dizajna), na trećem - skripte (npr. PHP skripte), na četvrtom - CSS stilovi i tako dalje... To znači da kada server dobije zahtjev za ovaj ili onaj sadržaj, on zna gdje se sve nalazi i brzo nam sastavlja stranicu od potrebnih dijelova: uzima potreban tekstualni sadržaj iz baze podataka, potrebne grafičke datoteke sa grafičke police itd. Promjenom nekog dijela šablona na jednom mjestu, ove promjene se primjenjuju na sve stranice stranice.

Šta je statična web stranica/web stranica?

Statička web stranica je web dokument koji se nalazi na serveru u obliku u kojem ga korisnik vidi u svom pretraživaču. Odnosno, takav dokument nije sastavljen iz zasebnih dijelova (šablona), već leži na serveru takav kakav jeste, u sastavljenom obliku, i preuzima se sa servera kao jedna datoteka s vezama na njega CSS stilovi i/ili skripte.
Da biste promijenili sadržaj takvog dokumenta, prvo ga trebate urediti na svom radnom računaru u nekom HTML uređivaču, a zatim ga ponovo učitati na server. Da biste promijenili neki dio dizajna ili, na primjer, dodali/uklonili stavku navigacijskog menija, to će zahtijevati modificiranje (promjenu) svih stranica web stranice.

Web dizajner i web programer, koja je razlika?

Web dizajner i web programer rade u istom polju, ali obavljaju različite zadatke. Web dizajner je uključen u izradu prototipa dizajna stranica, razvoj predloška za dizajn web stranice, kreiranje izgleda grafičkog dizajna, izrezivanje na zasebne fragmente i optimizaciju, odabir fontova i boja. Web dizajner može raditi layout web stranica, ali to nije njegova odgovornost, za to postoje posebno obučeni ljudi - layout dizajneri.
Ko je web programer?
Web programer, odnosno web developer (server developer) je osoba koja razvija posebne web aplikacije, piše skripte na različitim programskim jezicima za određene module web stranice.
Zaključak, da bi web stranica bila i lijepa i funkcionalna potrebni su i web dizajner i web programer. A da bi stranica bila laka za korištenje, potrebno je

Promocija (promocija) web stranice podrazumijeva pomicanje web stranice na vrh rezultata pretraživanja za određene ključne riječi u tražilicama. Google sistemi, Yandex, itd.
Najbolji rezultati pretrage- ovo je prva stranica stranice pretraživač sa prvih 10 linkova ka sajtovima. Za ovih 10 pozicija postoji nepomirljiva borba između sajtova iste teme. Prema statistikama, oni sajtovi koji su na vrhu (zauzimaju prve tri pozicije) prikupljaju najveći broj posetilaca. Da bi bili na ovom vrhu, neki resursi plaćaju ogromne količine novca. Ali nije dovoljno stići tamo, morate tu i ostati, a to vodi u stalnu borbu ne samo među velikim SEO kompanijama, već i među privatnim

statičke stranice su tačna kopija datoteka koje se nalaze u direktorijima web servera i ne mijenjaju se dok sam programer ne promijeni nešto u njima. Međutim, stranice se mogu generirati dinamički, odnosno prilikom obrade zahtjeva pomoću nekog programa, a ne iz gotove datoteke na disku. Postoji nekoliko načina za kreiranje takve stranice:

generisanje na zahtev direktno na Web serveru. Da bi se implementirala mogućnost dinamičkog generisanja Web stranica, potrebno je da se serveru uputi koji su fajlovi „obični“ i koji sadrže uputstva za njihovu programsku obradu. Dakle, sve datoteke u odgovarajućem direktoriju web stranice koje imaju "execute" na listi prava pristupa smatraju se dinamičkim, a server sam bira način za generiranje određene stranice kada pristupa takvoj datoteci na osnovu njenog atributa i/ ili njegovo proširenje imena. U ovom slučaju, stranicu može generisati ili sam server (koristeći posebne komande), ili eksterni program koji se pokreće direktno ili preko CGI interfejsa (zajednički interfejs gateway). Program za generisanje dinamičke stranice može biti napisan u kompajliranom ili interpretiranom jeziku. Tekst programa koji sadrži komande za dinamičko generisanje stranica naziva se skripta. Lista korespondencije između atributa skripte i eksternih programa za njihovu obradu navedena je u odjeljku Web server/Script procesori. Na primjer, po defaultu skripte sa *.pl i *.cgi ekstenzijama obrađuje Perl interpreter;

formiranje na računaru korisnika. U ovom slučaju, prvo se prenose tekstovi programa za generisanje dinamičkih Web stranica lokalni računar korisnika, pri čemu pretraživač mora pozvati odgovarajući alat za obradu i primanje web stranice. Program za generisanje dinamičke stranice takođe može biti napisan na kompajliranom ili interpretiranom jeziku.

    1. cgi tehnologija

Vjerovatno ste naišli na stranice koje prije nisu postojale i koje su kreirane dinamički na vaš zahtjev – generirane, kako kažu, „u hodu“.

Na primjer, bilo koja knjiga recenzija pruža vam određeni obrazac u koji dodajete svoju recenziju, a zatim će sljedeći put kada otvorite tu stranicu, sadržavati novu poruku.

Jedna tehnologija koja vam omogućava dodavanje dinamičkog sadržaja na web stranice zove se CGI. Omogućava vam da povežete sa određenim URL-om ne samo statički dokument, već i program, zbog čega se podaci mogu generirati u realnom vremenu.

Pogledajmo primjer pružanja informacija o vremenu. Izvještaj o vremenu se mijenja svaki dan, a nova stranica sa statičnom prognozom može se kreirati svakodnevno. Međutim, ako želite pružiti trenutne podatke, morate svaki put generirati novu stranicu. Ovo se može implementirati pomoću CGI tehnologije. U trenutku kontaktiranja sa serverom na njemu se pokreće CGI program koji pristupa digitalnom mjernom uređaju i daje informacije o temperaturi, pritisku itd. Sljedeći put kada kontaktirate ovu adresu, dobit ćete nove informacije.

Drugi primjer: kada ispunite zahtjev, na primjer zahtjev u tražilici, kao odgovor dobijate rezultate CGI programa u obliku skupa traženih adresa.

CGI program se može zamisliti kao dio web servera koji se izvršava od strane web servera u realnom vremenu. Server prosljeđuje zahtjeve korisnika CGI programu, koji ih obrađuje i vraća rezultate svog rada na ekran korisnika (slika 3). Na većini web servera CGI mehanizam je organiziran na sljedeći način: kreira se poseban poddirektorij u koji se pohranjuju takvi programi, a administrator web servera konfigurira pristup njemu na način da se datoteke s njega ne čitaju, već pokreću za izvršenje. Rezultat programa se šalje pretraživaču kao odgovor na zahtjev. Sa stanovišta klijenta, nije bitno da li je dati URL statički dokument ili CGI program. Pretraživač informacije percipira na isti način, bez obzira da li su generirane u hodu ili je statična stranica. Izlaz CGI programa ima isti format kao statički dokument.

Vjerovatno ste naišli na skraćenicu CGI u svom pretraživaču dok ste putovali World Wide Web, i najvjerovatnije ste vidjeli vezu do /cgi-bin/ - direktorija u kojem se obično nalaze cgi programi. Mnoge interaktivne usluge, kao što su knjiga gostiju, forum, itd., izgrađene su posebno na CGI programima.

Termin “CGI” se ne odnosi samo na program, već i na protokol. U tom smislu, CGI je standardni način za web server da prosledi korisnički zahtev aplikacijskom programu i primi podatke nazad kako bi ih prosledio korisniku. CGI protokol za slanje podataka između servera i aplikacije dio je HTTP protokola.

Treba napomenuti da ako ćete svoju stranicu hostirati na besplatnim hosting serverima, onda je sasvim moguće da CGI skripte nisu podržane na tim serverima.

Alternativa CGI-u je Microsoft-ova tehnologija Active Server Page (ASP), koja je izgrađena na istom principu: skripta uključena u web stranicu se izvršava na serveru prije nego što se stranica pošalje korisniku.

Postoje i druge tehnologije koje rade na istom principu.

Kao što se može videti na sl. 3, CGI program radi na strani servera.

Fig.3.

Međutim, moguće je organizovati i dinamičke stranice prenosom programa na klijentski računar koji generišu dinamički sadržaj stranice na strani klijenta (slika 4).

Rice. 4

Ova tehnologija se implementira na sljedeći način: aktivni dokumenti se pohranjuju na web serverima i preuzimaju na lokalno računalo na isti način kao i statične stranice, ali nakon što se program za aktivni dokument nalazi na lokalnom računalu, pokreće se i obavlja određene proračune na računaru korisnika. , na osnovu lokalnih računarskih resursa. I rezultati ovih proračuna su već prikazani na ekranu. Shodno tome, brzina prikazivanja podataka na ekranu ne zavisi od brzine komunikacije sa udaljenim serverom, jer se izlaz aktivnog dokumenta dešava tek nakon što je preuzet na lokalni računar. Za kreiranje aktivnih dokumenata mogu se koristiti različite tehnologije: aplikacije napisane u JavaScript-u, Java apleti i ActiveX kontrole.

Radite iz dana u dan na ažuriranju sadržaja Vaše web stranice, zasićenju istog zanimljivih materijala, vjerovatno mislite da se stotine novih web stranica kreiraju svakog dana, a stotine novih dokumenata se dodaju svaki dan. Kako se stvaraju svi ti novi nizovi stranica i kako se tako brzo ažuriraju? Sve to nije tako teško kao što se čini na prvi pogled, jer koristi koncept dinamičkih web stranica.

U ovom članku ćemo pogledati korake stvaranja mehanizma za objavljivanje saopštenja za javnost na web stranici. Naša stranica će se u hodu povezati sa saopštenjima za javnost pohranjena u bazi podataka sa šablonskim web stranicama. Naš cilj nije bio da čitatelje upoznamo sa osnovama alata za izradu web stranica, jer je o tome napisano mnogo knjiga i članaka. Ovaj članak je namijenjen uglavnom onim korisnicima koji već imaju iskustva u kreiranju web stranica i jednostavnih stranica. Naš glavni cilj je da vam pokažemo kako da počnete da razvijate svoju prvu dinamičnu web stranicu. Da biste razumjeli članak, preporučljivo je imati osnovno znanje o arhitekturi informacionih sistema, jeziku za označavanje hiperteksta (HTML) i programskom jeziku Perl. Za kreiranje ove stranice koristit ćemo tri moćne tehnologije otvorenog koda: Apache, MySQL i Perl/DBI.

Šta je statična web stranica?

Prije nego što krenete u razvoj dinamičke web stranice, važno je razumjeti šta je statična web stranica i statične web stranice koje čine njegovu srž. Statičke web stranice se kreiraju ručno, a zatim spremaju i postavljaju na stranicu. Kad god sadržaj takve stranice treba da se promeni, korisnik ga modifikuje na svom radnom računaru, obično koristeći HTML editor, sprema ga i zatim ponovo postavlja na veb lokaciju. Ako pažljivo pogledate neki portal, recimo CNN.com ili BBC.co.uk, mogli biste pomisliti da ove kompanije privlače vojsku dizajnera izgleda da ažuriraju sadržaj svojih stranica. U stvari postoji Najbolji način- korištenje koncepta dinamičke web stranice.

Šta je dinamična web stranica?

Svaka prikazana stranica dinamičkih web stranica zasniva se na šablonskoj stranici u koju je umetnut sadržaj koji se stalno mijenja, a koji se obično pohranjuje u bazi podataka. Kada korisnik zatraži stranicu, relevantne informacije se preuzimaju iz baze podataka, ubacuju u predložak kako bi se formirala nova web stranica i šalje ih web server korisnikovom pretraživaču, koji ih ispravno prikazuje. Osim informativnog sadržaja, navigacijski elementi za web stranicu mogu se kreirati i dinamički. Na ovaj način, ako trebate ažurirati sadržaj svoje stranice, jednostavno dodajete tekst za novu stranicu, koji se zatim ubacuje u bazu podataka pomoću određenog mehanizma. Rezultat je da izgleda da se web stranica sama ažurira.

Kreiranje dinamičke stranice

Prva stvar koja vam je potrebna za kreiranje dinamičke stranice je web server, kao što je Apache.

Web server se može koristiti za opsluživanje elektronske prodavnice, servera vesti, pretraživača, sistema učenje na daljinu pa čak i za čitav niz navedenih područja. Izbor web servera zavisi od toga kojom vrstom aktivnosti pojedinac ili organizacija namerava da se bavi na Internetu.

Nekoliko strateških poslovnih odluka je jednako značajno kao odabir platforme web servera. Karakteristike servera su izuzetno važan faktor koji određuje pouzdanost čvora, njegovu „odzivnost“ na njega zahtjevi kupaca, kao i koji napori se moraju uložiti da se održi u radnom stanju. At praveći pravi izbor komponenti i kvalitetnog projekta, web stranica može postati novi, praktičniji način za interakciju kupaca i partnera s vašom kompanijom. Preopterećenje Web servera može uzrokovati da server baze podataka ili neki drugi resurs postane nedostupan klijentima.

Velike kompanije su se donedavno oslanjale na Microsoft Internet Information Server, Netscape FastTrack, IBM WebSphere, a Apache su uglavnom koristile male kompanije. Međutim, sada se situacija donekle promijenila i Apache počinje podržavati performanse nekih velikih Internet projekata, posebno Yahooa.

Punu verziju članka možete pronaći na našem CD-ROM-u.

Apache pruža bogate funkcije koje vam omogućavaju da prilagodite svoj web server tako da odgovara potrebama pojedinačnih i korporativnih korisnika. Postavke se vrše korištenjem direktiva sadržanih u konfiguracijske datoteke. Apache vam omogućava da kreirate virtuelne Web lokacije i takođe deluje kao proxy server. Ako trebate omogućiti pristup samo sadržaju servera ograničen krug pojedinaca, Web server se može konfigurisati tako da prilikom pristupa određenim direktorijumima server provjerava imena za prijavu i lozinke u vlastitoj bazi podataka ili u jednoj od baza podataka povezanih s njim.

Zatim morate odlučiti kako ćete pohraniti sadržaj koji se prikazuje na web stranici. U ovom članku, koristeći poseban primjer, pokazat ćemo kako napraviti bazu podataka u MySQL DBMS, što će nam omogućiti da razbijemo Web sadržaj u tabele koje sadrže polja i zapise podataka. Polje je diskretna jedinica podataka u tabeli. Na primjer, možemo kreirati tabelu tbl_news_items sa poljima col_title, col_date, col_fulllstory, col_author. MySQL DBMS je odličan izbor za kreiranje takve baze podataka zbog svoje lakoće korišćenja i administracije, besplatne distribucije za različite platforme, uključujući Linux i Windows, i njene popularnosti koja brzo raste.

Nakon toga ćemo kreirati dinamičke HTML stranice šablona. Za razvoj aplikacija za interakciju sa bazom podataka i šablonima, koristićemo jezik Perl.

U stvari, trebamo kreirati tri Perl programa, odnosno skripte: jedan će prikazati veze do svih dostupnih saopštenja za javnost (pr-list-dbi.pl), drugi će prikazati sadržaj odabranog saopštenja za javnost (pr-content-dbi .pl), a treći će nam omogućiti da dodamo najnovije saopštenje za javnost u bazu podataka (pr-add-dbi.pl). Posao rasporeda može se povjeriti vašem omiljenom HTML uređivaču, na primjer, Allaire HomeSite (http://www.allaire.com/). Samo zapamtite da prilikom kreiranja šablona morate ostaviti prazna područja u koja će se umetnuti dinamički sadržaj (naravno, promjenjive dužine).

Nakon što ste razvili cjelokupni dizajn za svoja saopštenja za javnost, jednostavno unesite svoje specifične ključne riječi u prazna mjesta iznad (pogledajte dolje za više o tome). Jednom kada korisnik zatraži saopštenje za javnost, Web server će obraditi Perl kod i zamijeniti ključne riječi u predlošcima sadržajem preuzetim iz baze podataka, odnosno određenim saopštenjem za javnost.

Poslednja stvar koju treba da uradite je da otpremite svoje šablone na Web server u određenim direktorijumima. Možete koristiti CuteFTP FTP klijent (http://www.cuteftp.com/), ali mi radije koristimo ljusku FAR datoteka. Dvije važne stvari koje treba zapamtiti: prvo, datoteke šablona moraju sadržavati imena koja se završavaju na .pl, i drugo, moraju imati dozvolu za izvršavanje (na UNIX sistemima morate izvršiti chmod naredba 0755 template_name.pl). Ovo je sve!

Dodavanje funkcionalnosti

Nije posebno teško dodati funkcionalnost mehanizmu za objavljivanje saopštenja za javnost. Možete sortirati veze do saopštenja za javnost koja su dostupna u bazi podataka po datumu ili naslovu, grupirajući ih po godinama. Ili, na primjer, možda želite da na svojoj web stranici prikažete nasumično saopštenje za javnost, pružajući s vremena na vrijeme informacije posjetiteljima bez obzira na to kada je stvarno objavljeno. Ali možda će najvažnija i najkorisnija funkcionalnost biti dodavanje HTML obrasca za unos sadržaja saopštenja za javnost i razvoj CGI programa u Perlu za obradu ovog obrasca, a zatim postavljanje dokumenta u bazu podataka. Podsjetimo da je CGI (Common Gateway Interface) protokol, mehanizam ili formalni ugovor između web servera i zasebnog programa. Server kodira ulazne podatke, kao što su HTML forme, a CGI program ih dekodira i generiše tok izlaznih podataka. Specifikacija protokola ne govori ništa o nekom specifičnom programskom jeziku. Stoga se programi koji su u skladu s ovim protokolom mogu pisati na gotovo bilo kojem jeziku - C, C++, Visual Basic, Delphi, Tcl, Python ili, kao u našem slučaju, Perl.

Hajde da sumiramo neke rezultate. Nadamo se da će vam ovaj članak pomoći da shvatite prednosti koncepta dinamičkih web stranica u odnosu na statičke. Primjena ovog koncepta će smanjiti ručni rad, pomoći u raspodjeli radnog opterećenja servera i omogućiti vam da brzo povećate količinu sadržaja na web stranici. Kombinacija Apache-a, MySQL-a i Perl-a će pružiti gotovo besplatno, jednostavno za korištenje, fleksibilno za instalaciju i konfiguraciju međuplatformskog i skalabilnog razvojnog okruženja. Ovdje nećemo razmatrati specifičnosti njihove instalacije, jer, prvo, jednostavno nema dovoljno prostora za ovaj članak, a drugo, svaki od ovih alata dolazi s vrlo detaljnom dokumentacijom.

Kreiranje baze podataka u MySQL DBMS

Razvoj modela baze podataka

Prvi i najvažniji korak u kreiranju baze podataka je razvoj njenog modela. Pa počnimo.

Korak 1

Moramo nekako imenovati bazu podataka. Nazovimo to db_website.

Korak 2

Potrebno je odrediti šta će tačno tabele baze podataka sadržavati. Baza podataka može sadržavati stotine tabela. U početku će nam trebati samo jedan sto za pohranjivanje naših saopštenja za javnost. Nazovimo to tbl_news_items.

Korak 3

Moramo definirati polja koja će naša tabela sadržavati. Ova polja će predstavljati sve elemente saopštenja za javnost. Naš primjer koristi pet polja: col_id (numerički identifikator saopštenja za javnost), col_title (naslov), col_date (datum objave), col_fulltory (sadržaj), col_author (ime autora). Polje col_id će sadržavati jedinstveni identifikator pomoću kojeg korisnik može upitati sadržaj određenog saopštenja za javnost.

Kreiranje baze podataka

Sada moramo uspostaviti vezu sa MySQL DBMS-om i kreirati našu bazu podataka. U nastavku ćemo vam pokazati kako to učiniti iz komandne linije. Međutim, postoji mnogo sistema upravljanja, ili MySQL DBMS menadžera, koji vam omogućavaju da ga administrirate pomoću grafičkog interfejsa prilagođenog korisniku.

Prije svega, svakako trebate znati osnove jezika SQL upiti(Strukturirani jezik upita). MySQL DBMS paket uključuje kompletan opis podržane SQL specifikacije. Ovaj jezik je lako razumjeti jer su njegovi operatori i njihove konstrukcije laki za razumijevanje i pamćenje. Za rad će vam biti potrebni operatori za kreiranje (CREATE ili INSERT), odabir (SELECT) i brisanje (DROP ili DELETE) podataka, kao i njihovu promjenu (UPDATE, MODIFY). U konkretnim primjerima koristit ćemo samo neke od njih.

Da biste izbjegli postavljanje korisničkih naloga i dodjeljivanje potrebnih prava pristupa, pretpostavimo da koristite administratorski račun (root).

Korak 1

Otvorite prozor terminala (ako radite u X Window grafičkoj ljusci Linux OS ili Windows 9x/NT/2000) i uspostavite vezu sa MySQL DBMS unosom komandna linija mysql. Od vas bi trebalo biti zatraženo da unesete mysql> komande kao odgovor.

Korak 2

Kreirajmo našu bazu podataka unosom:

CREATE DATABASE db_website;

Nakon unosa svake naredbe, ne zaboravite upisati simbol (;). Ovo je veoma važno jer signalizira kraj unosa komande u MySQL.

Koristite db_website;

Korak 4

Kreirajmo tabelu tbl_news_items, gdje definiramo tip podataka koji će biti pohranjeni u njenim poljima. Unesite:

1. CREATE TABLE tbl_news_items (2. col_id INT NOT NULL AUTO_INCREMENT PRIMARNI KLJUČ, 3. col_title VARCHAR(100), 4. col_author VARCHAR(100), 5. col_body TEXT, 6. DATE col_da);

Korak 5

Sada kada smo kreirali tabelu za pohranjivanje naših podataka, moramo je ispuniti nekim uzorcima podataka. Imajte na umu da u sljedećoj naredbi nećemo definirati polje col_id jer se ono automatski popunjava kako se dodaju novi podaci. Također imajte na umu da je sintaksa za datum<год/месяц/день>. Dakle, na komandnoj liniji mysql> unesite sljedeću naredbu.

8. INSERT INTO tbl_news_items (col_title, _ col_author, col_body, col_date) 9. VRIJEDNOSTI (10. 'Moje prvo saopštenje za javnost', 11. 'Vaše ime', 12. 'Ovo saopštenje za javnost je pohranjeno u MySQL bazi podataka', 11 '2001/4/15' 14.);

Unesite još nekoliko sličnih zahtjeva umetnuti. Da vidite šta je pohranjeno u bazi podataka, na komandnoj liniji mysql> unesite:

SELECT * FROM tbl_news_items;

Kreiranje dinamičkih web stranica u Perlu

Priprema za posao

Da biste pokrenuli Perl programe, trebat će vam Perl interpreter verzije 5.005 ili 5.6 Perl Standard ili ActiveState Perl distribucija za UNIX ili Win32. Ako ćete razvijati aplikacije za pokretanje pod Win32, onda je paket iz ActiveStatea nešto praktičniji za korištenje, a uključuje i PPM uslužni program za instaliranje dodatnih modula.

Za organizaciju interakcije naših Perl programa sa MySQL DBMS, potrebno je da DBI modul bude uključen u Perl distribuciju. Budući da modul u osnovi ne radi ništa sam, već prebacuje sve operacije na interakciju sa bazama podataka na odgovarajući drajver, potrebna je instalacija DBD-Mysql biblioteke (MySQL drajver baze podataka za DBI modul). Kako je izjavio Tim Bunce, autor i programer navedenog modula, “DBI je API za organiziranje pristupa bazama podataka iz Perl programa. DBI API specifikacija definira skup funkcija, varijabli i pravila koji se koriste za transparentno povezivanje s bazama podataka."

Koncept drajvera baze podataka je veoma zgodan jer u vašoj Perl aplikaciji koristite standardne DBI pozive, koji zatim prosleđuju module odgovarajućem drajveru, koji će, zauzvrat, direktno komunicirati sa bazom podataka bez potrebe za učenjem tehničke karakteristike svaki konkretan DBMS. Dakle, postoje DBD::Sybase, DBD::Oracle, DBD::Informix, itd. drajveri. (Sl. 1,).

Idemo malo dalje od okvira članka. Pretpostavimo da DBI paket ne uključuje drajver za određeni DBMS. U ovom slučaju, DBD-ODBC most će priskočiti u pomoć. Dovoljno je da kreirate novi izvor podataka (Naziv izvora podataka) za ODBC (Open DataBase Connectivity) drajver, gde treba da izaberete tip ovog DBMS-a, adresu hosta na koju želite da uspostavite vezu, naziv baze podataka i autorizacijskih podataka, odnosno korisničkog imena i lozinke (sl. 3). Zatim, koristeći DBI modul, stupite u interakciju s bazom podataka. Uz to, ActiveState Perl obično dolazi standardno sa Win32::ODBC modulom (Win32-ODBC). Rad s njim je malo drugačiji od rada s DBI-om, ali općenito vrlo sličan. Jedina razlika je u tome što je Win32::ODBC modul samo za Win32 sisteme i omogućava vam da radite sa izvornim ODBC funkcijama efikasnije od DBD::ODBC.

Može se povući paralela između ODBC-a i DBI-a. DBI je analogni ODBC Administrator (menadžer drajvera baze podataka). Svaki DBD drajver po svojim funkcijama odgovara ODBC drajveru. Jedina stvar koja vas može zbuniti je činjenica da, kao što je gore spomenuto, postoji DBD::ODBC drajver. Ali to vam omogućava samo da uspostavite DBI komunikaciju sa ODBC drajverima.

Da biste instalirali DBI i DBD-Mysql, koristeći PPM uslužni program u Win32 okruženju, unesite na komandnoj liniji:

Ppm instalirajte DBI

Imajte na umu da vaš računar u ovom trenutku mora biti povezan na Internet. Ako imate odgovarajući modul na svom lokalni disk, koristiti pozadinske informacije unosom naredbe:

ppm pomoć za instalaciju

Za korisnike UNIX-a, instaliranje DBI modula će biti gotovo isto kao i instaliranje ostalih Perl modula:

Tar –zxvf DBI-1.06.tar.gz cd DBI-1.06/ perl Makefile.PL make make test make install

Također možete koristiti CPAN shell. Ako imate instaliranu UNIX verziju paketa ActiveState na vašem računaru, možete raditi i sa uslužnim programom za instalaciju PPM-a. Ponekad se desi da CPAN i PPM ljuske ne funkcionišu ako postoji firewall instaliran na mreži preduzeća na koju je vaš računar povezan, ili firewall(zaštitni zid). U ovom slučaju pomoći će vam samo moduli sa izvornim kodovima preuzetim ručno. Da ih instalirate i povežete na Perl ili Apache, trebat će vam Perl interpreter, C/C++ ili GCC/PGCC kompajler i jedan od pomoćnih programa za izradu (iz jednog od UNIX klonova, kao i Microsoft Visual C++), nmake ili dmake. Dakle, postupak instalacije modula postaje nešto složeniji. Gotovo svi dolaze sa "build" dokumentacijom, tako da ne biste trebali imati previše problema.

Prikaz liste članaka

Sada kada imate radnu bazu podataka za štampu, možete je lako povezati sa svojom web stranicom. Počnimo sa stvaranjem najjednostavnija stranica, koji prikazuje listu svih dostupnih saopštenja za javnost. Imajte na umu da prema zadanim postavkama Apache Web server "misli" da bi svi vaši dokumenti trebali biti u njegovom htdocs direktoriju, i izvršne datoteke- u cgi-bin. Stoga morate sve datoteke sa ekstenzijom .pl smjestiti u cgi-bin direktorij. sa svoje strane, generisani fajlovi HTML predlošci moraju biti smješteni u tpl direktorij. Hijerarhija direktorija će izgledati ovako:

/ (root bilo kojeg diska) /local /local/usr /local/usr/bin /local/usr/cgi-bin /local/usr/htdocs /local/usr/tpl

Za DOS/Windows sisteme, putanja do cgi-bin može izgledati ovako:

C:\local\usr\cgi-bin

Korak 1

Koristeći svoju omiljenu uređivač teksta, kreirajte datoteku pr-list-tpl.htm:

15. 16. 17. Saopštenja za javnost 2001 18. 19. 20. @BLOK@ 21. 22.

Ova datoteka je namijenjena za prikaz liste svih dostupnih saopštenja za javnost.

Korak 2

Kreirajte datoteku pr-list-block-tpl.htm koja će prikazati svaki blok sa pronađenim saopštenjem za javnost u obliku tabele:

23.

24. 25. 26.
@TITLE@
@AUTHOR@, _ @DATE@

Korak 3

Kreirajte datoteku pr-content-tpl.htm koja će prikazati sadržaj saopštenja za javnost:

27. 28. 29. Saopštenja za javnost 2001: @TITLE@ 30. 31. 32.

@TITLE@

33. 34. 35. 36. 37.
@TITLE@
Autor: @AUTHOR@ Datum: @DATE@
@BODY@
38. Prikaži listu saopštenja.. 39. 40.

Korak 4

Kreirajte Perl skriptu pr-list-dbi.pl koja će čitati podatke iz baze podataka db_website i, koristeći predloške HTML datoteke, prikazati listu saopštenja za javnost (tekst ove skripte možete pronaći na našem CD-u).

Hajdemo sada da prođemo kroz listu kodova i vidimo kako funkcioniše program za prikaz liste saopštenja za javnost.

Redovi 1-9 su poput inicijalizirajućeg bloka u kojem su deklarirane sve globalne varijable i konstante:

41. #!/local/usr/bin/perl 42. 43. use DBI; 44. $dbh = DBI->connect(‘dbi:mysql:db_website’,’root’,’’); 45. $path = "/local/usr/tpl"; 46. ​​$TPL_LIST = "$path/pr-list-tpl.htm"; 47. $TPL_LIST_BLOCK = "$path/pr-list-block-tpl.htm"; 48. 49. print "Content-type:text/html\n\n";

Prvo kažemo Apache Web serveru putanju do mesta gde se nalazi Perl interpreter, koji se pokreće kada se zahteva skripta, proverava je da li ima grešaka, a zatim je izvršava. Zatim deklarišemo modul DBI (Interfejs baze podataka), čije metode će se koristiti u programu za interakciju sa bazom podataka (red 3). Zatim uspostavljamo vezu sa našom bazom podataka db_website(4) koristeći root (administrator) kao korisničko ime za prijavu i prazan niz (podrazumevano) kao lozinku. U varijabli $path označavamo putanju na kojoj se nalaze HTML fajlovi šablona (5). U varijablama $TPL_LIST i $TPL_LIST_BLOCK navodimo njihova imena (6, 7). Zatim kažemo Web serveru da svi odlazni podaci treba da budu predstavljeni u tekstualnom/html MIME formatu kako bi se HTML tok izbacio u pretraživač korisnika (9).

Redovi 11-22 predstavljaju tijelo programa:

50. 51. open(L, "$TPL_LIST"); 52. dok ($line1= ) ( 53. chomp($line1); 54. if ($line1=~/\@BLOCK\@/) ( 55. read_db(); 56. ins_data(); 57. ) else ( 58. print "$line1 \n"; 59. ) 60. ) 61. zatvori (L); 62. 63. $dbh->disconnect;

Otvorite datoteku šablona pr-list-tpl.htm (11) i pregledajte je u petlji (12-20), upisujući svaki pročitan red u varijablu $line. Tokom svake iteracije, provjeravamo prisustvo u ovoj liniji ključna riječ@BLOK@ (14-19), što znači da u ovo mjesto potrebno je da umetnete blok sa saopštenjem za javnost. Čim se pronađe, pozivamo procedure read_db() i ins_data().

Redovi 26-39 su tijelo read_db() procedure, dizajnirane za čitanje sadržaja tabele tbl_news_items, u kojoj se nalaze naša saopštenja za javnost:

64. 65. 66. sub read_db ( 67. $c=0; 68. my($sql) = "SELECT * FROM tbl_news_items"; 69. $rs = $dbh->prepare($sql); 70. $rs ->izvrši; 71. while (moj $ref = $rs->fetchrow_hashref()) ( 72. $id[$c] = "$ref->('col_id')"; 73. $title[$c] = "$ref->('col_title')"; 74. $author[$c] = "$ref->('col_author')"; 75. $date[$c] = "$ref->(' col_date')"; 76. $c++; 77. ) 78. $rs->finish(); 79. )

Inicijalizujemo brojač $c=0, pravimo zahtev za odabir svih podataka iz tabele (28), izvršavamo zahtev (29, 30) i unosimo podatke u skup zapisa (recordset) $rs. Zatim, u petlji (31-37), izvlačimo podatke iz skupa zapisa pomoću metode fetshrow_hashref i vraćamo vezu na asocijativni niz %ref (31), koji sadrži imena i vrijednosti polja trenutnog zapisa. Izvučene podatke (32-35) upisujemo u uobičajene nizove @id, @title, @author i @date koji odgovaraju njihovim tipovima. Zatvaramo rekord (38).

Redovi 41-53 - tijelo ins_data() procedure, koja implementira umetanje podataka ekstrahiranih iz baze podataka u odlazni tok podataka; linije 55-63 - tijelo pr_block() procedure, pozvane u petlji iz ins_data() procedure:

80. 81. sub ins_data ( 82. $toread = "pr-read-dbi.pl"; 83. za ($i=0; $i<$c; $i++) { 84. $line = &pr_block; 85. 86. $line =~ s/\@NUMBER\@/$id[$i]/; 87. $line =~ s/\@TITLE\@/$title[$i]/; 88. $line =~ s/\@AUTHOR\@/$author[$i]/; 89. $line =~ s/\@DATE\@/$date[$i]/; 90. $line =~ s/\@READ\@/$toread/; 91. print "$line"; 92. } 93. } 94. 95. sub pr_block { 96. my($block) = ‘’; 97. open (B, "$TPL_LIST_BLOCK"); 98. while ($line=) ( 99. $blok = $blok.$linija; 100. ) 101. zatvori (B); 102. povratak ($block); 103.)

Dakle, nakon što smo dobili maksimalnu vrijednost brojača $c kao rezultat read_db() procedure, u petlji (43-52) pokrećemo pr_block() proceduru, koja čita sadržaj HTML šablona pr-list- block-tpl.htm i upisuje ga u varijablu $block (59), čija se vrijednost zatim vraća (62) u varijablu $line (44) procedure ins_data(). Dalje u istoj petlji zamjenjujemo (46-50) ključne riječi @NUMBER@, @TITLE@, @AUTHOR@, @DATE@, @READ@ koje se nalaze u odlaznoj liniji toka $ sa vrijednostima niza koji odgovaraju ovoj iteraciji petlje ($i) @id, @title, @author, @date i varijabla $toread.

Štampanje teksta saopštenja

Nakon što smo prikazali listu svih saopštenja za javnost koja su dostupna u bazi podataka (slika 4), potrebno je da korisniku damo priliku da pogleda tekst bilo kojeg od njih (odgovarajuću skriptu možete pronaći i na našem CD-u).

Nova skripta pr-read-dbi.pl malo će se razlikovati od pr-list-dbi.pl koju smo već kreirali.

Ovaj popis je 98% sličan Listingu 1, iako postoje neke manje razlike:

  • CGI biblioteka je povezana da čita parametar id (9) iz niza upita (na primjer, http://localhost/cgi-bin/pr-content-dbi.pl?id=1);
  • koristi se samo jedan HTML šablon (pr-content-tpl.htm);
  • upit baze podataka je dopunjen uvjetnom SQL WHERE naredbom za dohvat svih podataka koji odgovaraju određenom priopćenju za javnost pomoću col_id;
  • Polje col_body s tekstom odabranog saopštenja za javnost također se čita iz baze podataka.

Kreiranje novog saopštenja za javnost

Proširimo funkcionalnost našeg sistema dodavanjem mogućnosti kreiranja novih saopštenja za javnost, bez potrebe za direktnim radom sa bazom podataka kako bismo dopunili tabelu tbl_news_items novim informacijama.

Dakle, novi Perl program (koji se, kao i prethodna dva, nalazi na CD-u) razlikovat će se od prethodnih prvenstveno po tome što nije namijenjen za prikazivanje podataka, već za dodavanje u bazu podataka. Stoga moramo malo promijeniti dio koji je odgovoran za interakciju s bazom podataka korištenjem INSERT SQL upita i odgovarajućih operatora DBI modula.

Redovi 12-18 su tijelo glavnog programa:

12. if ($cmd ne "add") ( 13. &show_form; 14. ) else ( 15. $dbh = DBI->connect('dbi:mysql:db_website', _ 'root',''); 16. &add_pr; 17. dbh->disconnect; 18. )

Ovdje provjeravamo da li je primljena naredba za dodavanje saopštenja za javnost u bazu podataka. Čim stigne, uspostavljamo vezu sa bazom podataka (15), izvršavamo app_pr() potprogram (16) i prekidamo vezu (17). Ako nije bilo naredbe, jednostavno prikazujemo formular za popunjavanje (13) za podatke o priopćenju - proceduru show_form().

Redovi 20-36 su tijelo postupka dodavanja saopštenja za javnost pr_add():

19. 20. sub add_pr ( 21. $title = $q->param("pr_title"); 22. $author = $q->param("pr_author"); 23. $body = $q->param( "pr_body"); 24. $body =~ s/\r\n/
/g; 25. 26. my($sql) = "INSERT U tbl_news_items (col_title,col_author,col_body,col_date) VRIJEDNOSTI (\'$title\',\'$author\',\'$body\',CURDATE()) "; 27. $rs = $dbh->do($sql); 28. 29. if ($@) ( 30. $rc = $dbh->rollback; 31. ) else ( 32. $rc = $dbh->commit; 33. ) 34. 35. print "Lokacija: /cgi -bin/pr-list-dbi.pl\n\n"; 36.)

Prvo, obrađujemo podatke obrasca (22-25), sastavljamo SQL upit (27) i izvršavamo ga (27) koristeći DBI metodu $dbh->do(). Budući da se ovdje izvodi postupak ubacivanja podataka u bazu podataka, potrebno je voditi računa o mogućnosti otkazivanja operacije u slučaju kvarova. Da bismo to učinili, ubacili smo kod za otkazivanje transakcije i vraćanje na prethodno stanje (30-34). Ako $dbh->do() ne uspije, odbacujemo napravljene promjene (31). Ako ne dođe do kvara, potvrđujemo izvršene promjene (33). Zatim, nakon svih koraka, jednostavno idemo na stranicu sa listom svih saopštenja za javnost (36).

Redovi 37-55 su tijelo izlazne procedure obrasca za unos informacija o novom saopštenju za javnost (koristeći HTML predložak čije je ime navedeno u varijabli $TPL_INSERT, pr-add-tpl.htm):

37. 38. sub show_form ( 39. print "Content-type:text/html\n\n"; 40. 41. open (L, "$TPL_INSERT"); 42. while ($line= ) ( 43. chomp($line); 44. if ($line=~/\@/) ( 45. if ($line=~/\@ADD\@/) ( 46. $toadd = "pr-add -dbi.pl"; 47. $line =~ s/\@ADD\@/$toadd/; 48. ) else ( 49. $tolist = "pr-list-dbi.pl"; 50. $line =~ s/\@LIST\@/$tolist/; 51. ) 52. ) 53. print "$line\n"; 54. ) 55. close(L);

Preopterećenje sistema

Budući da razvijate dinamičnu web stranicu, količina informacija na njoj može vrlo brzo rasti. Osim toga, kako popularnost vašeg resursa raste, tako raste i broj njegovih posjetitelja, što može dovesti do preopterećenja servera, odnosno smanjenja performansi sistema. Prije nego počnete tražiti načine za povećanje snage hardvera i pokušajte pronaći konfiguraciju novi sistem, možete pokušati eliminirati jedan od mogući razlozi prekomjerna potrošnja RAM-a. Krivac može biti isti Perl. Činjenica je da svaki put kada pristupite jednoj ili drugoj Perl skripti, Web server učitava interpreter RAM(zauzima od 500-1000 KB na tvrdom disku), a ovaj analizira program od početka do kraja u potrazi za sintaktičkim greškama. Nakon toga ga ponovo čita, inicijalizira varijable i funkcije, čita ulazne podatke (parametare), obrađuje i vraća rezultate. Možete li zamisliti šta se događa ako stotine posjetitelja vaše stranice žele vidjeti vaša saopštenja za javnost u isto vrijeme?

Da bi se ovaj proces ubrzao, kreirana su posebna rješenja koja predstavljaju dodatni moduli za Apache Web server - mod_fastcgi i mod_perl.

FastCGI modul (mod_fastcgi) uključuje široku upotrebu alata za razmjenu podataka između pokrenutih procesa (zadataka) operativni sistem. Na početku svog rada, Web server aktivira CGI program i ostavlja ovaj program i nekoliko njegovih kopija da rade u pozadini. Svi zahtjevi prema programu jednostavno će se prenijeti na već aktivne kopije, što će server osloboditi dodatnog opterećenja povezanog s ponovnim aktiviranjem procesa.

Mod_perl modul vam omogućava da učitate Perl u RAM u istom adresnom prostoru kao i sam Apache Web server, i ostavite Perl u memoriji dok se potonji ne završi, sprečavajući učitavanje sljedeće kopije interpretatora prilikom pristupa CGI programu. Ovaj modul se koristi češće od FastCGI jer ne zahtijeva nikakve promjene u programu.

ComputerPres 6"2001

Na Internetu postoji ogroman broj različitih resursa. Svaki projekat se najvećim delom sastoji od stranica HTML dokumenata, koje su podeljene na statičke i dinamičke na osnovu ponašanja dokumenta u pretraživaču. S druge strane, ovi koncepti se često koriste u drugom smislu. Dakle, prema načinu kreiranja, dokumenti se također dijele na statičke i dinamičke.

Definicija statičnih stranica je da stranice uvijek izgledaju isto, bez obzira na radnje korisnika. Statičke stranice su, po pravilu, manje zanimljive korisniku, jer praktično nemaju interaktivne elemente, za razliku od dinamičkih stranica.

Dinamičke stranice, koje uključuju dinamičke stranice koje se generiraju "u hodu" na zahtjev pretraživača. Ovo su stranice koje već mogu reagirati na radnje korisnika i promjene. Na primjer, kada kliknete na tekst, može iskočiti blok teksta s prijevodom riječi. Korisnik može komunicirati sa dinamičkim stranicama dok odmah prikazuje rezultat svojih radnji.

Statične stranice stranice

Statička lokacija smatra se mrežnim resursom koji uključuje statičke stranice (html, htm, dhtml, xhtml) koje čine jednu cjelinu. Sadrži (u obliku HTML oznake) tekst, slike, multimedijalni sadržaj (audio, video) i HTML oznake. Oznake mogu biti ili servisne oznake, namijenjene pretraživaču, ili namijenjene postavljanju, oblikovanju izgleda i prikazu informacija. Sve promjene na statičkoj stranici se vrše u izvornom kodu dokumenata izvora (stranica), za koje morate imati pristup datotekama na web serveru.

Stranice statičkih stranica se pohranjuju na serveru kao HTML dokumenti. Stranice statičnih sajtova su dizajnirane ručno. Ako trebate promijeniti sadržaj stranice, morate urediti HTML kod za svaku stranicu.

Tipično, statična stranica sadrži jednu ili mali broj stranica, ili, na primjer, ako je to stranica vizit karte kompanije i informacije na njoj se nikada ne mijenjaju ili se vrlo rijetko ažuriraju. Na takvom mrežnom resursu nema mogućnosti kao što je, na primjer, komentiranje ili registracija itd.

U konačnici, statički resurs može ažurirati samo osoba koja je dobro upućena u web razvoj, budući da ne postoji administrativni panel, tako da će se sva ažuriranja projekta morati izvršiti preko njegovog izvornog koda.

Statičke stranice su jeftinije i zauzimaju manje prostora za hosting, zbog čega ih mnoge male kompanije i dalje preferiraju u odnosu na dinamičke stranice.

Prednosti statičnih stranica uključuju:

  1. Jednostavni su i brzo se razvijaju
  2. Jeftin za razvoj, minimalno opterećenje na web serveru i brzo učitavanje.
  3. Nije zahtjevno za hosting resurse.
  4. Prilično je lako prenijeti statičnu web stranicu na novi hosting.

Uz prednosti, statične stranice imaju i nedostatke:

  1. Za ažuriranje projekta potrebno je iskustvo u web razvoju. Da biste ažurirali čak i najmanji detalj na takvom resursu, ili ćete se morati sami pozabaviti HTML i CSS kodom ili ćete svaki put morati pribjeći uslugama webmastera.
  1. Stagnacija sadržaja. Zbog činjenice da se sadržaj statične stranice vrlo rijetko ažurira, to ima vrlo negativan učinak na promet i promociju projekta u . Naravno, takav resurs možete promovirati, ali uglavnom putem plaćenih metoda.
  1. Takođe, statičnu lokaciju nije preporučljivo koristiti u velikim projektima.

Odavde je očigledno da ako server ima regularnu html stranica, onda je ovaj pristup vrlo ograničen. Na primjer, postoji online trgovina u koju je dodan novi proizvod. Ako se takva internet trgovina sastoji od "statičnih" stranica, tada ćete morati ručno urediti nekoliko drugih stranica. U najmanju ruku, ovo je katalog proizvoda i, očigledno, obrazac za narudžbu. A, ako proizvod ponestane, onda opet morate ažurirati statičnu stranicu, što je vrlo nezgodno. S tim u vezi, teško je pronaći online prodavnicu na Internetu koja koristi “čisti” HTML kod.

Dynamic site

Dynamic site- mrežni resurs koji se sastoji od dinamičkih stranica - šablona, ​​sadržaja, skripti i drugih stvari, u obliku odvojeni fajlovi. Dinamičke stranice, koje se na kraju prikazuju korisnikovom pretraživaču, formiraju se na strani servera na zahtjev, iz šablonske stranice i zasebno pohranjenog sadržaja (informacije, skripte, itd.). U pravilu, za prikaz bilo kojeg broja stranica istog tipa koristi se jedna šablonska stranica u koju se učitava odgovarajući sadržaj, što omogućava jednokratno podešavanje izgled dinamički sajt (mnoge od svih njegovih stranica), uređivanje samo jednog predloška.

Dinamičke stranice generira web server iz nekoliko datoteka (šablona). Sve informacije se obično pohranjuju u bazi podataka. Gotovo svi blogovi su dinamičke stranice. Kada korisnik zatraži stranicu, relevantne informacije se preuzimaju iz baze podataka, ubacuju u predložak kako bi se formirala web stranica, a web server šalje u pretraživač korisnika. Stoga, kada ažurirate sadržaj dinamičkog resursa, jednostavno trebate dodati tekst nova stranica, koji zatim ide u bazu podataka. Na kraju, iz toga slijedi da se čini da se dinamična stranica sama ažurira.


Prednosti dinamičkih stranica su:

  1. Resurs je funkcionalniji, jer se sadržajem upravlja putem posebnih obrazaca koji olakšavaju dodavanje, uređivanje i brisanje informacija.
  2. Prilikom dodavanja ili uređivanja sadržaja nisu potrebna posebna znanja iz oblasti web masteringa (HTML, CSS).
  3. Sposobnost dinamičke stranice da mijenja sadržaj kao odgovor na radnje posjetitelja.
  4. Mogućnost izrade velikih multifunkcionalnih projekata.
  5. Dinamičke stranice je mnogo lakše mijenjati i ažurirati.
  6. Razdvajanje informacija i dizajna na dinamičnom sajtu omogućava fleksibilnije upravljanje.
  7. Stalno ažuriranje dinamičnog sajta pruža velike mogućnosti za promociju, što pozitivno utiče na promociju projekta i ima više posetilaca.

Uz prednosti, dinamičke stranice nisu bez svojih nedostataka:

  1. Potreba za korištenjem dodatnih softver, što znači visoku cijenu kreiranja i održavanja dinamičkih stranica.
  2. Povećani hardverski zahtjevi serverski sistemi. Ovaj problem postaje posebno uočljiv na dinamičnim stranicama s velikim prometom.
  3. Hosting će također biti malo skuplji, jer ćete se za takav projekt morati povezati dodatne funkcije.
  4. Složenost velikih strukturnih promjena na dinamičkim stranicama. U ovom slučaju sve zavisi od softver, koji koristi resurs. Svaki program ima svoja ograničenja, da biste ih zaobišli, morate promijeniti program, izmijeniti stari ili potražiti novi.
  5. Morate imati odgovarajuće znanje da biste održali funkcionalnost dinamičkih stranica.

Alati za kreiranje dinamičkih stranica

Ako statične stranice ne prolaze gotovo nikakve promjene i stranica se pojavljuje na ekranu posjetitelja u svom „izvornom“ obliku, tada dinamička stranica kako je osoba vidi ne postoji na serveru. Ona ide nekoliko puta Različiti putevi iz podataka pohranjenih na serveru, a tek nakon toga se prikazuje posjetiocu.

Prva opcija može biti kombiniranje nekoliko (dva ili više) odvojenih dijelova u jedan - ovo je najjednostavniji način stvaranja.

Druga opcija je popuniti stranicu predloška nekim informacijama koje su odvojeno pohranjene ili dobivene kao rezultat algoritma (na primjer, kao rezultat proračuna).

Treća, a možda i najčešća opcija je kombinacija prve dvije u svim mogućim varijacijama, tj. stranica je sastavljena od nekoliko komada u koje se vrše razne izmjene.

Najčešći alat za kreiranje dinamičkih stranica je JavaScript programski jezik. VBscript se koristi mnogo rjeđe ( visual basic skripta).

Ako resurs sadrži sadržaj koji se često mijenja, tada se obično koriste skripte koje se, za razliku od JavaScripta, izvršavaju na serveru.

U ovom slučaju, dinamička stranica radi ovako:

  1. Pretraživač traži dokument od servera.
  2. Server utvrđuje da je dokument skripta i pokreće ga za izvršenje.
  3. Skripta generiše html stranicu.
  4. Server šalje generisanu stranicu pretraživaču, tako da pretraživač nema pojma da je skripta izvršena na serveru.

Postoji nekoliko programskih jezika koji vam omogućavaju da pišete skripte za dinamičke stranice. Najčešći od njih:

Perl
SSI
PHP
A.S.P.
Python
Java
Binarni kod (C ili C++ program preveden u izvršni kod).

Svaki od ovih programskih jezika ima svoje karakteristike aplikacije. Možete pisati skripte na bilo kom jeziku. Glavna stvar je znati njegove snage i slabe strane i efikasno ih koristiti.

Dinamične stranice ne samo da postavljaju nove zahtjeve za njihovo kreiranje i održavanje, već su i mnogo skuplje za razvoj, a zahtijevaju i održavanje nove kadrovske jedinice – programera. Istovremeno, treba napomenuti da tehnologija ne miruje, pa se i mogućnosti koje se nude za kreiranje dinamičkih stranica razvijaju. I ovdje je pronađeno rješenje u obliku kreiranja visokokvalitetnih resursa na CMS-u, koji sada dobivaju sve veću popularnost.

CMS je skraćenica za Content Management System, što se doslovno prevodi kao Resource Content Management System. Jednostavno rečeno, ovo je isti softverski paket koji vam omogućava da promijenite dizajn i sadržaj dinamičkih stranica na način na koji korisnik zahtijeva. Inače, SMS su bazirani na jednom ili više od gore navedenih programskih jezika.

Trenutno postoji mnogo takvih sistema koji rade na Internetu, neki od njih su besplatni, neki se plaćaju. Često takve sisteme svojim klijentima pružaju odgovarajuće razvojne kompanije. Svaki sistem je individualan i ima svoje prednosti i nedostatke.

Stoga su dinamičke stranice mnogo fleksibilnije u upravljanju. Dinamičke stranice su kombinacija teksta i grafike, jezika za označavanje - baš kao i statične stranice. Međutim, pored toga, dinamičke stranice koriste i razne tehnologije koje vam omogućavaju da „sastavljate“ web stranice u hodu. Takvi resursi pomažu svojim vlasnicima da ujedine zajednicu posjetitelja oko sebe i pružaju mnogo više mogućnosti za komunikaciju sa svojom publikom, što im omogućava da je učine zanimljivijom posjetiteljima kroz različite funkcije.

Dinamički resursi se mogu razvijati od nule, ručno kreirajući sve što je potrebno programski kodovi, skripte itd. Međutim, mnogo češće se koriste posebni sistemi za upravljanje sadržajem za kreiranje dinamičkih stranica - CMS. CMS vam omogućava da koristite gotove softverske module i komponente, bez potrebe da ih svaki put kreirate od nule. Možete kreirati bilo koji broj projekata baziranih na jednom CMS-u.

Istovremeno, uprkos očiglednim prednostima dinamičkih stranica, ne treba pretpostaviti da su dinamičke stranice uvijek pravo rješenje i potpuno napustiti stranice statičnih stranica. Uvijek treba poći od situacije. Ne bez razloga kažu da i uz željeznicu ipak treba svirka. Često je potrebno koristiti statične stranice u projektu. Ako je projekt mali, sastoji se od samo nekoliko stranica, a sadržaj na njemu nije ažuriran, onda nema smisla stvarati motor za resurs - lakše je jednom postaviti sve potrebne stranice. Ali to nije moguće u svim slučajevima.

Čak su i početnici vjerovatno upoznati sa izrazima “statična lokacija” i “dinamička lokacija”. Ali šta tačno znače ove fraze i koja je razlika između njih, koje su prednosti jednog ili drugog tipa sajta?

Hajde da ne nagađamo, već ih jednostavno pogledajmo detaljno i uporedimo.

Statičke i dinamičke stranice - u čemu je razlika?

Iako je danas broj dinamičnih stranica u porastu, nemoguće je sa sigurnošću reći da li je stranica koju ste otvorili na prvi pogled statična ili dinamična.

Primjeri statičnih lokacija

Na prvi pogled možete pretpostaviti da je stranica statična ako, na primjer, sadrži jednu ili mali broj stranica, ili, na primjer, ako je to stranica vizit karte neke kompanije i informacije na njoj se nikada ne mijenjaju ili su ažurira se vrlo rijetko, ako nema funkcije kao što su, na primjer, komentarisanje ili registracija, itd.

Zapravo, statičnu stranicu može ažurirati samo osoba koja je dobro upućena u web razvoj, budući da ona nema admin panel, tako da će se sva ažuriranja stranice morati vršiti preko njenog izvornog koda.

Statičke stranice su jeftinije i zauzimaju manje prostora za hosting, zbog čega ih mnoge male kompanije i dalje preferiraju u odnosu na dinamičke stranice.

Pa možemo vidjeti prednosti statičnih stranica:

  1. Jednostavni su i brzo se razvijaju
  2. Jeftin za razvoj i manje opterećenje.

Uz prednosti možemo istaći i Nedostaci statičnih lokacija:

  1. Za ažuriranje stranice potrebno je iskustvo u izradi web stranica.
  2. Da biste ažurirali čak i najmanji detalj na takvoj stranici, ili ćete morati sami da se udubite u kod, ili, ako sami ne poznajete HTML i CSS, svaki put ćete morati pribjeći uslugama webmastera.

  3. Stagnacija sadržaja.
  4. Zbog činjenice da se sadržaj takvih stranica vrlo rijetko ažurira, sadržaj na njima „stagnira“, to ima vrlo nepovoljan učinak na pretraživače. Naravno, takvu stranicu možete promovirati, ali uglavnom putem plaćenih metoda.

Primjeri dinamičkih web stranica

S druge strane, dinamičke stranice mogu koštati mnogo više, posebno ako se razvijaju od nule. Takođe, hosting će biti malo skuplji, jer ćete morati da povežete dodatne funkcije. Ali brojne prednosti dinamičkih stranica više nego nadoknađuju ove nedostatke.

Dinamična web stranica daje svom vlasniku mogućnost da vrlo lako ažurira i dodaje sadržaj na svoju stranicu. Na primjer, vijesti i događaji se mogu dodati preko admin panela u samom pretraživaču, bez potrebe za uređivanjem kodnih datoteka.

Mogućnosti dinamičke web stranice ograničene su samo našom maštom.

Primeri dinamičkih sajtova su sajtovi zasnovani na sistemima upravljanja, internet prodavnice, sajtovi sa malim oglasima, forumi, sajtovi sa mogućnostima za klijente i posetioce da ostavljaju recenzije, komentare, uploaduju datoteke itd.

Prednosti dinamičkih sajtova:

  1. Funkcionalniji sajt.
  2. Mnogo je lakše ažurirati ga.
  3. Stalno ažuriranje ima pozitivan učinak na promociju web stranice i dovodi više posjetitelja.
  4. Ovakva stranica pomaže svom vlasniku i daje mnogo više mogućnosti da komunicira sa svojom publikom i učini svoju stranicu zanimljivijom posjetiteljima kroz različite funkcije.

zaključci

Dakle, vidimo da dinamična stranica ima mnogo veće izglede za razvoj od statične stranice, uprkos činjenici da može potrajati više vremena da se takva stranica oživi.

Sve više ljudi shvaća neospornu prednost dinamičkih stranica, pa se stoga sve više njih pojavljuje na internetu.

No, s druge strane, sve ovisi o tome šta VAM konkretno treba, da li vam treba npr. web stranica na jednoj stranici preko koje ćete prodavati neki proizvod ili web stranica vizit karte od 1 do 5-6 stranica koju nemojte Ako planirate stalno ažuriranje, onda bi potpuno prirodno rješenje bilo da odaberete statičnu stranicu.

Ako želite da se vaš projekat stalno razvija i da bude ispunjen sadržajem, onda vam je, naravno, potrebna dinamična web stranica.