Statiska och dynamiska webbsidor. Statiska och dynamiska webbsidor. Databasmodellutveckling

Direkt indexerad länk till webbplatsen- detta är en länk som inte blockeras av förbud HTML-taggar och/eller attribut, såväl som utan några omdirigeringar (omdirigeringar). Till exempel, om du bestämmer dig för att placera en länk till min sida på din webbplats/blogg, är det tillrådligt att inte dölja den från sökrobotar med det förbjudande nofollow-attributet. Om du bestämmer dig för att länka till en av mina sidor, öppna länken för indexering. Jag skulle vara tacksam för direkt indexerade länkar till min webbplats.
Om du använder grafiskt/textinnehåll eller något fragment/citat lånat från denna webbplats på din webbplats/blogg, måste länken till webbplatsen vara utan några förbjudande attribut och/eller omdirigeringar.

Vad är TFP och FTP, vad är skillnaden?

Förkortningarna TFP och FTP har inget gemensamt med varandra. Det enda som förenar dem är konsonansen av uttal, vilket kan förvirra någon.
TFP - (tid för utskrift), översatt som "tid per utskrift". Denna term används av fotografer och modemodeller. TFP är en sorts valuta som används av företrädare för fotoindustrin. TFP är som regel säkerställt genom ett avtal mellan modellen och fotografen, för att undvika alla möjliga problem relaterade till upphovsrätt etc.
När en modell går med på TFP betyder det att hon är redo att arbeta gratis under en viss tid, och för arbetet kommer hon att få sina fotografier (alla eller några, med eller utan bearbetning).
Nu om FTP.
FTP (File Transfer Protocol)är ett filöverföringsprotokoll som används av webbutvecklare och andra. För att arbeta med servern genom detta protokoll, använd FTP-klientär ett program som fungerar direkt med FTP-servern.
FTP-protokollet används för att överföra nätverksdokument, såsom HTML, PHP, CSS, JPEG, etc., från utvecklarens privata enhet till värdservern. Samma protokoll används för att ladda ner nätverksdokument från servern till utvecklarens privata enhet.

Vad är ett filtillägg?

Filtillägg, eller snarare, ett filnamnstillägg är en sekvens av vissa tecken som läggs till namnet på en fil. Dessa tecken är avsedda att identifiera typen, eller som man säger, filformat. Ett filnamnstillägg är inget annat än en kombination av bokstäver och/eller siffror som kommer efter den sista punkten i ett filnamn, till exempel fotograf.gif, där "fotograf" är filnamnet och ".gif" är dess filtillägg. . Det finns ett stort antal filtillägg, men de motsvarar alla vissa standarder och tillämpningsområden. Men om du vill komma på ett eget originaltillägg för någon fil, till exempel file_name.fotograf, snälla, inga problem! Men Windows OS kommer inte att kunna öppna en sådan fil om det inte finns något motsvarande program på din maskin som ser detta tillägg. Till exempel, om du på Windows OS vill öppna en fil med filtillägget .gif, känner detta operativsystem till detta tillägg och kommer att öppna en bild. Men om du vill öppna en fil med filtillägget .fotograf, öppnas inte en sådan fil, eftersom Windows OS inte är bekant med en sådan filändelse. En fil med detta tillägg kan öppnas i ett program som stöder detta tillägg.

Vad är en visitkortswebbplats, vad finns det?

Visitkortswebbplatsär en webbplats vars huvudsakliga syfte är att presentera information till allmänheten om ett företag eller en individ. En sådan sida består vanligtvis av ett litet antal statiska eller dynamiska sidor.
Visitkortswebbsidor bör innehålla grundläggande information om företaget/personen, de varor de producerar och information om deras tjänster. Det kan vara sidor med prislistor, kontaktuppgifter och givetvis ett formulär respons. En fotografs visitkortswebbplats skiljer sig som regel från andra liknande webbplatser i sin utsökta design och överflöd av fotografier. Fotografens hemsida ska ha hans portfolio och kontakter. I Nyligen Allt oftare kan du hitta en webbplats för visitkort, vars vissa sidor är byggda på FLASH-teknik, eller helt på FLASH.
FLASH webbplatser ser bra ut, men sådana webbplatser är för närvarande indexerade av sökmotorer mycket dåligt eller inte alls.

Vad är en dynamisk webbsida/webbplats?

Dynamisk webbsida- detta är en sida där innehåll eller någon del av det kan genereras (ändras) i realtid utan att involvera ytterligare kroppsrörelser. För dynamiskt länkade sidor används en så kallad motor – CMS (content management system).
Hur det fungerar? Till exempel sidan du ser på det här ögonblicket i ett webbläsarfönster finns det inte i det här formuläret. Den är sammansatt av separata delar (mallar), som sätts ihop av servern till en helhet. Det vill säga när en sida efterfrågas bearbetar webbservern begäran och omedelbart "i farten" sammanställer en webbsida från separata delar och skickar den till oss för visning i webbläsaren. Endast sidinnehållet ändras, men sidmallen förblir oförändrad.
Tänk dig en garderob som har flera hyllor med olika saker. På ena hyllan finns textinnehåll (databas), på den andra - grafiska filer(foton, grafiska designelement), på den tredje - skript (till exempel PHP-skript), på den fjärde - CSS-stilar och så vidare... Det betyder att när servern får en begäran om det eller det innehållet vet var allt finns och sätter snabbt ihop en sida åt oss från de nödvändiga delarna: den hämtar det nödvändiga textinnehållet från databasen, de nödvändiga grafikfilerna från grafikhyllan, etc. Genom att ändra någon del av mallen på ett ställe tillämpas dessa ändringar på alla sidor på webbplatsen.

Vad är en statisk webbsida/webbplats?

Statisk webbsidaär ett webbdokument som finns på servern i den form som användaren ser det i sin webbläsare. Det vill säga, ett sådant dokument är inte sammansatt av separata delar (mallar), utan ligger på servern som den är, i sammansatt form, och laddas ner från servern som en fil med anslutningar till den. CSS-stilar och/eller manus.
För att ändra innehållet i ett sådant dokument måste du först redigera det på din arbetsdator i någon HTML-redigerare och sedan ladda upp det på nytt till servern. För att ändra någon del av designen eller, till exempel, lägga till/ta bort ett navigeringsmenyalternativ, kommer detta att kräva att alla sidor på webbplatsen ändras (ändras).

Webbdesigner och webbprogrammerare, vad är skillnaden?

En webbdesigner och en webbprogrammerare arbetar inom samma område, men de utför olika uppgifter. En webbdesigner är involverad i prototypdesign av siddesign, utvecklar en webbdesignmall, skapar en grafisk designlayout, skär den i separata fragment och optimerar, väljer teckensnitt och färger. En webbdesigner kan göra layouten av webbsidor, men detta är inte hans ansvar; för detta ändamål finns det specialutbildade personer - layoutdesigners.
Vem är en webbprogrammerare?
En webbprogrammerare, eller snarare, en webbutvecklare (serverutvecklare) är en person som utvecklar speciella webbapplikationer, skriver skript på olika programmeringsspråk för vissa webbsidesmoduler.
Slutsats, för att en webbplats ska vara både vacker och funktionell behövs både en webbdesigner och en webbprogrammerare. Och för att sajten ska vara användarvänlig behöver den

