Statiskas un dinamiskas tīmekļa lapas. Statiskas un dinamiskas tīmekļa lapas. Datu bāzes modeļa izstrāde

Tieša indeksēta saite uz vietni- šī ir saite, kuru nav bloķējuši aizliegtāji HTML tagi un/vai atribūtiem, kā arī bez jebkādām pāradresācijām (redirects). Piemēram, ja jūs nolemjat savā vietnē/emuārā ievietot saiti uz manu vietni, ieteicams to neslēpt no meklēšanas robotiem ar atribūtu aizliegts nofollow. Ja nolemjat izveidot saiti uz kādu no manām lapām, lūdzu, atveriet saiti indeksēšanai. Būšu pateicīgs par tiešajām indeksētām saitēm uz manu vietni.
Ja savā vietnē/emuārā izmantojat grafisku/teksta saturu vai jebkuru fragmentu/citātu, kas aizgūts no šīs vietnes, saitei uz vietni ir jābūt bez aizliedzošiem atribūtiem un/vai novirzīšanas.

Kas ir TFP un FTP, kāda ir atšķirība?

Saīsinājumiem TFP un FTP nav nekā kopīga. Vienīgais, kas viņus vieno, ir izrunas līdzskaņa, kas kādu var sajaukt.
TFP — (drukāšanas laiks), tulkots kā “izdrukas laiks”. Šo terminu izmanto fotogrāfi un modes modeļi. TFP ir sava veida valūta, ko izmanto foto industrijas pārstāvji. TFP, kā likums, nodrošina vienošanās starp modeli un fotogrāfu, lai izvairītos no visādām nepatikšanām saistībā ar autortiesībām utt.
Kad modele piekrīt TFP, tas nozīmē, ka viņa ir gatava noteiktu laiku strādāt bez maksas, un par darbu viņa saņems savas fotogrāfijas (visas vai dažas, ar vai bez apstrādes).
Tagad par FTP.
FTP (failu pārsūtīšanas protokols) ir failu pārsūtīšanas protokols, ko izmanto tīmekļa izstrādātāji un citi. Lai strādātu ar serveri, izmantojot šo protokolu, izmantojiet FTP klients ir programma, kas darbojas tieši ar FTP serveri.
FTP protokols tiek izmantots, lai pārsūtītu tīkla dokumentus, piemēram, HTML, PHP, CSS, JPEG utt., no izstrādātāja privātās ierīces uz hostinga serveri. Tas pats protokols tiek izmantots, lai lejupielādētu tīkla dokumentus no servera uz izstrādātāja privāto ierīci.

Kas ir faila paplašinājums?

Faila paplašinājums, vai drīzāk, faila nosaukuma paplašinājums ir noteiktu rakstzīmju secība, kas pievienota faila nosaukumam. Šīs rakstzīmes ir paredzētas, lai identificētu faila veidu vai, kā saka, formātu. Faila nosaukuma paplašinājums ir nekas cits kā burtu un/vai ciparu kombinācija, kas ir aiz pēdējā punkta faila nosaukumā, piemēram, fotograf.gif, kur “fotograf” ir faila nosaukums un “.gif” ir tā paplašinājums. . Ir ļoti daudz failu paplašinājumu, taču tie visi atbilst noteiktiem standartiem un lietojumprogrammām. Bet, ja vēlaties kādam failam izveidot savu oriģinālo paplašinājumu, piemēram, faila_nosaukums.fotograf, lūdzu, bez problēmām! Bet Windows OS nevarēs atvērt šādu failu, ja jūsu datorā nav atbilstošas ​​programmas, kas redz šo paplašinājumu. Piemēram, ja operētājsistēmā Windows vēlaties atvērt failu ar paplašinājumu .gif, šī operētājsistēma zina par šo paplašinājumu un atvērs kādu attēlu. Bet, ja vēlaties atvērt failu ar paplašinājumu .fotograf, šāds fails netiks atvērts, jo Windows OS nav pazīstams ar šādu paplašinājumu. Failu ar šo paplašinājumu var atvērt lietojumprogrammā, kas atbalsta šo paplašinājumu.

Kas ir vizītkaršu vietne, kas tur ir?

Vizītkaršu vietne ir tīmekļa vietne, kuras galvenais mērķis ir iepazīstināt sabiedrību ar informāciju par uzņēmumu vai privātpersonu. Šāda vietne parasti sastāv no neliela skaita statisku vai dinamisku lapu.
Vizītkaršu vietņu lapās jāsatur pamatinformācija par uzņēmumu/fizisku personu, tā ražotajām precēm un informācija par viņu pakalpojumiem. Tās var būt lapas ar cenrāžiem, kontaktinformāciju un, protams, veidlapu atsauksmes. Fotogrāfa vizītkaršu vietne, kā likums, atšķiras no citām līdzīgām vietnēm ar izsmalcinātu dizainu un fotogrāfiju pārpilnību. Fotogrāfa mājaslapā jābūt viņa portfolio un kontaktiem. IN Nesen Arvien biežāk jūs varat atrast vizītkaršu vietni, kuras dažas lapas ir veidotas, izmantojot FLASH tehnoloģiju vai pilnībā FLASH.
FLASH vietnes izskatās labi, taču šobrīd meklētājprogrammas šādas vietnes indeksē ļoti slikti vai vispār nav indeksētas.

Kas ir dinamiska tīmekļa lapa/vietne?

Dinamiska tīmekļa lapa- šī ir lapa, kurā saturu vai kādu tā daļu var ģenerēt (mainīt) reāllaikā, neiesaistot papildu ķermeņa kustības. Dinamiski saistītām lapām tiek izmantots tā sauktais dzinējs - CMS (satura pārvaldības sistēma).
Kā tas strādā? Piemēram, lapa, kurā redzat Šis brīdis pārlūkprogrammas logā, tas neeksistē šajā formā. Tas ir salikts no atsevišķām daļām (veidnēm), kuras serveris saliek vienā veselumā. Tas ir, kad lapa tiek pieprasīta, tīmekļa serveris apstrādā pieprasījumu un nekavējoties “lidojumā” no atsevišķām daļām saliek tīmekļa lapu un nosūta to mums apskatei pārlūkprogrammā. Mainās tikai lapas saturs, bet lapas veidne paliek nemainīga.
Iedomājieties skapi, kurā ir vairāki plaukti ar dažādas lietas. Vienā plauktā ir teksta saturs (datu bāze), otrā - grafiskie faili(fotogrāfijas, grafiskā dizaina elementi), trešajā - skripti (piemēram, PHP skripti), ceturtajā - CSS stili un tā tālāk... Tas nozīmē, ka tad, kad serveris saņem pieprasījumu pēc tā vai cita satura, tas zina, kur viss atrodas, un ātri saliek mums lapu no nepieciešamajām daļām: paņem nepieciešamo teksta saturu no datu bāzes, nepieciešamos grafiskos failus no grafikas plaukta utt. Mainot kādu veidnes daļu vienuviet, šīs izmaiņas tiek piemērotas visām vietnes lapām.

Kas ir statiska tīmekļa lapa/vietne?

Statiska tīmekļa lapa ir tīmekļa dokuments, kas atrodas serverī tādā formā, kādā lietotājs to redz savā pārlūkprogrammā. Tas ir, šāds dokuments nav salikts no atsevišķām daļām (veidnēm), bet atrodas serverī tādā veidā, kāds tas ir, saliktā veidā un tiek lejupielādēts no servera kā viens fails ar savienojumiem ar to. CSS stili un/vai skripti.
Lai mainītu šāda dokumenta saturu, tas vispirms ir jārediģē darba datorā kādā HTML redaktorā un pēc tam atkārtoti jāaugšupielādē serverī. Lai mainītu kādu noformējuma daļu vai, piemēram, pievienotu/noņemtu navigācijas izvēlnes vienumu, būs nepieciešams modificēt (mainīt) visas vietnes lapas.

Tīmekļa dizainers un tīmekļa programmētājs, kāda ir atšķirība?

Tīmekļa dizainers un tīmekļa programmētājs strādā vienā jomā, taču viņi veic dažādus uzdevumus. Web dizainers nodarbojas ar lapu dizaina prototipu izstrādi, mājas lapas dizaina veidnes izstrādi, grafiskā dizaina izkārtojuma veidošanu, sagriešanu atsevišķos fragmentos un optimizāciju, fontu un krāsu izvēli. Web dizainers var veikt vietņu lapu maketēšanu, taču tas nav viņa pienākums, šim nolūkam ir speciāli apmācīti cilvēki - maketētāji.
Kas ir tīmekļa programmētājs?
Tīmekļa programmētājs, pareizāk sakot, tīmekļa izstrādātājs (servera izstrādātājs) ir persona, kas izstrādā īpašas tīmekļa lietojumprogrammas, rakstot skriptus dažādās programmēšanas valodās noteiktiem tīmekļa lapu moduļiem.
Secinājums, lai mājas lapa būtu gan skaista, gan funkcionāla, ir nepieciešams gan web dizainers, gan web programmētājs. Un, lai vietne būtu lietotājam draudzīga, tai ir nepieciešams

