Itifaki za safu ya programu hutumiwa kuhamisha habari kwa programu maalum za mteja zinazoendesha kwenye kompyuta ya mtandao. Katika mitandao ya IP, itifaki za safu ya programu zinatokana na kiwango cha TCP na hufanya idadi ya kazi maalum, kutoa programu za mtumiaji na data kwa madhumuni yaliyofafanuliwa madhubuti. Hapo chini tutaangalia kwa ufupi itifaki kadhaa za maombi ya stack ya TCP/IP.
Itifaki ya FTP
Kama jina linavyopendekeza, itifaki ya FTP ( Uhamisho wa Faili Protocol) imeundwa kwa ajili ya kuhamisha faili kwenye mtandao. Ni kwa misingi ya itifaki hii kwamba taratibu za kupakua na kupakia faili kwenye nodes za mbali za Mtandao Wote wa Ulimwenguni zinatekelezwa. FTP hukuruhusu kuhamisha kutoka kwa mashine hadi mashine sio faili tu, bali pia folda nzima, pamoja na subdirectories kwa kina chochote cha kiota. Hii imefanywa kwa kupata mfumo wa amri ya FTP, ambayo inaelezea idadi ya kazi zilizojengwa za itifaki hii.
POP3 na itifaki za SMTP
Itifaki za maombi zinazotumiwa wakati wa kufanya kazi na kwa barua pepe, zinaitwa SMTP (Itifaki Rahisi ya Uhamisho wa Barua) na POP3 (Itifaki ya Ofisi ya Posta), ya kwanza "inawajibika" kwa kutuma barua zinazotoka, ya pili ni ya kuwasilisha barua zinazoingia.
Kazi za itifaki hizi ni pamoja na kuandaa utoaji wa ujumbe wa barua pepe na kuhamisha kwa mteja wa barua. Kwa kuongeza, itifaki ya SMTP inakuwezesha kutuma ujumbe kadhaa kwa mpokeaji mmoja, kuandaa hifadhi ya kati ya ujumbe, na kunakili ujumbe mmoja kwa kutuma kwa wapokeaji kadhaa. POP3 na SMTP zina njia zilizojumuishwa za kutambua anwani za barua pepe, pamoja na moduli maalum za kuongeza uaminifu wa uwasilishaji wa ujumbe.
Itifaki ya HTTP
itifaki ya HTTP ( Maandishi ya Hyper Itifaki ya Uhamisho) hutoa uhamisho kutoka seva za mbali kwa kompyuta ya ndani ya hati zilizo na msimbo wa markup hypertext iliyoandikwa Lugha ya HTML au XML, yaani, kurasa za wavuti. Itifaki hii ya programu inalenga hasa kutoa taarifa kwa vivinjari vya wavuti, maarufu zaidi kati ya hizo ni programu kama vile Microsoft Internet Explorer na Netscape Communicator.
Ni kwa matumizi ya itifaki ya HTTP kwamba maombi yanatumwa kwa seva za mbali za http kwenye mtandao na majibu yao yanashughulikiwa; badala yake
HTTP hii hukuruhusu kutumia anwani za kawaida kupiga rasilimali kwenye Wavuti ya Ulimwenguni Pote mfumo wa kikoa majina (DNS, Mfumo wa Jina la Kikoa), yaani, majina yanayoitwa URL (Uniform Resource Locator) ya fomu ya http://www.domain.zone/page (l).
Itifaki ya TELNET
Itifaki ya TELNET imeundwa ili kupanga ufikiaji wa terminal kwa seva pangishi ya mbali kwa kubadilishana amri katika umbizo la herufi ASCII. Kama sheria, kufanya kazi na seva kupitia itifaki ya TELNET, programu maalum inayoitwa mteja wa telnet lazima isanikishwe kwa upande wa mteja, ambayo, baada ya kuanzisha unganisho na nodi ya mbali, inafungua koni ya mfumo wa ganda la kufanya kazi la seva. dirisha lake. Baada ya hayo, unaweza kudhibiti kompyuta ya seva katika hali ya terminal kana kwamba ni yako mwenyewe (kwa kawaida, ndani ya mfumo ulioainishwa na msimamizi). Kwa mfano, utaweza kubadilisha, kufuta, kuunda, kuhariri faili na folda, pamoja na kuendesha programu kwenye diski ya mashine ya seva, na utaweza kutazama yaliyomo kwenye folda za watumiaji wengine. Mfumo wowote wa uendeshaji unaotumia, itifaki ya Telnet itawawezesha kuwasiliana na mashine ya mbali "kama sawa". Kwa mfano, unaweza kufungua kikao cha UNIX kwa urahisi kwenye kompyuta inayoendesha MS Windows.
Itifaki ya UDP
Itifaki ya uhamishaji data ya programu UDP (Itifaki ya Data ya Mtumiaji) inatumika kwenye laini za polepole kutangaza habari kama datagramu.
Datagram ina seti kamili ya data muhimu kutuma na kupokea. Wakati wa kusambaza datagrams, kompyuta hazijali na kuhakikisha utulivu wa mawasiliano, hivyo hatua maalum zinapaswa kuchukuliwa ili kuhakikisha kuaminika.
Mpango wa usindikaji wa habari na itifaki ya UDP ni, kimsingi, sawa na katika kesi ya TCP, lakini kwa tofauti moja: UDP daima hugawanya habari kulingana na algorithm sawa, kwa njia iliyoelezwa madhubuti. Ili kuwasiliana kwa kutumia itifaki ya UDP, mfumo wa majibu hutumiwa: baada ya kupokea pakiti ya UDP, kompyuta hutuma ishara iliyotanguliwa kwa mtumaji. Ikiwa mtumaji anasubiri muda mrefu sana kwa ishara, inarudia tu maambukizi.
Kwa mtazamo wa kwanza, inaweza kuonekana kuwa itifaki ya UDP inajumuisha hasara zote, lakini pia ina faida moja muhimu: Utumizi wa Intaneti hufanya kazi na UDP mara mbili kwa haraka kuliko ndugu yake wa teknolojia ya juu zaidi TCP.
Itifaki za safu ya programu
Kwa nini kuna itifaki mbili za usafiri, TCP na UDP, na sio moja tu yao? Ukweli ni kwamba hutoa huduma tofauti kwa michakato ya maombi. Programu nyingi za programu hutumia moja tu. Wewe, kama mpanga programu, chagua itifaki inayokidhi mahitaji yako. Ikiwa unahitaji utoaji wa kuaminika, basi TCP inaweza kuwa bora zaidi. Ikiwa unahitaji utoaji wa datagram, basi UDP inaweza kuwa bora zaidi. Ikiwa unahitaji uwasilishaji kwa ufanisi kupitia kiungo kirefu cha data kisichotegemewa, TCP inaweza kuwa chaguo bora zaidi. Ikiwa ufanisi unahitajika kwenye mitandao ya haraka na viunganisho vifupi, basi UDP inaweza kuwa itifaki bora zaidi. Ikiwa mahitaji yako hayakuanguka katika mojawapo ya makundi haya, basi uchaguzi wa itifaki ya usafiri haijulikani. Hata hivyo, programu za maombi zinaweza kurekebisha mapungufu ya itifaki iliyochaguliwa. Kwa mfano, ukichagua UDP na unahitaji kuaminika, basi programu ya maombi lazima itoe uaminifu. Ukichagua TCP na unahitaji kuhamisha rekodi, basi programu ya programu lazima iingize alama kwenye mkondo wa byte ili rekodi ziweze kutofautishwa.
Ni programu gani zinazopatikana kwenye mitandao ya TCP/IP?
Idadi yao jumla ni kubwa na inaendelea kuongezeka kila wakati. Baadhi ya programu zimekuwepo tangu mwanzo wa mtandao. Kwa mfano, TELNET na FTP. Wengine wameonekana hivi karibuni: X-Window, SNMP.
Itifaki za kiwango cha programu zinalenga kazi maalum za programu. Wanafafanua taratibu zote za kuandaa mwingiliano wa aina fulani kati ya michakato ya maombi, na aina ya uwasilishaji wa habari wakati wa mwingiliano huo. Katika sehemu hii tunaelezea kwa ufupi baadhi ya itifaki za maombi.
Itifaki ya TELNET
Itifaki ya TELNET inaruhusu mashine ya huduma kutibu vituo vyote vya mbali kama "vituo vya kawaida vya mtandao" vya aina ya mstari vinavyoendesha katika msimbo wa ASCII, na pia hutoa uwezo wa kujadili kazi ngumu zaidi (kwa mfano, udhibiti wa ndani au wa mbali, hali ya ukurasa, urefu na upana wa skrini, na nk) TELNET hufanya kazi kulingana na itifaki ya TCP. Katika kiwango cha maombi juu ya TELNET kuna programu halisi ya usaidizi wa wastaafu (upande wa mtumiaji) au mchakato wa maombi katika mashine ya kuhudumia, ambayo hupatikana kutoka kwa terminal.
Kufanya kazi na TELNET ni kama kupiga nambari ya simu. Mtumiaji anaandika kitu kama hiki kwenye kibodi:
na hupokea mwaliko wa skrini kuingia kwenye gari la delta.
Itifaki ya TELNET imekuwepo kwa muda mrefu. Imejaribiwa vizuri na imeenea. Utekelezaji mwingi umeundwa kwa anuwai ya mifumo ya uendeshaji. Inakubalika kabisa kwa mchakato wa mteja kuendeshwa, sema, chini ya VAX/VMS OS, na mchakato wa seva kuendesha UNIX System V.
Itifaki ya FTP
Itifaki ya FTP (Itifaki ya Uhamishaji Faili) imeenea kama TELNET. Ni mojawapo ya itifaki kongwe zaidi katika familia ya TCP/IP. Kama vile TELNET, hutumia huduma za usafiri za TCP. Kuna utekelezaji mwingi wa mifumo tofauti ya uendeshaji inayofanya kazi vizuri pamoja. Mtumiaji wa FTP anaweza kuita amri kadhaa zinazomruhusu kutazama saraka ya mashine ya mbali, kuhama kutoka saraka moja hadi nyingine, na kunakili faili moja au zaidi.
Itifaki ya SMTP
Itifaki ya SMTP (Itifaki Rahisi ya Uhamisho wa Barua) inasaidia uhamishaji wa ujumbe (barua pepe) kati ya nodi za kiholela kwenye Mtandao. Kuwa na taratibu za kuhifadhi barua za kati na taratibu za kuongeza uaminifu wa uwasilishaji, itifaki ya SMTP inaruhusu matumizi ya huduma mbalimbali za usafiri. Inaweza hata kufanya kazi kwenye mitandao ambayo haitumii itifaki za familia za TCP/IP. Itifaki ya SMTP hutoa upangaji wa ujumbe kwa mpokeaji sawa na kuzidisha nakala kadhaa za ujumbe kwa ajili ya kutumwa kwa anwani tofauti. Juu ya moduli ya SMTP ni huduma ya barua kwa mifumo maalum ya kompyuta.
r-amri
Kuna mfululizo mzima wa "r-amri" (kutoka kijijini - kijijini), ambayo ilionekana kwanza kwenye UNIX OS. Zinafanana na amri za kawaida za UNIX, lakini zimeundwa kufanya kazi na mashine za mbali. Kwa mfano, amri ya rcp ni sawa na amri ya cp na imekusudiwa kunakili faili kati ya mashine. Ili kuhamisha faili kwa nodi delta, ingiza tu
rcp file.c delta:
Ili kutekeleza amri "cc file.c" kwenye mashine ya delta, unaweza kutumia amri ya rsh:
rsh delta cc faili.c
Kupanga kuingia mfumo wa mbali Amri ya rlogin imekusudiwa:
Amri za mfululizo wa r hutumiwa hasa kwenye mifumo inayoendesha mfumo wa uendeshaji wa UNIX. Pia kuna utekelezaji wa MS-DOS. Amri hupunguza mtumiaji haja ya kuandika nywila wakati wa kuingia kwenye mfumo wa mbali na kuwezesha kazi zao kwa kiasi kikubwa.
Mfumo wa faili wa mtandao NFS (Network Mfumo wa Faili) ilianzishwa kwanza na Sun Microsystems Inc. NFS hutumia huduma za usafiri za UDP na inaruhusu mifumo ya faili ya mashine nyingi za UNIX kupachikwa kwenye kitengo kimoja. Vituo vya kazi visivyo na diski hufikia diski za seva za faili kana kwamba ni diski zao za ndani.
NFS huongeza sana mzigo kwenye mtandao. Ikiwa mtandao unatumia laini za mawasiliano, basi NFS haitumiki sana. Hata hivyo, kama matokeo Ikiwa mtandao unaruhusu NFS kufanya kazi kwa kawaida, basi watumiaji watapata faida kubwa. Kwa kuwa seva ya NFS na mteja hutekelezwa kwenye kernel ya OS, programu zote za kawaida zisizo za mtandao zinaweza kufanya kazi na faili za mbali ziko kwenye diski za NFS zilizowekwa kwa njia sawa na faili za ndani.
Itifaki ya SNMP
Itifaki ya SNMP (Itifaki Rahisi ya Usimamizi wa Mtandao) hufanya kazi kwa misingi ya UDP na inakusudiwa kutumiwa na vituo vya usimamizi wa mtandao. Inaruhusu vituo vya udhibiti kukusanya taarifa kuhusu hali ya mambo kwenye mtandao. Itifaki inafafanua muundo wa data; usindikaji na tafsiri yao huachwa kwa hiari ya vituo vya udhibiti au meneja wa mtandao.
X-Dirisha
Mfumo wa X-Window hutumia itifaki ya X-Window, ambayo inaendesha TCP, kwa maonyesho ya madirisha mengi ya graphics na maandishi kwenye maonyesho ya bitmap ya kituo cha kazi. X-Window ni zaidi ya matumizi ya kuchora dirisha; Hii ni falsafa nzima ya mwingiliano wa binadamu na mashine.
Itifaki za matumizi ya mtandao
Kiwango cha juu zaidi katika safu ya itifaki ya Mtandao inashikiliwa na itifaki zifuatazo za safu ya programu:
- DNS - mfumo uliosambazwa majina ya kikoa, ambayo, kwa ombi iliyo na jina la kikoa cha mwenyeji, inaripoti anwani ya IP;
- HTTP- itifaki ya kupeleka hypertext kwenye mtandao;
- HTTPS- Upanuzi wa itifaki ya HTTP ambayo inasaidia usimbaji fiche;
- FTP(Itifaki ya Uhamisho wa Faili - RFC 959) - itifaki iliyoundwa kwa ajili ya kuhamisha faili kwenye mitandao ya kompyuta;
- Telnet(TELecommunication NETwork - RFC 854) - itifaki ya mtandao ya kutekeleza interface ya maandishi kwenye mtandao;
- SSH(Secure Shell - RFC 4251) ni itifaki ya maombi ambayo inaruhusu udhibiti wa kijijini wa mfumo wa uendeshaji na uhamisho wa faili. Tofauti na Telnet, inasimba trafiki yote;
- POP3- itifaki ya mteja wa barua, ambayo hutumiwa na mteja wa barua kupokea ujumbe wa barua pepe kutoka kwa seva;
- IMAP- itifaki ya kupata barua pepe kwenye mtandao;
- SMTP- itifaki ambayo hutumiwa kutuma barua kutoka kwa watumiaji hadi kwa seva na kati ya seva kwa usambazaji zaidi kwa mpokeaji;
- LDAP- Itifaki ya kupata huduma za saraka X.500, ni kiwango kinachotumiwa sana cha kupata huduma za saraka;
- XMPP(Jabber) - Itifaki ya kupanuliwa ya XML ya ujumbe wa papo hapo karibu na wakati halisi;
- SNMP- itifaki ya msingi ya usimamizi wa mtandao.
Hebu tuangalie kwa karibu baadhi ya itifaki hizi.
FTP hukuruhusu kuunganisha kwa Seva za FTP, tazama yaliyomo kwenye saraka na upakue faili kutoka au kwa seva; Kwa kuongeza, hali ya uhamisho wa faili kati ya seva inawezekana; FTP hukuruhusu kubadilishana na kufanya shughuli kwenye faili kupitia mtandao wa TCP. Itifaki hii inafanya kazi bila kujali mifumo ya uendeshaji. Kihistoria, FTP imetoa utendakazi wazi, ikiruhusu faili kuhamishwa kwa uwazi kutoka kwa kompyuta moja hadi nyingine kupitia mtandao. Hili sio jambo dogo kama inavyoweza kuonekana, kwa kuwa aina tofauti za kompyuta zinaweza kuwa na ukubwa tofauti wa maneno, na sehemu za maneno haziwezi kuhifadhiwa kwa mpangilio sawa au kutumika. miundo tofauti maneno
- Telnet
Jina "telnet" pia hutumiwa na huduma zingine zinazotekelezea sehemu ya mteja itifaki. Itifaki telnet inafanya kazi kulingana na kanuni za usanifu wa seva ya mteja na hutoa uigaji wa terminal ya alphanumeric, ikiweka kikomo cha mtumiaji kwa modi. mstari wa amri. Maombi telnet ilitoa lugha kwa vituo vya kuwasiliana na kompyuta za mbali. Wakati ARPANET ilipoanzishwa, kila mfumo wa kompyuta ulihitaji vituo vyake. Maombi telnet imekuwa denominator ya kawaida kwa vituo. Ilitosha kuandika programu kwa kila kompyuta inayounga mkono "terminal telnet"ili terminal moja iweze kuwasiliana na aina zote za kompyuta.
Ni sawa katika utendakazi kwa itifaki za telnet na rlogin, lakini, tofauti na wao, husimba trafiki yote, pamoja na nywila zinazopitishwa. Wateja wa SSH na seva za SSH zinapatikana kwa mifumo mingi ya uendeshaji.
- Itifaki za posta.
Ingawa telnet na FTP zilikuwa (na bado) zinafaa, programu ya kwanza ya kubadilisha mawazo ya watumiaji wa kompyuta ya ARPANET ilikuwa barua pepe. Kulikuwa na mifumo ya barua pepe kabla ya ARPANET, lakini yote yalikuwa mifumo ya kompyuta moja. Mnamo 1972 Ray Tomlinson(Ray Tomlinson) kutoka BBN aliandika kifurushi cha kwanza cha kutoa huduma za barua zilizosambazwa kupitia mtandao wa kompyuta wa kompyuta kadhaa. Tayari kufikia 1973, tafiti za usimamizi wa ARPA zilionyesha kuwa robo tatu ya trafiki yote ya ARPANET ilikuwa barua pepe. Faida za barua pepe zilikuwa kubwa sana kwamba watumiaji zaidi na zaidi walitafuta kuunganishwa kwenye ARPANET, na kusababisha hitaji linaloongezeka la kuongeza nodi mpya na kutumia laini za kasi ya juu. Kwa hivyo, hali iliibuka ambayo inaendelea hadi leo.
- POP3(Toleo la 3 la Itifaki ya Ofisi ya Posta - RFC 1939) - itifaki ambayo hutumiwa na mteja wa barua pepe kupokea ujumbe wa barua pepe kutoka kwa seva ya barua;
- IMAP(Ujumbe wa Mtandao Itifaki ya Ufikiaji- RFC 3501) - itifaki ya ufikiaji wa barua pepe. Sawa na POP3, lakini humpa mtumiaji uwezo tajiri wa kufanya kazi na visanduku vya barua vilivyo kwenye seva kuu. Barua pepe zinaweza kubadilishwa kutoka kwa kompyuta ya mtumiaji (mteja) bila hitaji la kuhamisha faili kila wakati zilizo na yaliyomo kamili ya barua pepe kurudi na kurudi kutoka kwa seva.
- SMTP(Itifaki Rahisi ya Uhamisho wa Barua - RFC 2821) - itifaki iliyoundwa kwa kutuma barua pepe. Hutumika kutuma barua kutoka kwa watumiaji hadi kwa seva na kati ya seva kwa usambazaji zaidi kwa mpokeaji. Ili kupokea barua, mteja wa barua lazima atumie itifaki za POP3 au IMAP.
Itifaki ya msingi ya mtandao wa rasilimali ya maandishi ya mtandao ni itifaki ya HTTP. Inatokana na mwingiliano" mteja- seva ", yaani, inachukuliwa kuwa:
- Mtumiaji- mteja kwa kuanzisha uhusiano na muuzaji - seva humpelekea ombi;
- Mtoa huduma- seva, baada ya kupokea ombi, hufanya vitendo muhimu na kurudisha jibu na matokeo kwa mteja.
Katika kesi hii, kuna njia mbili zinazowezekana za kupanga kazi ya kompyuta ya mteja:
- Mteja mwembamba ni kompyuta ya mteja inayohamisha kazi zote za uchakataji taarifa kwa seva. Mfano wa mteja mwembamba ni kompyuta yenye kivinjari ambayo hutumiwa kufanya kazi na programu za wavuti.
- Mteja wa mafuta, kinyume chake, huchakata habari bila kujali seva, hutumia mwisho hasa kwa kuhifadhi data pekee.
Kabla ya kuendelea na teknolojia maalum za wavuti za mteja-server, hebu tuangalie kanuni za msingi na muundo wa itifaki ya msingi ya HTTP.
Itifaki ya HTTP
HTTP (Itifaki ya Uhamisho wa HyperText - RFC 1945, RFC 2616) ni itifaki ya safu ya programu ya kuhamisha maandishi ya hypertext.
Huluki kuu katika HTTP ni rasilimali, ambayo inaonyeshwa na URI katika ombi la mteja. Kwa kawaida, rasilimali hizo huhifadhiwa seva mafaili. Kipengele cha itifaki ya HTTP ni uwezo wa kutaja katika ombi na majibu njia ya kuwakilisha rasilimali sawa kulingana na vigezo mbalimbali: muundo, encoding, lugha, nk. Ni shukrani kwa uwezo wa kutaja njia ya encoding ujumbe. kwamba mteja na seva inaweza kubadilishana data ya jozi, ingawa mwanzoni itifaki hii iliundwa kusambaza taarifa za ishara. Kwa mtazamo wa kwanza, hii inaweza kuonekana kama upotezaji wa rasilimali. Hakika, data katika fomu ya mfano inachukua kumbukumbu zaidi, ujumbe huunda mzigo wa ziada kwenye njia za mawasiliano, lakini muundo huu una faida nyingi. Ujumbe unaotumwa kwenye mtandao unasomeka, na kwa kuchambua data iliyopokelewa, msimamizi wa mfumo anaweza kupata hitilafu kwa urahisi na kuirekebisha. Ikiwa ni lazima, mtu anaweza kuchukua jukumu la mojawapo ya programu zinazoingiliana kwa kuingiza ujumbe kwa mikono katika muundo unaohitajika.
Tofauti na itifaki nyingine nyingi, HTTP ni itifaki isiyo na kumbukumbu. Hii ina maana kwamba itifaki haihifadhi taarifa kuhusu maombi ya awali ya mteja na majibu ya seva. Vipengee vinavyotumia HTTP vinaweza kudumisha maelezo ya hali yanayohusiana na kwa kujitegemea maombi ya hivi karibuni na majibu. Kwa mfano, programu ya kutuma maombi ya mteja wa wavuti inaweza kufuatilia ucheleweshaji wa majibu, na seva ya wavuti inaweza kuhifadhi anwani za IP na kuomba vichwa vya wateja wa hivi majuzi.
Programu zote za kufanya kazi na itifaki ya HTTP imegawanywa katika vikundi vitatu kuu:
- Seva - watoa huduma za uhifadhi wa habari na usindikaji (ombi usindikaji).
- Wateja- watumiaji wa mwisho wa huduma za seva (kutuma maombi).
- Seva za wakala kusaidia kazi ya huduma za usafiri.
Wateja wakuu ni vivinjari kwa mfano: InternetExplorer, Opera, MozillaFirefox, NetscapeNavigator na wengine. Utekelezaji maarufu wa wavuti seva ni: InternetInformationServices (IIS), Apache, lighttpd, nginx. Wengi utekelezaji unaojulikana seva za wakala: Squid, UserGate, Multiproxy, Naviscope.
Mpango wa "classic" wa kikao cha HTTP unaonekana kama hii.
- Kuanzisha muunganisho wa TCP.
- Ombi la mteja.
- Jibu la seva.
- Kukomesha muunganisho wa TCP.
Kwa hivyo mteja hutuma seva ombi, hupokea jibu kutoka kwake, baada ya hapo mwingiliano huacha. Kwa kawaida, ombi la mteja ni ombi la hati ya HTML au rasilimali nyingine, na jibu la seva lina msimbo wa rasilimali hiyo.
Ombi la HTTP lililotumwa na mteja kwa seva linajumuisha vipengele vifuatavyo.
- Mstari wa hali (wakati mwingine masharti ya mstari wa hali au mstari wa hoja pia hutumiwa kurejelea).
- Sehemu za kichwa.
- Mstari tupu.
- Omba mwili.
Upau wa hali pamoja na mashamba ya kichwa wakati mwingine pia huitwa ombi kichwa.
Mchele. 2.1. Muundo wa ombi la mteja.
Upau wa hali ina muundo ufuatao:
request_method URL_pecypca protocol_version HTTP
Hebu tuangalie vipengele vya upau wa hali, kwa tahadhari maalum kwa njia za ombi.
Njia iliyobainishwa katika mstari wa hali huamua jinsi rasilimali ambayo URL yake imebainishwa katika mstari sawa huathiriwa. Njia inaweza kuchukua maadili GET, POST, HEAD, PUT, DELETE, nk. Licha ya wingi wa mbinu, ni mbili tu kati ya hizo ambazo ni muhimu sana kwa programu ya wavuti: GET na POST.
- PATA. Kulingana na ufafanuzi rasmi, mbinu ya GET inakusudiwa kupata rasilimali iliyo na URL maalum. Baada ya kupokea ombi la GET, seva lazima isome rasilimali iliyobainishwa na ijumuishe msimbo wa rasilimali kama sehemu ya jibu kwa mteja. Nyenzo ambayo URL yake inapitishwa kama sehemu ya ombi si lazima iwe ukurasa wa HTML, faili ya picha au data nyingine. URL ya nyenzo inaweza kuelekeza kwenye msimbo wa programu unaotekelezeka ambao, ikiwa masharti fulani yametimizwa, lazima yatekelezwe kwenye seva. Katika kesi hii, mteja hurejeshwa sio msimbo wa programu, lakini data iliyotolewa wakati wa utekelezaji wake. Ingawa, kwa ufafanuzi, mbinu ya GET imekusudiwa kupata habari, inaweza kutumika kwa madhumuni mengine. Njia ya GET inafaa kabisa kwa kuhamisha vipande vidogo vya data kwenye seva.
- POST. Kwa mujibu wa ufafanuzi huo rasmi, lengo kuu la njia ya POST ni kuhamisha data kwa seva. Hata hivyo, kama mbinu ya GET, mbinu ya POST inaweza kutumika kwa njia tofauti na mara nyingi hutumiwa kurejesha taarifa kutoka kwa seva. Kama ilivyo kwa mbinu ya GET, URL iliyobainishwa kwenye upau wa hali inaelekeza kwenye rasilimali mahususi. Mbinu ya POST pia inaweza kutumika kuanzisha mchakato.
- Njia za HEAD na PUT ni marekebisho PATA mbinu na POST.
Toleo la itifaki HTTP kawaida hubainishwa katika umbizo lifuatalo:
HTTP/version.modification
Sehemu za kichwa, kufuata mstari wa hali, kuruhusu kuboresha ombi, i.e. sambaza maelezo ya ziada kwa seva. Sehemu ya kichwa ina umbizo lifuatalo:
Jina la uwanja: Thamani
Madhumuni ya sehemu huamuliwa kwa jina lake, ambalo limetenganishwa na thamani na koloni.
Majina ya baadhi ya sehemu za vichwa vya kawaida katika ombi la mteja na madhumuni yao yametolewa jedwali 2.1.
Jedwali 2.1. Sehemu za kichwa za ombi la HTTP. | |
Sehemu za Kijajuu za Ombi la HTTP | Maana |
Mwenyeji | Jina la kikoa au anwani ya IP ya seva pangishi ambayo mteja anafikia |
Mrejeleaji | URL ya hati inayorejelea rasilimali iliyoorodheshwa kwenye upau wa hali |
Kutoka | Anwani ya barua pepe ya mtumiaji anayefanya kazi na mteja |
Kubali | Aina za MIME za data iliyochakatwa na mteja. Sehemu hii inaweza kuwa na thamani nyingi, ikitenganishwa na koma. Mara nyingi sehemu ya kichwa cha Kubali hutumiwa kuwaambia seva ni aina gani za faili za picha ambazo mteja anakubali |
Kubali-Lugha | Seti ya vitambulishi vya herufi mbili, vilivyotenganishwa na koma, vinavyoonyesha lugha zinazotumika na mteja. |
Kubali-Charset | Orodha ya seti za herufi zinazotumika |
Aina ya Maudhui | Aina ya MIME ya data iliyo katika shirika la ombi (ikiwa ombi halijumuishi kichwa kimoja) |
Urefu wa Maudhui | Idadi ya herufi zilizomo kwenye bodi ya ombi (ikiwa ombi halijumuishi kichwa kimoja) |
Masafa | Wasilisha ikiwa mteja haombi hati nzima, lakini sehemu yake tu |
Uhusiano | Inatumika kudhibiti muunganisho wa TCP. Ikiwa uwanja una Funga, hii inamaanisha kuwa seva inapaswa kufunga muunganisho baada ya kushughulikia ombi. Thamani ya Keep-Alive inapendekeza kuweka muunganisho wa TCP wazi ili utumike kwa maombi yanayofuata. |
Mtumiaji-Wakala | Taarifa za mteja |
Katika hali nyingi, wakati wa kufanya kazi kwenye Wavuti, hakuna mwili wa ombi. Wakati maandishi ya CGI yanaendeshwa, data iliyopitishwa kwao katika ombi inaweza kuwekwa kwenye mwili wa ombi.
Ifuatayo ni mfano wa ombi la HTML lililotolewa na kivinjari
PATA http://oak.oakland.edu/ HTTP/1.0
Uunganisho: Weka-Hai
Wakala wa Mtumiaji: Mozilla/4.04 (Win95; I)
Mwenyeji: oak.oakland.edu
Kubali: picha/gif, picha/x-xbitmap, picha/jpeg, picha/pjpeg, picha/png, */*
Kubali-Lugha: sw
Kubali-Charset: iso-8859-l,*,utf-8
Baada ya kupokea ombi kutoka kwa mteja, seva lazima ijibu. Ujuzi wa muundo wa majibu ya seva ni muhimu kwa msanidi programu wa wavuti, kwani programu zinazoendesha kwenye seva lazima zitoe jibu kwa mteja kwa kujitegemea.
Sawa na ombi la mteja, jibu seva pia lina vipengele vinne vilivyoorodheshwa hapa chini.
- Upau wa hali.
- Sehemu za kichwa.
- Mstari tupu.
- Mwili wa majibu.
Jibu la seva kwa mteja huanza na laini ya hali, ambayo ina umbizo lifuatalo:
Protocol_version Response_code Explanatory_message
- Toleo_la_itifaki imebainishwa katika umbizo sawa na katika ombi la mteja na ina maana sawa.
- Msimbo_wa_majibu ni nambari ya desimali yenye tarakimu tatu inayowakilisha kwa njia iliyosimbwa matokeo ya kuhudumia ombi seva.
- Ujumbe wa ufafanuzi kunakili msimbo wa majibu katika umbo la ishara. Huu ni mfuatano wa herufi ambao haujachakatwa na mteja. Inakusudiwa kwa msimamizi wa mfumo au mwendeshaji anayehusika katika matengenezo ya mfumo, na ni msimbo wa msimbo wa majibu.
Kati ya tarakimu tatu zinazounda msimbo wa majibu, ya kwanza (ya juu zaidi) huamua darasa la majibu, mbili zilizobaki zinawakilisha nambari ya majibu ndani ya darasa. Kwa hivyo, kwa mfano, ikiwa ombi lilichakatwa kwa mafanikio, mteja hupokea ujumbe ufuatao:
HTTP/1.0 200 Sawa
Kama unaweza kuona, toleo la 1.0 la itifaki ya HTTP linafuatwa na nambari 200. Katika nambari hii, herufi 2 inamaanisha usindikaji uliofanikiwa wa ombi la mteja, na nambari mbili zilizobaki (00) zinaonyesha nambari ya ujumbe huu.
Katika utekelezaji unaotumika sasa wa itifaki ya HTTP, tarakimu ya kwanza haiwezi kuwa kubwa kuliko 5 na inafafanua aina zifuatazo za majibu.
- 1 - darasa maalum la ujumbe unaoitwa habari. Msimbo wa majibu unaoanza na 1 unamaanisha hivyo seva inaendelea kushughulikia ombi. Wakati wa kubadilishana data kati ya mteja wa HTTP na seva ya HTTP, ujumbe wa darasa hili hutumiwa mara chache sana.
- 2 - usindikaji wa mafanikio wa ombi la mteja.
- 3 - omba uelekezaji upya. Ili ombi litumiwe, lazima uchukue vitendo vya ziada.
- 4 - kosa la mteja. Kwa kawaida, msimbo wa majibu unaoanza na nambari 4 hurejeshwa ikiwa kuna hitilafu ya kisintaksia katika ombi la mteja.
- 5 - kosa la seva. Kwa sababu moja au nyingine, seva haiwezi kukamilisha ombi.
Mifano ya misimbo ya majibu ambayo mteja anaweza kupokea kutoka kwa seva na ujumbe wa maelezo hutolewa jedwali 2.2.
Jedwali 2.2. Madarasa ya msimbo wa majibu ya seva. | ||
Kanuni | Kusimbua | Ufafanuzi |
Endelea | Sehemu ya ombi imekubaliwa na seva inasubiri mteja kuendelea na ombi | |
sawa | Ombi lilichakatwa kwa ufanisi, na jibu la mteja lina data iliyobainishwa katika ombi | |
Imeundwa | Kama matokeo ya kushughulikia ombi, a rasilimali mpya | |
Imekubaliwa | Ombi lilikubaliwa na seva, lakini uchakataji haujakamilika. Msimbo huu wa jibu hauhakikishi kuwa ombi litachakatwa bila hitilafu. | |
Maudhui Sehemu | Seva hurejesha sehemu ya rasilimali kujibu ombi ambalo lina sehemu ya kichwa cha Masafa | |
Chaguo Nyingi | Ombi linaonyesha zaidi ya nyenzo moja. Mwili wa majibu unaweza kuwa na maagizo ya jinsi ya kutambua kwa usahihi rasilimali iliyoombwa | |
Imehamishwa kwa Kudumu | Nyenzo iliyoombwa haipo tena seva | |
Imesogezwa kwa Muda | Nyenzo iliyoombwa imebadilisha anwani yake kwa muda | |
Ombi baya | Hitilafu ya sintaksia imegunduliwa katika ombi la mteja | |
Haramu | Nyenzo inayopatikana kwenye seva haipatikani kwa mtumiaji huyu | |
Haipatikani | Nyenzo iliyobainishwa na mteja haipo kwenye seva | |
Mbinu Hairuhusiwi | Seva haiauni mbinu iliyobainishwa katika ombi | |
Hitilafu ya Ndani ya Seva | Moja ya vipengele vya seva haifanyi kazi kwa usahihi | |
Haijatekelezwa | Utendaji wa seva hautoshi kutimiza ombi la mteja | |
huduma haipatikani | Huduma haipatikani kwa sasa | |
Toleo la HTTP halitumiki | Toleo la HTTP lililobainishwa katika ombi halihimiliwi na seva |
Jibu hutumia muundo wa sehemu ya kichwa sawa na ombi la mteja. Sehemu za kichwa zinalenga kufafanua majibu ya seva kwa mteja. Maelezo ya baadhi ya sehemu zinazoweza kupatikana katika kichwa cha majibu ya seva yametolewa jedwali 2.3.
Jedwali 2.3. Sehemu za kichwa cha majibu ya seva ya wavuti. | |
Jina la shamba | Maelezo ya Maudhui |
Seva | Jina la seva na nambari ya toleo |
Umri | Muda kwa sekunde tangu rasilimali kuundwa |
Ruhusu | Orodha ya njia zinazoruhusiwa kwa rasilimali fulani |
Maudhui-Lugha | Lugha ambazo mteja lazima atumie ili kuonyesha kwa usahihi rasilimali iliyohamishwa |
Aina ya Maudhui | Aina ya MIME ya data iliyo kwenye mwili wa jibu la seva |
Urefu wa Maudhui | Idadi ya vibambo vilivyomo kwenye kundi la majibu la seva |
Iliyorekebishwa Mwisho | Tarehe na wakati rasilimali ilirekebishwa mara ya mwisho |
Tarehe | Tarehe na wakati ambao huamua wakati jibu litatolewa |
Muda wake unaisha | Tarehe na wakati unaobainisha muda ambao baada ya taarifa iliyotumwa kwa mteja inachukuliwa kuwa ya zamani |
Mahali | Sehemu hii inaonyesha eneo halisi la rasilimali. Inatumika kuelekeza ombi upya |
Udhibiti wa Cache | Maagizo ya udhibiti wa kache. Kwa mfano, hapana - cache inamaanisha kuwa data haifai kuhifadhiwa |
Mwili wa majibu una msimbo wa rasilimali uliotumwa kwa mteja kujibu ombi. Hii sio lazima iwe maandishi ya HTML ya ukurasa wa wavuti. Jibu linaweza kuwa na picha, faili ya sauti, kipande cha maelezo ya video, pamoja na aina nyingine yoyote ya data inayoungwa mkono na mteja. Yaliyomo kwenye sehemu ya kichwa cha Maudhui humwambia mteja jinsi ya kuchakata rasilimali iliyopokelewa. - aina.
Ifuatayo ni mfano wa jibu la seva kwa ombi lililotolewa katika sehemu iliyotangulia. Mwili wa majibu una maandishi chanzo cha hati ya HTML.
Seva: Microsoft-IIS/5.1
X-Powered-By: ASP.NET
Aina ya Yaliyomo: maandishi/html
Kubali-Safu: baiti
ETag: "b66a667f948c92:8a5"
Urefu wa Maudhui: 426