Marknadsföring av webbplatser (reklam) förstås som att flytta en webbplats till toppen av sökresultaten för vissa sökord i sökmotorer. Googles system, Yandex, etc.
Bästa sökresultaten- det här är den första sidan på sajten sökmotor med de första 10 länkarna till webbplatser. För dessa 10 positioner finns det en oförsonlig kamp mellan platser med samma ämne. Enligt statistiken samlar de webbplatser som ligger i toppen (upptar de tre första positionerna) det största antalet besökare. För att vara på den här toppen betalar vissa resurser enorma summor pengar. Men det räcker inte för att komma dit, du måste stanna där, och detta leder till ständig kamp inte bara bland stora SEO-företag utan även bland privata

statiska sidor är en exakt kopia av filer som finns i webbserverns kataloger och ändras inte förrän utvecklaren själv ändrar något i dem. Däremot kan sidor genereras dynamiskt, det vill säga när en begäran bearbetas med hjälp av något program, och inte från en färdig fil på disken. Det finns flera sätt att skapa en sådan sida:

generering på begäran direkt på webbservern. För att implementera möjligheten att dynamiskt generera webbsidor är det nödvändigt att instruera servern vilka filer som är "vanliga" och vilka innehåller instruktioner för deras programbearbetning. Således anses alla filer i motsvarande katalog på en webbplats som har "exekveras" i listan över åtkomsträttigheter som dynamiska, och servern väljer själv ett sätt att generera en specifik sida när den kommer åt en sådan fil baserat på dess attribut och/ eller dess namntillägg. I det här fallet kan sidan genereras antingen av servern själv (med speciella kommandon), eller av ett externt program som startas direkt eller genom ett CGI-gränssnitt (gemensamt gateway-gränssnitt). Programmet för att skapa en dynamisk sida kan skrivas på ett kompilerat eller tolkat språk. Programtexten som innehåller kommandon för att dynamiskt generera sidor kallas ett skript. Listan över överensstämmelse mellan skriptattribut och externa program för bearbetning av dem anges i avsnittet Webbserver/skriptprocessorer. Till exempel, som standard bearbetas skript med tilläggen *.pl och *.cgi av Perl-tolken;

formation på användarens dator. I detta fall överförs först texterna till program för att generera dynamiska webbsidor till lokal dator användare, där webbläsaren måste anropa lämpligt verktyg för att de ska kunna bearbeta och ta emot webbsidan. Programmet för att skapa en dynamisk sida kan också skrivas på antingen ett kompilerat eller tolkat språk.

    1. cgi-teknik

Du har förmodligen stött på sidor som inte existerade tidigare och som skapades dynamiskt på din begäran – genererade, som de säger, "i farten".

Till exempel ger en recensionsbok ett specifikt formulär där du lägger till din recension, och nästa gång du öppnar den sidan kommer den att innehålla ett nytt meddelande.

En teknik som låter dig lägga till dynamiskt innehåll på webbsidor kallas CGI. Det låter dig associera med en viss URL, inte bara ett statiskt dokument, utan ett program, som ett resultat av vilket data kan genereras i realtid.

Låt oss titta på ett exempel på att tillhandahålla väderinformation. Väderrapporten ändras varje dag och en ny statisk prognossida kan skapas dagligen. Men om du vill tillhandahålla omedelbar data måste du skapa en ny sida varje gång. Detta kan implementeras med hjälp av CGI-teknik. Vid kontakt med servern startas ett CGI-program på den, som kommer åt den digitala mätenheten och ger information om temperatur, tryck etc. Nästa gång du kontaktar den här adressen får du ny information.

Ett annat exempel: när du fyller i en förfrågan, till exempel en förfrågan i en sökmotor, får du som svar resultatet av ett CGI-program i form av en uppsättning sökta adresser.

Ett CGI-program kan ses som en del av en webbserver som exekveras av webbservern i realtid. Servern skickar användarens förfrågningar till ett CGI-program, som bearbetar dem och returnerar resultatet av sitt arbete till användarens skärm (Fig. 3). På de flesta webbservrar är CGI-mekanismen organiserad enligt följande: en speciell underkatalog skapas där sådana program lagras, och webbserveradministratören konfigurerar åtkomsten till den på ett sådant sätt att filer från den inte läses, utan startas för avrättning. Resultatet av programmet skickas till webbläsaren som svar på begäran. Ur kundens synvinkel spelar det ingen roll om en given URL är ett statiskt dokument eller ett CGI-program. Webbläsaren uppfattar information på samma sätt, oavsett om den genereras i farten eller är en statisk sida. Utdata från ett CGI-program har samma format som ett statiskt dokument.

Du har förmodligen stött på förkortningen CGI i din webbläsare när du reste runt World Wide Web, och du såg troligen en länk till /cgi-bin/ - katalogen där cgi-program vanligtvis finns. Många interaktiva tjänster, såsom en gästbok, forum, etc., är byggda specifikt på CGI-program.

Termen "CGI" syftar inte bara på programmet utan också till protokollet. I denna mening är CGI ett standardsätt för en webbserver att skicka en användarförfrågan till ett applikationsprogram och ta emot data tillbaka för att vidarebefordra den till användaren. CGI-protokollet för att skicka data mellan en server och en applikation är en del av HTTP-protokollet.

Det bör noteras att om du ska vara värd för din sida på gratis värdservrar, så är det mycket möjligt att CGI-skript inte stöds på dessa servrar.

Ett alternativ till CGI är Microsofts Active Server Page (ASP)-teknik, som bygger på samma princip: ett skript som ingår på en webbsida exekveras på servern innan sidan skickas till användaren.

Det finns andra tekniker som fungerar på samma princip.

Som kan ses i fig. 3, CGI-programmet körs på serversidan.

Fig.3.

Det är emellertid också möjligt att organisera dynamiska sidor genom att överföra program till klientdatorn som genererar dynamiskt sidinnehåll på klientsidan (fig. 4).

Ris. 4

Denna teknik implementeras enligt följande: aktiva dokument lagras på webbservrar och laddas ner till den lokala datorn på samma sätt som statiska sidor, men efter att det aktiva dokumentprogrammet finns på den lokala datorn körs och utför vissa beräkningar på användarens dator , baserat på för lokala datorresurser. Och resultaten av dessa beräkningar visas redan på skärmen. Följaktligen beror hastigheten för att visa data på skärmen inte på kommunikationshastigheten med fjärrservern, eftersom utmatningen av det aktiva dokumentet sker först efter att det har laddats ner till den lokala datorn. Olika tekniker kan användas för att skapa aktiva dokument: applikationer skrivna i JavaScript, Java-appletar och ActiveX-kontroller.

Jobbar dag efter dag för att uppdatera innehållet på din webbplats, mätta det intressanta material, du tänker förmodligen på att hundratals nya webbplatser skapas varje dag och hundratals nya dokument läggs till varje dag. Hur skapas alla dessa nya sidmatriser och hur uppdateras de så snabbt? Allt detta är inte så svårt som det verkar vid första anblicken, eftersom det använder konceptet med dynamiska webbsidor.

