Serveru programmēšanas valodu un datu bāzu tehnoloģijas. Web programmēšanas valodas: klients un serveris

Web apgūšana. Servera tīmekļa programmēšana

IT pievilcīgāko un pieprasītāko profesiju reitingā pirmajā vietā varam droši likt tīmekļa pārziņiem – šis vārds plaši apzīmē speciālistus, kas izstrādā un atbalsta vietnes. Mūsdienās jebkurš nopietns uzņēmums cenšas iegūt savu vietni vai tīmekļa lapu, kas nozīmē, ka tam ir nepieciešami kvalificēti speciālisti.

Izstrādātāji, programmētāji, maketētāji, optimizētāji ir vērtīgi darbinieki Krievijas un starptautiskos uzņēmumos. Viņiem tiek piedāvāts pienācīgs atalgojums un pievilcīgi darba apstākļi: korporatīvie labumi, interesanti projekti, karjeras izaugsme, elastīgi grafiki. Pateicoties stabilajam pieprasījumam pēc viņa pakalpojumiem, tīmekļa pārzinis var atļauties strādāt kā ārštata darbinieks: pats izvēlas klientus, neziņojot savam “onkulim”, sēžot savā mīļākajā krēslā mājās vai viesnīcā pie jūras.

Ja nolemjat izstrādāt vietnes, jums ir skaidri jāsaprot tīmekļa servera darbības principi. Tieši HTTP protokola zināšanas padara tīmekļa pārzini par profesionāli savā jomā un ļauj viegli atrisināt vietņu veidošanas problēmas. Speciālists, kurš šo faktu atstāj novārtā, saskaroties ar problēmu, raksta apgrūtinošu programmas kodu un pat nenojauš, ka to var atrisināt ar vienu vai divām rindiņām tīmekļa servera konfigurācijā.

Mūsu kurss "Tīmekļa apgūšana. Servera tīmekļa programmēšana" palīdzēs apgūt tīmekļa servera darbības mehānismus un iegūt praktiskas administrēšanas iemaņas. Noderēs režijas kursu absolventiem PHP, ASP.Net utt., kā arī studentiem, kuri tikai plāno šīs apmācības. Kursu var ieteikt tīmekļa kursu absolventiem, ja studenti nav apguvuši īsto kursu.

Nodarbību laikā apskatīsiet IIS serveri, kas ir daļa no līnijas OS Windows 8/7 Un Windows Server 2012/2008, kā arī serveri Apache versijas 2.2-2.4, ko bieži izmanto platformā Unix. Skolotājs pievērsīs uzmanību svarīgām ar drošību saistītām tēmām: autentifikācijas mehānismi, lietotāju autorizācijas scenāriji, SSL iestatīšana un lietošana, darbs ar SSL sertifikātiem, Apache mod_rewrite servera moduļa izmantošana.

Iegūtās zināšanas izmantosi praksē: 24 stundu kurss ietver 13 laboratorijas darbus. Pēc kursa beigšanas varēsi patstāvīgi administrēt IIS un Apache 2.2-2.4 serverus, pārvaldīt satura kešatmiņu, lietot SSL un strādāt ar RFC specifikācijām. Jūsu prasmes un iemaņas apliecinās centra prestižie dokumenti: sertifikāts un kvalifikācijas paaugstināšanas sertifikāts.

Veiksmīga tīmekļa programmētāja karjera sākas ar šo kursu! Pieteikties kursam!

Pabeidzot kursu, jūs varēsiet:

  • Zināt un saprast HTTP/1.1 protokolu
  • Administrēt IIS serveri
  • Pārvaldīt Apache 2.2–2.4 serveri
  • Pārvaldīt satura kešatmiņu
  • Izmantojiet serveru apdarinātājus un moduļus
  • Izprast lietotāju autentifikācijas mehānismus
  • Izmantojiet SSL
  • Darbs ar RFC specifikācijām
Speciālisti ar šīm zināšanām un prasmēm šobrīd ir ļoti pieprasīti. Lielākā daļa mūsu kursu absolventu turpina veiksmīgu karjeru, un darba devēji viņus ciena.

Pārdevējs

Lai apskatītu nepieciešamo saturu

Programmēšanas valodas, kas ļauj strādāt ar interneta tehnoloģijām, tiek sauktas par tīmekļa programmēšanas valodām (turpmāk ērtības labad – WPL). Daži no tiem savulaik tika radīti īpaši konkrētiem resursiem un kļuva plaši pazīstami daudz vēlāk. PHP, piemēram.

WEB programmēšanaVisas valodas ir sadalītas serverī un klientā:

Klientu tīmekļa programmēšanas valodas


Programmas, kas rakstītas klientu valodās, apstrādā pārlūkprogramma. Citiem vārdiem sakot, tos apstrādā lietotāja klients. Līdz ar to nosaukums. Līdz ar to trūkums: programmas (skripta) apstrāde ir tieši atkarīga no pārlūkprogrammas. Lietotājs pat var iestatīt, lai tas pilnībā ignorētu jūsu skriptu.

Turklāt pārāk veca pārlūkprogramma var neatbalstīt valodu vai tās valodas versiju, kurā programma ir rakstīta. Tomēr šeit ir vērts teikt, ka tas notiek diezgan reti, jo kodolieroču galviņas netiek atjauninātas ļoti bieži.

Klienta puses valodā izveidotā skripta programmas kodu var apskatīt ikviens, piemēram, ar peles labo pogu noklikšķinot uz lapas un konteksta izvēlnē izvēloties “Skatīt lapas kodu” vai ko līdzīgu (atkarībā no pārlūkprogrammas).


Klienta skriptu priekšrocība ir ātrums. Pieņemsim, ka programmai ir jāpārbauda lietotāja VKontakte ievadīto datu pareizība. Šajā gadījumā pārbaude tiks veikta nekavējoties, nenosūtot pārbaudāmo uz serveri un nesaņemot atskaiti atpakaļ. Laika ietaupījums ir acīmredzams.

Bet tas ir mīnuss – klienta skripts vispār nevar uzrakstīt neko serverī. Līdz ar to nebūs iespējams izveidot, teiksim, viesu grāmatu, izmantojot klienta puses valodas programmu, jo, lai to izdarītu, ir jāsaglabā ziņojumi serverī failā.