Vietnes reklamēšana (reklāma) tiek saprasta kā vietnes pārvietošana uz noteiktu atslēgvārdu meklēšanas rezultātu augšdaļu meklētājprogrammās. Google sistēmas, Yandex utt.
Populārākie meklēšanas rezultāti- šī ir vietnes pirmā lapa meklētājs ar pirmajām 10 saitēm uz vietnēm. Par šīm 10 pozīcijām notiek nesamierināma cīņa starp vienas un tās pašas tēmas vietnēm. Saskaņā ar statistiku, tās vietnes, kas atrodas augšpusē (aizņem pirmās trīs pozīcijas), savāc vislielāko apmeklētāju skaitu. Lai tiktu šajā virsotnē, daži resursi maksā milzīgas naudas summas. Bet ar to nepietiek, lai tur nokļūtu, jums ir jāpaliek, un tas noved pie pastāvīgas cīņas ne tikai starp lielajiem SEO uzņēmumiem, bet arī starp privātajiem.

statiskās lapas ir precīza failu kopija, kas atrodas Web servera direktorijos un nemainās, kamēr pats izstrādātājs tajās kaut ko nemaina. Tomēr lapas var ģenerēt dinamiski, tas ir, apstrādājot pieprasījumu, izmantojot kādu programmu, nevis no gatavā faila diskā. Ir vairāki veidi, kā izveidot šādu lapu:

ģenerēšana pēc pieprasījuma tieši Web serverī. Lai ieviestu iespēju dinamiski ģenerēt Web lapas, ir jānorāda serverim, kuri faili ir “parasti” un kuros ir norādījumi par to programmu apstrādi. Tādējādi visi faili attiecīgajā tīmekļa vietnes direktorijā, kuriem piekļuves tiesību sarakstā ir “izpildīt”, tiek uzskatīti par dinamiskiem, un serveris pats izvēlas līdzekli konkrētas lapas ģenerēšanai, piekļūstot šādam failam, pamatojoties uz tā atribūtu un/ vai tā nosaukuma paplašinājumu. Šajā gadījumā lapu var ģenerēt vai nu pats serveris (izmantojot īpašas komandas), vai ārēja programma, kas palaista tieši vai caur CGI interfeisu (kopējā vārtejas saskarne). Programmu dinamiskas lapas ģenerēšanai var uzrakstīt kompilētā vai interpretētā valodā. Programmas tekstu, kas satur komandas dinamiskai lapu ģenerēšanai, sauc par skriptu. Atbilstības saraksts starp skripta atribūtiem un ārējām programmām to apstrādei ir norādīts sadaļā Web serveris/skriptu procesori. Piemēram, pēc noklusējuma skriptus ar *.pl un *.cgi paplašinājumiem apstrādā Perl tulks;

veidošanu lietotāja datorā. Šajā gadījumā vispirms tiek pārsūtīti dinamisku Web lapu ģenerēšanas programmu teksti lokālais dators lietotājam, kur pārlūkprogrammai ir jāizsauc atbilstošais rīks, lai tie apstrādātu un saņemtu Web lapu. Programmu dinamiskas lapas ģenerēšanai var rakstīt arī kompilētā vai interpretētā valodā.

    1. cgi tehnoloģija

Jūs, iespējams, esat saskāries ar lapām, kuras iepriekš neeksistēja un kuras tika izveidotas dinamiski pēc jūsu pieprasījuma — ģenerētas, kā saka, “lidojuma laikā”.

Piemēram, jebkura atsauksmju grāmata nodrošina īpašu veidlapu, kurā pievienojat savu atsauksmi, un nākamajā reizē, kad atverat šo lapu, tajā būs jauns ziņojums.

Viena tehnoloģija, kas ļauj tīmekļa lapām pievienot dinamisku saturu, tiek saukta par CGI. Tas ļauj saistīt ar konkrētu URL ne tikai statisku dokumentu, bet programmu, kā rezultātā datus var ģenerēt reāllaikā.

Apskatīsim laika apstākļu informācijas sniegšanas piemēru. Laika ziņas mainās katru dienu, un katru dienu var izveidot jaunu statisku prognožu lapu. Tomēr, ja vēlaties nodrošināt tūlītējus datus, katru reizi ir jāģenerē jauna lapa. To var īstenot, izmantojot CGI tehnoloģiju. Uzstājoties ar serveri, tajā tiek palaista CGI programma, kas piekļūst digitālajai mērierīcei un sniedz informāciju par temperatūru, spiedienu utt. Nākamreiz, kad sazināsieties ar šo adresi, jūs saņemsiet jaunu informāciju.

Cits piemērs: kad jūs aizpildāt pieprasījumu, piemēram, pieprasījumu meklētājprogrammā, jūs saņemat atbildi CGI programmas rezultātus meklēto adrešu kopas veidā.

CGI programmu var uzskatīt par daļu no Web servera, ko Web serveris izpilda reāllaikā. Serveris nodod lietotāja pieprasījumus CGI programmai, kas tos apstrādā un sava darba rezultātus atgriež lietotāja ekrānā (3. att.). Lielākajā daļā tīmekļa serveru CGI mehānisms ir sakārtots šādi: tiek izveidots īpašs apakšdirektorijs, kurā tiek glabātas šādas programmas, un tīmekļa servera administrators konfigurē piekļuvi tam tā, lai faili no tā netiktu nolasīti, bet gan palaistu. izpildi. Programmas rezultāts tiek nosūtīts pārlūkprogrammai, atbildot uz pieprasījumu. No klienta viedokļa nav nozīmes tam, vai norādītais URL ir statisks dokuments vai CGI programma. Pārlūkprogramma informāciju uztver vienādi neatkarīgi no tā, vai tā tiek ģenerēta lidojuma laikā vai ir statiska lapa. CGI programmas izvadei ir tāds pats formāts kā statiskam dokumentam.

Jūs, iespējams, savā pārlūkprogrammā saskārāties ar saīsinājumu CGI, ceļojot apkārt Globālais tīmeklis, un jūs, visticamāk, redzējāt saiti uz /cgi-bin/ - direktoriju, kurā parasti atrodas cgi programmas. Daudzi interaktīvie pakalpojumi, piemēram, viesu grāmata, forums utt., ir īpaši veidoti uz CGI programmām.

Termins “CGI” attiecas ne tikai uz programmu, bet arī uz protokolu. Šajā ziņā CGI ir standarta veids, kā tīmekļa serveris var nosūtīt lietotāja pieprasījumu lietojumprogrammai un saņemt datus atpakaļ, lai tos nodotu lietotājam. CGI protokols datu sūtīšanai starp serveri un lietojumprogrammu ir daļa no HTTP protokola.

Jāatzīmē, ka, ja jūs gatavojaties mitināt savu lapu bezmaksas hostinga serveros, tad ir pilnīgi iespējams, ka CGI skripti šajos serveros netiek atbalstīti.

Alternatīva CGI ir Microsoft Active Server Page (ASP) tehnoloģija, kas veidota pēc tāda paša principa: Web lapā iekļautais skripts tiek izpildīts serverī, pirms lapa tiek nosūtīta lietotājam.

Ir arī citas tehnoloģijas, kas darbojas pēc tāda paša principa.

Kā redzams attēlā. 3, CGI programma darbojas servera pusē.

3. att.

Taču ir iespējams arī organizēt dinamiskas lapas, pārsūtot uz klienta datoru programmas, kas ģenerē dinamisku lapas saturu klienta pusē (4. att.).

Rīsi. 4

Šī tehnoloģija tiek realizēta šādi: aktīvie dokumenti tiek glabāti Web serveros un tiek lejupielādēti lokālajā datorā tāpat kā statiskās lapas, bet pēc tam, kad aktīvā dokumentu programma atrodas lokālajā datorā, tā darbojas un veic noteiktus aprēķinus lietotāja datorā. , pamatojoties uz vietējiem skaitļošanas resursiem. Un šo aprēķinu rezultāti jau tiek parādīti ekrānā. Attiecīgi datu parādīšanas ātrums ekrānā nav atkarīgs no saziņas ātruma ar attālo serveri, jo aktīvā dokumenta izvade notiek tikai pēc tam, kad tas ir lejupielādēts lokālajā datorā. Aktīvu dokumentu izveidei var izmantot dažādas tehnoloģijas: JavaScript rakstītas lietojumprogrammas, Java sīklietotnes un ActiveX vadīklas.