I den här artikeln kommer vi att titta på stegen för att skapa en mekanism för att publicera pressmeddelanden på en webbplats. Vår webbplats kommer att koppla ihop pressmeddelanden som lagras i databasen med mallwebbsidor. Vårt mål var inte att introducera läsarna till grunderna för webbutvecklingsverktyg, eftersom många böcker och artiklar har skrivits om detta. Den här artikeln är främst avsedd för de användare som redan har erfarenhet av att skapa webbsidor och enkla webbplatser. Vårt huvudmål är att visa dig hur du kommer igång med att utveckla din första dynamiska webbplats. För att förstå artikeln är det lämpligt att ha grundläggande kunskap om informationssystemarkitekturer, hypertext markup language (HTML) och programmeringsspråket Perl. För att skapa denna sida kommer vi att använda tre kraftfulla teknologier med öppen källkod: Apache, MySQL och Perl/DBI.

Vad är en statisk webbplats?

Innan du dyker in i att utveckla en dynamisk webbplats är det viktigt att förstå vad en statisk webbplats är och de statiska webbsidor som utgör dess kärna. Statiska webbsidor skapas manuellt, sparas sedan och laddas upp till webbplatsen. Närhelst innehållet på en sådan sida behöver ändras, ändrar användaren det på sin arbetsdator, vanligtvis med hjälp av en HTML-redigerare, sparar det och laddar sedan upp det på nytt till webbplatsen. Om du tittar närmare på någon portal, säg CNN.com eller BBC.co.uk, kanske du tror att dessa företag lockar en armé av layoutdesigners för att uppdatera innehållet på sina webbplatser. Det finns faktiskt Det bästa sättet- användning av konceptet med en dynamisk webbplats.

Vad är en dynamisk webbplats?

Varje renderad sida på dynamiska webbplatser är baserad på en mallsida i vilken ständigt föränderligt innehåll infogas, som vanligtvis lagras i en databas. När en användare begär en sida hämtas den relevanta informationen från databasen, infogas i en mall för att bilda en ny webbsida och skickas av webbservern till användarens webbläsare som visar den korrekt. Förutom informationsinnehåll kan navigeringselement för en webbplats också skapas dynamiskt. På detta sätt, om du behöver uppdatera innehållet på din webbplats, lägger du helt enkelt till text för den nya sidan, som sedan infogas i databasen med hjälp av en specifik mekanism. Resultatet är att webbplatsen verkar uppdatera sig själv.

Skapa en dynamisk webbplats

Det första du behöver för att skapa en dynamisk webbplats är en webbserver, till exempel Apache.

En webbserver kan användas för att betjäna en elektronisk butik, en nyhetsserver, en sökmotor, ett system distansutbildning och även för hela uppsättningen listade områden. Valet av webbserver beror på vilken typ av aktivitet en individ eller organisation avser att ägna sig åt på Internet.

Få strategiska affärsbeslut är så viktiga som att välja en webbserverplattform. Serveregenskaper är en extremt viktig faktor som bestämmer nodens tillförlitlighet, dess "lyhördhet" för kundförfrågningar, samt vilka ansträngningar som måste göras för att hålla den i fungerande skick. På göra rätt val komponenter och ett kvalitetsprojekt kan en webbplats bli ett nytt och bekvämare sätt för kunder och partners att interagera med ditt företag. Överbelastning av webbservern kan göra att databasservern eller någon annan resurs blir otillgänglig för klienter.

Stora företag förlitade sig tills nyligen på Microsoft Internet Information Server, Netscape FastTrack, IBM WebSphere och Apache användes främst av små företag. Men nu har situationen förändrats något, och Apache börjar stödja prestanda för vissa stora internetprojekt, särskilt Yahoo.

Du kan hitta den fullständiga versionen av artikeln på vår CD-ROM.

Apache tillhandahåller omfattande funktioner som gör att du kan anpassa din webbserver för att passa individuella och företagsanvändares behov. Inställningar görs med hjälp av direktiven i konfigurationsfiler. Apache låter dig skapa virtuella webbplatser och fungerar även som en proxyserver. Om du endast behöver ge åtkomst till serverinnehåll begränsad krets individer kan webbservern konfigureras så att servern vid åtkomst till angivna kataloger kontrollerar inloggningsnamn och lösenord i sin egen databas eller i en av de till den anslutna databaserna.

Därefter måste du bestämma hur du ska lagra innehållet som visas på webbsidan. I den här artikeln, med hjälp av ett specifikt exempel, kommer vi att visa hur man skapar en databas i MySQL DBMS, vilket gör att vi kan dela upp webbinnehåll i tabeller som innehåller fält och dataposter. Ett fält är en diskret dataenhet i en tabell. Till exempel kan vi skapa en tabell tbl_news_items med fälten col_title, col_date, col_fullstory, col_author. MySQL DBMS är ett utmärkt val för att skapa en sådan databas på grund av dess enkla användning och administration, gratis distribution för olika plattformar, inklusive Linux och Windows, och dess snabbt växande popularitet.

Efter detta kommer vi att skapa dynamiska HTML-mallsidor. För att utveckla applikationer för att interagera med databasen och mallarna kommer vi att använda Perl-språket.