Javascript piemēri ir Java Script, kas būtiski ietekmēja C-Sharp (šeit ir C# forums) izstrādi, un Visual Basic Script. Lai pētītu klientu valodas un strādātu ar tām, ir nepieciešama pārlūkprogramma, kas tās atbalsta. Piemēram, ir piemērotas Internet Explorer, Mozilla vai Opera.

Servera puses tīmekļa programmēšanas valodas


Serveris ir dators, kurā tiek mitināta vietne, un programmatūra, kas apstrādā pārlūkprogrammas pieprasījumus vietnes lapām.

Skriptu apstrāde servera puses valodās atšķiras no klienta puses valodām:
lietotājs mēģina pāriet uz lapu (adreses joslā ievada URL vai seko saitei);
visi ar šo lapu saistītie skripti tiek apstrādāti serverī;
Lietotājam tiek parādīts HTML dokuments.

Tas nozīmē, ka lapas apmeklētājs nevarēs redzēt skripta kodu servera puses valodā. Tādējādi skripta veiktspēja tagad ir tieši atkarīga nevis no lietotāja pārlūkprogrammas, bet gan no servera, kurā vietne tiek mitināta.


Ir vērts pieminēt arī DBVS (Database Management System) jēdzienu. Kopumā tas ir arī serveris. Iegādājoties hostingu, mājas lapas veidotājs saņem Datu bāzi (DB), kuras tabulās var glabāt dažādu informāciju, kurai var piekļūt jebkurā laikā. Ja mēs atgriežamies pie mūsu piemēra, vienā no šīm tabulām var būt lietotāju ziņojumi, kas atstāti viesu grāmatā.

Protams, kāds teiks, ka ziņas var glabāt arī teksta failā. Taču datu bāzē saglabāto informāciju ir vieglāk pārvaldīt – var saistīt tabulas, uzglabāt šifrētas paroles un daudz ko citu.

Serveru valodu funkcionalitāte ir gandrīz neierobežota, taču to apguve ir diezgan darbietilpīga neatkarīgi no valodas veidotāju teiktā.


Pēdējā laikā DBVS ir plaši izmantotas, tām var piekļūt, izmantojot strukturētu vaicājumu valodu - strukturēto vaicājumu valodu (SQL). Acīmredzot darbam ar šādām datu bāzēm ir vajadzīgas tiešas zināšanas par SQL. Šādas DBVS ietver, piemēram, MySQL un PostgreSQL.

Visizplatītākās servera puses valodas ir PHP, SSI un Perl.

Lai pētītu servera valodas un strādātu ar tām, jums ir nepieciešams nedaudz vairāk nekā klienta valodām - serveris, valodas tulks un DBVS.

Kopumā no visa iepriekš minētā varam secināt, ka vienkāršiem skriptiem vai iesācēju tīmekļa pārziņiem jebkura no klienta puses Java programmām ir ideāla. Nopietnākai attīstībai būs jāapgūst servera valoda.

Vai zinājāt, ka tīmekļa programmēšanas valodas var būt klienta vai servera puses? JavaScript, VBS, PHP, PERL. Vai jūs zināt, kā tie atšķiras un kā tie darbojas? Vai jūs zināt, kas ir serveris? Vai jūs zināt, kas ir DBVS? Vai Tu zini? Tāpēc izlasi šo rakstu un uzzini :)

1. Tīmekļa programmēšanas valodas, kas tās ir?
2 — klienta puses tīmekļa programmēšanas valodas
3. Servera puses tīmekļa programmēšanas valodas
4 — daži nobeiguma vārdi

Tīmekļa programmēšanas valodas, kas tās ir?

Jūs kaut kur lasījāt, ka, lai izveidotu viesu grāmatu vai aptauju, jums ir jāzina sava veida tīmekļa programmēšana. Vai esat kādreiz dzirdējuši, kas ir tīmekļa programmēšana? Tā nu mēs satikāmies, jo arī mani kādreiz mocīja šie jautājumi, un tagad mēģināšu uz tiem sniegt atbildes.

Tīmekļa programmēšanas valodas attiecīgi ir valodas, kas galvenokārt ir paredzētas darbam ar interneta tehnoloģijām. Un daži tika izveidoti tikai darbam ar kādu resursu, un tikai ilgu laiku vēlāk ieguva slavu un vispārēju atzinību (piemēram, PHP). Bet es neiedziļināšos dažādu tīmekļa programmēšanas valodu izveides vēsturē, jo tā nav šī raksta tēma, un, ja lasītājs ir ieinteresēts, viņš to var atrast izstrādātāju vietnēs.

Tīmekļa programmēšanas valodas ir sadalītas divās grupās: klients un serveris. Atgādināšu, kas ir serveris: tas ir gan dators, kurā tiek glabāta jūsu vietne, gan programma, kas apstrādā pārlūkprogrammas pieprasījumus jebkurai lapai.

Klientu valodas

Kā norāda nosaukums, klientu valodas tiek apstrādātas lietotāja klienta pusē, un, vienkārši sakot, programmas klienta valodā apstrādā pārlūkprogramma. Negatīvā puse ir tāda, ka skriptu apstrāde ir atkarīga no lietotāja pārlūkprogrammas, un lietotājs var konfigurēt savu pārlūkprogrammu, lai parasti ignorētu jūsu rakstītos skriptus. Tomēr, ja pārlūkprogramma ir veca, tā var neatbalstīt konkrēto valodu vai tās valodas versiju, uz kuru paļaujaties. Mūsdienu pārlūkprogrammās šādām problēmām nevajadzētu rasties, turklāt programmēšanas valodas netiek radikāli atjauninātas ļoti bieži (ik pēc dažiem gadiem), un labākās no tām jau sen ir zināmas. Turklāt ikviens var skatīt klienta skripta kodu, pārlūkprogrammas izvēlnē Skats atlasot cilni "Avota kods" (vai kaut ko līdzīgu).

Klienta valodas priekšrocība ir tāda, ka skriptus šādā valodā var apstrādāt, nenosūtot dokumentu uz serveri. To ir vieglāk izskaidrot ar piemēru: pieņemsim, ka jums ir jāpārbauda, ​​vai lietotājs pareizi ievadījis e-pastu (t.i., pārbaudiet, vai ir “@”); Lai to izdarītu, lietotājam būtu jānosūta veidlapa ar aizpildītiem datiem, pēc tam jāgaida, līdz tā tiek apstrādāta, un tikai tad jāsaņem kļūdas ziņojums (ja, protams, tāds ir). Process ir pārāk garš. Izmantojot klienta valodu, programma pirms nosūtīšanas nekavējoties pārbaudīs, vai veidlapa ir aizpildīta pareizi, un, ja nepieciešams, parādīs kļūdu. Tas arī noved pie ierobežojuma, ka, izmantojot klienta programmēšanas valodu, serverī nevar ierakstīt neko, tas ir, piemēram, to nevar izmantot viesu grāmatas izveidošanai, jo tad ir jāraksta ziņojumi uz kādu servera failu.

Visizplatītākā klientu valoda ir JavaScript, ko izstrādājis Netscape (www.netscape.com, es domāju, ka jūs zināt viņu Netscape Navigator pārlūkprogrammu) kopā ar SunMicrosystems (www.sun.com). Vēl viena klienta valodas opcija ir, piemēram, VisualBasicScript (VBS). Lai sāktu apgūt klienta tīmekļa programmēšanas valodu, jums būs nepieciešama pārlūkprogramma, kas atbalsta šo valodu (Internet Explorer (www.microsoft.com), Opera (www.opera.com), Netscape Navigator (www.netscape.com), Mozilla ( www.mozilla .org), būtu piemēroti varianti (personīgi es izmantoju pēdējo)) un mācību materiāls, kas atrodams vietnē alepira.ural.ru

Serveru valodas

Tātad, tagad apskatīsim, kā skripti tiek apstrādāti servera puses programmēšanas valodā. Sākumā es sniegšu šādu diagrammu:

Kad lietotājs pieprasa lapu (seko saitei uz to vai ievada adresi savas pārlūkprogrammas adreses joslā), izsauktā lapa vispirms tiek apstrādāta serverī, tas ir, tiek izpildīti visi ar lapu saistītie skripti. , un tikai pēc tam atgriezās apmeklētājam vienkārša HTML dokumenta veidā (tas ir, apmeklētājs vairs nevarēs redzēt jūsu skripta kodu). Taču jūsu skriptu darbība ir pilnībā atkarīga no servera, uz kura atrodas jūsu vietne, un no tā, kura konkrētas valodas versija tiek atbalstīta mitināšanā.

Servera puses programmēšanas valodas programmētājam paver plašu aktivitāšu klāstu, tomēr, lai arī cik daudz valodu popularizētāji raksta, ka viņu valoda ir ļoti viegli apgūstama, to ir diezgan grūti apgūt bez iepriekšējas zināšanu slodzes. .