Darbs dienu no dienas, lai atjauninātu savas tīmekļa vietnes saturu, piesātinot to interesanti materiāli, jūs droši vien domājat, ka katru dienu tiek izveidoti simtiem jaunu vietņu un katru dienu tiek pievienoti simtiem jaunu dokumentu. Kā tiek izveidoti visi šie jaunie lapu masīvi un kā tie tiek tik ātri atjaunināti? Tas viss nav tik grūti, kā šķiet no pirmā acu uzmetiena, jo tas izmanto dinamisku Web lapu jēdzienu.

Šajā rakstā mēs apskatīsim darbības, kā izveidot mehānismu preses relīžu publicēšanai tīmekļa vietnē. Mūsu vietne nekavējoties savienos datubāzē saglabātos preses relīzes ar tīmekļa lapu veidnēm. Mūsu mērķis nebija iepazīstināt lasītājus ar tīmekļa vietņu izstrādes rīku pamatiem, jo ​​par to ir rakstītas daudzas grāmatas un raksti. Šis raksts ir paredzēts galvenokārt tiem lietotājiem, kuriem jau ir pieredze Web lapu un vienkāršu vietņu veidošanā. Mūsu galvenais mērķis ir parādīt, kā sākt izstrādāt savu pirmo dinamisko tīmekļa vietni. Lai saprastu rakstu, vēlams, lai būtu pamatzināšanas par informācijas sistēmu arhitektūrām, hiperteksta iezīmēšanas valodu (HTML) un Perl programmēšanas valodu. Lai izveidotu šo vietni, mēs izmantosim trīs jaudīgas atvērtā pirmkoda tehnoloģijas: Apache, MySQL un Perl/DBI.

Kas ir statiska vietne?

Pirms ķeraties pie dinamiskas vietnes izstrādes, ir svarīgi saprast, kas ir statiskā vietne un statiskās Web lapas, kas veido tās kodolu. Statiskās Web lapas tiek izveidotas manuāli, pēc tam saglabātas un augšupielādētas vietnē. Ikreiz, kad šādas lapas saturs ir jāmaina, lietotājs to pārveido savā darba datorā, parasti izmantojot HTML redaktoru, saglabā to un pēc tam atkārtoti augšupielādē tīmekļa vietnē. Uzmanīgi aplūkojot kādu portālu, piemēram, CNN.com vai BBC.co.uk, jūs varētu domāt, ka šie uzņēmumi piesaista izkārtojumu dizaineru armiju, lai atjauninātu savu vietņu saturu. Patiesībā ir Labākais veids- dinamiskas tīmekļa vietnes koncepcijas izmantošana.

Kas ir dinamiska vietne?

Katra dinamisko vietņu renderētā lapa ir balstīta uz veidnes lapu, kurā tiek ievietots pastāvīgi mainīgs saturs, kas parasti tiek glabāts datu bāzē. Kad lietotājs pieprasa lapu, attiecīgā informācija tiek izgūta no datu bāzes, ievietota veidnē, lai izveidotu jaunu Web lapu, un Web serveris to nosūta lietotāja pārlūkprogrammai, kas to pareizi parāda. Papildus informācijas saturam dinamiski var izveidot arī tīmekļa vietnes navigācijas elementus. Tādā veidā, ja nepieciešams atjaunināt savas vietnes saturu, jūs vienkārši pievienojiet tekstu jaunajai lapai, kas pēc tam tiek ievietota datu bāzē, izmantojot īpašu mehānismu. Rezultāts ir tāds, ka vietne, šķiet, pati atjauninās.

Dinamiskas vietnes izveide

Pirmā lieta, kas jums nepieciešama, lai izveidotu dinamisku vietni, ir tīmekļa serveris, piemēram, Apache.

Web serveri var izmantot, lai apkalpotu elektronisko veikalu, ziņu serveri, meklētājprogrammu, sistēmu tālmācības un pat visam uzskaitīto apgabalu kopumam. Web servera izvēle ir atkarīga no tā, kāda veida darbību indivīds vai organizācija plāno veikt internetā.

Tikai daži stratēģiski biznesa lēmumi ir tik nozīmīgi kā Web servera platformas izvēle. Servera raksturlielumi ir ārkārtīgi svarīgs faktors, kas nosaka mezgla uzticamību, tā “atsaucību” klientu pieprasījumiem, kā arī kādas pūles jāpieliek, lai to uzturētu darba stāvoklī. Plkst izdarīt pareizo izvēli komponenti un kvalitatīvs projekts, tīmekļa vietne var kļūt par jaunu, ērtāku veidu, kā klientiem un partneriem mijiedarboties ar jūsu uzņēmumu. Tīmekļa servera pārslodzes dēļ datu bāzes serveris vai kāds cits resurss var kļūt nepieejams klientiem.

Lielie uzņēmumi vēl nesen paļāvās uz Microsoft Internet Information Server, Netscape FastTrack, IBM WebSphere, un Apache galvenokārt izmantoja mazie uzņēmumi. Tomēr tagad situācija ir nedaudz mainījusies, un Apache sāk atbalstīt dažu lielu interneta projektu, jo īpaši Yahoo, veiktspēju.

Raksta pilno versiju varat atrast mūsu CD-ROM.

Apache nodrošina bagātīgas funkcijas, kas ļauj pielāgot tīmekļa serveri individuālo un korporatīvo lietotāju vajadzībām. Iestatījumi tiek veikti, izmantojot norādījumus, kas ietverti konfigurācijas faili. Apache ļauj izveidot virtuālas tīmekļa vietnes, kā arī darbojas kā starpniekserveris. Ja jums ir jānodrošina piekļuve tikai servera saturam ierobežots loks privātpersonām Web serveri var konfigurēt tā, lai, piekļūstot norādītajiem direktorijiem, serveris pārbaudītu pieteikšanās vārdus un paroles savā datu bāzē vai kādā no tam pievienotajām datu bāzēm.

Tālāk jums jāizlemj, kā saglabāt Web lapā redzamo saturu. Šajā rakstā, izmantojot konkrētu piemēru, mēs parādīsim, kā izveidot datu bāzi MySQL DBVS, kas ļaus mums sadalīt tīmekļa saturu tabulās, kurās ir lauki un datu ieraksti. Lauks ir diskrēta datu vienība tabulā. Piemēram, mēs varam izveidot tabulu tbl_news_items ar laukiem col_title, col_date, col_fullstory, col_author. MySQL DBMS ir lieliska izvēle šādas datu bāzes izveidei, pateicoties tās lietošanas un administrēšanas vienkāršībai, bezmaksas izplatīšanai dažādām platformām, tostarp Linux un Windows, un strauji augošajai popularitātei.

Pēc tam mēs izveidosim dinamiskas HTML veidņu lapas. Lai izstrādātu lietojumprogrammas mijiedarbībai ar datu bāzi un veidnēm, mēs izmantosim Perl valodu.

