Rakenduskihi protokolle kasutatakse teabe edastamiseks konkreetsetele võrguarvutis töötavatele klientrakendustele. IP-võrkudes põhinevad rakenduskihi protokollid TCP standardil ja täidavad mitmeid erifunktsioone, pakkudes kasutajaprogrammidele andmeid rangelt määratletud eesmärgil. Allpool vaatleme lühidalt mitmeid TCP/IP-virna rakendusprotokolle.
FTP protokoll
Nagu nimigi ütleb, on FTP protokoll ( Failiedastus Protokoll) on mõeldud failide edastamiseks Interneti kaudu. Selle protokolli alusel rakendatakse protseduure failide laadimiseks ja mahalaadimiseks veebi kaugsõlmedes. FTP võimaldab teil edastada masinast masinasse mitte ainult faile, vaid ka terveid kaustu, sealhulgas alamkatalooge mis tahes pesitsussügavusele. Selleks pääseb juurde FTP käsusüsteemile, mis kirjeldab mitmeid selle protokolli sisseehitatud funktsioone.
POP3 ja SMTP protokollid
Töötamisel kasutatavad rakendusprotokollid meili teel, mida nimetatakse SMTP-ks (Simple Mail Transfer Protocol) ja POP3-ks (Post Office Protocol), esimene neist “vastutab” väljamineva kirjavahetuse eest, teine vastutab sissetuleva kirjavahetuse eest.
Nende protokollide funktsioonid hõlmavad e-kirjade kohaletoimetamise korraldamist ja nende edastamist meilikliendile. Lisaks võimaldab SMTP-protokoll saata mitu sõnumit ühele adressaadile, korraldada sõnumite vahepealset salvestamist ja kopeerida ühte sõnumit mitmele adressaadile saatmiseks. Nii POP3-l kui ka SMTP-l on sisseehitatud mehhanismid meiliaadresside tuvastamiseks, aga ka spetsiaalsed moodulid sõnumite edastamise usaldusväärsuse suurendamiseks.
HTTP protokoll
HTTP protokoll ( Hüpertekst Transfer Protocol) pakub ülekannet kaugserverid sisse kirjutatud hüperteksti märgistuskoodi sisaldavate dokumentide kohalikku arvutisse HTML keel või XML, st veebilehed. See rakendusprotokoll on keskendunud peamiselt teabe edastamisele veebibrauseritele, millest tuntuimad on sellised rakendused nagu Microsoft Internet Explorer ja Netscape Communicator.
HTTP-protokolli kasutades saadetakse päringud Internetis asuvatele kaugserveritele ja nende vastuseid töödeldakse; pealegi
see HTTP võimaldab teil kasutada standardseid aadresse veebiressursside helistamiseks domeenisüsteem nimed (DNS, domeeninimesüsteem), st tähistused, mida nimetatakse URL-iks (Uniform Resource Locator) kujul http:/ /www.domain.zone/page (l).
TELNET protokoll
TELNET-protokoll on loodud korraldama terminali juurdepääs kaughostile, vahetades käske ASCII märgivormingus. Reeglina tuleb TELNET-protokolli kaudu serveriga töötamiseks kliendi poolele paigaldada spetsiaalne programm nimega telneti klient, mis pärast kaugsõlmega ühenduse loomist avab serveri operatsioonishelli süsteemikonsooli. selle aken. Pärast seda saate serveriarvutit terminalirežiimis hallata nii, nagu see oleks teie enda oma (loomulikult administraatori poolt välja toodud raamistikus). Näiteks saate muuta, kustutada, luua, redigeerida faile ja kaustu, samuti käivitada programme servermasina kettal ning vaadata teiste kasutajate kaustade sisu. Olenemata sellest, millist operatsioonisüsteemi te kasutate, võimaldab Telneti protokoll teil suhelda kaugmasinaga "võrdväärsena". Näiteks saate hõlpsasti avada UNIX-i seansi arvutis, kus töötab MS Windows.
UDP protokoll
Rakenduse andmeedastusprotokolli UDP (User Datagram Protocol) kasutatakse aeglastel liinidel teabe edastamiseks datagrammidena.
Datagramm sisaldab kõiki selle saatmiseks ja vastuvõtmiseks vajalikke andmeid. Datagrammide edastamisel ei tegele arvutid side stabiilsuse tagamisega, mistõttu tuleb töökindluse tagamiseks rakendada erimeetmeid.
UDP-protokolli teabe töötlemise skeem on põhimõtteliselt sama, mis TCP puhul, kuid ühe erinevusega: UDP jagab teabe alati sama algoritmi järgi, rangelt määratletud viisil. UDP-protokolli abil suhtlemiseks kasutatakse vastamissüsteemi: UDP-paketi vastuvõtmisel saadab arvuti saatjale etteantud signaali. Kui saatja ootab signaali liiga kaua, kordab ta lihtsalt edastamist.
Esmapilgul võib tunduda, et UDP-protokoll koosneb täielikult miinustest, kuid sellel on ka üks oluline eelis: Interneti-rakendused töötavad UDP-ga kaks korda kiiremini kui selle kõrgtehnoloogilisema venna TCP-ga.
Rakenduskihi protokollid
Miks on kaks transpordiprotokolli, TCP ja UDP, ja mitte ainult üks neist? Fakt on see, et nad pakuvad rakendusprotsessidele erinevaid teenuseid. Enamik rakendusprogramme kasutab neist ainult ühte. Programmeerijana valite teie vajadustele kõige paremini vastava protokolli. Kui vajate usaldusväärset kohaletoimetamist, võib TCP olla parim. Kui vajate datagrammi edastamist, võib UDP olla parem. Kui vajate tõhusat edastamist pika ja ebausaldusväärse andmesideühenduse kaudu, võib TCP olla parem valik. Kui lühikeste ühendustega kiiretes võrkudes on vaja tõhusust, võib UDP olla parim protokoll. Kui teie vajadused ei kuulu nendesse kategooriasse, on transpordiprotokolli valik ebaselge. Rakendusprogrammid võivad aga valitud protokolli puudusi parandada. Näiteks kui valite UDP ja vajate töökindlust, siis rakendusprogramm peab pakkuma töökindlust. Kui valite TCP ja teil on vaja kirjeid üle kanda, peab rakendusprogramm sisestama baitide voogu markerid, et kirjeid oleks võimalik eristada.
Millised rakendused on TCP/IP-võrkudes saadaval?
Nende koguarv on suur ja kasvab pidevalt. Mõned rakendused on olemas olnud Interneti algusest peale. Näiteks TELNET ja FTP. Teised on hiljuti ilmunud: X-Window, SNMP.
Rakendustaseme protokollid on keskendunud konkreetsetele rakendusülesannetele. Need määratlevad nii teatud tüüpi suhtluse korraldamise protseduurid rakendusprotsesside vahel kui ka teabe esitamise vormi sellise suhtluse ajal. Selles jaotises kirjeldame lühidalt mõnda rakendusprotokolle.
TELNET protokoll
TELNET-protokoll võimaldab teenindusmasinal käsitleda kõiki kaugterminale standardsete liinitüüpi "võrgu virtuaalterminalidena", mis töötavad ASCII-koodis, ning annab ka võimaluse pidada läbirääkimisi keerukamate funktsioonide üle (näiteks kohalik või kaugjuhtimine, leherežiim, ekraani kõrgus ja laius jne) TELNET töötab TCP protokolli alusel. Rakenduse tasemel TELNETist kõrgemal on kas reaalne terminali tugiprogramm (kasutaja poolel) või rakendusprotsess teenindusmasinas, millele pääseb juurde terminalist.
TELNETiga töötamine on nagu telefoninumbri valimine. Kasutaja sisestab klaviatuuril midagi sellist:
ja saab ekraanil kutse deltaautosse sisenemiseks.
TELNET-protokoll on kasutusel olnud pikka aega. See on hästi testitud ja laialt levinud. Paljude operatsioonisüsteemide jaoks on loodud palju rakendusi. On täiesti vastuvõetav, et kliendiprotsess töötab näiteks VAX/VMS OS-is ja serveriprotsess UNIX System V.
FTP protokoll
FTP-protokoll (File Transfer Protocol) on sama laialt levinud kui TELNET. See on TCP/IP perekonna üks vanimaid protokolle. Nii nagu TELNET, kasutab see TCP transporditeenuseid. Erinevate operatsioonisüsteemide jaoks on palju rakendusi, mis töötavad hästi koos. FTP kasutaja saab helistada mitmele käsule, mis võimaldavad tal vaadata kaugmasina kataloogi, liikuda ühest kataloogist teise ja kopeerida ühte või mitut faili.
SMTP protokoll
SMTP-protokoll (Simple Mail Transfer Protocol) toetab sõnumite (e-kirjade) edastamist suvaliste Interneti-sõlmede vahel. SMTP-protokoll, millel on mehhanismid kirjade vahepealseks säilitamiseks ja kohaletoimetamise usaldusväärsuse suurendamiseks, võimaldab kasutada erinevaid transporditeenuseid. See võib töötada isegi võrkudes, mis ei kasuta TCP/IP perekonna protokolle. SMTP-protokoll pakub nii sõnumite rühmitamist samale adressaadile kui ka sõnumi mitme koopia korrutamist erinevatele aadressidele edastamiseks. SMTP-mooduli kohal on teatud arvutisüsteemide postiteenus.
r-käsud
Seal on terve rida "r-käske" (puldist - kaugjuhtimispuldist), mis ilmusid esmakordselt UNIX OS-is. Need on analoogsed tavaliste UNIX-i käskudega, kuid on loodud töötama kaugmasinatega. Näiteks käsk rcp sarnaneb käsuga cp ja on mõeldud failide kopeerimiseks masinate vahel. Faili teisaldamiseks sõlme deltasse sisestage lihtsalt
rcp file.c delta:
Käsu "cc file.c" käivitamiseks deltamasinas saate kasutada käsku rsh:
rsh delta cc fail.c
Sissepääsu korraldamiseks kaugsüsteem Käsk rlogin on mõeldud:
R-seeria käske kasutatakse peamiselt UNIX-i operatsioonisüsteemi töötavates süsteemides. Samuti on MS-DOS-i rakendusi. Käsud vabastavad kasutaja kaugsüsteemi sisselogimisel paroolide sisestamise vajadusest ja hõlbustavad oluliselt nende tööd.
Võrgu failisüsteem NFS (Network Failisüsteem) töötas esmakordselt välja Sun Microsystems Inc. NFS kasutab UDP transporditeenuseid ja võimaldab mitme UNIX-i masina failisüsteeme ühendada ühte üksusesse. Kettata tööjaamad pääsevad failiserveri ketastele ligi nii, nagu oleksid need nende kohalikud kettad.
NFS suurendab oluliselt võrgu koormust. Kui võrk kasutab aeglaseid sideliine, on NFS-ist vähe kasu. Kui aga läbilaskevõime võrk võimaldab NFS-il normaalselt töötada, siis saavad kasutajad suuri eeliseid. Kuna NFS-server ja klient on juurutatud OS-i tuumas, on kõik levinumad võrguvälised programmid võimelised töötama ühendatud NFS-ketastel asuvate kaugfailidega samamoodi nagu kohalike failidega.
SNMP protokoll
SNMP-protokoll (Simple Network Management Protocol) töötab UDP-põhiselt ja on mõeldud kasutamiseks võrguhaldusjaamadele. See võimaldab juhtimisjaamadel koguda Internetis teavet asjade seisu kohta. Protokoll määrab andmete vormingu, nende töötlemine ja tõlgendamine on jäetud juhtimisjaamade või võrguhalduri otsustada.
X-Aken
X-Window süsteem kasutab TCP-l töötavat X-Window protokolli graafika ja teksti mitme akna kuvamiseks tööjaama bitmap kuvaritel. X-Window on palju enamat kui lihtsalt akende joonistamise utiliit; See on terve inimese ja masina interaktsiooni filosoofia.
Interneti-rakenduste protokollid
Interneti-protokolli hierarhia kõrgeimal tasemel on järgmised rakenduskihi protokollid:
- DNS - hajutatud süsteem domeeninimed, mis hosti domeeninime sisaldava päringu korral teatavad IP-aadressi;
- HTTP- protokoll hüperteksti internetti edastamiseks;
- HTTPS- HTTP-protokolli laiendus, mis toetab krüptimist;
- FTP(File Transfer Protocol - RFC 959) - protokoll, mis on mõeldud failide edastamiseks arvutivõrkude kaudu;
- Telnet(TELecommunication NETwork - RFC 854) - võrguprotokoll tekstiliidese rakendamiseks üle võrgu;
- SSH(Secure Shell – RFC 4251) on rakendusprotokoll, mis võimaldab operatsioonisüsteemi kaugjuhtimist ja failiedastust. Erinevalt Telnetist krüpteerib see kogu liikluse;
- POP3– meilikliendi protokoll, mida meiliklient kasutab meilisõnumite vastuvõtmiseks serverist;
- IMAP- Internetis e-posti juurdepääsu protokoll;
- SMTP– protokoll, mida kasutatakse kirjade saatmiseks kasutajatelt serveritesse ja serverite vahel edasiseks adressaadile edastamiseks;
- LDAP- kataloogiteenustele juurdepääsu protokoll X.500 on laialdaselt kasutatav standard kataloogiteenustele juurdepääsuks;
- XMPP(Jabber) – XML-põhine laiendatav protokoll peaaegu reaalajas kiirsõnumite saatmiseks;
- SNMP- Interneti-haldusprotokoll.
Vaatame mõnda neist protokollidest lähemalt.
FTP võimaldab teil ühenduse luua FTP serverid, vaadata kataloogide sisu ja laadida faile serverist või serverisse; Lisaks on võimalik failiedastusrežiim serverite vahel; FTP võimaldab faile vahetada ja nendega toiminguid teha TCP-võrgu kaudu. See protokoll töötab sõltumata operatsioonisüsteemidest. Ajalooliselt on FTP pakkunud avatud funktsionaalsust, mis võimaldab faile läbi võrgu läbipaistvalt ühest arvutist teise üle kanda. See pole nii triviaalne, kui võib tunduda, kuna erinevat tüüpi arvutitel võib olla erinev sõnade suurus ja sõnade bitte ei pruugita samas järjekorras salvestada ega kasutada erinevad vormingud sõnad
- Telnet
Nime "telnet" kasutavad ka mõned juurutavad utiliidid kliendi osa protokolli. Protokoll telnet töötab vastavalt klient-server arhitektuuri põhimõtetele ja pakub tähtnumbrilise terminali emuleerimist, piirates kasutaja režiimi käsurida. Rakendus telnet andis terminalidele keele kaugarvutitega suhtlemiseks. ARPANETi loomisel vajas iga arvutisüsteem oma terminale. Rakendus telnet on muutunud terminalide ühiseks nimetajaks. Piisas tarkvara kirjutamisest igale arvutile, mis toetas "terminali telnet"et üks terminal saaks suhelda igat tüüpi arvutitega.
Funktsionaalsuselt sarnaneb see telneti ja rlogini protokollidega, kuid erinevalt neist krüpteerib kogu liikluse, sealhulgas edastatud paroolid. Enamiku operatsioonisüsteemide jaoks on saadaval SSH-kliendid ja SSH-serverid.
- Postiprotokollid.
Kuigi telnet ja FTP olid (ja on siiani) kasulikud, esimene rakendus, mis muutis ARPANETi arvutikasutajate meeltes pöörde, oli meil. Enne ARPANETi olid meilisüsteemid, kuid need olid kõik ühe arvutiga süsteemid. 1972. aastal Ray Tomlinson(Ray Tomlinson) BBN-ist kirjutas esimese paketi, mis pakub hajutatud postiteenuseid mitmest arvutist koosneva arvutivõrgu kaudu. Juba 1973. aastaks näitasid ARPA juhtimisuuringud, et kolmveerand kogu ARPANETi liiklusest oli meil. E-posti eelised olid nii suured, et üha rohkem kasutajaid püüdis ARPANETiga ühendust luua, mille tulemusena kasvas vajadus lisada uusi sõlmi ja kasutada kiireid liine. Nii tekkis trend, mis kestab tänaseni.
- POP3(Post Office Protocol Version 3 – RFC 1939) – protokoll, mida e-posti klient kasutab meiliserverist meilisõnumite vastuvõtmiseks;
- IMAP(Interneti-sõnum Juurdepääsuprotokoll- RFC 3501) – e-posti juurdepääsuprotokoll. Sarnaselt POP3-ga, kuid pakub kasutajale rikkalikke võimalusi keskserveris asuvate postkastidega töötamiseks. Meilidega saab manipuleerida kasutaja (kliendi) arvutist, ilma et oleks vaja pidevalt faile koos kirjade täissisuga serverist edasi-tagasi edastada.
- SMTP(Simple Mail Transfer Protocol – RFC 2821) – e-kirjade edastamiseks mõeldud protokoll. Kasutatakse kirjade saatmiseks kasutajatelt serveritesse ja serverite vahel edasiseks adressaadile edastamiseks. Kirjade vastuvõtmiseks peab meiliklient kasutama POP3- või IMAP-protokolle.
Veebi hüperteksti ressursivõrgu põhiprotokoll on HTTP-protokoll. See põhineb interaktsioonil" klient- server ", see tähendab, et eeldatakse, et:
- Tarbija- klientühenduse loomisega tarnijaga - server saadab talle päringu;
- tarnija- server, olles saanud päringu, teeb vajalikud toimingud ja tagastab vastuse koos tulemusega kliendile tagasi.
Sel juhul on klientarvuti töö korraldamiseks kaks võimalust:
- Õhuke klient on klientarvuti, mis edastab kõik infotöötlusülesanded serverisse. Õhuke kliendi näide on brauseriga arvuti, mida kasutatakse veebirakendustega töötamiseks.
- Paks klient, vastupidi, töötleb teavet sõltumata serverid, kasutab viimast peamiselt ainult andmete salvestamiseks.
Enne konkreetsete klient-serveri veebitehnoloogiate juurde asumist vaatleme HTTP põhiprotokolli põhiprintsiipe ja ülesehitust.
HTTP protokoll
HTTP (HyperText Transfer Protocol – RFC 1945, RFC 2616) on rakenduskihi protokoll hüperteksti edastamiseks.
HTTP keskne üksus on ressurss, millele osutab kliendi päringus olev URI. Tavaliselt salvestatakse selliseid ressursse server failid. HTTP-protokolli eripäraks on võimalus määrata päringus ja vastuses sama ressursi esitamise meetod vastavalt erinevatele parameetritele: formaat, kodeering, keel jne. See on tänu võimalusele määrata sõnumi kodeerimise meetod. et klient ja server saavad vahetada binaarandmeid, kuigi algselt oli see protokoll mõeldud sümboolse teabe edastamiseks. Esmapilgul võib see tunduda ressursside raiskamisena. Tõepoolest, sümboolsel kujul olevad andmed võtavad rohkem mälu, sõnumid tekitavad sidekanalitele lisakoormust, kuid sellel formaadil on palju eeliseid. Üle võrgu edastatavad sõnumid on loetavad ning saadud andmeid analüüsides saab süsteemiadministraator vea hõlpsalt üles leida ja parandada. Vajadusel saab ühe interakteeruva rakenduse rolli täita inimene, sisestades käsitsi vajalikus vormingus sõnumeid.
Erinevalt paljudest teistest protokollidest on HTTP mäluvaba protokoll. See tähendab, et protokoll ei salvesta teavet varasemate kliendipäringute ja serveri vastuste kohta. HTTP-d kasutavad komponendid saavad iseseisvalt säilitada seotud olekuteavet viimased taotlused ja vastused. Näiteks päringuid saatev veebikliendirakendus saab jälgida vastuste viivitusi ja veebiserver saab salvestada viimaste klientide IP-aadresse ja päringupäiseid.
Kogu HTTP-protokolliga töötamiseks mõeldud tarkvara on jagatud kolme põhikategooriasse:
- Serverid - teabe säilitamise ja töötlemise teenuste pakkujad (päringute töötlemine).
- Kliendid- serveriteenuste lõpptarbijad (päringute saatmine).
- Puhverserverid transporditeenistuse töö toetamiseks.
Peamised kliendid on brauserid näiteks: InternetExplorer, Opera, MozillaFirefox, NetscapeNavigator ja teised. Kõige populaarsemad veebirakendused serverid on: InternetInformationServices (IIS), Apache, lighttpd, nginx. Enamik teadaolevad teostused puhverserverid: Squid, UserGate, Multiproxy, Naviscope.
"Klassikaline" HTTP-seansi skeem näeb välja selline.
- TCP-ühenduse loomine.
- Kliendi soov.
- Serveri vastus.
- TCP-ühenduse katkestamine.
Nii et klient saadab server päring, saab sellelt vastuse, misjärel interaktsioon peatub. Tavaliselt on kliendi päring HTML-dokumendi või mõne muu ressursi taotlus ja serveri vastus sisaldab selle ressursi koodi.
Kliendi poolt serverile saadetud HTTP-päring sisaldab järgmisi komponente.
- Olekurida (vahel kasutatakse sellele viitamiseks ka mõisteid olekurida või päringurida).
- Päise väljad.
- Tühi string.
- Taotluse keha.
Olekuriba koos päiseväljad vahel ka kutsutakse päringu päis.
Riis. 2.1. Kliendipäringu struktuur.
Olekuriba on järgmises vormingus:
request_method URL_pecypca protokolli_versioon HTTP
Vaatame olekuriba komponente, pöörates erilist tähelepanu päringumeetoditele.
meetod olekureal määratud määrab, kuidas see mõjutab ressurssi, mille URL on samal real määratud. Meetod võib võtta väärtusi GET, POST, HEAD, PUT, DELETE jne. Vaatamata meetodite rohkusele on veebiprogrammeerija jaoks tõeliselt olulised neist vaid kaks: GET ja POST.
- SAADA. Formaalse definitsiooni kohaselt on GET-meetod ette nähtud määratud URL-iga ressursi saamiseks. GET-päringu saamisel peab server määratud ressurssi lugema ja lisama kliendile vastuse osana ressursikoodi. Ressurss, mille URL päringu osana edastatakse, ei pea olema HTML-leht, pildifail või muud andmed. Ressursi URL võib osutada käivitatavale programmikoodile, mis teatud tingimuste täitmisel tuleb serveris käivitada. Sel juhul tagastatakse kliendile mitte programmi kood, vaid selle täitmisel genereeritud andmed. Kuigi definitsiooni järgi on GET-meetod mõeldud teabe hankimiseks, saab seda kasutada ka muudel eesmärkidel. GET-meetod on üsna sobiv väikeste andmete serverisse edastamiseks.
- POSTITA. Sama formaalse definitsiooni järgi on POST-meetodi põhieesmärk andmete edastamine serverisse. Sarnaselt GET-meetodile saab aga ka POST-meetodit kasutada erineval viisil ja seda kasutatakse sageli teabe hankimiseks serverist. Nagu GET-meetodi puhul, osutab olekuribal määratud URL konkreetsele ressursile. POST-meetodit saab kasutada ka protsessi käivitamiseks.
- Meetodid HEAD ja PUT on modifikatsioonid GET meetodid ja POSTITA.
Protokolli versioon HTTP on tavaliselt määratud järgmises vormingus:
HTTP/version.modification
Päise väljad, järgides olekurida, võimaldavad teil taotlust täpsustada, st. edastada serverisse lisateavet. Päiseväljal on järgmine vorming:
Väljanimi: väärtus
Välja eesmärgi määrab selle nimi, mis eraldatakse väärtusest kooloniga.
Kliendipäringu mõnede enamlevinud päiseväljade nimed ja nende eesmärk on ära toodud tabel 2.1.
Tabel 2.1. HTTP päringu päise väljad. | |
HTTP päringu päise väljad | Tähendus |
Host | Hosti domeeninimi või IP-aadress, millele klient juurde pääseb |
Viitaja | Olekuribal loetletud ressursile viitava dokumendi URL |
Alates | Kliendiga töötava kasutaja meiliaadress |
Nõustu | Kliendi töödeldavad MIME tüüpi andmed. Sellel väljal võib olla mitu komadega eraldatud väärtust. Sageli kasutatakse välja Accept header andmaks serverile teada, millist tüüpi graafikafaile klient toetab |
Nõustu-keel | Kahekohaliste komadega eraldatud identifikaatorite komplekt, mis näitavad kliendi toetatud keeli |
Aktsepteeri-tähemärgistus | Toetatud märgikomplektide loend |
Sisu tüüp | päringu kehas sisalduvad MIME tüüpi andmed (kui päring ei koosne ühest päisest) |
Sisu pikkus | Päringu sisus sisalduvate märkide arv (kui päring ei koosne ühest päisest) |
Vahemik | Esitage, kui klient ei soovi kogu dokumenti, vaid ainult osa sellest |
Ühendus | Kasutatakse TCP-ühenduse haldamiseks. Kui väli sisaldab Sule, tähendab see, et server peaks pärast päringu töötlemist ühenduse sulgema. Väärtus Keep-Alive soovitab hoida TCP-ühendus avatud, et seda saaks kasutada järgmiste päringute jaoks |
Kasutaja-agent | Kliendi teave |
Paljudel juhtudel puudub veebis töötades päringu keha. Kui CGI-skripte käitatakse, saab neile päringus edastatud andmed paigutada päringu kehasse.
Allpool on näide brauseri loodud HTML-päringust
HANGI http://oak.oakland.edu/ HTTP/1.0
Ühendus: Keep-Alive
Kasutajaagent: Mozilla/4.04 (Win95; I)
Saatejuht: oak.oakland.edu
Nõustu: pilt/gif, pilt/x-xbitmap, pilt/jpeg, pilt/pjpeg, pilt/png, */*
Aktsepteeri-keel: en
Aktsepteeritav tähemärk: iso-8859-l,*,utf-8
Pärast kliendilt päringu saamist peab server sellele vastama. Serveri vastuse struktuuri tundmine on veebirakenduse arendaja jaoks vajalik, kuna serveris töötavad programmid peavad iseseisvalt genereerima vastuse kliendile.
Sarnaselt kliendi soovile, vastus serverid koosneb ka neljast allpool loetletud komponendist.
- Olekuriba.
- Päise väljad.
- Tühi string.
- Vastuse keha.
Serveri vastus kliendile algab olekureaga, mille vorming on järgmine:
Protokolli_versioon Vastuse_kood Selgitav_sõnum
- Protokolli_versioon on määratud samas vormingus kui kliendi päringus ja sellel on sama tähendus.
- Vastuse_kood on kolmekohaline kümnendnumber, mis tähistab kodeeritud kujul päringu teenindamise tulemust server.
- Selgitav sõnum dubleerib vastuse koodi sümboolsel kujul. See on märgistring, mida klient ei töötle. See on mõeldud süsteemi haldajale või operaatorile, kes tegeleb süsteemi hooldusega ja on vastusekoodi dekodeerimine.
Kolmest vastusekoodi moodustavast numbrist esimene (kõrgeim) määrab vastuse klassi, ülejäänud kaks tähistavad vastuse numbrit klassi sees. Näiteks kui päringu töötlemine õnnestus, saab klient järgmise teate:
HTTP/1.0 200 OK
Nagu näete, järgneb HTTP-protokolli versioonile 1.0 kood 200. Selles koodis tähistab märk 2 kliendi päringu edukat töötlemist ja ülejäänud kaks numbrit (00) näitavad selle sõnumi numbrit.
Praegu kasutatavates HTTP-protokolli rakendustes ei tohi esimene number olla suurem kui 5 ja see määratleb järgmised vastuseklassid.
- 1 - eriline sõnumite klass, mida nimetatakse informatiivseteks. 1-ga algav vastusekood tähendab seda server jätkab päringu töötlemist. HTTP-kliendi ja HTTP-serveri vahelisel andmevahetusel kasutatakse selle klassi sõnumeid üsna harva.
- 2 - kliendi taotluse edukas menetlemine.
- 3 - taotlege ümbersuunamist. Taotluse teenindamiseks peate võtma lisatoimingud.
- 4 - kliendi viga. Tavaliselt tagastatakse vastusekood, mis algab numbriga 4, kui kliendi päringus on süntaksiviga.
- 5 - serveri viga. Ühel või teisel põhjusel ei saa server taotlust täita.
Siin on toodud näited vastusekoodidest, mida klient saab serverist saada, ja selgitavad sõnumid tabel 2.2.
Tabel 2.2. Serveri vastuse koodi klassid. | ||
Kood | Dekodeerimine | Tõlgendus |
Jätka | Osa taotlusest on vastu võetud ja server ootab, et klient päringu jätkaks | |
OK | Päringu menetlemine õnnestus ja kliendi vastus sisaldab päringus märgitud andmeid | |
Loodud | Taotluse menetlemise tulemusena a uus ressurss | |
Vastu võetud | Server võttis taotluse vastu, kuid töötlemist ei ole lõpetatud. See vastusekood ei garanteeri päringu vigadeta töötlemist. | |
Osaline sisu | Server tagastab osa ressursist vastuseks päringule, mis sisaldab välja Vahemiku päise | |
Valik valik | Taotlus osutab rohkem kui ühele ressursile. Vastuse keha võib sisaldada juhiseid selle kohta, kuidas taotletud ressurssi õigesti tuvastada | |
Kolis jäädavalt | Taotletud ressurss ei asu enam aadressil server | |
Ajutiselt kolinud | Taotletud ressurss on ajutiselt oma aadressi muutnud | |
Halb taotlus | Kliendipäringus tuvastati süntaksiviga | |
Keelatud | Serveris saadaolev ressurss pole sellele kasutajale saadaval | |
Ei leitud | Kliendi määratud ressurssi serveris ei ole | |
Meetod pole lubatud | Server ei toeta päringus määratud meetodit | |
Serveri sisemine viga | Üks serverikomponentidest ei tööta korralikult | |
Pole rakendatud | Serveri funktsionaalsus ei ole kliendi soovi täitmiseks piisav | |
Teenus pole saadaval | Teenus pole ajutiselt saadaval | |
HTTP-versiooni ei toetata | Server ei toeta päringus määratud HTTP-versiooni |
Vastus kasutab sama päisevälja struktuuri kui kliendi päring. Päiseväljade eesmärk on selgitada serveri vastust kliendile. Mõne serveri vastuse päises leiduva välja kirjeldus on esitatud tabel 2.3.
Tabel 2.3. Veebiserveri vastuse päise väljad. | |
Välja nimi | Sisu kirjeldus |
Server | Serveri nimi ja versiooni number |
Vanus | Ressursi loomisest kulunud aeg sekundites |
Luba | Antud ressursi jaoks lubatud meetodite loend |
Sisu-keel | Keeled, mida klient peab toetama, et edastatud ressurssi õigesti kuvada |
Sisu tüüp | MIME tüüpi andmed, mis sisalduvad serveri vastuse põhiosas |
Sisu pikkus | Serveri vastuse kehas sisalduvate märkide arv |
Viimati muudetud | Ressursi viimati muutmise kuupäev ja kellaaeg |
Kuupäev | Kuupäev ja kellaaeg, mis määravad vastuse genereerimise |
Aegub | Kuupäev ja kellaaeg, mis määratlevad hetke, mille möödumisel loetakse kliendile edastatud teave aegunuks |
Asukoht | See väli näitab ressursi tegelikku asukohta. Seda kasutatakse päringu ümbersuunamiseks |
Vahemälu juhtimine | Vahemälu juhtimise juhised. Näiteks ei - vahemälu tähendab, et andmeid ei tohiks vahemällu salvestada |
Vastuse keha sisaldab kliendile vastuseks päringule saadetud ressursikoodi. See ei pea olema veebilehe HTML-tekst. Vastus võib sisaldada pilti, helifaili, videoteabe fragmenti, aga ka mis tahes muud tüüpi andmeid, mida klient toetab. Sisu päise välja sisu ütleb kliendile, kuidas vastuvõetud ressurssi töödelda. - tüüp.
Allpool on näide serveri vastusest eelmises jaotises esitatud päringule. Vastuse sisu sisaldab HTML-dokumendi lähteteksti.
Server: Microsoft-IIS/5.1
X-Powered-By: ASP.NET
Sisu tüüp: tekst/html
Aktsepteeritavad vahemikud: baidid
ETag: "b66a667f948c92:8a5"
Sisu pikkus: 426