Šeit ir vērts pieminēt, kas ir datu bāzes pārvaldības sistēma jeb DBVS. Šis faktiski ir arī serveris, kurā lietotāja noteiktā secībā tiek glabāta dažāda nepieciešamā informācija, kuru var izsaukt jebkurā laikā. Šī ir bibliotēka, kurā visi materiāli ir glīti sakrauti plauktos un tos var izņemt jebkurā laikā. Parasti, iegādājoties hostingu, tiek atvēlēta viena datu bāze (DB), kurā lietotājs var izveidot daudzas tabulas un tajās uzglabāt dažādu informāciju. Tas ir, ja mēs atgriežamies pie piemēra ar viesu grāmatu, tad jebkurā izveidotajā tabulā varat saglabāt lietotāju atstātos ziņojumus. Jūs, protams, varat tos saglabāt teksta failā, taču tas ir mazāk uzticams, un turklāt es sniedzu tikai nelielu piemēru, un, teiksim, jums ir jāsaglabā paroles (un tās ir jāsaglabā šifrētā veidā) , vai piesaistīt vairākas tabulas, kad Piekļūstot jebkuriem datiem, nevar iztikt bez datu bāzes.

Pašlaik pamatota iemesla dēļ ir kļuvušas zināmas DBVS, kurām var piekļūt, izmantojot strukturēto vaicājumu valodu (SQL) vai strukturēto vaicājumu valodu. Lai strādātu ar šīm datu bāzēm (papildinātu, atjauninātu, veiktu vaicājumus utt.), jums jāzina tieši šī SQL. Starp šādām DBVS visslavenākā ir MySQL (www.mysql.com), bet priekš sevis es devu priekšroku PostgreSQL (www.postgresql.org).

Daži nobeiguma vārdi

Ja mēs turpinām runāt par programmēšanas valodām, tagad ir valodas, kas ir iebūvētas pašā dokumentā, un tās programmas, kurās vispirms ir jākompilē, tas ir, rakstītie pirmkodi jāpārvērš gatavā programmā; pēdējā trūkums ir tāds, ka, ja jums ir jāatjaunina skripts, jums būs jāpārkompilē atjauninātie kodi.

No serveru programmēšanas valodām izceļas PHP (PHP: Hypertext Preprocessor) (www.php.net), Perl (www.perl.com), SSI (Server Side Include). Lai pārbaudītu šos skriptus, jums būs nepieciešams vairāk: serveris (www.apache.org), valodas tulks (to varat iegūt ražotāja vietnē) un, protams, produktīvam darbam arī DBVS.

Kas? Kāda vēl servera programmēšana? Kas tas par nepatikšanām? Un kāpēc mums tas ir vajadzīgs?

Šķiet, ka esam iemācījušies izveidot Web lapas Dreamweaver vidē. Mēs pat uzzinājām, kā, izmantojot to, izveidot veselas tīmekļa vietnes un publicēt tās tīmekļa serverī. Mēs pētījām divu veidu lapu noformējumu: uz ietvariem balstītu, kad vietnes tiek veidotas, pamatojoties uz ietvaru kopām, un tabulu, kad lapas saturs tiek ievietots lielā, sarežģītā tabulā. Mēs uzzinājām par stilu lapām, meta tagiem un servera puses direktīvām. Visbeidzot, mēs uzzinājām par tīmekļa programmēšanu un tīmekļa skriptiem, kas ļauj mums pievienot “dzīvību” mūsu statiskajām lapām. Kas vēl vajadzīgs laimei?

Jā, ar to, ko mēs uzzinājām iepriekš, ir pilnīgi pietiekami, lai mēs izveidotu diezgan pienācīgas vietnes. Daudzi tīmekļa dizaineri apstājas pie tā. Bet mēs gribam vairāk, vai ne?

Tāpēc spersim nākamo soli – pāriesim no lapām, kas glabājas failos serverī, uz lapām, kuras ģenerē īpašas programmas. Tieši ar šādu programmu rakstīšanu nodarbojas servera programmēšana.

Bet pieņemsim lietas kārtībā. Un mēs sāksim, noskaidrojot, kāpēc šīs serveru programmas ir vajadzīgas.

Kas ir servera programmēšana

Tiešām, kas tas ir un ar ko to ēd?

Kāpēc mums ir vajadzīgas serveru programmas?

