Kā viss notiek?

Process sākas ar interesējošās lapas izvēli, precīzāk tās adreses norādi. Neatkarīgi no tā vai jūs ierakstāt vajadzīgo adresi pārlūkprogrammas adreses laukā vai klikšķināt uz kādas saites, ikonas vai pogas, pārlūkprograma cenšas caur internetu pieslēgties norādītajam serverim (visbiežāk, bet ne vienmēr), pieprasīt no tā vajadzīgo lapu un, protams, ļoti cer saņemt arī no tā atbildi. Ja viss noritējis veiksmīgi un atbilde saņemta, tad parasti ar to arī viss beidzas un process var sākties no jauna.

Izklausās visai vienkārši vai ne? Patiesībā, kā jau tas ir parasti, viss ir daudz sarežģītāk.

  • Savienojuma nodibināšana - nodibināt savienojumu starp klienta datoru un serveri caur internetu patiesībā nozīmē, ka reāli savienojumā jāiesaista daudz vairāk datoru, jo internetā reti kad divi datori ir savienoti tieši. Parasti starp tiem ir vesela virkne datoru, kas nodarbojas ar savienojuma maršruta izvēli, bieži pieprasīto lapu kopiju uzkrāšanu un to atjaunošanu (samazina pieprasījumu skaitu tīklā un paātrina rezultāta saņemšanu, ja tas dinamiski nemainās).

    Lai lietas kļūtu vēl sarežģītākas, jāatceras, ka datori savā starpā nesazinās izmantojot cilvēkiem saprotamās adreses (www.liis.lv, www.delfi.lv). No datora viedokļa adrese ir skaitļu virkne (piem: 195.13.132.62), kurai, tiem nesaprotamu iemeslu dēļ, reizēm vēl ir piekārtotas kaut kādas simbolu virknes. Rezultātā tīklā ir ieviesti speciāli datori, kas jūsu norādīto adresi prot pārtulkot datoriem saprotamā formā un atpakaļ. Tas arī tiek darīts katra pieprasījuma laikā.

  • Savienojuma protokols - Kad savienojums veiksmīgi nodibināts, pārlūkprogramma nosūta Web serverim pieprasījumu. Pieprasījumā tā norāda, kuru lapu cer saņemt, kādus datu formātus tā atpazīs, no kuras lapas šis pieprasījums ir veikts (ja noklikšķināta kāda saite), dažādu informāciju par sevi (nosaukums, savietojamība, operacionālā sistēma, u.c.), kā arī citu tikpat nozīmīgu informāciju. Ja pieprasījums ir radies apstiprinot formu, tad papildus tiek nosūtīti arī formā savāktās lauku vērtības.

    Serverim ne tikai jāsaņem šie dati, bet arī jāsaprot, ko tie nozīmē un jāspēj tos analizēt. Sagatavojot atbildi tas tāpat pievieno savu informāciju, kuru, savukārt, jāsaprot pārlūkprogrammai.

    Tāpēc acīmredzama kļūst nepieciešamība pēc kaut kāda standarta jeb vienošanās par to kāda informācija kādā secībā tiks sūtīta un kā viena no otras tiks atdalītas atsevišķas tās vienības.

    Tāda vienošanās, protams, arī pastāv un to tad arī dēvē par protokolu. Protokolu internetā ir sastopami daudz un dažādi. Dažāda tipa un līmeņa. WWW pakalpojumam tiek izmantots HTTP (Hypertext Transfer Protocol) protokols (to tad arī nozīmē maģiskie burti Web adreses sākumā)

  • Pieprasījuma apstrāde un lapas izvēle - Beidzot mūsu pieprasījums būs laimīgi nonācis līdz web serverim.

    Web servera pamatuzdevums ir no pieprasījuma noskaidrot, kuru lapu mēs īsti vēlamies, atrast to pie sevis uz diska, saformēt atbilstoši protokolam atbildi un nosūtīt to atpakaļ atbilstošajam klientam. Klientu katrā laika momentā var būt stingri vairāk par vienu, un katrs no tiem kaut ko vēlas.

    Paralēli Web serverim jārisina arī drošības jautājumi. Klients drīkst saņemt tikai publicētos failus, tāpēc serverim jāseko, vai adresē norādītais fails eksistē, vai tas ir publicēts priekš servisa klientiem, vai tas ir publicēts visiem klientiem bez izņēmuma, vai kādai noteiktai to grupai. Katra neveiksmīga pieprasījuma gadījumā serverim jānosūta lapa ar problēmas izskaidrojumu.

  • Lapas un to saturs. - Vienkāršākajā gadījumā, kas visbiežāk arī internetā sastopams, pieprasītā lapa satur parastu tekstu, kurā papildus ievietotas speciālas iezīmes. Ar šīm iezīmēm tiek atsevišķiem teksta blokiem piekārtota informācija par to noformējumu un izskatu. Iezīmes, to pielietošanas veidu un nozīmi apraksta HTML specifikācija.

    HTML formāta lapa satur tikai tekstu, bet noteikti esam redzējuši lapas ar pat ļoti bagātīgu tajā redzamo attēlu klāstu. Kā tas tiek panākts? HTML specifikācija definē speciālas iezīmes, kas ļauj lapai piesaistīt ārējus failus ar attēliem. Kad pārlūkprogramma ir saņēmusi lapu ar šādām iezīmēm, tā veic jaunus pieprasījumus arī pēc tajā norādītajiem attēliem.

    Lai viss izskatītos vēl interesantāk, lapai līdzīgā veidā var piesaistīt arī cita tipa ārējus objektus: Java appletus , ActiveX kontroles . Papildus lapā starp speciālām iezīmēm var atrasties arī tā saucamais skripts - sīkprogramma, kuras kods ir tieši iekļauts lapā un kura nodarbojas ar lapas elementu (arī piesaistīto attēlu un objektu) vadīšanu.

  • Dinamiskās servera lapas. - Parastā HTML formāta lapa ir statiska Web servera izpratnē. Klientam tiek nosūtīts tās teksts bez izmaiņām. Tomēr bieži rodas nepieciešamība pēc lapas dinamiskas izveides atkarībā no klienta atsūtītajiem datiem. Īpaši svarīgi tas ir apstrādājot formu aizpildes rezultātus un veidojot korektu atbildi. Reizēm rodas nepieciešamība arī veikt kādas citas darbības, piemēram, nosūtīt elektronisko vēstuli pēc formā norādītās adreses ar dinamiski veidojamu tekstu (piemēram, tās tekstā jāiesprauž klienta vārds), saglabāt klienta datus, u.c. Intensīvi uz web bāzes tiek veidotas arī interneta aplikācijas. Izmantojot pārlūkprogrammu ar tās iespējām grafiskā interfeisa veidošanā, tās nodrošina iespēju klientam iegūt informāciju no datu bāzēm un veikt tajās atļautās izmaiņas. Šajā procesā parasti vairums vai pat visas lapas tiek veidotas dinamiski izmantojot dažādas Web serveru tehnoloģiskās iespējas un risinājumus .
  • Savienojuma beigas un ar to saitītās problēmas - Kad atrastā vai izveidotā lapa ir veiksmīgi nosūtīta, savienojums tiek pārtraukts. No HTTP protokola viedokļa darbs ir padarīts.

    Praksē tas nozīmē, ka katra pieprasījuma laikā savienojums tiek veidots no jauna un pēc jaunās lapas saņemšanas tas aizveras, kā rezultātā protokola līmenī tiek zaudēta informācija par klientu. Katrs nākošais pieprasījums tiek apstrādāts tā, it kā tas būtu pienācis no jauna klienta. Statisku informācijas gadījumā tas nav šķērslis. Problēmas sākas, kad tiek veidotas Web aplikācijas ar dinamisku lapu ģenerēšanu. Lai viennozīmīgi identificētu klientu un sesiju starp dažādiem pieprasījumiem mēdz izmantot dažādas metodes kā sesijas identifikatora sūtīšana kopā ar katru pieprasījumu un atbildi iekodētu lapā, cookies izmantošanu sesijas identifikācijai, u.c.