Faktiski mums ir jāizveido trīs Perl programmas jeb skripti: vienā tiks parādītas saites uz visiem pieejamajiem preses izdevumiem (pr-list-dbi.pl), otrā tiks parādīts atlasītās preses relīzes saturs (pr-content-dbi). .pl) , bet trešais ļaus mums datubāzei pievienot jaunāko preses relīzi (pr-add-dbi.pl). Maketēšanas darbus var uzticēt savam iecienītākajam HTML redaktoram, piemēram, Allaire HomeSite (http://www.allaire.com/). Vienkārši atcerieties, ka, veidojot veidni, ir jāatstāj tukši apgabali, kuros tiks ievietots dinamiskais saturs (protams, mainīga garuma).

Kad esat izstrādājis savu preses relīžu kopējo dizainu, vienkārši ievietojiet konkrētos atslēgvārdus iepriekš esošajās tukšajās vietās (vairāk par to skatiet tālāk). Tiklīdz lietotājs pieprasa paziņojumu presei, tīmekļa serveris apstrādās Perl kodu un aizstās atslēgvārdus veidnēs ar saturu, kas iegūts no datu bāzes, tas ir, īpašu paziņojumu presei.

Pēdējā lieta, kas jādara, ir augšupielādēt veidnes Web serverī noteiktos direktorijos. Varat izmantot FTP klientu CuteFTP (http://www.cuteftp.com/), bet mēs dodam priekšroku FAR faila apvalkam. Divas svarīgas lietas, kas jāatceras: pirmkārt, veidņu failos ir jābūt nosaukumiem, kas beidzas ar .pl, un, otrkārt, tiem ir jābūt izpildes atļaujai (UNIX sistēmās jums ir jāizpilda chmod komanda 0755 template_name.pl). Tas ir viss!

Funkcionalitātes pievienošana

To nav īpaši grūti pievienot funkcionalitāte preses relīžu publicēšanas mehānismam. Jūs varat kārtot saites uz datubāzē pieejamajiem preses izdevumiem pēc datuma vai nosaukuma, grupējot tās pēc gada. Vai, piemēram, jūs varētu vēlēties savā tīmekļa lapā parādīt nejaušu paziņojumu presei, kas laiku pa laikam sniedz informāciju apmeklētājiem neatkarīgi no tā, kad tā faktiski tika publicēta. Bet, iespējams, vissvarīgākā un noderīgākā funkcionalitāte būs HTML veidlapas pievienošana, lai ievadītu preses relīzes saturu, un CGI programmas izstrāde Perl, lai apstrādātu šo veidlapu un pēc tam ievietotu dokumentu datu bāzē. Atcerieties, ka CGI (Common Gateway Interface) ir protokols, mehānisms vai oficiāla vienošanās starp Web serveri un atsevišķu programmu. Serveris kodē ievades datus, piemēram, HTML veidlapas, un CGI programma tos atkodē un ģenerē izvaddatu straumi. Protokola specifikācijā nekas nav teikts par kādu konkrētu programmēšanas valodu. Tāpēc programmas, kas atbilst šim protokolam, var rakstīt gandrīz jebkurā valodā - C, C++, Visual Basic, Delphi, Tcl, Python vai, kā mūsu gadījumā, Perl.

Apkoposim dažus rezultātus. Mēs ceram, ka šis raksts palīdzēs jums novērtēt dinamisko Web lapu jēdziena priekšrocības salīdzinājumā ar statiskajām lapām. Šīs koncepcijas piemērošana samazinās manuālo darbu, palīdzēs sadalīt servera slodzi un ļaus ātri palielināt vietnes satura apjomu. Apache, MySQL un Perl kombinācija nodrošinās praktiski bezmaksas, viegli lietojamu, elastīgi instalējamu un konfigurējamu starpplatformu un mērogojamu izstrādes vidi. Šeit mēs neapsvērsim to uzstādīšanas specifiku, jo, pirmkārt, šim rakstam vienkārši nav pietiekami daudz vietas, un, otrkārt, katram no šiem rīkiem ir ļoti detalizēta dokumentācija.

Datu bāzes izveide MySQL DBVS

Datu bāzes modeļa izstrāde

Pirmais un svarīgākais solis datu bāzes izveidē ir tās modeļa izstrāde. Tātad sāksim.

1. darbība

Mums kaut kā jānosauc datubāze. Sauksim to par db_website.

2. darbība

Jānosaka, kas tieši datu bāzes tabulās būs. Datu bāzē var būt simtiem tabulu. Sākumā mums būs nepieciešama tikai viena tabula, lai saglabātu mūsu preses relīzes. Sauksim to par tbl_news_items.

3. darbība

Mums ir jādefinē lauki, kas tiks ietverti mūsu tabulā. Šajos laukos tiks attēloti visi preses relīzes elementi. Mūsu piemērā tiek izmantoti pieci lauki: col_id (preses relīzes skaitliskais identifikators), col_title (nosaukums), col_date (publicēšanas datums), col_fullstory (saturs), col_author (autora vārds). Laukā col_id būs unikāls identifikators, ar kuru lietotājs var jautāt konkrētas preses relīzes saturu.

Datu bāzes izveide

Tagad mums ir jāizveido savienojums ar MySQL DBVS un jāizveido mūsu datu bāze. Tālāk mēs parādīsim, kā to izdarīt no komandrindas. Tomēr ir daudzas pārvaldības sistēmas jeb MySQL DBVS pārvaldnieki, kas ļauj to administrēt, izmantojot lietotājam draudzīgu grafisko interfeisu.

Pirmkārt, noteikti jāzina valodas pamati SQL vaicājumi(Strukturētā vaicājuma valoda). MySQL DBVS pakotnē ir iekļauts pilns atbalstītās SQL specifikācijas apraksts. Šī valoda ir viegli saprotama, jo tās operatorus un to konstrukcijas ir viegli saprast un atcerēties. Lai strādātu, būs nepieciešami operatori datu izveidei (CREATE vai INSERT), atlasei (SELECT) un dzēšanai (DROP vai DELETE), kā arī to maiņai (UPDATE, MODIFY). Konkrētos piemēros mēs izmantosim tikai dažus no tiem.

Lai izvairītos no lietotāju kontu iestatīšanas un nepieciešamo piekļuves tiesību piešķiršanas, pieņemsim, ka izmantojat administratora kontu (root).

1. darbība

Atveriet termināļa logu (ja strādājat ar Linux OS vai Windows 9x/NT/2000 X Window grafisko apvalku) un izveidojiet savienojumu ar MySQL DBVS, ievadot komandrinda mysql. Atbildot uz to, jums vajadzētu lūgt ievadīt mysql> komandas.

2. darbība

Izveidosim savu datu bāzi, ievadot:

IZVEIDOT DATU BĀZI db_website;

Pēc katras komandas ievadīšanas neaizmirstiet ierakstīt simbolu (;). Tas ir ļoti svarīgi, jo tas signalizē par komandas ievades beigām MySQL.

Izmantojiet db_website;

4. darbība

Izveidosim tabulu tbl_news_items, kurā definējam datu veidu, kas tiks saglabāti tās laukos. Ievadiet:

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_data);

5. darbība

Tagad, kad esam izveidojuši tabulu savu datu glabāšanai, mums tā jāaizpilda ar dažiem datu paraugiem. Ņemiet vērā, ka šajā komandā mēs nedefinēsim lauku col_id, jo tas tiek automātiski aizpildīts, kad tiek pievienoti jauni dati. Ņemiet vērā arī to, ka datuma sintakse ir<год/месяц/день>. Tātad komandu uzvednē mysql> ievadiet šādu komandu.

8. INSERT INTO tbl_news_items (col_title, _ col_author, col_body, col_date) 9. VALUES (10. 'Mana pirmā preses relīze', 11. 'Tavs vārds', 12. 'Šis preses relīze tiek glabāta MySQL datubāzē', 13 “2001/4/15” 14.);

Ievadiet vēl dažus līdzīgi lūgumi lai ievietotu. Lai skatītu datubāzē saglabāto informāciju, komandrindā mysql> ievadiet:

SELECT * FROM tbl_news_items;

Dinamisku tīmekļa lapu izveide programmā Perl

Gatavošanās darbam

Lai palaistu Perl programmas, jums būs nepieciešama Perl interpretatora versija 5.005 vai 5.6 no Perl Standard vai ActiveState Perl izplatījumiem UNIX vai Win32. Ja izstrādāsiet lietojumprogrammas darbam ar Win32, tad ActiveState pakotne ir nedaudz ērtāk lietojama, un tajā ir iekļauta arī PPM utilīta papildu moduļu instalēšanai.

Lai organizētu mūsu Perl programmu mijiedarbību ar MySQL DBVS, Perl izplatīšanā ir jāiekļauj DBI modulis. Tā kā modulis būtībā pats neko nedara, bet visas darbības, kas saistītas ar mijiedarbību ar datu bāzēm, pārceļ uz atbilstošo draiveri, ir jāinstalē DBD-Mysql bibliotēka (MySQL datu bāzes draiveris DBI modulim). Kā norādīja Tims Buns, norādītā moduļa autors un izstrādātājs, “DBI ir API piekļuves organizēšanai datu bāzēm no Perl programmām. DBI API specifikācija definē funkciju, mainīgo un kārtulu kopu, ko izmanto, lai pārredzami saskartos ar datu bāzēm."

Datu bāzes draiveru jēdziens ir ļoti ērts, jo jūsu Perl lietojumprogrammā jūs izmantojat standarta DBI izsaukumus, kas pēc tam pārsūta moduļus uz atbilstošo draiveri, kas savukārt tieši mijiedarbosies ar datu bāzi, neprasot jums mācīties. tehniskās īpašības katra konkrētā DBVS. Tātad ir DBD::Sybase, DBD::Oracle, DBD::Informix utt draiveri. (1. att.,).

Iziesim nedaudz ārpus raksta tvēruma. Pieņemsim, ka DBI pakotnē nav iekļauts draiveris konkrētai DBVS. Šajā gadījumā palīgā nāks tilts DBD-ODBC. Pietiek izveidot jaunu datu avotu (Data Source Name) ODBC (Open DataBase Connectivity) draiverim, kur jāizvēlas šīs DBVS veids, resursdatora adrese, ar kuru vēlaties izveidot savienojumu, datu bāzes nosaukums. un autorizācijas dati, tas ir, lietotājvārds un parole (.3. att.). Un pēc tam, izmantojot DBI moduli, mijiedarbojieties ar datu bāzi. Turklāt ActiveState Perl standartā parasti ir Win32::ODBC modulis (Win32-ODBC). Darbs ar to nedaudz atšķiras no darba ar DBI, taču kopumā ļoti līdzīgs. Vienīgā atšķirība ir tā, ka Win32::ODBC ir modulis tikai Win32 sistēmām un ļauj strādāt ar vietējām ODBC funkcijām efektīvāk nekā DBD::ODBC.

Var vilkt paralēles starp ODBC un DBI. DBI ir ODBC administratora (datu bāzes draivera pārvaldnieka) analogs. Katrs DBD draiveris pēc savām funkcijām atbilst ODBC draiverim. Vienīgais, kas var jūs mulsināt, ir fakts, ka, kā minēts iepriekš, ir DBD::ODBC draiveris. Bet tas ļauj izveidot DBI saziņu tikai ar ODBC draiveriem.

Lai instalētu DBI un DBD-Mysql, izmantojot PPM utilītu Win32 vidē, komandrindā ievadiet:

Ppm instalējiet DBI

Lūdzu, ņemiet vērā, ka šajā brīdī jūsu datoram ir jābūt savienotam ar internetu. Ja jums ir attiecīgais modulis lokālais disks, izmantojiet fona informācija ievadot komandu:

ppm palīdz instalēt

UNIX lietotājiem DBI moduļa instalēšana būs gandrīz tāda pati kā citu Perl moduļu instalēšana:

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

Varat arī izmantot CPAN apvalku. Ja datorā ir instalēta ActiveState pakotnes UNIX versija, varat strādāt arī ar PPM instalēšanas utilītu. Dažreiz gadās, ka CPAN un PPM apvalki nedarbojas, ja uzņēmuma tīklā, kuram ir pievienots jūsu dators, ir instalēts ugunsmūris vai ugunsmūris(ugunsmūris). Šajā gadījumā jums palīdzēs tikai moduļi ar manuāli lejupielādētiem pirmkodiem. Lai tos instalētu un izveidotu savienojumu ar Perl vai Apache, jums būs nepieciešams Perl tulks, C/C++ vai GCC/PGCC kompilators un viena no make build utilītprogrammām (no viena no UNIX kloniem, kā arī Microsoft Visual C++), nmake vai dmake. Tādējādi moduļu uzstādīšanas procedūra kļūst nedaudz sarežģītāka. Gandrīz visiem tiem ir pievienota "būvēšanas" dokumentācija, tāpēc jums nevajadzētu radīt pārāk daudz problēmu.

Parāda rakstu sarakstu

Tagad, kad jums ir pieejama preses relīžu datubāze, varat to viegli savienot ar savu Web lapu. Sāksim ar radīšanu vienkāršākā lapa, kurā tiek parādīts visu pieejamo preses relīžu saraksts. Ņemiet vērā, ka pēc noklusējuma Apache tīmekļa serveris "domā", ka visiem jūsu dokumentiem ir jāatrodas tā htdocs direktorijā un izpildāmos failus- cgi-bin. Tāpēc visi faili ar paplašinājumu .pl jāievieto cgi-bin direktorijā. Savukārt, izveidotos failus HTML veidnes ir jāievieto tpl direktorijā. Direktoriju hierarhija izskatīsies šādi:

/ (jebkura diska sakne) /local /local/usr /local/usr/bin /local/usr/cgi-bin /local/usr/htdocs /local/usr/tpl

DOS/Windows sistēmām ceļš uz cgi-bin var izskatīties šādi:

C:\local\usr\cgi-bin

1. darbība

Izmantojot savu iecienītāko teksta redaktors, izveidojiet failu pr-list-tpl.htm:

15. 16. 17. Preses relīzes 2001 18. 19. 20. @BLOCK@ 21. 22.

Šis fails ir paredzēts, lai parādītu visu pieejamo preses relīžu sarakstu.

2. darbība

Izveidojiet failu pr-list-block-tpl.htm, kurā tabulas veidā tiks parādīts katrs bloks ar atrasto paziņojumu presei:

23.

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

3. darbība

Izveidojiet failu pr-content-tpl.htm, kurā tiks parādīts preses relīzes saturs:

27. 28. 29. 2001. gada preses relīzes: @TITLE@ 30. 31. 32.

@TITLE@

33. 34. 35. 36. 37.
@TITLE@
Autors: @AUTHOR@ Datums: @DATE@
@BODY@
38. Parādīt preses relīzes sarakstu.. 39. 40.

4. darbība

Izveidojiet Perl skriptu pr-list-dbi.pl, kas nolasīs datus no datu bāzes db_website un, izmantojot HTML veidņu failus, parādīs preses relīžu sarakstu (šī skripta tekstu varat atrast mūsu kompaktdiskā).

Tagad apskatīsim kodu sarakstu un redzēsim, kā darbojas programma preses relīžu saraksta parādīšanai.

1.–9. rinda ir kā inicializācijas bloks, kurā tiek deklarēti visi globālie mainīgie un konstantes:

41. #!/local/usr/bin/perl 42. 43. izmantot 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. izdrukāt "Content-type:text/html\n\n";

Vispirms mēs Apache tīmekļa serverim norādām ceļu uz vietu, kur atrodas Perl tulks, kas darbojas, kad tiek pieprasīts skripts, pārbauda, ​​vai tajā nav kļūdu, un pēc tam to izpilda. Tālāk mēs deklarējam DBI (DataBase Interface) moduli, kura metodes tiks izmantotas programmā, lai mijiedarbotos ar datu bāzi (3. rinda). Pēc tam mēs izveidojam savienojumu ar mūsu db_website(4) datu bāzi, izmantojot root (administrators) kā pieteikšanās lietotājvārdu un tukšu virkni (noklusējums) kā paroli. Mainīgajā $path mēs norādām ceļu, kur atrodas HTML veidņu faili (5). Mainīgajos $TPL_LIST un $TPL_LIST_BLOCK mēs attiecīgi norādām to nosaukumus (6, 7). Pēc tam mēs sakām tīmekļa serverim, ka visi izejošie dati ir jāuzrāda teksta/html MIME formātā, lai lietotāja pārlūkprogrammā izvadītu HTML straumi (9).

11.–22. rindiņa attēlo programmas pamattekstu:

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

Atveriet veidnes failu pr-list-tpl.htm (11) un apskatiet to cilpā (12-20), ierakstot katru nolasīto rindiņu mainīgajam $line. Katras iterācijas laikā mēs pārbaudām klātbūtni šajā rindā atslēgvārds@BLOCK@ (14-19), kas nozīmē, ka iekš šī vieta jums ir jāievieto bloks ar paziņojumu presei. Tiklīdz tas tiek atrasts, mēs izsaucam read_db() un ins_data() procedūras.

26.–39. rindiņa ir read_db() procedūras pamatteksts, kas paredzēts tabulas tbl_news_items satura nolasīšanai, kurā tiek glabāti mūsu preses relīzes:

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

Mēs inicializējam skaitītāju $c=0, veicam pieprasījumu atlasīt visus datus no tabulas (28), izpildām pieprasījumu (29, 30) un iegūstam datus ierakstu kopā (recordset) $rs. Pēc tam cilpā (31-37) mēs iegūstam datus no ierakstu kopas, izmantojot fetshrow_hashref metodi un atgriežam saiti uz asociatīvo masīvu %ref (31), kas satur pašreizējā ieraksta lauku nosaukumus un vērtības. Izvilktos datus (32-35) ierakstām parastajos @id, @title, @author un @date masīvos atbilstoši to veidiem. Noslēdzam rekordu (38).

41.-53. rinda - procedūras ins_data() pamatteksts, kas realizē no datu bāzes iegūto datu ievietošanu izejošā datu plūsmā; rindiņas 55-63 - procedūras pr_block() pamatteksts, kas izsaukts cilpā no ins_data() procedūras:

80. 81. sub ins_data ( 82. $toread = "pr-read-dbi.pl"; 83. for ($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. $bloks = $bloks.$rinda; 100. ) 101. aizvērt(B); 102. atgriešanās ($bloks); 103.)

Tātad, saņemot skaitītāja $c maksimālo vērtību procedūras read_db() rezultātā, cilpā (43-52) mēs palaižam procedūru pr_block(), kas nolasa HTML veidnes pr-list- saturu. block-tpl.htm un ieraksta to mainīgajā $block (59), kura vērtība pēc tam tiek atgriezta (62) ins_data() procedūras $line mainīgajam (44). Tālāk tajā pašā cilpā mēs aizstājam (46-50) izejošā straumes $rindā atrastos atslēgvārdus @NUMBER@, @TITLE@, @AUTHOR@, @DATE@, @READ@ ar masīva vērtībām, kas atbilst šai iterācijai. no cilpas ($i) @id, @title, @author, @date un $toread mainīgais.

Preses relīzes teksta drukāšana

Pēc tam, kad esam parādījuši visu datubāzē pieejamo preses relīžu sarakstu (4. att.), mums jādod lietotājam iespēja apskatīt jebkura no tām tekstu (atbilstošo skriptu varat atrast arī mūsu kompaktdiskā).

Jaunais skripts pr-read-dbi.pl nedaudz atšķirsies no mūsu jau izveidotā pr-list-dbi.pl.

Šis ieraksts ir par 98% līdzīgs 1. uzrakstam, lai gan ir dažas nelielas atšķirības:

  • CGI bibliotēka ir savienota, lai no vaicājuma virknes nolasītu id parametru (9) (piemēram, http://localhost/cgi-bin/pr-content-dbi.pl?id=1);
  • tiek izmantota tikai viena HTML veidne (pr-content-tpl.htm);
  • datu bāzes vaicājums tiek papildināts ar nosacījuma SQL WHERE priekšrakstu, lai ar col_id izgūtu visus konkrētai preses relīzei atbilstošos datus;
  • No datu bāzes tiek nolasīts arī lauks col_body ar atlasītās preses relīzes tekstu.

Jaunas preses relīzes izveide

Paplašināsim mūsu sistēmas funkcionalitāti, pievienojot iespēju izveidot jaunas preses relīzes, bez nepieciešamības tieši strādāt ar datu bāzi, lai papildinātu tbl_news_items tabulu ar jaunu informāciju.

Tātad jaunā Perl programma (kas, tāpat kā divas iepriekšējās, atrodas kompaktdiskā) no iepriekšējām galvenokārt atšķirsies ar to, ka paredzēta nevis datu attēlošanai, bet gan pievienošanai datu bāzei. Tāpēc mums ir nedaudz jāmaina daļa, kas ir atbildīga par mijiedarbību ar datu bāzi, izmantojot INSERT SQL vaicājumu un atbilstošos DBI moduļa operatorus.

12.–18. rinda ir galvenās programmas pamatteksts:

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

Šeit mēs pārbaudām, vai ir saņemta komanda pievienot preses relīzi datu bāzei. Tiklīdz tas tiek saņemts, mēs izveidojam savienojumu ar datu bāzi (15), izpildām app_pr() apakšprogrammu (16) un pārtraucam savienojumu (17). Ja komandas nebija, tad mēs vienkārši parādām preses relīzes datu aizpildīšanas veidlapu (13) - procedūru show_form().

20.–36. rindiņa ir preses relīzes pievienošanas procedūras pamatteksts 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 INTO tbl_news_items (col_title,col_author,col_body,col_date) VĒRTĪBAS (\'$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 "Atrašanās vieta: /cgi -bin/pr-list-dbi.pl\n\n"; 36.)

Vispirms mēs apstrādājam veidlapas datus (22-25), izveidojam SQL vaicājumu (27) un izpildām to (27), izmantojot DBI metodi $dbh->do(). Tā kā šeit tiek veikta datu ievietošanas procedūra datu bāzē, jums ir jārūpējas par iespēju atcelt darbību kļūmju gadījumā. Lai to izdarītu, mēs ievietojām kodu, lai atceltu darījumu un atgrieztos iepriekšējā stāvoklī (30-34). Ja $dbh->do() neizdodas, mēs atmetam veiktās izmaiņas (31). Ja kļūme nenotiek, mēs apstiprinām veiktās izmaiņas (33). Pēc tam pēc visām darbībām mēs vienkārši dodamies uz lapu ar visu preses relīžu sarakstu (36).

37.–55. rinda ir veidlapas izvadīšanas procedūras pamatteksts informācijas ievadīšanai par jaunu presei (izmantojot HTML veidni, kuras nosaukums ir norādīts mainīgajā $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. drukāt "$line\n"; 54. ) 55. close(L);

Sistēmas pārslodze

Tā kā jūs veidojat dinamisku vietni, informācijas apjoms tajā var pieaugt ļoti ātri. Turklāt, pieaugot jūsu resursa popularitātei, pieaug arī tā apmeklētāju skaits, kas var izraisīt servera pārslodzi, tas ir, sistēmas veiktspējas samazināšanos. Pirms sākat meklēt veidus, kā palielināt aparatūras jaudu un mēģināt atrast konfigurāciju jauna sistēma, varat mēģināt novērst kādu no iespējamie iemesli pārmērīgs RAM patēriņš. Vainīgais var būt tas pats Perls. Fakts ir tāds, ka katru reizi, kad piekļūstat vienam vai otram Perl skriptam, tīmekļa serveris ielādē tulku RAM(tas aizņem no 500 līdz 1000 KB cietajā diskā), un pēdējais parsē programmu no sākuma līdz beigām, meklējot sintakses kļūdas. Pēc tam tas nolasa to vēlreiz, inicializējot mainīgos un funkcijas, nolasot ievades datus (parametrus), apstrādājot un atgriežot rezultātus. Vai varat iedomāties, kas notiek, ja simtiem jūsu vietnes apmeklētāju vienlaikus vēlas skatīt jūsu preses relīzes?

Lai paātrinātu šo procesu, ir izveidoti īpaši risinājumi, kas pārstāv papildu moduļi Apache Web serverim - mod_fastcgi un mod_perl.

FastCGI modulis (mod_fastcgi) ietver plašu datu apmaiņas rīku izmantošanu starp esošajiem procesiem (uzdevumiem) operētājsistēma. Savas darbības sākumā tīmekļa serveris aktivizē CGI programmu un atstāj šo programmu un vairākas tās kopijas darboties fons. Visi pieprasījumi programmai tiks vienkārši pārsūtīti uz jau aktīvām kopijām, kas atbrīvos serveri no papildu slodzes, kas saistīta ar procesa atkārtotu aktivizēšanu.

Mod_perl modulis ļauj ielādēt Perl RAM tajā pašā adrešu telpā, kurā atrodas pats Apache Web serveris, un atstāt Perl atmiņā, līdz pēdējais beidzas, tādējādi novēršot nākamās tulka kopijas ielādi, piekļūstot CGI programmai. Šis modulis tiek izmantots biežāk nekā FastCGI, jo tas neprasa nekādas izmaiņas programmā.

ComputerPress 6"2001

Internetā ir milzīgs skaits dažādu resursu. Katrs projekts lielākoties sastāv no HTML dokumentu lapām, kas ir sadalītas statiskajās un dinamiskajās, pamatojoties uz dokumenta uzvedību pārlūkprogrammā. No otras puses, šie jēdzieni bieži tiek lietoti citā nozīmē. Tādējādi dokumenti pēc veidošanas metodes tiek iedalīti arī statiskajos un dinamiskajos.

Statisku vietņu definīcija ir tāda, ka lapas vienmēr izskatās vienādi neatkarīgi no lietotāja darbībām. Statiskās vietnes, kā likums, lietotājam ir mazāk interesantas, jo atšķirībā no dinamiskajām vietnēm tajās praktiski nav interaktīvu elementu.

Dinamiskas vietnes, kas ietver dinamiskas lapas, kas tiek ģenerētas “lidojumā” pēc pārlūkprogrammas pieprasījuma. Šīs ir lapas, kas jau var reaģēt uz lietotāja darbībām un izmaiņām. Piemēram, noklikšķinot uz teksta, var parādīties teksta bloks ar vārda tulkojumu. Lietotājs var mijiedarboties ar dinamiskām lapām, vienlaikus parādot savu darbību rezultātu.

Statiskās vietnes lapas

Statiska vietne tiek uzskatīts par tīkla resursu, kas ietver statiskas lapas (html, htm, dhtml, xhtml), kas veido vienu veselumu. Tas satur (HTML marķējuma veidā) tekstu, attēlus, multivides saturu (audio, video) un HTML tagus. Tagi var būt pakalpojumu tagi, kas paredzēti pārlūkprogrammai, vai paredzēti izvietošanai, informācijas izskata un attēlojuma veidošanai. Visas izmaiņas statiskā vietnē tiek veiktas resursa dokumentu (lapu) avota kodā, kam nepieciešama piekļuve failiem tīmekļa serverī.

Statisko vietņu lapas tiek glabātas serverī kā HTML dokumenti. Statisko vietņu lapas tiek veidotas manuāli. Ja jums ir jāmaina lapas saturs, jums ir jārediģē katras lapas HTML kods.

Parasti statiskā vietne satur vienu vai nelielu skaitu lapu vai, piemēram, ja tā ir uzņēmuma vizītkaršu vietne un informācija tajā nekad nemainās vai tiek atjaunināta ļoti reti. Šādā tīkla resursā nav tādu iespēju kā, piemēram, komentēšana vai reģistrācija utt.

Galu galā statisko resursu var atjaunināt tikai persona, kas labi pārzina tīmekļa izstrādi, jo nav administratīvā paneļa, tāpēc visi projekta atjauninājumi būs jāveic, izmantojot tā pirmkodu.

Statiskās vietnes ir lētākas un aizņem mazāk mitināšanas vietas, tāpēc daudzi mazie uzņēmumi joprojām dod priekšroku tām, nevis dinamiskām vietnēm.

Statisko vietņu priekšrocības ietver:

  1. Tie ir vienkārši un ātri attīstāmi
  2. Lēti izstrādājams, izveidojiet minimālu slodzi tīmekļa serverī un ielādējiet ātri.
  3. Nav prasīgs pret hostinga resursiem.
  4. Statisku vietni ir diezgan viegli pārsūtīt uz jaunu mitināšanu.

Papildus priekšrocībām statiskajām vietnēm ir arī trūkumi:

  1. Lai atjauninātu projektu, ir nepieciešama tīmekļa izstrādes pieredze. Lai atjauninātu pat vismazāko detaļu par šādu resursu, jums vai nu pašam būs jātiek galā ar HTML un CSS kodu, vai arī jums katru reizi būs jāizmanto tīmekļa pārziņa pakalpojumi.
  1. Satura stagnācija. Tā kā statiskas vietnes saturs tiek atjaunināts ļoti reti, tas ļoti negatīvi ietekmē trafiku un projektu popularizēšanu . Protams, jūs varat reklamēt šādu resursu, bet galvenokārt ar maksas metodēm.
  1. Arī statisku vietni nav ieteicams izmantot lielos projektos.

No šejienes ir skaidrs, ka, ja serverim ir regulārs html lapa, tad šī pieeja ir ļoti ierobežota. Piemēram, ir interneta veikals, kuram ir pievienota jauna prece. Ja šāds tiešsaistes veikals sastāv no “statiskām” lapām, tad vairākas citas lapas būs manuāli jārediģē. Tas ir vismaz preču katalogs un, šķiet, pasūtījuma veidlapa. Un, ja produkts beidzas, jums atkal ir jāatjaunina statiskā vietne, kas ir ļoti neērti. Šajā sakarā internetā ir grūti atrast tiešsaistes veikalu, kas izmantotu “tīru” HTML kodu.

Dinamiska vietne

Dinamiska vietne- tīkla resurss, kas sastāv no dinamiskām lapām - veidnēm, satura, skriptiem un citām lietām formā atsevišķi faili. Dinamiskās lapas, kas galu galā tiek rādītas lietotāja pārlūkprogrammai, tiek veidotas servera pusē pēc pieprasījuma no veidnes lapas un atsevišķi saglabāta satura (informācijas, skripti utt.). Parasti, lai parādītu jebkādu viena veida lappušu skaitu, tiek izmantota viena veidnes lapa, kurā tiek ielādēts attiecīgais saturs, kas ļauj vienreiz pielāgot izskats dinamiska vietne (daudzas no visām tās lapām), rediģējot tikai vienu veidni.

Dinamiskās lapas ģenerē tīmekļa serveris no vairākiem failiem (veidnēm). Visa informācija parasti tiek glabāta datu bāzē. Gandrīz visi emuāri ir dinamiskas vietnes. Kad lietotājs pieprasa lapu, attiecīgā informācija tiek izgūta no datu bāzes, ievietota veidnē, lai izveidotu tīmekļa lapu, un tīmekļa serveris to nosūta lietotāja pārlūkprogrammai. Tādējādi, atjauninot dinamiskā resursa saturu, jums vienkārši jāpievieno teksts jauna lapa, kas pēc tam nonāk datu bāzē. Galu galā no tā izriet, ka dinamiska vietne, šķiet, pati sevi atjaunina.


Dinamisko vietņu priekšrocības ir:

  1. Resurss ir funkcionālāks, jo saturs tiek pārvaldīts, izmantojot īpašas formas, kas atvieglo informācijas pievienošanu, rediģēšanu un dzēšanu.
  2. Pievienojot vai rediģējot saturu, nav nepieciešamas īpašas zināšanas tīmekļa pārvaldīšanas jomā (HTML, CSS).
  3. Dinamiskas lapas iespēja mainīt saturu, reaģējot uz apmeklētāju darbībām.
  4. Spēja izveidot lielus daudzfunkcionālus projektus.
  5. Dinamiskās lapas ir daudz vieglāk modificēt un atjaunināt.
  6. Informācijas un dizaina atdalīšana dinamiskā vietnē nodrošina elastīgāku pārvaldību.
  7. Pastāvīga dinamiskas vietnes atjaunināšana sniedz lieliskas popularizēšanas iespējas, kas pozitīvi ietekmē projekta popularizēšanu un tai ir vairāk apmeklētāju.

Līdzās priekšrocībām dinamiskajām vietnēm ir arī trūkumi:

  1. Nepieciešamība izmantot papildu programmatūra, kas nozīmē augstās izmaksas par dinamisku lapu izveidi un uzturēšanu.
  2. Paaugstinātas aparatūras prasības serveru sistēmas. Šī problēma kļūst īpaši pamanāma dinamiskās vietnēs ar lielu trafiku.
  3. Hostings arī attiecīgi būs nedaudz dārgāks, jo šādam projektam būs nepieciešams izveidot savienojumu papildus iespējas.
  4. Dinamisku lapu lielu strukturālu izmaiņu sarežģītība. Šajā gadījumā viss ir atkarīgs no programmatūra, ko izmanto resurss. Jebkurai programmai ir savi ierobežojumi, lai tos apietu, ir jāmaina programma, jāmaina vecā vai jāmeklē jauna.
  5. Lai uzturētu dinamisko lapu funkcionalitāti, jums ir jābūt atbilstošām zināšanām.

Rīki dinamisku lapu izveidei

Ja statiskās vietnēs praktiski netiek veiktas nekādas izmaiņas un lapa apmeklētāja monitora ekrānā parādās “oriģinālajā” formā, tad dinamiskā lapa, kā cilvēks to redz, serverī neeksistē. Viņa iet uz vairākiem Dažādi ceļi no serverī saglabātajiem datiem un tikai pēc tam tiek parādīts apmeklētājam.

Pirmā iespēja var būt vairāku (divu vai vairāku) atsevišķu daļu apvienošana vienā - tā ir vienkāršākā ģenerēšanas metode.

Otra iespēja ir aizpildīt veidnes lapu ar kādu informāciju, kas glabājas atsevišķi vai iegūta algoritma rezultātā (piemēram, aprēķinu rezultātā).

Trešais un, iespējams, visizplatītākais variants ir pirmo divu kombinācija visās iespējamās variācijās, t.i. lapa ir salikta no vairākiem gabaliem, kuros tiek veiktas dažādas izmaiņas.

Visizplatītākais rīks dinamisku lapu izveidei ir JavaScript programmēšanas valoda. VBscript tiek izmantots daudz retāk ( Visual Basic skripts).

Ja resurss satur bieži mainīgu saturu, tad parasti tiek izmantoti skripti, kas atšķirībā no JavaScript tiek izpildīti serverī.

Šajā gadījumā dinamiskā vietne darbojas šādi:

  1. Pārlūkprogramma pieprasa dokumentu no servera.
  2. Serveris nosaka, ka dokuments ir skripts, un palaiž to izpildei.
  3. Skripts ģenerē html lapu.
  4. Serveris nosūta ģenerēto lapu pārlūkprogrammai, lai pārlūkprogramma nenojaustu, ka skripts ir izpildīts serverī.

Ir vairākas programmēšanas valodas, kas ļauj rakstīt skriptus dinamiskām lapām. Visizplatītākie no tiem:

Perl
SSI
PHP
A.S.P.
Python
Java
Binārais kods (C vai C++ programma, kas apkopota izpildāmā kodā).

Katrai no šīm programmēšanas valodām ir savas lietojumprogrammu funkcijas. Jūs varat rakstīt skriptus jebkurā valodā. Galvenais ir zināt tās stiprās puses un vājās puses un izmantot tos efektīvi.

Dinamiskās vietnes ne tikai izvirza jaunas prasības to izveidei un uzturēšanai, to izstrāde ir arī daudz dārgāka, kā arī nepieciešama jaunas personāla vienības - programmētāja - uzturēšana. Vienlaikus jāatzīmē, ka tehnoloģijas nestāv uz vietas, tāpēc attīstās arī piedāvātās iespējas dinamisku lapu veidošanai. Un šeit tika atrasts risinājums augstas kvalitātes resursu izveides veidā uz CMS, kas tagad iegūst arvien lielāku popularitāti.

CMS ir satura pārvaldības sistēmas saīsinājums, kas burtiski nozīmē resursu satura pārvaldības sistēmu. Vienkārši sakot, šī ir tā pati programmatūras pakotne, kas ļauj mainīt dinamisko lapu dizainu un saturu lietotāja vajadzībām. Starp citu, SMS pamatā ir viena vai vairākas no iepriekš minētajām programmēšanas valodām.

Pašlaik internetā darbojas daudzas šādas sistēmas, dažas no tām ir bezmaksas, dažas ir maksas. Bieži vien šādas sistēmas saviem klientiem nodrošina attiecīgie izstrādes uzņēmumi. Katra sistēma ir individuāla, un tai ir savas priekšrocības un trūkumi.

Tādējādi dinamiskās vietnes ir daudz elastīgākas pārvaldības ziņā. Dinamiskās lapas ir teksta un grafikas kombinācija, iezīmēšanas valoda – tāpat kā statiskās vietnes. Taču papildus tam dinamiskajās lapās tiek izmantotas arī dažādas tehnoloģijas, kas ļauj “salikt” tīmekļa lapas lidojumā. Šādi resursi palīdz to īpašniekiem saliedēt ap sevi apmeklētāju kopienu un sniedz daudz plašākas iespējas komunicēt ar savu auditoriju, kas ļauj ar dažādu funkciju palīdzību padarīt to apmeklētājiem interesantāku.

Dinamiskos resursus var attīstīt no nulles, manuāli izveidojot visu nepieciešamo programmu kodi, skripti utt. Tomēr daudz biežāk dinamisku lapu izveidošanai tiek izmantotas īpašas satura pārvaldības sistēmas - CMS. CMS ļauj izmantot gatavus programmatūras moduļus un komponentus, bez nepieciešamības katru reizi tos izveidot no nulles. Varat izveidot neierobežotu skaitu projektu, pamatojoties uz vienu CMS.

Tajā pašā laikā, neskatoties uz acīmredzamajām dinamisko lapu priekšrocībām, nevajadzētu uzskatīt, ka dinamiskās vietnes vienmēr ir pareizais risinājums, un pilnībā atteikties no statisko vietņu lapām. Jums vienmēr vajadzētu iziet no situācijas. Ne velti saka, ka pat ar dzelzceļu tomēr vajag koncertu. Bieži vien projektā ir jāizmanto statiskas lapas. Ja projekts ir mazs, sastāv tikai no dažām lapām un tajā esošais saturs netiek atjaunināts, tad nav jēgas izveidot resursa dzinēju - vienreiz ir vieglāk izkārtot visas nepieciešamās lapas. Bet tas nav iespējams visos gadījumos.

Pat iesācējiem droši vien ir zināmas frāzes “statiskā vietne” un “dinamiskā vietne”. Bet ko īsti šīs frāzes nozīmē un kāda ir atšķirība starp tām, kādas ir viena vai otra veida vietnes priekšrocības?

Neuzminēsim, bet vienkārši apskatīsim tos detalizēti un salīdzināsim.

Statiskas un dinamiskas vietnes — kāda ir atšķirība?

Lai gan mūsdienās dinamisko vietņu skaits pieaug, no pirmā acu uzmetiena nav iespējams precīzi pateikt, vai jūsu atvērtā vietne ir statiska vai dinamiska.

Statisku vietņu piemēri

No pirmā acu uzmetiena varat pieņemt, ka vietne ir statiska, ja, piemēram, tajā ir viena vai neliels skaits lappušu, vai, piemēram, ja tā ir uzņēmuma vizītkaršu vietne un informācija tajā nekad nemainās vai ir tiek atjaunināts ļoti reti, ja Tam nav tādas iespējas kā, piemēram, komentēšana vai reģistrācija utt.

Faktiski statisku vietni var atjaunināt tikai persona, kas labi pārzina tīmekļa izstrādi, jo tai nav administratora paneļa, tāpēc visi vietnes atjauninājumi būs jāveic, izmantojot tās pirmkodu.

Statiskās vietnes ir lētākas un aizņem mazāk mitināšanas vietas, tāpēc daudzi mazie uzņēmumi joprojām dod priekšroku tām, nevis dinamiskām vietnēm.

Tātad mēs varam redzēt Statisko vietņu priekšrocības:

  1. Tie ir vienkārši un ātri attīstāmi
  2. Lēti attīstīšanai un mazāk slodzes.

Līdzās priekšrocībām mēs varam arī izcelt Statisko vietņu trūkumi:

  1. Lai atjauninātu vietni, ir nepieciešama tīmekļa izstrādes pieredze.
  2. Lai atjauninātu pat vismazāko detaļu šādā vietnē, jums būs vai nu pašam jāiedziļinās kodā, vai arī, ja pats nezināt HTML un CSS, jums katru reizi būs jāizmanto tīmekļa pārziņa pakalpojumi.

  3. Satura stagnācija.
  4. Sakarā ar to, ka šādas vietnes saturs tiek atjaunināts ļoti reti, saturs tajās “sastingst”, tas ļoti nelabvēlīgi ietekmē meklētājprogrammas. Protams, jūs varat reklamēt šādu vietni, bet galvenokārt izmantojot maksas metodes.

Dinamisku vietņu piemēri

No otras puses, dinamiskas vietnes var maksāt daudz vairāk, it īpaši, ja tās ir izstrādātas no nulles. Arī hostings būs nedaudz dārgāks, jo jums būs jāpievieno papildu funkcijas. Taču dinamisko vietņu daudzās priekšrocības vairāk nekā kompensē šos trūkumus.

Dinamiska vietne sniedz tās īpašniekam iespēju ļoti vienkārši atjaunināt un pievienot saturu savai vietnei. Piemēram, ziņas un notikumus var pievienot, izmantojot administratora paneli pašā pārlūkprogrammā, bez nepieciešamības rediģēt koda failus.

Dinamiskas vietnes iespējas ierobežo tikai mūsu iztēle.

Dinamisku vietņu piemēri ir vietnes, kuru pamatā ir pārvaldības sistēmas, tiešsaistes veikali, sludinājumu vietnes, forumi, vietnes, kurās klientiem un apmeklētājiem ir iespēja atstāt atsauksmes, komentārus, augšupielādēt failus utt.

Dinamisku vietņu priekšrocības:

  1. Funkcionālāka vietne.
  2. To ir daudz vieglāk atjaunināt.
  3. Pastāvīga atjaunināšana pozitīvi ietekmē vietnes popularizēšanu un piesaista vairāk apmeklētāju.
  4. Šāda vietne palīdz tās īpašniekam un sniedz daudz vairāk iespēju sazināties ar savu auditoriju un ar dažādu funkciju palīdzību padarīt viņa vietni interesantāku apmeklētājiem.

secinājumus

Tātad mēs redzam, ka dinamiskai vietnei ir daudz lielākas attīstības perspektīvas nekā statiskai vietnei, neskatoties uz to, ka šādas vietnes atdzīvināšana var aizņemt vairāk laika.

Arvien vairāk cilvēku apzinās dinamisko vietņu nenoliedzamās priekšrocības, un tāpēc arvien vairāk no tām parādās internetā.

Bet no otras puses, viss ir atkarīgs no tā, kas JUMS konkrēti vajadzīgs, ja ir vajadzīga, piemēram, vienas lapas mājaslapa, caur kuru pārdosi kādu preci, vai vizītkaršu mājaslapa no 1 līdz 5-6 lapām, kuru tu nav Ja plānojat pastāvīgi atjaunināt, tad pilnīgi dabisks risinājums būtu izvēlēties statisku vietni.

Ja vēlaties, lai jūsu projekts nepārtraukti attīstītos un tiktu piepildīts ar saturu, tad, protams, jums ir nepieciešama dinamiska vietne.