Vai esat kādreiz apmeklējis interneta veikalu? Piemēram, populārākais "Ozons" (http://www.ozon.ru). Vai atceries, kā tur pasūtīt preces?

Ja neatceries vai pat nezini, kas ir interneta veikals, atcerēsimies (vai noskaidrosim).

Jūs atverat Web lapu, kurā ir aprakstīts nepieciešamais produkts. Pēc daudzām sirdsapziņas mokām jūs beidzot nolemjat iegādāties un noklikšķiniet uz pogas Pirkt. Pēc tam jūs saņemat vairākas Web lapas, kurās varat iestatīt savu adresi, apmaksas un preču piegādes veidus un, visbeidzot, apstiprināt pirkumu. To visu var izdarīt, noklikšķinot uz atbilstošajām pogām un ievadot datus attiecīgajos ievades laukos, kas atrodas tieši lapās.

Kas notiek, kad tas notiek? Kā tiek apstrādāti jūsu ievadītie dati? Vai tiešām tā ir pati tīmekļa pārlūkprogramma?

Nepavisam. Šie dati tiek apstrādāti Web serverī.

Interneta veikals ir tikai viens no piemēriem, kas ienācis prātā autorei, kura ir iepriekš minētā “Ozona” fane un pastāvīga pircēja. Tīmekļa e-pasta serveri, meklētājprogrammas, elektroniskie ziņojumu dēļi, forumi un vispār jebkuras vietnes, kas saņem dažus datus no apmeklētāja un apstrādā tos, darbojas tieši tāpat. Visos šajos gadījumos Web pārlūkprogramma saņem datus no apmeklētāja un nosūta tos Web serverim, kas tos apstrādā un apstrādes rezultātu veido automātiski ģenerētas Web lapas veidā.

Kā tas patiesībā notiek? Tagad mēs to uzzināsim. Un vispirms atbildēsim uz jautājumu...

Tāpat kā tīmekļa serveris apstrādā lietotāja datus

Tātad, kā tīmekļa servera programma apstrādā datus, ko tai nosūtījis lietotājs?

Nevar būt. Web serveris nav aprīkots to apstrādei. Tās uzdevums ir saņemt failu pieprasījumu no tīmekļa pārlūkprogrammas (tīmekļa lapas, stila lapas, grafiskie attēli, filmas, skaņas, arhīvi, izpildāmie faili utt.), meklēt šos pašus failus servera datora cietajos diskos un nosūtīt atrastos failus atpakaļ uz Web pārlūkprogrammu. Tas ir viņa galvenais uzdevums. Protams, daži īpaši jaudīgi serveri var veikt papildu darbības ar failiem, kas tiek nosūtīti pirms to nosūtīšanas (jo īpaši, izpildot servera direktīvas). Ir arī “multi-host” programmas, kas pilda ne tikai Web servera, bet arī FTP servera, pasta, UseNet ziņu un Dievs zina, ko vēl funkcijas. Bet galvenā funkcija: vienkārša failu izsniegšana atbilstoši klienta prasībām - un nekas vairāk.

Noslēpums ir tāds, ka pats Web serveris neapstrādā apmeklētāju datus. Lai to izdarītu, tiek izmantotas īpašas programmas, kas darbojas kopā ar Web serveri tajā pašā servera datorā. Viņus sauc serveru programmas, nav lietotāja interfeisa un “sazinās” tikai ar Web serveri, saņem no tā lietotāja ievadītos datus un atgriež viņam rezultātu. Tādējādi tās būtiski atšķiras no klientu programmām, kas strādā tieši ar lietotāju. (Klientu programmās ietilpst, bet ne tikai, jūsu iecienītākā tīmekļa pārlūkprogramma.)

No tā izriet, ka tīmekļa serveris joprojām var pieņemt datus no lietotāja. Jā, tas ir daļa no tā galvenā uzdevuma: pieņemt datus un novirzīt tos uz servera programmu. Savukārt servera programma tos apstrādās un rezultātu atgriezīs Web serverim.

Šeit sākas jautrība. Fakts ir tāds, ka rezultāts, ko servera programma atgriež Web serverim, ir nekas vairāk kā parasts HTML kods! Faktiski servera programma atgriež gatavu Web lapu, kas ģenerēta, pamatojoties uz apmeklētāja ievadītajiem datiem. Šo lapu sauc dinamisks, Atšķirībā no statisks lapas, ko rakstījis tīmekļa dizainers un kas saglabātas failos servera datora diskos. Un Web serveris nosūta šo dinamisko lapu klientam kā atbildi uz ievadītajiem datiem.

Serveru programmas ir sadalītas šādos četros veidos.

  1. Izpildāmās programmas, kas darbojas caur saskarni CGI(Common Gateway Interface — kopējā apmaiņas saskarne), t.s CGI programmas.Šāda veida serveru programmatūra ir vecākā, taču nekādā gadījumā nav novecojusi.
  2. Web servera paplašinājumi(ISAPI, NSAPI formāta lietojumprogrammas, Apache paplašinājumu moduļi utt.). Jauna metode, kas ļauj iegult servera programmas pašā Web serverī, padarot tās par tā neatņemamām sastāvdaļām. Vispirms to piedāvāja Microsoft savam Microsoft interneta informācijas serverim (ISAPI interfeisam) un populārā bezmaksas Apache tīmekļa servera izstrādātāji.
  3. Aktīvās servera lapas(ASP, JSP utt.). Faktiski tās ir parastas statiskas Web lapas, kas saglabātas failos, kas papildus parastajam HTML kodam ietver komandas, kuras apstrādā vai nu pats Web serveris, vai tā paplašinājums. Arī jauna metode, ko Microsoft pirmo reizi ierosināja šim pašam interneta informācijas serverim.
  4. servera skripti, rakstīts tulkotā valodā (Perl, Python, VBScript, JavaScript utt.). Parastie skripti, kas darbojas, izmantojot CGI vai ISAPI saskarni servera pusē.

Tagad aplūkosim visu šo daudzveidību sīkāk.

CGI programmas ir parasti izpildāmi faili, kas rakstīti jebkurā programmēšanas valodā un apkopoti programmatūrā.procesora kopnes kods. Viņiem nav lietotāja interfeisa (kā visām serveru programmām), bet tie strādā ar Web serveri, saņem no tā ievades datus un nosūta uz to sava darba rezultātus. Tos palaiž pats Web serveris, kad tie ir nepieciešami (kad ir nepieciešams apstrādāt no lietotāja saņemtos datus), un tie darbojas servera datora operētājsistēmas kontrolē. Turklāt, ja Web serveris vienlaikus saņem vairākus datu apstrādes pieprasījumus no lietotājiem, tas palaiž atbilstošu CGI programmas kopiju skaitu.

CGI programmu priekšrocības ir izveides vienkāršība (daudzas programmu izstrādes vides atbalsta šādu lietojumprogrammu izveidi, jo īpaši populārais Borland Delphi, sākot ar 3. versiju) un viegla atkļūdošana. Turklāt, tā kā CGI lietojumprogrammas ir neatkarīgas programmas, tās darbojas atsevišķi no tīmekļa servera (kā saka programmētāji un sistēmas administratori, tās darbojas citā adrešu telpā). Tas nozīmē, ka, ja CGI programma neizdodas, tikai šī programma beidzas — Web serveris pats paliek virs ūdens. Taču CGI programmām ir tikai viens trūkums: liels sistēmas resursu patēriņš, jo katras datu kopas apstrādei tiek palaista atsevišķa servera programmas kopija. Un, ja tīmekļa serveris saņem pārāk daudz datu apstrādes pieprasījumu, servera dators var iesaldēt.

Tīmekļa servera paplašinājumi ir jaunāka veida servera programmatūra. Tie ir parastie DLL, kas īsteno visu servera programmas loģiku. Šādas bibliotēkas ir iebūvētas Web servera programmā un darbojas kā tās neatņemama sastāvdaļa. Tā kā DLL darbojas tikai Windows vidē, ir izgudroti citi formāti, lai izveidotu paplašinājumus citās operētājsistēmās. Jo īpaši Apache servera paplašinājumu moduļi nav DLL,

DLL formātā tiek izveidoti Web serveru Internet Information Server no Microsoft un Netscape Web Server no Netscape paplašinājumi. Pirmajā gadījumā paplašinājumiem ir formāts ISAPI(Internet Server Application Programming Interface — interneta servera lietojumprogrammu programmēšanas interfeiss), bet otrajā — NSAPI(Netscape servera lietojumprogrammu saskarne - Netscape servera lietojumprogrammu saskarne). Apache paplašinājumu moduļu formātu sauc par Apache moduļiem.

Tīmekļa servera paplašinājumiem ir viena priekšrocība: rūpīgs sistēmas resursu patēriņš. Fakts ir tāds, ka, lai apstrādātu visas lietotāja datu kopas, tiek palaists tikai viens paplašinājuma gadījums, kas aizņem ievērojami mazāk resursu nekā daudzas darbojošās CGI programmas. Tomēr paplašinājumus ir grūtāk izveidot un atkļūdot, un tie nav tik droši.

Tāpat kā CGI programmas. Tā kā tie darbojas kā daļa no tīmekļa servera, jebkura paplašinājuma kļūda izraisīs servera uzkāršanos.

Abiem iepriekš aprakstītajiem serveru programmu veidiem ir viens milzīgs trūkums. Lai tie varētu darboties, tie ir jāraksta programmēšanas valodā un jāapkopo procesora mašīnkodā, kas ir laikietilpīgi, īpaši atkļūdošanas laikā. Protams, kompilētās programmas darbojas ātrāk nekā interpretētās, tas ir, tās, kurās katru instrukciju nolasa, atšifrē un apstrādā īpaša tulku programma. Bet interpretētajām programmām ir arī savas priekšrocības, no kurām galvenās ir vienkāršība un rakstīšanas ātrums. Tiks interpretēti nākamie divu veidu serveru programmas, kas tiks aprakstītas.

Kā jau minēts, aktīvās servera lapas ir parastas Web lapas, kurās ir iekļautas īpašas servera skripti, ko izpilda pats Web serveris vai īpaša servera programma (CGI lietojumprogramma vai Web servera paplašinājums). It īpaši, A.S.P.(Active Server Pages), ko atbalsta Microsoft Internet Information Server, un JSP(Java servera lapas — serveru lapas, kas rakstītas JavaScript), ko atbalsta vairāki citi tīmekļa serveri, darbojas šādā veidā. ASP servera lapas ir rakstītas JavaScript un VBScript, bet JSP ir rakstītas tikai JavaScript.

Jūs jau zināt aktīvo serveru lapu priekšrocības: rakstīšanas vieglumu un ātrumu un atkļūdošanas vienkāršību. Turklāt, tā kā aktīvās servera lapas ir tikai parastas tīmekļa lapas ar kodu, tās var viegli uzrakstīt ikviens, kurš pārzina HTML. Trūkums: relatīvs lēnums un paaugstinātas prasības sistēmas resursiem.

Servera puses skripti ir līdzīgi aktīvā servera lapām, jo ​​tie tiek interpretēti, taču tie ir "tīrs" programmas kods, bez HTML piedevām. Tulks gandrīz vienmēr ir CGI programma, taču nekas neliedz to izstrādāt kā Web servera paplašinājums Skripti parasti tiek rakstīti Perl programmēšanas valodā, kas ir īpaši paredzēta teksta apstrādei, taču tiek izmantota arī Python, JavaScript, VBScript un pat (tā teikts) MS-DOS pakešfailu valoda. Patiesībā skripti var jāraksta jebkurā programmēšanas valodā, kurai ir tulks.

Servera puses skriptu priekšrocības un trūkumi ir tādi paši kā aktīvā servera lapām. Tomēr skripti patērē ārkārtīgi daudz sistēmas resursu, pat vairāk nekā CGI lietojumprogrammas. Galu galā, lai apstrādātu katru lietotāja datu kopu, tiek palaista sava tulka kopija, un tulks, savukārt, tērē daudz resursu skripta apstrādei. Un tomēr, neskatoties uz to, skripti ir vispopulārākais veids, kā izveidot servera programmas.

Tabulā 15.1 parāda servera programmu failu paplašinājumus.

15.1. tabula. Servera programmu failu paplašinājumi

Serveru programmu veids

Pasugas

Pagarinājums

CGI programmas

-

exe

Web servera paplašinājumi

ISAPI un NSAPI Apache moduļi

dll Nav paplašinājuma

Aktīvās servera lapas

Servera skripti

ASP JSP

asp jsp

Valoda Perl JavaScript VBScript Citas valodas

pl, cgi js, cgi vbs, cgi cgi

Tāpēc mēs apskatījām, kā Web serveris apstrādā (vai drīzāk, neapstrādā) lietotāja datus. Tagad pāriesim uz ķēdes sākumu un apskatīsim, kā Web pārlūkprogramma nosūta lietotāja datus servera programmai.

Kā tīmekļa pārlūkprogramma nosūta ievadītos datus

Šīs nodaļas sākumā mēs runājām par to, kā pašās tīmekļa lapās ievietotās vadīklas tiek izmantotas apmeklētāju datu vākšanai. Šīs ir parastas vadīklas, kas jums pazīstamas no Windows lietojumprogrammām: ievades lauki, pogas, saraksti, izvēles rūtiņas utt. Vietnes apmeklētājs ievada tajos datus un nospiež īpašu pogu, kas sāk sūtīt datus uz Web serveri un līdz ar to arī uz servera programmu. .

Veidlapā ir izvietotas vadīklas apmeklētāju datu ievadīšanai. Veidlapa -Šis ir īpašs lapas elements, kas faktiski kodē datus un nosūta tos uz Web serveri. (Varam teikt, ka veidlapa ir vadīklu vecākais.) Pašas vadīklas tikai saņem datus no apmeklētāja, bet nekodē un nepārsūta tos.

Katrai veidlapas vadīklai ir jābūt unikālam nosaukumam. Šos nosaukumus tīmekļa pārlūkprogramma izmanto, lai parādītu veidlapā ievadītos datus serverī lasāmā veidā.

Piemēram:

Šeit mēs esam apsvēruši ideālo gadījumu, kad katras vadīklas vērtības satur tikai derīgs ar no HTTP protokola viedokļa simboli: latīņu alfabēta burti, cipari, domuzīmes, pasvītras un dažas citas rakstzīmes. (Atcerieties, HTTP ir failu pārsūtīšanas protokols, ko izmanto tīmekļa serveris.) Ja pārsūtāt datus, kas satur nelegālas rakstzīmes, piemēram, atstarpes vai krievu alfabēta burtus, katra šāda rakstzīme tiks attēlota kā heksadecimālais kods, pirms kura norādīts procents. zīmi, piemēram, šādi (kodētās atstarpes rakstzīmes ir treknrakstā):

Pateicoties šim datu formātam, to apstrādājošo servera programmu rakstīšana kļūst ļoti vienkārša. Jo īpaši šim formātam Perl ir iebūvētas atšifrēšanas iespējas.

Iepriekš minētajā formā sniegtie dati pēc tam tiek kodēti, izmantojot kādu no iepriekš definētajiem kodēšanas metodes un tiek nosūtīti pa internetu servera programmai. To visu faktiski dara veidlapa (bet ne vadīklas).

Datu nosūtīšanas process sākas pēc tam, kad lietotājs nospiež īpašu pogu. Šo pogu sauc Sūtīt(Iesniegt - angļu valodas programmās) un jābūt klāt veidlapā. Veidlapā var būt arī poga Atiestatīt(Atiestatīt), kas atiestata lietotāja ievadītos datus. Parasti šīs pogas atrodas veidlapas pašā apakšā.

Veidlapu var uzskatīt par kaut ko līdzīgu parastam Windows lietojumprogrammas dialoglodziņam, kas pieņem ievadi no lietotāja, kodē to noteiktā veidā un nosūta uz galveno logu. (Arī Windows lietojumprogrammu dialoglogos noteikti ir divas pogas: labi Un Atcelt(Atcelt). Bet, ja parastas Windows lietojumprogrammas gadījumā programmētājam ir skaidri jānorāda, kā dati tiks šifrēti un nosūtīti, tīmekļa veidlapas gadījumā tas nav nepieciešams. Jums būs jāiestata tikai trīs obligātie parametri:

  • servera programmas interneta adrese, kas apstrādās veidlapas datus;
  • nosūtīto datu kodēšanas metode;
  • viena no divām datu nosūtīšanas metodēm.

Par datu nosūtīšanas metodēm mēs runāsim nedaudz vēlāk. Tagad noskaidrosim visu par pārējiem diviem nepieciešamajiem veidlapas parametriem.

Servera programmas interneta adrese ir ļoti līdzīga jebkura cita faila, piemēram, Web lapas, interneta adresei. Paskatieties paši – šādi izskatīsies CGI programmas adrese:

http://www. kādu vietni. ru/bin/program.exe Šī ir tīmekļa servera paplašinājuma adrese: http: //www.somesite.ru/bin/extension.dll Šī ir aktīvā servera lapas adrese:

http://www. kādu vietni. ru/asps/active_page. asp

Un šī ir Perl rakstītās skripta programmas adrese:

http://www. kādu vietni. ru/scripts/perl_script.pl

Kā redzat, šajā jautājumā nav nekā sarežģīta. Servera programma ir parasts fails, kas ievietots servera datora cietajos diskos, un arī saite uz to neko īpašu neatspoguļo.

Lai kodētu internetā pārsūtītos datus, parasti tiek izmantotas trīs populārākās metodes: application/x-www-form-urlencoded,multipart/form-data un (daudz retāk) teksts/vienkāršs. Ir iespējams izmantot citas kodēšanas metodes, taču vairumā gadījumu tiek izmantotas trīs uzskaitītās metodes. Turklāt šīs trīs kodēšanas metodes atbalsta lielākā daļa tīmekļa pārlūkprogrammu.

Piezīme

Ja jūs joprojām atceraties, kas ir MIME datu tips, tad, aplūkojot iepriekš sniegtos datu kodēšanas metožu nosaukumus, jūs uzreiz redzēsit, ka tie ir tikai MIME veidi. Ar viņu palīdzību tiek noteiktas kodēšanas metodes.

Lielākajā daļā gadījumu tiek izmantota aplikācijas/x-www-form-uriencoded kodēšanas metode. Starp citu, tas ir tas, kas tiek izmantots pēc noklusējuma, ja kodēšanas metode nav norādīta. Vairāku daļu/formu datu kodēšanas metode tiek izmantota, ja plānojat sūtīt failus uz Web serveri; tas nodrošina šim gadījumam piemērotu bināro datu konvertēšanu. Pēdējā metode - teksts/vienkāršs - uzrāda datus vienkāršā tekstā, kas var būt noderīgi, ja formas dati tiks nosūtīti pa e-pastu (dažkārt tiek izmantota arī šī datu pārsūtīšanas metode).

Tātad, mēs esam sakārtojuši datu kodējumu. Atliek noskaidrot, kā šie dati tiek pārsūtīti pa tīkla kanāliem.

Kā dati tiek pārsūtīti internetā

Kā jūs jau zināt, datu sūtīšanai internetā un pat jebkurā vietējā vai globālajā datortīklā tiek izmantots īpašs noteikumu kopums, ko sauc par protokols. Protokols nosaka, kā dati tiks šifrēti un iesaiņoti turpmākai pārsūtīšanai tīklā. Protams, gan sūtīšanas, gan saņemšanas programmām ir jāatbalsta viens un tas pats protokols, lai “saprastu” viena otru. (Pretējā gadījumā radīsies tā saucamā nesaderība ar datu pārraides protokolu, ļoti nepatīkama lieta.) Patiesībā par interneta protokoliem jau ir runāts un nav jēgas tos tagad atkārtot.

Jūs arī zināt, ka HTTP protokols tiek izmantots, lai internetā nosūtītu tīmekļa lapas un saistītos failus (grafikas, skaņas, arhīvus utt.). To izmanto arī datu pārraidei, un tam ir divi pārsūtīšanas metode datus. Abas metodes tiek plaši izmantotas interneta programmēšanā, un tām ir savas priekšrocības un trūkumi. Apskatīsim tos.

Pirmo metodi sauc GŪT pēc atbilstošā formas parametra vērtības. Ja tos izmanto, dati tiek pārsūtīti kā daļa no interneta adreses HTTP pieprasījumā.

Kā jūs atceraties, tīmekļa pārlūkprogramma, lai saņemtu tai nepieciešamo failu no Web servera, nosūta šim serverim tā saukto HTTP pieprasījumu, kas ietver vajadzīgā faila interneta adresi. Tātad datus var pārsūtīt kā daļu no šīs adreses.

Ņemiet, piemēram, tieši iepriekš parādīto datu kopu:

vārds1 = Ivana uzvārds = Ivanoviča vārds2 = Ivanova vecums = 30

Tagad sagatavosim to nosūtīšanai, izmantojot GET metodi (paši dati ir treknrakstā):

http://www.somesite.ru/bin/program.exe? vārds1=Ivans&uzvārds2=Ivanovičs&vārds2=Ivanovs&age=30

Kā redzams, ar GET metodi nosūtītie dati tiek ievietoti interneta adreses pašās beigās un no tās atdalīti ar jautājuma zīmi. Šajā gadījumā pāri “nosaukums” = “vērtība” ir atdalīti viens no otra ar zīmi “komerciālais un” (“&”). Viss ir ļoti vienkārši un skaidri.

Šī datu prezentācijas vienkāršība un skaidrība ir galvenā GET metodes priekšrocība. Kā saka, viss ir redzams. Arī tīmekļa lapu atkļūdošana ir ievērojami vienkāršota: tā kā Web serverim nosūtītā adrese tiek parādīta tīmekļa pārlūkprogrammas adreses joslā, jūs vienmēr varat redzēt, kas tieši tika nodots. (Tomēr, kā jūs saprotat, konfidenciālus datus nevar pārsūtīt, izmantojot šo metodi - visi, kas stāv jums aiz muguras, tos redzēs.)

http://www.mysite.ru/bin/choose.exe?chapter=3

Kā redzat, tās patiesībā ir saites uz servera programmu, kas satur vienu nodaļas parametru un tā vērtību. Tas nozīmē, ka visas pārējās šādas vietnes lapas servera programma veido dinamiski, pamatojoties uz saņemtajiem parametriem. Izmantojot šo principu, bieži tiek veidotas direktoriju vietnes, programmu katalogu vietnes, elektroniskie veikali un citas vietnes, kas satur lielu daudzumu klasificētas informācijas.

Diemžēl GET metodei ir milzīgs trūkums: tā nevar pārsūtīt lielu datu apjomu. Tas ir saistīts ar standartu noteikto ierobežojumu interneta adreses garumam: ne vairāk kā 256 rakstzīmes. Atņemiet no šejienes servera programmas faktiskās adreses garumu - un jūs iegūsit maksimālo pieļaujamo datu apjomu. Otrs GET metodes trūkums ir tās priekšrocību otrā puse. Tā sūtītie dati ir publiski redzami, un tos var viegli nolasīt tīmekļa pārlūkprogrammas adreses joslā.

GET metode ir jāizmanto, ja servera programmai nosūtītie dati ir acīmredzami mazi un nav slepeni. Jo īpaši to izmanto, lai nosūtītu atslēgvārdus meklētājprogrammām vietnēs, kas izveidotas, pamatojoties uz servera programmu (Skatīt iepriekš) utt. Ja nepieciešams nosūtīt apjomīgus vai konfidenciālus datus, izmantojiet otro pārraides metodi, ko sauc par POST.

Metode POSTĪT pārsūta datus servera programmai tajā pašā HTTP pieprasījumā, bet nevis kā daļu no interneta adreses, bet gan tā saukto papildu datu veidā. Tā kā papildu datu apjoms nav ierobežots (vismaz var būt ļoti liels), varat pārsūtīt visu, ko vēlaties, jebkurā daudzumā. Konkrēti, pat failus šādā veidā var pārsūtīt uz Web serveri.

POST metodes priekšrocības: pārsūtāmo datu apjomam nav ierobežojumu un tas ir “neredzams”. Trūkumi: grūtības atšifrēt datus un grūtības atkļūdot. POST metodi izmanto, lai pārsūtītu, piemēram, personas datus, klientu adreses elektroniskajos veikalos, literāros darbuspiekļuve vietnēm http://www.stihi.ru un http://www.proza.ru utt. Kopumā kaut kas ir liels.

Kā saka, WWWC komiteja plāno ar laiku pilnībā atteikties no GET metodes un visus datus pārsūtīt, izmantojot POST metodi. Līdz šim GET metode vienkārši tika pasludināta par neiesakamu izmantot jaunizveidotās vietnēs, taču patiesībā to joprojām atbalsta tīmekļa pārlūkprogrammas.

Tātad mēs uzzinājām visu par serveru programmām. Nu, varbūt ne visi, bet pagaidām mums ar to pietiek. Tagad parunāsim par to, cik pilnībā to visu atbalsta Dreamweaver MX.

Servera puses programmēšana — Dreamweaver pieeja

Vai ir grūti rakstīt servera programmas? Jā, tas ir grūti. Iespējams, pat grūtāk nekā Web lapas.

Tomēr atcerieties, cik bieži mums bija jāraksta HTML kods ar roku? Diezgan reti, vai ne? Un tas viss tāpēc, ka Dreamweaver mūs no tā rūpīgi pasargāja, nodrošinot ērtu saskarni lapu vizuālai izveidei. Mēs vienkārši rakstījām tekstu, formatējām to, ievietojām lapā attēlus, tabulas, piemērojām uzvedību lapas elementiem utt. Vārdu sakot, mēs jutāmies ērti.

Un vai tiešām tagad servera programmas būs jāraksta manuāli?! Nē, nemaz nav vajadzīgs.

Jau tika minēts, ka Dreamweaver nodrošina tā sauktās uzvedības metodes nepieredzējušiem lietotājiem un vispār tiem, kas nevēlas nodarboties ar JavaScript kodu. Uzvedība- šis ir gatavs skripts, ko rakstījuši profesionāli programmētāji un ko tīmekļa lapas kodā ievietojis pats Dreamweaver pēc tam, kad lietotājs ir izvēlējies šo darbību paneļa uzvedības izvēlnē Uzvedības. Lietotājam nav jāuztraucas par skripta, kas veic šo vai citu darbību, ievietošanu noteiktā lapas koda vietā, viņam nebūs jāpārbauda šis skripts, vai nav kļūdu un jāsaskaņo tas ar citiem skriptiem. Dreamweaver to visu dara viņa vietā.

Faktiski servera programmēšanā izmantoto darbību kopums ir ļoti mazs. Atveriet datu bāzi, iegūstiet no tās dažus datus, parādiet tos lapā, ierakstiet jaunus datus - ko vēl vajag!

Protams, ja vēlaties darīt dažas smalkas lietas, jums būs jāraksta servera lapas roku rokā. Bet, redziet, tas nenotiek bieži.

Tātad mēs uzzinājām divas lietas. Pirmkārt, Dreamweaver MX atbalsta servera puses Web lapu izveidi. Otrkārt, tas izmanto jums zināmas darbības, lai tajās ievietotu skriptus. Dreamweaver piedāvā plašu darbību kopumu servera puses scenārijiem, ar kuriem jums vajadzētu pietikt, lai sāktu darbu.

Atliek noskaidrot, kuras servera lapas Dreamweaver ļauj izveidot. Precīzāk, kādas servera lapu izveides tehnoloģijas ļauj izmantot. Ir četras šādas tehnoloģijas, un tagad tās tiks uzskaitītas.

  1. ASP. Šī tehnoloģija jums jau ir pazīstama.
  2. ASP.NET. ASP tālāka attīstība.
  3. PHP. Bezmaksas tehnoloģija, kas tiek izplatīta ar atvērtā koda tekstiem. Diezgan populārs un bieži izmantots ar bezmaksas tīmekļa serveriem, piemēram, Apache.
  4. Macromedia ColdFusion. Pašu Macromedia izstrāde.

Kuru izvēlēties? Galu galā mums būs jāizveido tīmekļa lapu piemēri.

Izvēlēsimies ASP. Un tāpēc.

Lai strādātu ar servera puses lapām, mums ir nepieciešams tīmekļa serveris. Bez tā servera lapas vienkārši nedarbosies. Un, iespējams, jūs zināt, ka visas vairāk vai mazāk jaunās Windows versijas ir aprīkotas ar nelielu tīmekļa serveri. Sistēmās Windows 95/98/ME tas ir Personal Web Server, bet operētājsistēmā Windows NT/2000/XP tas ir interneta informācijas serveris. Tās iespējas ir pilnīgi pietiekamas, lai mēs varētu eksperimentēt ar servera programmēšanu.

Tātad šis Web serveris pilnībā atbalsta ASP tehnoloģiju. Varat rakstīt aktīvās servera lapas un izpildīt tās zem tā. Un jums nebūs jālejupielādē nekādi papildu komponenti – viss nepieciešamais jau ir iekļauts Windows izplatīšanas komplektā. Tāpēc tika izvēlēts ASP.

Pašlaik gandrīz neviens tīmekļa serveris neatbalsta ASP.NET tehnoloģiju; Microsoft vēl nav izlaidusi nevienu produktu, kas atbalstītu šo tehnoloģiju. Lai strādātu ar PHP lapām, jums būs jāmeklē un jālejupielādē internetā diezgan liels izplatīšanas komplekts, kurā ir PHP apdarinātājs, un pēc tam jāpavada daudz laika tā iestatīšanai. Kas attiecas uz ColdFusion tehnoloģiju, tad diez vai par to varēsiet atmaksāt vairākus tūkstošus dolāru. Tātad mums praktiski nav variantu.

Ievads datu bāzēs

Pēdējā lieta, ko mēs apskatīsim šajā nodaļā, ir datu bāzes un darbs ar tām. Tā kā lauvas tiesa serveru programmu strādā ar datu bāzēm, šīs zināšanas mums ļoti noderēs. Protams, mēs detalizēti neapskatīsim visas datubāzes tehnoloģijas, bet, tāpat kā iepriekš, mēs aprobežosimies ar īsu izglītības programmu. Jūs pats varat meklēt nepieciešamās grāmatas un tekstus internetā, ja jūs tas interesē.

Kas notika datubāze? Nekas īpašs, tikai parasts fails vai failu grupa, kas satur īpašā veidā sakārtotus datus. Ja datu bāze sastāv no daudziem failiem, tā joprojām ir viena vienība. Datu bāzē esošie dati tiek apstrādāti, izmantojot īpašu programmu, ko sauc datu bāzes procesors. Datu bāzes procesors var būt vai nu pilnīgi atsevišķa programma, kas darbojas tajā pašā datorā, kur programma, kas izmanto datus, vai arī būt daļa no tās.

Datu bāzes var organizēt dažādos veidos. Taču lielākā daļa mūsdienās izmantoto datu bāzu tādas ir relāciju. Dati šādās datu bāzēs tiek sakārtoti tabulu veidā. Katrā šādā datubāzē var būt viena vai vairākas tabulas; Sarežģītās datu bāzēs parasti ir daudz savstarpēji savienotu tabulu.

Katra tabula, savukārt, sastāv no rindu kopas, kas sadalīta šūnās, un katrā šūnā ir noteikta veida dati: teksts, skaitļi, loģiskās vērtības, datumi utt. Datu bāzes tabulu rindas tiek sauktas ieraksti, un šūnas, kurās katrs ieraksts ir sadalīts, ir lauki. Kā jau minēts, katram laukam ir noteikts tips, un tas obligāti ir aprīkots ar vārds, caur kuru programma, kas strādā ar datiem, piekļūst šim laukam.

Attēlā 15.1 ir parādīts šādas tabulas piemērs. Kā redzat, šajā tabulā ir trīs lauki:

  • NOSAUKUMS - servera lapu izveides tehnoloģijas nosaukums, teksts;
  • CENA - hendlera programmas cena, skaitliski;
  • LIETOŠANA – vai šī tehnoloģija šobrīd tiek atbalstīta, loģiski ("jā-nē").

Turklāt šajā tabulā ir četri ieraksti, kas atbilst Dreamweaver MX atbalstītajām tehnoloģijām: ASP, ASP.NET, PHP un ColdFusion.

Ļoti bieži tiek aizpildīts kāds no tabulas laukiem taustiņu. Atslēgas lauka vērtība tiek izmantota, lai unikāli identificētu ierakstu. Protams, šajā gadījumā visu tabulu ierakstu galvenajos laukos ir jābūt unikālām vērtībām. Dažreiz tiek izsaukts atslēgas lauks skaitītāja lauks.

Datubāzē iekļautas tabulas piemērs

Jūs jau zināt, kā piekļūt atsevišķam laukam - pēc tā nosaukuma. Kā es varu piekļūt vajadzīgajam ierakstam?

Fakts ir tāds, ka vienā reizē programma, kas izmanto datu bāzes datus, var strādāt tikai ar vienu ierakstu, ko sauc strāva. Tas var izgūt datus no šī ieraksta laukiem un, iespējams, tos modificēt. Bet, lai iegūtu cita ieraksta datus, programmai ir jāizdod pārvietošanas komanda. Šajā gadījumā datu bāzes procesors pārvieto īpašu pašreizējā ieraksta rādītājs uz vēlamo ierakstu, un programma spēj ar to strādāt.

Programma var izmantot arī Meklēt vēlamo ierakstu atbilstoši jebkuram kritērijam. Ļoti bieži šāda meklēšana tiek veikta, izmantojot atslēgas lauka vērtību.

Programmai ir arī iespēja pievienot jaunus un dzēst nevajadzīgos tabulas ierakstus. Lai pievienotu jaunu ierakstu, programma izpilda komandu pievienot ierakstu un ievada nepieciešamos datus savos laukos. Lai dzēstu ierakstu, programmai tas vispirms ir jāpadara aktuāls un pēc tam jāizdod dzēšanas komanda.

Kopumā darba secība ar datu bāzē esošajiem datiem izskatās šādi:

  1. Programma atveras datu bāzē, veicot atvērtu darbību. Tā ir nepieciešama darbība, bez kuras nav iespējams piekļūt datu bāzei.
  2. Programma atver vajadzīgo datu bāzes tabulu. Pēc tam procesors viņai atdod tā saukto ierakstu kopums(angļu valodā -- recordset), ar kuru programma darbojas.
  3. Programma veic faktisko darbu ar datiem.
  4. Programma aizveras tabula, pēc kuras procesors no atmiņas izņem šai programmai atbilstošo ierakstu kopu.
  5. Programma aizver datu bāzi, pārtraucot visus savienojumus ar to.

Lūdzu, ņemiet vērā, ka pēdējās divas darbības - tabulas un datu bāzes aizvēršana - ir tikpat nepieciešamas kā to atvēršana. Fakts ir tāds, ka ierakstu un citu datu struktūru kopums, ko procesors ģenerē atmiņā programmai, kas strādā ar datiem, aizņem daudz sistēmas resursu. Tāpēc, kad esat pabeidzis darbu ar tabulu vai datu bāzi, nekavējoties aizveriet to, lai atbrīvotu resursus citiem lietotājiem.

Nesen viņi ir ieguvuši lielu popularitāti datu bāzu serveri. Tie ir parastie datu apstrādātāji, bet ieviesti servera programmu veidā un darbojas serveru datoros. To priekšrocības salīdzinājumā ar parastajiem datu apstrādātājiem:

  • tie darbojas servera datorā, kas parasti ir jaudīgāks par klienta datoru, tāpēc to veiktspēja ir augstāka;
  • tie nodrošina lielāku datu drošību, izmantojot piekļuves kontroli un dažus citus mehānismus;
  • tie vienkārši ir jaudīgāki tādā ziņā, ka atbalsta vairāk dažādu jauninājumu, kas parādījušies pēdējā laikā.

Lai piekļūtu datu bāzes serverim un pašiem datiem, klienta programma nosūta tam īpašas komandas. Lai sastādītu šādas komandas, tika izstrādāta vaicājumu apraksta valoda SQL(Structured Query Language — strukturētā vaicājuma valoda). Izmantojot šajā valodā rakstītas komandas, klienta programma var atvērt vajadzīgo tabulu, nolasīt datus, pievienot, mainīt, dzēst ierakstu un galu galā aizvērt datu bāzi, kad tā vairs nav nepieciešama.

Datu bāzes serveri tagad tiek izmantoti ļoti bieži, un Web programmēšana - gandrīz visur. Populārākie ir Oracle, Microsoft SQL Server, Sybase, jaudīgais IBM DB2, Borland InterBase (Krievijā tas tiek pārdots ar nosaukumu IBase), arvien populārākais PostgressSQL un bezmaksas MySQL serveris, kas tiek izplatīts kā atvērtā koda versija. Pēdējais serveris, starp citu, ļoti bieži tiek izmantots kopā ar Apache Web serveri un PHP servera lapu tehnoloģiju.

Ar to noslēdzies stāsts par datu bāzēm un serveru programmēšanu.

Jau tika teikts, ka īpašie Web lapu elementi - veidlapas - nosūta datus servera programmai. Par formām un darbu ar tām programmā Dreamweaver mēs runāsim nākamajā nodaļā. Un tikai tad mēs pāriesim pie pašas servera programmēšanas.

Pieņemsim, ka esat izveidojis vienkāršu HTML vietni un vēlaties uzzināt apmeklētāju viedokļus par ievietoto saturu. Kas tam vajadzīgs? - pareizi: dodiet apmeklētājiem iespēju atstāt savus komentārus. To nevar panākt, izmantojot HTML vai CSS. Un šeit palīgā nāk programmas (sauktas arī par skriptiem), kas izveidotas, izmantojot tīmekļa programmēšanas valodas.

Izrādās: tīmekļa programmēšana var saukt par īpašu programmu izveidi to lietošanai internetā. Ir diezgan daudz programmēšanas valodu: C++, Perl, Java, Php, JavaScript, Python, Visual Basic un citas.

Sarežģītība programmēšanas valodas savādāk. Jo sarežģītāka ir programmēšanas valoda, jo vairāk tai ir iespēju. Sarežģītākas tīmekļa lietojumprogrammas tiek rakstītas sarežģītākās valodās. Visas programmēšanas valodas var iedalīt divās nometnēs: serverī un klientā.

Parunāsim nedaudz par terminiem. Visa informācija internetā tiek glabāta attālos datoros, ko sauc par serveriem. Pretējā puse ir tīkla lietotāji, kas meklē viņiem nepieciešamo informāciju; tos parasti sauc par klientiem.

Klientu programmēšanas valodas

Visizplatītākie no tiem ir JavaScript un Visual Basic. Šādu valodu īpatnība slēpjas to nosaukumā. Ierakstītas programmas klientu programmēšanas valodas apstrādāts klienta datorā. Vienkārši sakot, skriptus apstrādā jūsu datora pārlūkprogramma. To plusi un mīnusi izriet no šīs funkcijas.

Lielākā priekšrocība ir tā, ka nav nepieciešams nosūtīt tīmekļa dokumentu uz serveri apstrādei. Šī funkcija ievērojami palielina skripta lasīšanas ātrumu. Tiek samazināta trafika, kas ietaupa naudu un samazina servera slodzi. Tāpat nav nepieciešams instalēt papildu programmatūru skriptu apstrādei, jo tos apstrādā pārlūkprogrammas.

Trūkumi klientu programmēšanas valodas izriet arī no pazīmēm. Dažādas pārlūkprogrammas var interpretēt skriptus, pamatojoties uz savām individuālajām vēlmēm. Tāpēc vienu un to pašu dokumentu parādīšanas rezultāti var atšķirties. Lai gan pēdējā laikā dažādu pārlūkprogrammu darbs ir kļuvis arvien vienotāks. Vēl viens trūkums ir šādu valodu koda atvērtība lietotājiem.

Serveru programmēšanas valodas

Serveru programmēšanas valodas attiecīgi strādāt servera pusē. Mijiedarbojoties ar datu bāzēm, tie uztur saziņu starp lietotāju un serveri. Saņemot pieprasījumu ar tīmekļa dokumenta adresi no pārlūkprogrammas, servera programmas sazinās ar datu bāzi. Datu bāze sniedz informāciju par tīmekļa lapu servera skriptiem, un pēc apstrādes tie to nosūta klienta pārlūkprogrammai interpretācijai, kas monitorā parāda kopīgā darba rezultātu.

Šāda darba vienkāršota diagramma ir parādīta attēlā.