Faktum är att vi måste skapa tre Perl-program, eller skript: ett kommer att visa länkar till alla tillgängliga pressmeddelanden (pr-list-dbi.pl), det andra kommer att visa innehållet i det valda pressmeddelandet (pr-content-dbi .pl) , och den tredje tillåter oss att lägga till det senaste pressmeddelandet till databasen (pr-add-dbi.pl). Layoutarbetet kan anförtros till din favorit HTML-redigerare, till exempel Allaire HomeSite (http://www.allaire.com/). Kom bara ihåg att när du skapar en mall måste du lämna tomma områden där dynamiskt innehåll kommer att infogas (av varierande längd, naturligtvis).

När du har utvecklat den övergripande designen för dina pressmeddelanden, infogar du helt enkelt dina specifika sökord i de tomma utrymmena ovan (se nedan för mer om detta). När en användare begär ett pressmeddelande kommer webbservern att bearbeta Perl-koden och ersätta nyckelorden i mallarna med innehåll som hämtas från databasen, det vill säga ett specifikt pressmeddelande.

Det sista du ska göra är att ladda upp dina mallar till webbservern i specifika kataloger. Du kan använda FTP-klienten CuteFTP (http://www.cuteftp.com/), men vi föredrar att använda FAR-filskalet. Två viktiga saker att komma ihåg: för det första måste mallfiler innehålla namn som slutar på .pl, och för det andra måste de ha exekveringsbehörighet (på UNIX-system måste du köra chmod kommando 0755 mallnamn.pl). Detta är allt!

Lägger till funktionalitet

Det är inte speciellt svårt att lägga till funktionalitet till mekanismen för att publicera pressmeddelanden. Du kan sortera länkar till pressmeddelanden som finns tillgängliga i databasen efter datum eller titel, gruppera dem efter år. Eller, till exempel, kanske du vill visa ett slumpmässigt pressmeddelande på din webbsida, som ger information från tid till annan till besökare oavsett när det faktiskt publicerades. Men den kanske viktigaste och mest användbara funktionen är att lägga till ett HTML-formulär för att skriva in innehållet i pressmeddelandet och att utveckla ett CGI-program i Perl för att bearbeta detta formulär och sedan placera dokumentet i databasen. Kom ihåg att CGI (Common Gateway Interface) är ett protokoll, en mekanism eller ett formellt avtal mellan en webbserver och ett separat program. Servern kodar indata, såsom HTML-formulär, och CGI-programmet avkodar den och genererar en ström av utdata. Protokollspecifikationen säger inget om något specifikt programmeringsspråk. Därför kan program som följer detta protokoll skrivas på nästan alla språk - C, C++, Visual Basic, Delphi, Tcl, Python eller, som i vårt fall, Perl.

Låt oss sammanfatta några resultat. Vi hoppas att den här artikeln kommer att hjälpa dig att uppskatta fördelarna med konceptet med dynamiska webbsidor framför statiska. Att tillämpa detta koncept kommer att minska manuellt arbete, hjälpa till att fördela serverns arbetsbelastning och gör att du snabbt kan öka mängden innehåll på webbplatsen. Kombinationen av Apache, MySQL och Perl kommer att ge en praktiskt taget gratis, lättanvänd, flexibel att installera och konfigurera plattformsoberoende och skalbar utvecklingsmiljö. Här kommer vi inte att överväga detaljerna för deras installation, eftersom det för det första helt enkelt inte finns tillräckligt med utrymme för den här artikeln, och för det andra kommer vart och ett av dessa verktyg med mycket detaljerad dokumentation.

Skapa en databas i MySQL DBMS

Databasmodellutveckling

Det första och viktigaste steget för att skapa en databas är att utveckla dess modell. Så låt oss börja.

Steg 1

Vi måste namnge databasen på något sätt. Låt oss kalla det db_website.

Steg 2

Det är nödvändigt att bestämma exakt vad databastabellerna kommer att innehålla. En databas kan innehålla hundratals tabeller. Till en början behöver vi bara ett bord för att lagra våra pressmeddelanden. Låt oss kalla det tbl_news_items.

Steg 3

Vi måste definiera de fält som vår tabell kommer att innehålla. Dessa fält kommer att representera alla delar av pressmeddelandet. Vårt exempel använder fem fält: col_id (numerisk identifierare för pressmeddelandet), col_title (titel), col_date (publiceringsdatum), col_fullstory (innehåll), col_author (författarens namn). Fältet col_id kommer att innehålla en unik identifierare med vilken användaren kan fråga innehållet i ett specifikt pressmeddelande.

Skapande av databas

Nu måste vi upprätta en anslutning till MySQL DBMS och skapa vår databas. Nedan visar vi hur du gör detta från kommandoraden. Det finns dock många hanteringssystem, eller MySQL DBMS-hanterare, som låter dig administrera det med ett användarvänligt grafiskt gränssnitt.

Först och främst bör du definitivt känna till grunderna i språket SQL-frågor(Structured Query Language). MySQL DBMS-paketet innehåller en fullständig beskrivning av den SQL-specifikation som stöds. Detta språk är lätt att förstå eftersom dess operatorer och deras konstruktioner är lätta att förstå och komma ihåg. För att fungera behöver du operatorer för att skapa (SKAPA eller INFOGA), välja (SELECT) och ta bort (DROP eller DELETE) data, samt ändra dem (UPPDATERA, MODIFIERA). I specifika exempel kommer vi bara att använda några av dem.

För att undvika att konfigurera användarkonton och tilldela nödvändiga åtkomsträttigheter, låt oss anta att du använder administratörskontot (root).

Steg 1

Öppna ett terminalfönster (om du arbetar i X Windows grafiska skal för Linux OS eller Windows 9x/NT/2000) och upprätta en anslutning till MySQL DBMS genom att ange kommandorad mysql. Du bör uppmanas att ange mysql>-kommandon som svar.

Steg 2

Låt oss skapa vår databas genom att ange:

SKAPA DATABAS db_website;

Efter att ha angett varje kommando, glöm inte att skriva in symbolen (;). Detta är mycket viktigt eftersom det signalerar slutet av kommandoinmatningen till MySQL.

Använd db_website;

Steg 4

Låt oss skapa en tabell tbl_news_items, där vi definierar vilken typ av data som kommer att lagras i dess fält. Stiga på:

1. CREATE TABLE tbl_news_items (2. col_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 3. col_title VARCHAR(100), 4. col_author VARCHAR(100), 5. col_body TEXT, 6. col_date DATE 7.);

Steg 5

Nu när vi har skapat en tabell för att lagra vår data måste vi fylla den med lite exempeldata. Observera att i följande kommando kommer vi inte att definiera fältet col_id eftersom det automatiskt fylls i när ny data läggs till. Tänk också på att syntaxen för datum är<год/месяц/день>. Så, vid mysql> kommandotolken, skriv in följande kommando.

8. INSERT INTO tbl_news_items (col_title, _ col_author, col_body, col_date) 9. VÄRDEN (10. 'Mitt första pressmeddelande', 11. 'Ditt namn', 12. 'Detta pressmeddelande är lagrat i MySQL-databasen', 13 . '2001/4/15' 14.);

Ange några fler liknande förfrågningar att sätta in. För att se vad som är lagrat i databasen, vid mysql>-kommandotolken anger du:

VÄLJ * FRÅN tbl_news_items;

Skapa dynamiska webbsidor i Perl

Förbereder för arbete

För att köra Perl-program behöver du en Perl-tolkversion 5.005 eller 5.6 av Perl Standard eller ActiveState Perl-distributioner för UNIX eller Win32. Om du ska utveckla applikationer för att köra under Win32, så är paketet från ActiveState något bekvämare att använda, och det innehåller även ett PPM-verktyg för att installera ytterligare moduler.

För att organisera interaktionen mellan våra Perl-program och MySQL DBMS, är det nödvändigt att DBI-modulen ingår i Perl-distributionen. Eftersom modulen i princip inte gör något själv, utan flyttar alla operationer på interaktion med databaser till motsvarande drivrutin, krävs installation av DBD-Mysql-biblioteket (MySQL-databasdrivrutin för DBI-modulen). Som sagt av Tim Bunce, författaren och utvecklaren av den angivna modulen, "DBI är ett API för att organisera åtkomst till databaser från Perl-program. DBI API-specifikationen definierar en uppsättning funktioner, variabler och regler som används för att kommunicera transparent med databaser."

Konceptet med databasdrivrutiner är mycket bekvämt eftersom du i din Perl-applikation använder standard DBI-anrop, som sedan vidarebefordrar modulerna till lämplig drivrutin, som i sin tur kommer att interagera direkt med databasen utan att du behöver lära dig tekniska funktioner varje specifik DBMS. Så det finns drivrutiner för DBD::Sybase, DBD::Oracle, DBD::Informix, etc. (Figur 1,).

Låt oss gå lite utanför artikelns ram. Låt oss anta att DBI-paketet inte innehåller en drivrutin för ett specifikt DBMS. I det här fallet kommer DBD-ODBC-bryggan att komma till undsättning. Det räcker att skapa en ny datakälla (Data Source Name) för ODBC (Open DataBase Connectivity)-drivrutinen, där du måste välja typen av denna DBMS, värdadressen till vilken du vill upprätta en anslutning, databasnamnet och behörighetsdata, det vill säga användarnamnet och lösenordet (Fig. .3). Och sedan, med hjälp av DBI-modulen, interagera med databasen. Dessutom kommer ActiveState Perl vanligtvis som standard med en Win32::ODBC-modul (Win32-ODBC). Att arbeta med det är lite annorlunda än att arbeta med DBI, men överlag väldigt likt. Den enda skillnaden är att Win32::ODBC är en modul endast för Win32-system och låter dig arbeta med inbyggda ODBC-funktioner mer effektivt än DBD::ODBC.

En parallell kan dras mellan ODBC och DBI. DBI är en analog till ODBC Administrator (databasdrivrutinshanterare). Varje DBD-drivrutin motsvarar i sina funktioner en ODBC-drivrutin. Det enda som kan förvirra dig är det faktum att, som nämnts ovan, det finns en DBD::ODBC-drivrutin. Men det låter dig bara upprätta DBI-kommunikation med ODBC-drivrutiner.

För att installera DBI och DBD-Mysql, med hjälp av PPM-verktyget i en Win32-miljö, ange på kommandoraden:

Ppm installera DBI

Observera att din dator måste vara ansluten till Internet vid denna tidpunkt. Om du har motsvarande modul på din lokal disk, använda sig av bakgrundsinformation genom att ange kommandot:

ppm hjälp med att installera

För UNIX-användare kommer installationen av DBI-modulen att vara nästan samma sak som att installera andra Perl-moduler:

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

Du kan också använda CPAN-skalet. Om du har UNIX-versionen av ActiveState-paketet installerat på din dator kan du också arbeta med PPM-installationsverktyget. Ibland händer det att CPAN- och PPM-skalen inte fungerar om det finns en brandvägg installerad på företagets nätverk som din dator är ansluten till, eller brandvägg(brandvägg). I det här fallet är det bara moduler med källkoder som laddas ner manuellt som hjälper dig. För att installera dem och ansluta till Perl eller Apache behöver du en Perl-tolk, en C/C++- eller GCC/PGCC-kompilator och ett av make build-verktygen (från en av UNIX-klonerna, såväl som Microsoft Visual C++), nmake eller dmake. Därmed blir installationsproceduren för moduler något mer komplicerad. Nästan alla kommer med "bygg"-dokumentation, så du bör inte ha för mycket problem.

Visar en lista med artiklar

Nu när du har en fungerande databas för pressmeddelanden kan du enkelt koppla den till din webbsida. Låt oss börja med att skapa enklaste sidan, som visar en lista över alla tillgängliga pressmeddelanden. Observera att Apache-webbservern som standard "tror" att alla dina dokument ska finnas i sin htdocs-katalog, och körbara filer- i cgi-bin. Därför måste du placera alla filer med filtillägget .pl i cgi-bin-katalogen. I sin tur, genererade filer HTML-mallar måste placeras i tpl-katalogen. Kataloghierarkin kommer att se ut så här:

/ (roten av valfri disk) /local /local/usr /local/usr/bin /local/usr/cgi-bin /local/usr/htdocs /local/usr/tpl

För DOS/Windows-system kan sökvägen till cgi-bin se ut så här:

C:\local\usr\cgi-bin

Steg 1

Använder din favorit textredigerare, skapa en fil pr-list-tpl.htm:

15. 16. 17. Pressmeddelanden 2001 18. 19. 20. @BLOCK@ 21. 22.

Denna fil är avsedd att visa en lista över alla tillgängliga pressmeddelanden.

Steg 2

Skapa en fil pr-list-block-tpl.htm som visar varje block med det hittade pressmeddelandet i form av en tabell:

23.

24. 25. 26.
@TITEL@
@FÖRFATTARE@, _ @DATUM@

Steg 3

Skapa en fil pr-content-tpl.htm som visar innehållet i pressmeddelandet:

27. 28. 29. Pressmeddelanden 2001: @TITLE@ 30. 31. 32.

@TITEL@

33. 34. 35. 36. 37.
@TITEL@
Författare: @FÖRFATTARE@ Datum: @DATE@
@KROPP@
38. Visa listan över pressmeddelanden.. 39. 40.

Steg 4

Skapa ett Perl-skript pr-list-dbi.pl som kommer att läsa data från databasen db_website och, med hjälp av HTML-mallfiler, visa en lista med pressmeddelanden (du kan hitta texten till detta skript på vår CD).

Låt oss nu gå igenom kodlistan och se hur programmet för att visa en lista med pressmeddelanden fungerar.

Raderna 1-9 är som ett initialiseringsblock där alla globala variabler och konstanter deklareras:

41. #!/local/usr/bin/perl 42. 43. använd DBI; 44. $dbh = DBI->connect('dbi:mysql:db_website','root',''); 45. $path = "/local/usr/tpl"; 46. ​​​​$TPL_LIST = "$sökväg/pr-list-tpl.htm"; 47. $TPL_LIST_BLOCK = "$sökväg/pr-list-block-tpl.htm"; 48. 49. skriv ut "Content-type:text/html\n\n";

Vi berättar först för Apache-webbservern sökvägen till var Perl-tolken finns, som körs när skriptet efterfrågas, kontrollerar det för fel och kör det sedan. Därefter deklarerar vi modulen DBI (DataBase Interface), vars metoder kommer att användas i programmet för att interagera med databasen (rad 3). Vi upprättar sedan en anslutning till vår db_website(4)-databas med root (administratör) som användarnamn för inloggning och en tom sträng (standard) som lösenord. I $path-variabeln anger vi sökvägen där HTML-mallfilerna finns (5). I variablerna $TPL_LIST och $TPL_LIST_BLOCK anger vi deras namn (6, 7). Sedan berättar vi för webbservern att all utgående data ska presenteras i text/html MIME-format för att mata ut HTML-strömmen till användarens webbläsare (9).

Raderna 11-22 representerar huvuddelen av programmet:

50. 51. öppen(L, "$TPL_LIST"); 52. while ($line1= ) ( 53. chomp($line1); 54. if ($line1=~/\@BLOCK\@/) ( 55. read_db(); 56. ins_data(); 57. ) else ( 58. print "$line1 \n"; 59. ) 60. ) 61. nära(L); 62. 63. $dbh->koppla från;

Öppna mallfilen pr-list-tpl.htm (11) och titta igenom den i en slinga (12-20), skriv varje rad läst till variabeln $line. Under varje iteration kontrollerar vi närvaron i denna rad nyckelord@BLOCK@ (14-19), vilket betyder att i denna plats du måste infoga ett block med ett pressmeddelande. Så snart den hittas anropar vi procedurerna read_db() och ins_data().

Raderna 26-39 är brödtexten i read_db()-proceduren, utformad för att läsa innehållet i tabellen tbl_news_items, som lagrar våra pressmeddelanden:

64. 65. 66. sub read_db ( 67. $c=0; 68. my($sql) = "SELECT * FROM tbl_news_items"; 69. $rs = $dbh->prepare($sql); 70. $rs ->exekvera; 71. while (min $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. )

Vi initierar räknaren $c=0, gör en begäran om att välja alla data från tabellen (28), exekverar begäran (29, 30) och hämtar data till postmängden (recordset) $rs. Sedan, i loopen (31-37), extraherar vi data från postuppsättningen med metoden fetshrow_hashref och returnerar en länk till den associativa arrayen %ref (31), som innehåller namnen och värdena på fälten i den aktuella posten. Vi skriver den extraherade datan (32-35) i de vanliga @id, @title, @author och @date arrays som motsvarar deras typer. Vi stänger rekordet (38).

Raderna 41-53 - kroppen av ins_data()-proceduren, som implementerar infogningen av data som extraherats från databasen i den utgående dataströmmen; rad 55-63 - kroppen av pr_block()-proceduren, anropad i en loop från ins_data()-proceduren:

80. 81. sub ins_data ( 82. $toread = "pr-read-dbi.pl"; 83. för ($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. $block = $block.$line; 100. ) 101. close(B); 102. retur ($block); 103.)

Så, efter att ha fått maxvärdet på räknaren $c som ett resultat av proceduren read_db(), startar vi i loopen (43-52) pr_block()-proceduren, som läser innehållet i HTML-mallen pr-list- block-tpl.htm och skriver den till variabeln $block (59), vars värde sedan returneras (62) till $line-variabeln (44) i ins_data()-proceduren. Vidare i samma loop ersätter vi (46-50) nyckelorden @NUMBER@, @TITLE@, @AUTHOR@, @DATE@, @READ@ som finns i den utgående strömmen $line med arrayvärdena som motsvarar denna iteration av loopen ($i) @id, @title, @author, @date och $toread-variabeln.

Skriver ut pressmeddelandetexten

Efter att vi har visat en lista över alla pressmeddelanden som finns tillgängliga i databasen (Fig. 4), måste vi ge användaren möjlighet att se texten till någon av dem (du kan också hitta motsvarande skript på vår CD).

Det nya skriptet pr-read-dbi.pl kommer att skilja sig något från det pr-list-dbi.pl vi redan har skapat.

Den här noteringen liknar till 98 % lista 1, även om det finns några mindre skillnader:

  • CGI-biblioteket är anslutet för att läsa id-parametern (9) från frågesträngen (till exempel http://localhost/cgi-bin/pr-content-dbi.pl?id=1);
  • endast en HTML-mall används (pr-content-tpl.htm);
  • databasfrågan kompletteras med en villkorlig SQL WHERE-sats för att hämta all data som motsvarar ett specifikt pressmeddelande av col_id;
  • Fältet col_body med texten i det valda pressmeddelandet läses också från databasen.

Skapar ett nytt pressmeddelande

Låt oss utöka funktionaliteten i vårt system genom att lägga till möjligheten att skapa nya pressmeddelanden, utan att behöva arbeta direkt med databasen för att fylla på tabellen tbl_news_items med ny information.

Så det nya Perl-programmet (som, liksom de två föregående, finns på en CD) kommer att skilja sig från de tidigare främst genom att det inte är avsett för att visa data, utan för att lägga till det i databasen. Därför måste vi något ändra den del som är ansvarig för att interagera med databasen genom att använda INSERT SQL-frågan och motsvarande DBI-moduloperatörer.

Raderna 12-18 är huvuddelen av huvudprogrammet:

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

Här kontrollerar vi om kommandot för att lägga till pressmeddelandet i databasen har mottagits. Så snart den anländer upprättar vi en anslutning till databasen (15), kör subrutinen app_pr() (16) och avslutar anslutningen (17). Om det inte fanns något kommando visar vi helt enkelt ifyllningsformuläret (13) för pressmeddelandedata - proceduren show_form().

Raderna 20-36 är brödtexten i förfarandet för att lägga till pressmeddelandet 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 I tbl_news_items (col_title,col_author,col_body,col_date) VÄRDEN (\'$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 "Plats: /cgi -bin/pr-list-dbi.pl\n\n"; 36.)

Först bearbetar vi formulärdata (22-25), komponerar en SQL-fråga (27) och exekverar den (27) med DBI-metoden $dbh->do(). Eftersom proceduren för att infoga data i databasen utförs här, måste du ta hand om möjligheten att avbryta operationen vid fel. För att göra detta infogade vi kod för att avbryta transaktionen och återställa till det tidigare tillståndet (30-34). Om $dbh->do() misslyckas, ignorerar vi de ändringar som gjorts (31). Om inget fel inträffar, bekräftar vi de ändringar som gjorts (33). Sedan, efter alla steg, går vi helt enkelt till sidan med en lista över alla pressmeddelanden (36).

Raderna 37-55 är brödtexten i formulärutmatningsproceduren för att ange information om ett nytt pressmeddelande (med HTML-mallen vars namn anges i variabeln $TPL_INSERT, pr-add-tpl.htm):

37. 38. sub show_form ( 39. print "Content-type:text/html\n\n"; 40. 41. öppen (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);

System överbelastning

Eftersom du utvecklar en dynamisk webbplats kan mängden information på den växa mycket snabbt. I takt med att din resurs popularitet ökar, ökar dessutom antalet besökare, vilket kan leda till serveröverbelastning, det vill säga en minskning av systemets prestanda. Innan du börjar leta efter sätt att öka hårdvarukraften och försöka hitta en konfiguration nytt system, kan du försöka eliminera en av möjliga orsakeröverdriven förbrukning av RAM. Boven kan vara samma Perl. Faktum är att varje gång du kommer åt ett eller annat Perl-skript laddar webbservern in tolken Bagge(det tar upp från 500-1000 KB på hårddisken), och den senare analyserar programmet från början till slut på jakt efter syntaxfel. Efter det läser den den igen, initialiserar variabler och funktioner, läser indata (parametrar), bearbetar och returnerar resultaten. Kan du föreställa dig vad som händer om hundratals besökare på din webbplats vill se dina pressmeddelanden samtidigt?

För att påskynda denna process har speciallösningar skapats som representerar ytterligare moduler för Apache webbserver - mod_fastcgi och mod_perl.

FastCGI-modulen (mod_fastcgi) involverar den utbredda användningen av verktyg för datautbyte mellan pågående processer (uppgifter) operativ system. I början av driften aktiverar webbservern ett CGI-program och låter detta program och flera kopior av det köras i bakgrund. Alla förfrågningar till programmet kommer helt enkelt att överföras till redan aktiva kopior, vilket kommer att avlasta servern från den extra belastning som är förknippad med att återaktivera processen.

Mod_perl-modulen låter dig ladda Perl till RAM-minnet i samma adressutrymme som Apache-webbservern själv, och lämna Perl i minnet tills det senare avslutas, vilket förhindrar att nästa kopia av tolken laddas när du kommer åt ett CGI-program. Denna modul används oftare än FastCGI eftersom den inte kräver några ändringar i programmet.

ComputerPress 6"2001

Det finns ett stort antal olika resurser på Internet. Varje projekt består till största delen av HTML-dokumentsidor, som är indelade i statiska och dynamiska baserat på dokumentets beteende i webbläsaren. Å andra sidan används dessa begrepp ofta i en annan mening. Således, enligt metoden för skapande, är dokument också uppdelade i statiska och dynamiska.

Definitionen av statiska sajter är att sidorna alltid ser likadana ut, oavsett användarens handlingar. Statiska webbplatser är som regel mindre intressanta för användaren, eftersom de praktiskt taget inte har några interaktiva element, till skillnad från dynamiska webbplatser.

Dynamiska webbplatser, som inkluderar dynamiska sidor som genereras "i farten" på begäran av webbläsaren. Det här är sidor som redan kan svara på användaråtgärder och förändringar. När du till exempel klickar på texten kan ett textblock med översättningen av ordet dyka upp. Användaren kan interagera med dynamiska sidor samtidigt som han omedelbart visar resultatet av sina handlingar.

Statiska webbplatssidor

Statisk webbplats anses vara en nätverksresurs som inkluderar statiska sidor (html, htm, dhtml, xhtml) som utgör en enda helhet. Den innehåller (i form av HTML-uppmärkning) text, bilder, multimediainnehåll (ljud, video) och HTML-taggar. Taggar kan antingen vara servicetaggar, avsedda för webbläsaren, eller avsedda för placering, som formar utseende och visning av information. Alla ändringar på en statisk webbplats görs i källkoden för resursdokumenten (sidorna), för vilka du behöver ha tillgång till filerna på webbservern.

Sidor med statiska webbplatser lagras på servern som HTML-dokument. Sidor med statiska webbplatser utformas manuellt. Om du behöver ändra innehållet på en sida måste du redigera HTML-koden för varje sida.

Vanligtvis innehåller en statisk webbplats en eller ett litet antal sidor, eller om det till exempel är en visitkortsajt för ett företag och informationen på den aldrig ändras eller uppdateras mycket sällan. På en sådan nätverksresurs finns inga möjligheter som till exempel att kommentera eller registrera sig osv.

I slutändan kan en statisk resurs endast uppdateras av en person som är väl insatt i webbutveckling, eftersom det inte finns någon administrativ panel, så alla uppdateringar av projektet måste göras genom dess källkod.

Statiska sajter är billigare och tar mindre värdutrymme, vilket är anledningen till att många små företag fortfarande föredrar dem framför dynamiska sajter.

Fördelarna med statiska webbplatser inkluderar:

  1. De är enkla och snabba att utveckla
  2. Billigt att utveckla, skapa minimal belastning på webbservern och ladda snabbt.
  3. Inte krävande på värdresurser.
  4. Det är ganska enkelt att överföra en statisk webbplats till ett nytt webbhotell.

Tillsammans med fördelarna har statiska webbplatser också nackdelar:

  1. Erfarenhet av webbutveckling krävs för att uppdatera projektet. För att uppdatera även den minsta detalj på en sådan resurs måste du antingen ta itu med HTML- och CSS-koden själv, eller så måste du ta till en webbmasters tjänster varje gång.
  1. Stagnation av innehåll. På grund av det faktum att innehållet på en statisk webbplats uppdateras mycket sällan, har detta en mycket negativ effekt på trafiken och projektfrämjandet i . Naturligtvis kan du marknadsföra en sådan resurs, men främst genom betalda metoder.
  1. Dessutom är en statisk webbplats inte tillrådlig att använda i stora projekt.

Härifrån är det uppenbart att om servern har en vanlig html sida, då är detta tillvägagångssätt mycket begränsat. Det finns till exempel en webbutik där en ny produkt har lagts till. Om en sådan onlinebutik består av "statiska" sidor, måste du manuellt redigera flera andra sidor. Detta är åtminstone en produktkatalog och, tydligen, en beställningsblankett. Och om en produkt tar slut måste du återigen uppdatera den statiska webbplatsen, vilket är väldigt obekvämt. I detta avseende är det svårt att hitta en onlinebutik på Internet som använder "ren" HTML-kod.

Dynamisk sida

Dynamisk sida- en nätverksresurs bestående av dynamiska sidor - mallar, innehåll, skript och annat, i formen separata filer. Dynamiska sidor, som slutligen visas för användarens webbläsare, bildas på serversidan på begäran, från en mallsida och separat lagrat innehåll (information, skript, etc.). För att visa valfritt antal sidor av samma typ används som regel en mallsida, i vilken motsvarande innehåll laddas, detta tillåter engångsjustering utseende dynamisk webbplats (många av alla dess sidor), som bara redigerar en mall.

Dynamiska sidor genereras av en webbserver från flera filer (mallar). All information lagras vanligtvis i en databas. Nästan alla bloggar är dynamiska sajter. När en användare begär en sida hämtas den relevanta informationen från databasen, infogas i en mall för att bilda en webbsida och skickas av webbservern till användarens webbläsare. Så när du uppdaterar innehållet i en dynamisk resurs behöver du helt enkelt lägga till text till ny sida, som sedan går in i databasen. I slutändan följer det att en dynamisk webbplats verkar uppdatera sig själv.


Fördelarna med dynamiska webbplatser är:

  1. Resursen är mer funktionell, eftersom innehållet hanteras genom speciella formulär som gör det enkelt att lägga till, redigera och radera information.
  2. När du lägger till eller redigerar innehåll krävs inga speciella kunskaper inom området webbmastering (HTML, CSS).
  3. En dynamisk sidas förmåga att ändra innehåll som svar på besökarnas handlingar.
  4. Förmåga att skapa stora multifunktionella projekt.
  5. Dynamiska sidor är mycket lättare att ändra och uppdatera.
  6. Att separera information och design på en dynamisk webbplats möjliggör mer flexibel hantering.
  7. Ständig uppdatering av en dynamisk sajt ger stora möjligheter till marknadsföring, vilket har en positiv effekt på marknadsföringen av projektet och den har fler besökare.

Tillsammans med fördelarna är dynamiska webbplatser inte utan sina nackdelar:

  1. Behovet av att använda ytterligare programvara, vilket leder till den höga kostnaden för att skapa och underhålla dynamiska sidor.
  2. Ökade hårdvarukrav serversystem. Detta problem blir särskilt märkbart på dynamiska webbplatser med hög trafik.
  3. Hosting kommer därför också att bli lite dyrare, eftersom du för ett sådant projekt måste ansluta ytterligare egenskaper.
  4. Komplexiteten i stora strukturella förändringar på dynamiska sidor. I det här fallet beror allt på programvara, som används av resursen. Alla program har sina egna begränsningar, för att kringgå vilka du behöver ändra programmet, modifiera det gamla eller leta efter ett nytt.
  5. Du måste ha lämplig kunskap för att upprätthålla funktionaliteten hos dynamiska sidor.

Verktyg för att skapa dynamiska sidor

Om statiska webbplatser inte genomgår praktiskt taget några förändringar och sidan visas på besökarens skärm i sin "ursprungliga" form, så existerar inte den dynamiska sidan som en person ser den på servern. Hon går flera olika sätt från data lagrad på servern, och först efter det visas för besökaren.

Det första alternativet kan vara att kombinera flera (två eller flera) separata delar till en - detta är den enklaste metoden för generering.

Det andra alternativet är att fylla mallsidan med viss information som lagras separat eller erhålls som ett resultat av algoritmen (till exempel som ett resultat av beräkningar).

Det tredje, och kanske vanligaste alternativet är en kombination av de två första i alla möjliga varianter, d.v.s. sidan är sammansatt av flera delar, i vilka olika ändringar görs.

Det vanligaste verktyget för att skapa dynamiska sidor är programmeringsspråket JavaScript. VBscript används mycket mindre ofta ( Visual Basic manus).

Om en resurs innehåller innehåll som ändras ofta, används vanligtvis skript som, till skillnad från JavaScript, exekveras på servern.

I det här fallet fungerar den dynamiska webbplatsen så här:

  1. Webbläsaren begär ett dokument från servern.
  2. Servern avgör att dokumentet är ett skript och kör det för exekvering.
  3. Skriptet genererar en HTML-sida.
  4. Servern skickar den genererade sidan till webbläsaren, så att webbläsaren inte har någon aning om att skriptet har körts på servern.

Det finns flera programmeringsspråk som låter dig skriva skript för dynamiska sidor. De vanligaste av dem:

Perl
SSI
PHP
ASP.
Pytonorm
Java
Binär kod (ett C- eller C++-program kompilerat till körbar kod).

Vart och ett av dessa programmeringsspråk har sina egna applikationsfunktioner. Du kan skriva manus på vilket språk som helst. Det viktigaste är att känna till dess styrkor och svaga sidor och använda dem effektivt.

Dynamiska sajter ställer inte bara nya krav för att skapa och underhålla dem, de är också mycket dyrare att utveckla och kräver också underhåll av en ny personalenhet - en programmerare. Samtidigt bör det noteras att tekniken inte står stilla, så möjligheterna som erbjuds för att skapa dynamiska sidor utvecklas också. Och här fann man en lösning i form av att skapa högkvalitativa resurser på CMS, som nu vinner mer och mer popularitet.

CMS är en förkortning för Content Management System, vilket bokstavligen översätts till Resource Content Management System. Enkelt uttryckt är detta samma mjukvarupaket som låter dig ändra designen och innehållet på dynamiska sidor på det sätt som användaren kräver. Förresten, SMS baseras på ett eller flera av de ovan nämnda programmeringsspråken.

För närvarande finns det många sådana system som fungerar på Internet, några av dem är gratis, andra är betalda. Ofta tillhandahålls sådana system till sina kunder av motsvarande utvecklingsföretag. Varje system är individuellt och har sina egna fördelar och nackdelar.

Således är dynamiska webbplatser mycket mer flexibla i hanteringen. Dynamiska sidor är en kombination av text och grafik, märkningsspråk - precis som statiska webbplatser. Men utöver detta använder dynamiska sidor också olika tekniker som gör att du kan "sätta ihop" webbsidor i farten. Sådana resurser hjälper deras ägare att förena en gemenskap av besökare runt sig och ger mycket fler möjligheter att kommunicera med sin publik, vilket gör att de kan göra det mer intressant för besökarna genom olika funktioner.

Dynamiska resurser kan utvecklas från grunden, manuellt skapa alla nödvändiga programkoder, manus osv. Men mycket oftare används speciella innehållshanteringssystem för att skapa dynamiska sidor - CMS. CMS tillåter dig att använda färdiga programvarumoduler och komponenter, utan att behöva skapa dem från grunden varje gång. Du kan skapa valfritt antal projekt baserat på ett CMS.

Samtidigt, trots de uppenbara fördelarna med dynamiska sidor, bör du inte anta att dynamiska webbplatser alltid är rätt lösning och helt överge sidorna på statiska webbplatser. Du ska alltid utgå från situationen. Det är inte utan anledning som de säger att även med järnvägen behöver man fortfarande en spelning. Det är ofta nödvändigt att använda statiska sidor i ett projekt. Om projektet är litet, bara består av ett fåtal sidor, och innehållet på det inte uppdateras, är det ingen idé att skapa en motor för resursen - det är lättare att layouta alla nödvändiga sidor en gång. Men detta är inte möjligt i alla fall.

Även nybörjare är förmodligen bekanta med fraserna "statisk webbplats" och "dynamisk webbplats". Men exakt vad betyder dessa fraser och vad är skillnaden mellan dem, vilka är fördelarna med en eller annan typ av sajt?

Låt oss inte gissa, utan bara titta på dem i detalj och jämföra dem.

Statiska och dynamiska webbplatser – vad är skillnaden?

Även om antalet dynamiska sajter i dag ökar, är det omöjligt att med säkerhet säga om sajten du har öppnat är statisk eller dynamisk vid första anblicken.

Statiska webbplatser exempel

Du kan vid första anblicken anta att en webbplats är statisk om den till exempel innehåller en eller ett litet antal sidor, eller till exempel om det är en visitkortssajt för ett företag och informationen på den aldrig ändras eller är uppdateras mycket sällan, om den inte har sådana funktioner som till exempel kommentera eller registrering, etc.

Faktum är att en statisk webbplats bara kan uppdateras av en person som är väl insatt i webbutveckling, eftersom den inte har en adminpanel, så alla uppdateringar av webbplatsen måste göras genom dess källkod.

Statiska sajter är billigare och tar mindre värdutrymme, vilket är anledningen till att många små företag fortfarande föredrar dem framför dynamiska sajter.

Så vi kan se fördelar med statiska webbplatser:

  1. De är enkla och snabba att utveckla
  2. Billigt att utveckla och mindre belastning.

Tillsammans med fördelarna kan vi också lyfta fram Nackdelar med statiska webbplatser:

  1. Erfarenhet av webbutveckling krävs för att uppdatera webbplatsen.
  2. För att uppdatera även den minsta detalj på en sådan sida måste du antingen gräva i koden själv, eller, om du inte kan HTML och CSS själv, måste du ta till en webbmasters tjänster varje gång.

  3. Stagnation av innehåll.
  4. På grund av det faktum att innehållet på en sådan webbplats uppdateras mycket sällan, "stagnerar" innehållet på dem, har detta en mycket ogynnsam effekt på sökmotorer. Naturligtvis kan du marknadsföra en sådan sida, men främst genom betalda metoder.

Exempel på dynamiska webbplatser

Å andra sidan kan dynamiska sajter kosta mycket mer, speciellt om de utvecklas från grunden. Hosting kommer också att bli lite dyrare, eftersom du måste ansluta ytterligare funktioner. Men de många fördelarna med dynamiska sajter mer än uppväger dessa nackdelar.

En dynamisk webbplats ger sin ägare möjlighet att uppdatera och lägga till innehåll på sin webbplats mycket enkelt. Till exempel kan nyheter och händelser läggas till via adminpanelen i själva webbläsaren, utan att kodfiler behöver redigeras.

Möjligheterna med en dynamisk webbplats begränsas endast av vår fantasi.

Exempel på dynamiska sajter är sajter baserade på ledningssystem, nätbutiker, platsannonser, forum, sajter med möjligheter för kunder och besökare att lämna recensioner, kommentarer, ladda upp filer etc.

Fördelar med dynamiska webbplatser:

  1. Mer funktionell sida.
  2. Det är mycket lättare att uppdatera den.
  3. Ständig uppdatering har en positiv effekt på webbplatsens marknadsföring och ger fler besökare.
  4. En sådan sida hjälper sin ägare och ger mycket fler möjligheter att kommunicera med sin publik och göra sin sida mer intressant för besökarna genom olika funktioner.

Slutsatser

Så vi ser att en dynamisk sajt har mycket större utvecklingsmöjligheter än en statisk, trots att det kan ta längre tid att få en sådan sida till liv.

Fler och fler människor inser den obestridliga fördelen med dynamiska webbplatser, och därför dyker fler och fler av dem upp på Internet.

Men å andra sidan så beror det helt på vad DU specifikt behöver, om du till exempel behöver en ensidig webbplats som du ska sälja någon produkt genom, eller en visitkortswebbplats från 1 till 5-6 sidor, som du inte Om du planerar att ständigt uppdatera, så skulle en helt naturlig lösning vara att välja en statisk webbplats.

Om du vill att ditt projekt hela tiden ska utvecklas och fyllas med innehåll så behöver du förstås en dynamisk webbplats.