Http ni nini kwa maneno rahisi? Misingi ya Maombi ya Wavuti

Halo, wasomaji wapendwa wa tovuti ya blogi. Wakati wa kusoma utaratibu unaohusika na utendakazi sahihi wa Mtandao, hakuna kutoroka kutoka kwa hitaji la kutumia wakati kwa mambo yake kuu, ambayo, bila shaka, ni pamoja na itifaki ya uhamishaji data ya HTTP na toleo lake salama la HTTPS.

Msingi wa uendeshaji wa chombo hiki, ambayo inaruhusu kivinjari cha mtumiaji kufungua faili na nyaraka muhimu ili kupata habari, ni teknolojia ya "mteja-server", maelezo ambayo yatajadiliwa katika makala hii hapa chini.

Bila shaka, wale ambao wanataka kujitolea kwa kweli shughuli zao kufanya kazi na mitandao ya kompyuta na kuendeleza programu za mtandao wanahitaji kujifunza suala hili kwa kiwango cha juu ili kupata sifa zinazofaa. Lakini hatuhitaji hii.

Jambo kuu ni kuelewa ni nini HTTP ni kwa maneno ya jumla na ni nini sifa kuu za HTTPS, na pia kuelewa kanuni za msingi ambazo zimewekwa ndani yao. Ujuzi kama huo utakuwa muhimu, kati ya mambo mengine, kwa kuboresha na kukuza tovuti yako, utapokea uthibitisho usio na masharti wa hili kutoka kwa makala hii na inayofuata juu ya mada hii.

HTTP ni nini na inafanya kazije?

Ili kupata hati inayotakiwa kwenye mtandao, mtumiaji anahitaji tu kuingiza URL inayotaka kwenye upau wa utafutaji wa kivinjari (zaidi kuhusu muundo wa URL), ambao una jina la itifaki ya HTTP (au HTTPS).

3. HTTP/Toleo- marekebisho ya sasa ya itifaki yameonyeshwa. Kwa sasa ni HTTP 1.1 (unaweza kusoma maelezo yake). Hata hivyo, toleo linalofuata la itifaki 2.0 tayari lipo katika fomu ya rasimu, ambayo inategemea .

Mstari wa chini unawakilisha Kichwa cha mwenyeji kama sehemu ya ombi la HTTP lililotumwa na kivinjari kwa seva kulingana na IP iliyopokelewa kutoka kwa DNS. Hii ni ya nini? Ili kutambua tovuti inayohitajika, kwa kuwa seva za wavuti huwa na rasilimali zaidi ya moja.

Hebu tuangalie mfano wazi ili kusisitiza yale tuliyojifunza. Wacha tuseme kivinjari kilipokea "kazi" kutoka kwa mtumiaji kuonyesha ukurasa na anwani ifuatayo:

Http://subscribe.ru/group/

Kisha ombi la HTTP kwa kutumia njia ya GET linaweza kutengenezwa kama ifuatavyo (katika kesi hii kawaida hakuna chombo cha ujumbe):

PATA /group/ HTTP/1.1 Mwenyeji: subscribe.ru

Kwa uwazi, nimetoa mfano rahisi sana, ikijumuisha kichwa kimoja cha Mwenyeji; kwa kweli, kunaweza kuwa na kadhaa. Lakini sio hivyo tu. Baada ya yote, mawasiliano kamili yanahitaji mazungumzo, ambayo yanaanzishwa baada ya seva kujibu ombi la kivinjari. Mstari wa mwanzo wa jibu pia unaweza kuonyeshwa kimkakati:

Maelezo ya Msimbo wa Hali ya HTTP/Toleo

Sasa hebu tuangalie kwa ufupi muundo wa majibu ya seva:

1. Toleo la HTTP inavyoonyeshwa kwa mlinganisho na ombi.

2. Msimbo wa hali(Nambari ya Hali) - nambari tatu zinazojulisha kuhusu hali ya hati iliyoombwa na kivinjari. Kwa mfano, 200 - Sawa, ukurasa upo na utaonyeshwa kwenye kivinjari, 301 - uelekezaji upya umefanywa kwa URL nyingine, - hakuna ukurasa wa wavuti kwenye anwani hiyo (labda ilifutwa au mtumiaji alifanya makosa wakati kuingiza URL).

3. Maelezo(Kifungu cha Sababu) - maandishi ya kuongeza kwa msimbo wa majibu. Katika baadhi ya matukio, maelezo yanaweza kutofautiana na kiwango au kutokuwepo kabisa. Hii pia ni kutokana na usanidi wa programu iliyopangishwa kwenye seva.

Mfano halisi? Tafadhali. Wacha tujaribu kupata jibu la seva kwa ombi nililotoa kama mfano hapo juu (url "http://subscribe.ru/group/"). Itaonekana kama hii (mstari wa kichwa cha awali):

HTTP/1.1 200 Sawa Seva: nginx Tarehe: Sat, 10 Jun 2017 06:36:38 GMT Content-Type: text/html; charset=utf-8 Muunganisho: weka-hai Maudhui-Lugha: ru Set-Cookie: Subscribe::Viziter=UQkivlk7k3YO3DgjAxM2Ag==; expires=Thu, 31-Dec-37 23:55:55 GMT; domain=subscribe.ru; path=/ P3P: policyref="/w3c/p3p.xml", CP="NOI PSA OUR BUS UNI"

Katika kesi hii, hakuna mwili wa maelezo na ujumbe, ambao, wakati wa kutumia njia ya GET, inaweza kuwa na, kwa mfano, msimbo wa HTML wa hati iliyoombwa (ukurasa wa wavuti). Kulingana na aina ya maombi ya mteja, sehemu hizi zinaweza kuwepo.

Kwa hiyo, hebu tufanye muhtasari wa hayo hapo juu. Ikiwa mtumiaji ataingiza URL ya ukurasa anaotafuta, akikusudia kupata yaliyomo ili kutazamwa, kivinjari hutuma ombi la GET kwa seva inayotaka na hupokea jibu. Kama matokeo ya mawasiliano haya, ama (chini ya hali nzuri) yaliyomo kwenye hati iliyoombwa itaonyeshwa, au haitaonyeshwa.

Kwa hali yoyote, yaliyomo kwenye majibu ya HTTP ya seva (ikiwa ni pamoja na msimbo wa hali) inaweza kutoa taarifa muhimu kuhusiana na hati iliyoombwa.

Ili maelezo yaliyo hapo juu yatoshee kwa urahisi kwenye fumbo, mfano mahususi haupo. Tutaiangalia kwa kutumia moja ya (kivinjari hiki cha wavuti ni zana yangu ya kufanya kazi) inayoitwa Vichwa vya HTTP.

Ni rahisi kwa sababu inatoa picha kamili ya mwingiliano wa seva ya mteja, ikitoa yaliyomo kwenye "chupa moja" Ombi la HTTP (ombi) na jibu (jibu). Angalia hati programu-jalizi hii ilitoa wakati wa kufuata kiunga kutoka ukurasa mmoja wa blogi yangu hadi mwingine:


Hapa juu kabisa kuna njia ya GET, ambayo kivinjari hufikia seva, na vile vile hali ya ukurasa, iliyo na nambari ya hali ya 200 OK, ambayo inaweka wazi kuwa seva imesambaza data yote kuhusu ombi. ukurasa wa wavuti.

Pia ya riba Vichwa vya HTTP, iliyoonyeshwa hapa chini. Kwa mfano, kipengee "Melekezaji" hutoa maelezo katika mfumo wa URL ambayo mpito ulifanywa.

Kichwa "Wakala wa Mtumiaji" inaonyesha haswa programu ya mteja iliyotuma ombi kwa seva ya wavuti. Katika kesi hii, hii ni kivinjari, lakini kunaweza kuwa na wengine (vifaa vya simu, robots za utafutaji, nk). Data iliyotolewa katika Wakala wa Mtumiaji ni muhimu kwa programu ya seva kutambua programu inayotuma ombi.

Tu injini ya utafutaji roboti, ambayo huchanganua kurasa za tovuti ili kupata maelezo yanayoathiri cheo, ni ya manufaa kwetu, kwa sababu ni wao wanaoamua hatima ya ukurasa fulani kulingana na ufanisi wa utangazaji wake.

Ndio maana katika uchapishaji unaofuata ninapanga kukaa kwa undani zaidi juu ya jinsi ya kutazama vichwa vya HTTP na kuangalia nambari za majibu ya seva haswa kwa ombi la roboti, ambayo ni muhimu sana kwa wasimamizi wa wavuti kwa kuzingatia uboreshaji wa rasilimali za SEO. Kwa hiyo, jiandikishe ili kupokea makala ya hivi karibuni kwa wakati unaofaa.

Je, ni nini maalum kuhusu itifaki salama ya HTTPS?

Nina hakika kwamba watumiaji wote wa Intaneti, bila ubaguzi, ikiwa ni pamoja na wanaoanza, wanafahamu kuwepo kwa itifaki maalum inayoitwa HTTPS (Hypertext Transfer Protocol Secure), ambayo hutumikia kulinda data ya kibinafsi kwenye huduma ambapo uhamisho wao unatumiwa (mifumo ya malipo, mtandaoni. maduka, milango mikubwa maalum, n.k.) d.).

Ikiwa utaingiza anwani ya ukurasa wa tovuti inayofanana, uunganisho huu utaonyeshwa kwa njia maalum. Katika Google Chrome (), kwa mfano, kufuli iliyo na maandishi "Kuaminika" kwa kijani itaonyeshwa, ukibofya juu yake utaona habari fulani inayohusiana na ulinzi wa data ya kibinafsi:


HTTPS ni nini? Kwa kusema kweli, sio itifaki huru. Hii ni HTTP ya kawaida, ambayo hufanya kazi kupitia mifumo TLS au SSL, yenye uwezo wa kuhakikisha usimbaji fiche, ambao huzuia wadukuzi kuingilia na kupata data ya siri.

Kwa chaguo-msingi, wakati wa kufanya kazi itifaki salama, bandari 443 hutumiwa (ikiwa unakumbuka, kwa HTTP ya kawaida ni 80). Usimbaji fiche wa HTTPS hutumia urefu muhimu wa biti 40, 56, 128 na 256 (). Hata hivyo, chaguo mbili za kwanza hazipaswi hata kuzingatiwa, kwani haziwezi kutoa kiwango cha kutosha cha usalama.

Hivi majuzi, injini za utaftaji, haswa Google, zimekuwa zikiwashawishi wamiliki wa tovuti zote kubadili itifaki salama, wakidokeza kwa hila kwamba hatua hii itazingatiwa wakati wa kuorodheshwa. Matokeo yake, sasa rasilimali nyingi (hata blogu za kawaida), na sio tovuti tu zinazohusiana na uhamisho wa data ya kibinafsi, tayari hufanya kazi na HTTPS.

Zaidi ya hayo, wapangishaji wanaoongoza hutoa ununuzi wa cheti salama cha SSL, ambacho ni muhimu ili kuwezesha muunganisho salama.

Kwa kweli, hatujazingatia nuances yote ya kutumia itifaki ya HTTP (HTTPS), ambayo kuna mengi. Mada hii inaweza kuchukua miongozo kadhaa ya kuvutia. Hata hivyo, mambo makuu ambayo yatakuwa na manufaa kwa mtumiaji wa juu na msimamizi wa tovuti yanafunikwa. Ikiwa bado haujaridhika na kiasi cha habari iliyopokelewa, unaweza kuiongeza kwa urahisi kutoka kwa hotuba ifuatayo ya video, ambayo, haswa, inazungumza kwa undani zaidi juu ya njia hizo:

Habari, msomaji wa tovuti ya blogi! Wacha tuendelee kufahamiana na itifaki ya HTTP katika sehemu ya Seva na itifaki na itifaki ya HTTP ya sehemu yake. Ingizo hili ni kiingilio cha mwisho katika safu ya maelezo kwenye itifaki ya HTTP, baada ya hapo nitatayarisha urambazaji na, labda, kutakuwa na maingizo yanayohusiana na itifaki ya HTTP, lakini sio moja kwa moja kuhusiana nayo. Kimsingi, chapisho hili litakusaidia kuelewa jinsi inavyofanya kazi Itifaki ya HTTP, na ikiwa unahitaji maelezo, fuata viungo ambavyo nimekuwekea katika makala yote.

Itifaki ya HTTP ni nini?

Hebu tufafanue ni nini Itifaki ya HTTP, lakini kabla ya kufafanua neno itifaki ya HTTP, hebu tuelewe neno itifaki. Neno itifaki limetafsiriwa kihalisi kutoka kwa Kigiriki kama ya kwanza na gundi. Katika nyakati za kale, ilikuwa kipande cha karatasi kilichowekwa kwenye kitabu na juu yake mwandishi aliandika jina lake, tarehe ya kuandika na habari nyingine zisizohitajika, au tuseme, habari rasmi. Kwa nini ninasema mambo yasiyo ya lazima? Ndio, kwa sababu mtu wa kawaida anavutiwa zaidi na yaliyomo kwenye kitabu chenyewe, na sio ambaye aliandika. Kwa hivyo ndani Itifaki ya HTTP: Mtumiaji wa kawaida havutiwi kabisa na jinsi anavyopokea kurasa za tovuti, anafungua tu kivinjari chake. Ufafanuzi mwingine wa neno itifaki ni algorithm, au mlolongo wa vitendo. Itifaki ni seti ya sheria na kanuni zinazosimamia tukio fulani. Itifaki ya uhamishaji data ni kiwango kinachoelezea sheria za mwingiliano kati ya vizuizi vinavyofanya kazi wakati wa kuhamisha data.

Kwa hiyo, tumeamua kwamba HTTP ni itifaki ya uhamisho wa data, lakini kifupi cha HTTP kinamaanisha nini? Itifaki ya Uhamisho wa HTTP au HyperText ni itifaki ya uhamishaji wa maandishi ya hypertext. Na sasa nitatoa ufafanuzi wa kuvutia zaidi wa itifaki ya HTTP ambayo nimewahi kukutana nayo.

Itifaki ya HTTP- hizi ni sheria za barabara kwenye mtandao, tu ikiwa katika maisha watu hawawezi kufuata sheria za barabara na hakuna kitakachotokea kwao, basi kushindwa kuzingatia sheria za itifaki ya HTTP husababisha ukweli kwamba mtumiaji hataweza kufanya kazi kwenye mtandao.

Itifaki ya HTTP ni itifaki ya uhamisho wa data ya safu ya saba ya mfano wa OSI, inayofanya kazi kwa misingi ya teknolojia ya mteja-server.

Itifaki ya HTTP ni muhtasari wa viwango vya tatu na nne vya modeli ya kumbukumbu, kupanua uwezekano wa mawasiliano kati ya watu.

Itifaki ya HTTP- itifaki ya awali ya maambukizi ya hypertext, ambayo sasa inaweza kutumika kusambaza chochote.

Itifaki ya HTTP ni usafiri wa itifaki zingine, kama vile JSON.

Itifaki ya HTTP ni teknolojia ambayo msanidi programu yeyote wa wavuti anapaswa kuelewa.

Kweli, nadhani tumegundua ni nini Itifaki ya HTTP na sasa tunaweza kuona inatumika wapi.

Itifaki ya HTTP inatumika kwa nini?

Nitakuambia moja kwa moja Itifaki ya HTTP- hii ndiyo msingi wa mtandao, au tuseme si hivyo, hii ndiyo msingi ambao mtumiaji wa mwisho anaona: wageni wa tovuti. Kwa hiyo, itifaki ya HTTP iko kila mahali kwenye mtandao. Neno hilo linasikika kuwa la kushangaza, lakini sikuweza kufikiria lingine. Unaposoma habari kwenye tovuti, unatumia itifaki ya HTTP. Unaposikiliza muziki wa VKontakte, unatumia itifaki ya HTTP. Unapotazama video kwenye YouTube, unatumia itifaki ya HTTP. Unapocheza mchezo wa kivinjari, unatumia pia itifaki ya HTTP. Ndiyo sababu ninaandika kwamba itifaki ya HTTP inatumiwa kila mahali kwenye mtandao. Bila hivyo, haungeweza kusoma maandishi haya. Kwa muhtasari: itifaki ya HTTP inatumiwa kuhamisha data kwenye mtandao, awali ilitumiwa kuhamisha nyaraka za HTML, lakini sasa inakuwezesha kuhamisha maudhui mbalimbali na mbalimbali .

Sifa za itifaki ya HTTP

Wacha tuorodheshe kiufundi Sifa za itifaki ya HTTP:

  1. Itifaki ya HTTP inafanya kazi kwa kutumia teknolojia.
  2. Itifaki ya HTTP ni ya kiwango cha saba.
  3. Itifaki ya HTTP ni ya familia ya itifaki ya TCP/IP.
  4. Ili kusambaza data kupitia itifaki ya HTTP, bandari 80 TCP au 8080 hutumiwa.
  5. Maelezo ya itifaki ya RFC 2616.
  6. Ili kutambua rasilimali, itifaki ya HTTP hutumia URI (soma kuhusu).
  7. Itifaki ya HTTP haina majimbo ya kati kati ya ombi na jibu; kwa kweli, mteja anaweza kupokea jibu na nambari 100, lakini hii tayari ni jibu, na sio hali ya kati.
  8. Itifaki ya HTTP synchronous, lakini inaruhusu mteja kutuma maombi kadhaa mfululizo bila kusubiri jibu kutoka kwa seva, mradi seva inajibu maombi kwa utaratibu ambao walifika.

Hii ni sehemu tu ya sifa za kiufundi za itifaki, lakini kwa maoni yangu, sifa muhimu zaidi za kuelewa kiini chake.

Itifaki ya HTTP inafanya kazi kwa kanuni ya seva ya mteja

Ndiyo, Itifaki ya HTTP inafanya kazi kwa kanuni ya seva ya mteja. Mfano rahisi zaidi unaonijia sasa ili kuelezea kiini cha mwingiliano wa seva ya mteja ni mfano wa mnunuzi na muuzaji katika duka. Mnunuzi huja kwenye duka na kumwambia muuzaji: Hello! Ikiwa muuzaji hana adabu, anajibu: chora uzio! Kisha mnunuzi anatabasamu, anasimama, anaangalia dirisha la kuonyesha na kuchagua nini cha kununua. Wakati huo huo, muuzaji anasimama na kusubiri kimya kwa mteja kuchagua. Mteja amefanya chaguo na kumwambia muuzaji: nipe ujinga huo wa kahawia ulio kwenye rafu ya juu katika kona ya mbali. Muuzaji anasema: hivi sasa. Baada ya hapo anachukua kinyesi, akiiweka kwenye kona ya mbali, huondoa kamba ya kahawia kutoka kwenye rafu na kuileta kwa mnunuzi. Mnunuzi huchukua crap ya kahawia, anatoa pesa na kuondoka. Na muuzaji, akipokea pesa, anaiweka kwenye rejista ya pesa.

Lengo la hadithi hii ni kuonyesha mwingiliano wa seva ya mteja. (katika kesi hii, mnunuzi) anadhibiti kabisa maendeleo ya matukio, yaani, (kwa mfano wetu, muuzaji) bila kesi huanzisha mawasiliano mwenyewe, anasubiri kwa uvumilivu vitendo vya mteja na kwa namna fulani huwajibu. Nilitoa mfano rahisi zaidi. Lakini inaweza kuwa ngumu, kwa mfano, mnunuzi anatoa rubles mia moja, na crap kahawia gharama 90, katika kesi hii muuzaji atatoa mabadiliko ya mteja. Muuzaji angeweza kujibu maneno ya mteja: Hello!, kwa njia nyingine. Au vitu vya kahawia vinaweza visiwe vya kuuzwa au kuuzwa, lakini kwa wateja maalum pekee. Ninachomaanisha hapa ni kwamba Itifaki ya HTTP ni itifaki ya uhamishaji data kulingana na mwingiliano wa seva ya mteja na, kimsingi, inaelezea kikamilifu algorithms ya vitendo kwa mteja na seva katika hali tofauti.

Historia ya HTTP: Viwango vya itifaki ya HTTP

Hebu sasa tuangalie hadithi Itifaki ya HTTP kwa viwango vyake.

  1. - Toleo la itifaki ya HTTP9 ilitengenezwa mnamo 1991 huko CERN na Tim Berners-Lee. Tim alitengeneza itifaki ya HTTP ili kuwezesha ufikiaji na urambazaji kwa kutumia maandishi ya hypertext. Kiwango cha HTTP/0.9 kina sintaksia ya msingi na semantiki ya itifaki ya HTTP.
  2. Mnamo 1996, RFC 1945 (kiwango cha HTTP/1.0) ilitolewa.
  3. Mnamo 1997, toleo la itifaki ya HTTP1 ilitolewa: kiwango cha HTTP/1.1 kilitengenezwa na kuelezewa katika RFC 2068. Mnamo 1999, kiwango cha HTTP/1.1 kilikamilishwa (yaani, kiwango cha HTTP/1.1). Kwa sasa, programu nyingi hutumia Itifaki ya HTTP toleo la 1.1. Kwa njia, kutuma habari kuhusu wewe mwenyewe katika kichwa.
  4. Mnamo 2015, toleo la mwisho la itifaki ya HTTP 2 ilichapishwa; hii bado sio kiwango, lakini rasimu "inatuonyesha" ambapo maendeleo ya mtandao yatasonga.

Wateja wa itifaki ya HTTP

Mfano wa kawaida wa mteja wa itifaki ya HTTP ni kivinjari; hapa kuna wateja maarufu wa itifaki ya HTTP:

  • Google Chrome;
  • Mozilla Firefox;
  • Opera;
  • Internet Explorer;
  • Kivinjari cha Yandex;
  • Safari.

Mara nyingi, badala ya neno mteja, unaweza kusikia wakala wa mtumiaji, fahamu hilo Itifaki ya HTTP haileti tofauti kati ya masharti mteja na wakala wa mtumiaji.

Seva za itifaki za HTTP

Mstari wa hali umetenganishwa na kichwa na herufi ya CRLF mwishoni mwa safu hii kutoka kwa kichwa cha HTTP (unaweza kupata herufi hii kwenye Windows kwa kushinikiza kitufe cha Ingiza - kuvunja mstari), na kichwa cha HTTP kinatenganishwa na ujumbe. mwili kwa mstari ambao kuna mhusika mmoja tu - CRLF.

Maombi na majibu yana vichwa vya huduma vya kawaida ambavyo vinaweza kutumika katika ombi na majibu kutoka kwa seva ya HTTP. Pia ninataka kutambua kuwa kuna kikundi cha vichwa vinavyohusiana na vitu (mwili wa ujumbe), vyote vinaweza kutumika katika maombi na majibu, isipokuwa sehemu ya Ruhusu kichwa, ambayo hutumiwa tu katika majibu ya seva wakati wa kuingiliana. kupitia itifaki ya HTTP. Ujumbe wa HTTP una urefu, ambao hupimwa kwa baiti; ikiwa ujumbe wako wa HTTP una mwili, basi sheria zifuatazo zinatumika ili kubainisha urefu wa ujumbe:

  1. Ujumbe wowote wa jibu wa seva ya HTTP, ambao haupaswi kujumuisha mwili wa ujumbe, lazima ukatishwe kwa mstari tupu baada ya vichwa.
  2. Ikiwa vichwa vya ujumbe wa HTTP vina sehemu ya Uhamishaji-Usimbaji (usimbaji wa HTTP) na sehemu hii ina thamani iliyokatwa, basi urefu wa ujumbe wa HTTP unapaswa kubainishwa kwa kutumia mbinu ya usimbaji iliyokatwa.
  3. Ikiwa kichwa cha ujumbe wa HTTP kina sehemu ya Urefu wa Maudhui, basi thamani iliyoandikwa katika Urefu wa Maudhui ni urefu wa ujumbe wa HTTP, unaopimwa kwa baiti.
  4. Ikiwa ujumbe wa HTTP unatumia aina za media za "multipart/byteranges", ambayo yenyewe imetengwa, basi huamua urefu.
  5. Urefu wa ujumbe wa HTTP umedhamiriwa kwa kufunga muunganisho kwenye upande wa seva.

Kwa uwazi, hebu tuangalie ujumbe wa mfano katika itifaki ya HTTP na jambo la kwanza tutakayoangalia ni ombi la mfano katika itifaki ya HTTP:

POST /cgi-bin/process.cgi HTTP/1.1 Wakala-Mtumiaji: Mozilla/4.0 (inayotangamana; MSIE5.01; Windows NT) Mpangishi: www.example.com Aina ya Maudhui: application/x-www-form-urlencoded Content -Urefu: urefu Kubali-Lugha: ru-ru Kubali-Usimbaji: gzip, deflate Muunganisho: Keep-Alive licenseID=string&content=string&/paramsXML=string

POST /cgi-bin/process. cgi HTTP/1.1

Wakala wa Mtumiaji: Mozilla/4.0 (inayotangamana; MSIE5.01; Windows NT)

Mwenyeji: www. mfano. com

Maudhui - Aina : maombi / x - www - fomu - urlencoded

Maudhui - Urefu : urefu

Kukubali - Lugha : ru - ru

Kubali - Usimbaji : gzip , deflate

Uunganisho: Weka - Hai

licenseID=string&content=string&/paramsXML=string

Nambari Darasa la msimbo wa hali ndaniHTTP itifaki na maelezo yake
1 HTTP 1xx misimbo ya hali: taarifa Seva hutuma msimbo huu wa hali wakati ombi limepokelewa lakini bado halijachakatwa.
2 HTTP kanuni za hali 2xx: mafanikio Seva itakutumia msimbo huu ikiwa imepokea na kuchakata kwa ufanisi ujumbe wa HTTP wa mteja.
3 HTTP kanuni za hali 3xx:elekeza kwingine Ukipokea msimbo wa hali unaoanza na tatu kutoka kwa seva, hii ina maana kwamba hatua za ziada zinahitajika ili kukamilisha mchakato wa usindikaji wa ombi la HTTP.
4 HTTP kanuni za hali 4xx: kosa la mteja Ukiona msimbo wa hali unaoanza na nne, hii ina maana kwamba hitilafu ilitokea kwa sababu ya kosa la mteja.
5 HTTP kanuni za hali 5xx: hitilafu ya seva Msimbo wa hali unaoanza na tano unaonyesha kuwa hitilafu ilitokea kwenye upande wa seva.

Sehemu za Kijajuu cha Ujumbe wa HTTP

KATIKA Itifaki ya HTTP Kuna sehemu za kichwa zinazokuwezesha kusanidi mwingiliano kati ya mteja na seva, na pia jinsi na kwa namna gani mtumiaji wa mwisho atapata taarifa muhimu. Sintaksia ya jumla ya sehemu za kichwa ni rahisi sana: jina la uwanja: value1, value2

Sehemu za kichwa zimetenganishwa na herufi ya CRLF. Itifaki ya HTTP inagawanya sehemu za kichwa katika vikundi vinne:

  1. Sehemu za kichwa cha jumla. Vichwa hivyo vinaweza kutumika katika ujumbe wowote unaotumwa kupitia itifaki ya HTTP.
  2. Omba sehemu za kichwa. Barua pepe hizi zinaweza tu kutumwa katika maombi ya itifaki ya HTTP.
  3. Sehemu za kichwa cha majibu. Kama jina linavyopendekeza, sehemu hizi zinatumika tu katika majibu ya HTTP.
  4. Sehemu za kichwa cha ujumbe. Na nyanja hizi hutumiwa wakati ni muhimu kuamua jinsi na kwa namna gani habari itawasilishwa kwa mtumiaji wa mwisho, ambayo hupitishwa kupitia HTTP.

Uakibishaji wa itifaki ya HTTP

Ili kupunguza mzigo wa mtandao na kuboresha ufanisi Itifaki ya HTTP utaratibu wa kuweka akiba ulitekelezwa. Mara nyingi hutokea kwamba mtumiaji hajui hata kwamba ukurasa uliofunguliwa kwenye kivinjari chake ulipakiwa sio kutoka kwenye tovuti aliyopata, lakini kutoka kwa cache. Hatutaingia kwenye mifumo ya ndani ya kache ya seva/mteja fulani, lakini tutaangalia tu kile kinachopatikana moja kwa moja. Itifaki ya HTTP kusimamia caching. Na, kama labda ulivyokisia, katika itifaki ya HTTP, caching inadhibitiwa na sehemu za kichwa na maagizo, ambayo ni, maadili ya uwanja huu.

Natambua hilo Itifaki ya HTTP kutekelezwa ili maagizo haya lazima yafuatwe na washiriki wote katika mlolongo kati ya mteja na seva ya mwisho. Maagizo ya masharti yanaweza kugawanywa katika mteja na seva. Wacha tuangalie maagizo ya itifaki ya HTTP iliyoundwa kudhibiti uhifadhi wa upande wa mteja.

Nambari Maelekezo ya Sehemu ya KijajuuAkibaUdhibitikwa mteja na maelezo yao
1 Hapanaakiba Maagizo ya itifaki ya HTTP hakuna akiba huiambia seva kuwa kwa ombi linalofuata, jibu halipaswi kutumwa kutoka kwa akiba bila kuangalia na yaliyomo kwenye seva asili.
2 Hapanaduka Maagizo ya HTTP bila duka huiambia seva kuwa ombi la mteja wala jibu la seva halipaswi kuakibishwa. Hii ni kwa sababu za usalama.
3 maxumri = sekunde Maagizo ya itifaki ya HTTP ya umri wa juu zaidi huiambia seva kuwa kache haipaswi kuwa kubwa kuliko muda uliobainishwa katika sekunde.
4 maxstale [ = sekunde ] Maagizo ya itifaki ya HTTP ya zamani huiambia seva kuwa mteja atakubali jibu la HTTP lililohifadhiwa ikiwa umri wake hauzidi muda uliobainishwa kwa sekunde.
5 minsafi = sekunde Maagizo ya itifaki ya HTTP safi kidogo huiambia seva kuwa mteja atakubali jibu la HTTP lililohifadhiwa ikiwa muda wa maisha wa kache hauzidi sekunde zilizobainishwa.
6 Maagizo mapya ya HTTP yanaiambia seva kuwa hakuna mabadiliko yanayopaswa kutumika kwa rasilimali iliyoombwa.
7 pekeekamailiyohifadhiwa
Maagizo ya itifaki ya HTTP safi kidogo huiambia seva kuwa mteja atakubali tu jibu la HTTP lililohifadhiwa; ikiwa jibu linalofaa haliko kwenye akiba ya seva, basi hakuna kinachohitajika kufanywa.

Sasa hebu tuangalie maagizo ambayo inaruhusu.

Nambari Maelekezo ya Sehemu ya KijajuuAkibaUdhibitikwa seva na maelezo yao
1 umma Maagizo ya itifaki ya Umma ya HTTP yanasema kuwa jibu la seva linaweza kuhifadhiwa kwenye akiba yoyote.
2 Privat Maagizo ya itifaki ya HTTP Privat inaonyesha kuwa jibu la seva linapaswa kuhifadhiwa kwenye kashe ya kibinafsi, ambayo inakusudiwa kwa mtumiaji huyu pekee.
3 Hapanaakiba Maagizo ya itifaki ya HTTP Hapanaakiba inasema kwamba jibu lililohifadhiwa halipaswi kutumwa kwa mteja bila kukiangalia kwanza.
4 Hapanaduka Maagizo ya itifaki ya HTTP Hapanaduka inaonyesha kuwa majibu ya seva hayawezi kuhifadhiwa kwenye kache.
5 Hapanakubadilisha Maagizo ya itifaki ya HTTP Hapanakubadilisha inaonyesha kuwa hakuna mabadiliko yanayopaswa kutumika kwa majibu ya seva na nodi yoyote kwenye mnyororo.
6 lazimathibitisha upya Maagizo ya itifaki ya HTTP lazimathibitisha upya inasema kwamba ikiwa ujumbe wa HTTP wa seva ni wa zamani, basi uthibitisho wa mapema unapaswa kutumika kwake.
7 wakalathibitisha upya Maagizo ya itifaki ya HTTP wakalathibitisha upya inasema sawa na maagizo ya hapo awali, lakini kwa seva za kati tu.
8 maxumri = sekunde Maagizo ya itifaki ya HTTP maxumri inaonyesha muda gani kache huishi kwenye seva.
9 Agizo la sehemu ya kichwaAkibaUdhibitimajibu ya seva:smaksi = sekunde Maagizo ya majibu ya seva ya Umma yanasema sawa na maagizo ya umri wa juu, lakini kwa seva za CDN

Programu zote mbili za HTTP za mteja na seva lazima ziwe na uwezo wa kulinganisha data kutoka kwa kache ili zisitume trafiki isiyo ya lazima kupitia mtandao na wakati huo huo mtumiaji wa mwisho anapokea habari mpya kujibu maombi yao. Kwa maana hii, katika Itifaki ya HTTP uga maalum Iliyorekebishwa Mwisho na mbinu za ombi za masharti zilizo na sehemu za kichwa zenye masharti zilianzishwa. Sehemu ya Marekebisho ya Mwisho inaonyesha tarehe na wakati toleo la kache lilipoundwa; thamani ya sehemu hii inaweza kulinganishwa na tarehe na thamani ya saa ya wakati ambapo rasilimali asili ilisasishwa mara ya mwisho, na kama thamani zinalingana, basi. data hutumwa kwa mteja kutoka kwa kashe.

Na ikiwa mteja atafanya ombi la kurudia kwa rasilimali hiyo hiyo, basi kivinjari kinaweza kujumuisha uwanja wa kichwa cha masharti katika ujumbe wa mteja, seva, ikiwa imepokea uwanja kama huo, itachambua yaliyomo kwenye rasilimali, kulinganisha na kile ilichotuma. hapo awali, na ikiwa kulinganisha ni sawa, basi kivinjari kitarudisha ujumbe 304 (usiobadilishwa), baada ya hapo kivinjari kitatema yaliyomo kwenye ukurasa kutoka kwa kashe yake kwa mtumiaji.

Na pia Itifaki ya HTTP hukuruhusu kugawa lebo kwa kila kitu cha HTTP katika uga wa kichwa cha ETag, kwa kweli, hii ni jumla ya heshi ya kitu chenyewe na kwa kila kitu kisichorudiwa ni cha kipekee, kwa hivyo utaratibu wa kuakibisha itifaki ya HTTP hutumia uga huu kikamilifu angalia umuhimu wa data iliyohifadhiwa kwenye kashe.

Usalama wa itifaki ya HTTP

Itifaki ya HTTP Iliyoundwa kwa ajili ya uhamisho wa data na hakuna misumari. Hakuna njia za usimbaji fiche au taratibu katika itifaki ya HTTP, kwa kuwa kila aina ya mifumo ya usimbaji ya itifaki ya HTTP haiwezi kuitwa ulinzi wa data, lakini hupitisha kuingia kwa mtumiaji na nenosiri katika fomu isiyofichwa.

Lakini itifaki ya HTTP ina HTTPS ya ugani, tafadhali kumbuka HTTPS sio itifaki, lakini ugani wa itifaki ya HTTP inayotumia bandari ya TCP 433. Ugani huu ni mchanganyiko wa itifaki mbili: HTTP na SSL au HTTP na TLS (TLS na SSL). ni kitu kimoja).

Usisahau kushiriki maoni yako katika maoni na kuacha maoni, hii itasaidia kufanya kazi yetu bora, kwa heshima!

Tumetoa kitabu kipya, Uuzaji wa Maudhui ya Mitandao ya Kijamii: Jinsi ya Kuingia Ndani ya Vichwa vya Wafuasi Wako na Kuwafanya Wapende Biashara Yako.

Jisajili

HTTP ndiyo inaruhusu data kuhamishwa. Hapo awali, iliundwa kwa ajili ya kutuma na kupokea hati zilizo na viungo ndani ili kufanya mpito kwa rasilimali za watu wengine.

Kifupi kinasomeka "Itifaki ya Uhamisho wa Maandishi ya Juu," ambayo tafsiri yake inamaanisha "itifaki ya uhamishaji." HTTP ni ya kikundi cha safu ya programu kulingana na maalum inayotumiwa na OSI.

Ili kuelewa vyema maana ya HTTP, hebu tuangalie mlinganisho rahisi. Hebu fikiria kwamba unawasiliana na mgeni kwenye mtandao wa kijamii. Anakutumia ujumbe kwa Kiingereza, unapokea. Lakini huwezi kuelewa yaliyomo kwa sababu hauongei lugha vizuri. Ili kufafanua ujumbe, tumia kamusi. Baada ya kuelewa kiini, unajibu mgeni kwa Kirusi na kutuma jibu. Mgeni hupokea jibu na, kwa msaada wa mfasiri, anafafanua ujumbe. Ili kurahisisha utaratibu mzima, itifaki za mtandao HTTP hufanya kazi ya mfasiri. Kwa msaada wao, kivinjari kinaweza kutafsiri maudhui yaliyosimbwa ya kurasa za wavuti na kuonyesha yaliyomo.

HTTP ni ya nini?

Itifaki ya HTTP inatumika kubadilishana habari kwa kutumia modeli ya seva ya mteja. Mteja anatunga na kupeleka ombi kwa seva, kisha seva inasindika na kuichambua, baada ya hapo jibu linaundwa na kutumwa kwa mtumiaji. Mwishoni mwa mchakato huu, mteja anatoa amri mpya, na kila kitu kinarudia.

Kwa hivyo, itifaki ya HTTP inakuwezesha kubadilishana habari kati ya maombi mbalimbali ya mtumiaji na seva maalum za mtandao, na pia kuunganisha kwenye rasilimali za mtandao (kawaida vivinjari). Leo, itifaki iliyoelezwa inahakikisha uendeshaji wa mtandao mzima. Itifaki ya uhamishaji data ya HTTP pia inatumika kuhamisha habari juu ya itifaki zingine za kiwango cha chini, kwa mfano, WebDAV au SOAP. Katika kesi hii, itifaki ni njia ya usafiri. Programu nyingi pia hutegemea HTTP kama zana ya msingi ya kubadilishana habari. Data inawasilishwa katika miundo mbalimbali, kwa mfano, JSON au XML.

HTTP ni itifaki ya kubadilishana habari kupitia muunganisho wa IP/TCP. Kwa kawaida, seva hutumia bandari ya TCP 80 kwa kusudi hili. Ikiwa mlango haujabainishwa, programu ya mteja itatumia aina ya TCP port 80 kwa chaguomsingi. Katika hali nyingine, bandari zingine zinaweza kutumika.

Itifaki ya HTTP hutumia mpango wa usimbaji fiche linganifu na hutumia mifumo ya siri ya ulinganifu. Mifumo ya siri ya ulinganifu inahusisha matumizi ya ufunguo sawa ili kusimba na kusimbua taarifa.

Kuna tofauti gani kati ya HTTP na HTTPS

Tofauti inaweza kugunduliwa hata kutoka kwa uainishaji wa vifupisho. HTTPS inasimamia Usalama wa Itifaki ya Uhamisho wa Hypertext. Kwa hivyo, HTTP ni itifaki huru, na HTTPS ni kiendelezi cha kuilinda. HTTP hutuma maelezo bila kulindwa, huku HTTPS hutoa ulinzi wa kriptografia. Hii ni kweli hasa kwa rasilimali zilizo na idhini inayowajibika. Hizi zinaweza kuwa mitandao ya kijamii au tovuti za mfumo wa malipo.

Ni hatari gani ya kusambaza data isiyolindwa? Programu ya kuingilia inaweza kuzihamisha kwa washambuliaji wakati wowote. HTTPS ina shirika tata la kiufundi, ambalo hukuruhusu kulinda habari kwa uaminifu na kuondoa uwezekano wa ufikiaji usioidhinishwa kwake. Tofauti iko kwenye bandari. HTTPS kawaida hufanya kazi kwenye bandari 443.

Kwa hivyo, HTTP hutumiwa kwa uhamisho wa data, na HTTPS inaruhusu uhamisho wa data salama kwa kutumia usimbaji fiche na idhini kwenye rasilimali zilizo na kiwango cha juu cha usalama.

Utendaji wa ziada

HTTP ina utendakazi mwingi na inaoana na viendelezi mbalimbali. Vipimo vya 1.1 vinavyotumiwa leo huruhusu kichwa cha Kuboresha kitumike kubadili na kufanya kazi kupitia itifaki zingine wakati wa kubadilishana data. Ili kufanya hivyo, mtumiaji lazima atume ombi kwa seva na kichwa hiki. Ikiwa seva inahitaji kubadili ubadilishanaji maalum kwa kutumia itifaki tofauti, inarudisha ombi kwa mteja, ambayo inaonyesha hali ya "Uboreshaji wa 426 Unahitajika".

Kipengele hiki kinafaa hasa kwa kubadilishana taarifa kupitia WebSocket (ina vipimo vya RFC 6455, vinavyokuruhusu kubadilishana data wakati wowote, bila maombi ya HTTP yasiyo ya lazima). Ili kuhamia kwenye WebSocket, mtumiaji mmoja hutuma ombi na kichwa cha Kuboresha na thamani "soketi ya wavuti". Kisha, seva hujibu kwa "Itifaki 101 za Kubadilisha." Baada ya wakati huu, uhamishaji wa habari kupitia WebSocket huanza.

Kusudi la hotuba: kuunda ufahamu wa utendakazi wa itifaki ya HTTP/HTTPS.

HTTP (Itifaki ya Uhamisho wa HyperText) ni mojawapo ya itifaki muhimu zaidi zinazowezesha uhamisho wa data kwenye Mtandao. Itifaki ya HTTP iko kwenye safu ya saba ya maombi ya mfano wa OSI na inafanya kazi kwa misingi ya itifaki ya TCP.

Kwa kuwa itifaki ya HTTP iko kwenye safu ya programu, programu tumizi zinaweza kuitumia moja kwa moja kupanga mawasiliano ya mtandao. Zaidi ya hayo, itifaki ya HTTP ni sehemu muhimu ya programu za wavuti. Katika kesi hii, kivinjari, kwa kutumia uwezo wa HTTP, huingiliana na seva ili kupata data muhimu.

Itifaki ya HTTP inahusisha uhamisho wa data katika hali ya "majibu ya ombi".. Kwa kuongezea, ndani ya mfumo wa mwingiliano kama huo, data ya karibu aina yoyote inaweza kupitishwa - maandishi wazi, maandishi ya maandishi (HTML), karatasi za mtindo, maandishi ya mteja, picha, hati katika muundo tofauti, habari ya binary, nk.

Ndani ya itifaki ya HTTP, daima kuna tofauti ya wazi kati ya mteja na seva. Mteja daima ndiye mwanzilishi wa mwingiliano. Seva, kwa upande wake, husikiliza miunganisho yote inayoingia na inashughulikia kila moja yao. Kwa kuwa mawasiliano ya HTTP hufanya kazi kwa misingi ya ombi-jibu, ni lazima ombi la HTTP litolewe ili kuanzisha kipindi cha uhamishaji data. Kama sehemu ya ombi hili, mteja anaelezea ni rasilimali gani anataka kupokea kutoka kwa seva, na pia anabainisha vigezo mbalimbali vya ziada. Baada ya hayo, ombi hutumwa kwa seva na, kwa upande wake, hushughulikia ombi na hutoa jibu la HTTP, ambalo lina habari ya huduma na yaliyomo kwenye rasilimali iliyoombwa. Kwa ujumla, mchakato unaweza kuonyeshwa schematically kama ifuatavyo.


Ombi la HTTP na jibu la HTTP ni sawa katika muundo na huitwa Ujumbe wa HTTP. Kwa kweli, mawasiliano yote ndani ya itifaki ya HTTP huja kwa kusambaza ujumbe wa HTTP. Kila ujumbe wa HTTP ni habari ya maandishi wazi inayowasilishwa katika muundo maalum. Hebu tuangalie kwa karibu umbizo la ujumbe wa HTTP.

Kila ujumbe wa HTTP una mistari kadhaa. Mstari wa kwanza daima ni mstari wa kukaribisha; hutofautiana sana kwa ombi la HTTP na jibu la HTTP. Kawaida huwa na maelezo ya jumla kuhusu ombi. Baada ya mstari wa kwanza katika ujumbe wa HTTP kuna vichwa vya HTTP - kila kichwa kiko kwenye mstari mpya. Vichwa vya HTTP vipo katika ombi la HTTP na jibu la HTTP. Madhumuni ya vichwa vya HTTP ni kufafanua ujumbe wa HTTP ili mhusika anayepokea ujumbe huu wa HTTP aweze kuchakata ujumbe unaoingia kwa usahihi zaidi. Idadi ya vichwa vya ujumbe wa HTTP ni tofauti na inategemea ujumbe mahususi wa HTTP. Ikiwa mhusika anayetuma anaamini kuwa kichwa hiki cha HTTP ni muhimu katika ujumbe huu wa HTTP, basi kinaongeza, ikiwa sivyo, basi hakiongezi. Kila kichwa cha HTTP huanza kwenye mstari mpya. Kijajuu cha HTTP kina jina na thamani, na jina la kichwa hufafanua kusudi lake. Seti ya vichwa vya HTTP inafuatwa na mstari tupu, ikifuatiwa na mwili wa ujumbe wa HTTP. Kwa hivyo, muundo wa jumla wa ujumbe wa HTTP unaweza kuwakilishwa kama ifuatavyo.


Ombi la HTTP inatolewa kwa mteja na kutumwa kwa seva ili kupokea habari kutoka kwake. Ina maelezo kuhusu rasilimali unayohitaji kupakua, pamoja na maelezo ya ziada. Mstari wa kwanza una njia ya ombi (ambayo tutaangalia baadaye katika hotuba hii), jina la rasilimali (pamoja na njia ya jamaa kwenye seva), na toleo la itifaki. Kwa mfano, aina ya mstari wa salamu inaweza kufafanuliwa kama " PATA /images/corner1.png HTTP/1.1". Ombi kama hilo huuliza seva kurudisha picha iliyo kwenye folda " Picha" na kuitwa "corner1.png". Vijajuu vya HTTP ni muhimu kwa ombi la HTTP kwa sababu vinaonyesha maelezo ya kufafanua kuhusu ombi - toleo la kivinjari, uwezo wa mteja kukubali maudhui yaliyobanwa, uwezo wa kuweka akiba, na vigezo vingine muhimu vinavyoweza kuathiri kutoa jibu. . Mwili wa ombi la HTTP huwa na taarifa zinazohitaji kuhamishiwa kwenye seva. Kwa mfano, ikiwa unahitaji kupakia faili kwenye seva, basi yaliyomo kwenye faili yatakuwa kwenye mwili wa ombi la HTTP. Hata hivyo , kuweka data katika mwili wa ombi la HTTP hairuhusiwi kwa mbinu zote za HTTP. Kwa mfano, mwili wa ombi la HTTP huwa tupu kila wakati ikiwa mbinu ya GET inatumiwa. Kwa hivyo ombi la kawaida la HTTP linaweza kuonekana hivi.


Katika ombi lifuatalo la HTTP, mteja huwasiliana na seva " Microsoft.com", rasilimali ya maombi" picha/kona.png" na inaonyesha kuwa ina uwezo wa kukubali "gzip" au "deflate" maudhui yaliyobanwa, lugha yake ni Kiingereza na inaonyesha toleo la kivinjari chake. Kama ilivyobainishwa awali, nambari na seti ya vichwa vinaweza kutofautiana sana. Mfano mwingine ni HTTP - ombi.


Ombi hili linatofautiana na lile la awali kwa kuwa linatumia mbinu ya POST, ambayo pia hupakia data kwenye seva. Katika kesi hii, data yenyewe iko kwenye mwili wa ombi la HTTP baada ya mstari tupu.

Jibu la HTTP inayotolewa na seva ya wavuti kwa kujibu ombi linaloingia la HTTP. Ni sawa katika muundo na ombi la HTTP, lakini ina tofauti fulani. Tofauti kuu iko kwenye safu ya kwanza. Badala ya jina la rasilimali iliyoombwa na njia ya ombi, inaonyesha hali ya majibu. Hali inaonyesha jinsi ombi la HTTP lilifanikiwa. Kwa mfano, ikiwa hati inapatikana kwenye seva na inaweza kutolewa kwa mteja, basi hali ina thamani " sawa", ambayo inaonyesha kwamba ombi lilikamilishwa kwa ufanisi. Hata hivyo, hali za kipekee zinaweza kuonekana - kwa mfano, hati haipo kwenye seva au mtumiaji hana haki ya kupokea rasilimali. Tutazingatia seti ya hali mbalimbali za majibu ya HTTP. ujumbe baadaye katika mhadhara huu. Kwa hivyo, mstari wa kwanza wa jibu la HTTP unaweza kuwa "HTTP/1.1 200 OK". Vijajuu vya HTTP katika jibu la HTTP pia ni kipengele muhimu. Huangazia maudhui yanayotumwa kwa mteja. kwa mfano, vichwa hivi vya HTTP vinaweza kuwa na taarifa kuhusu aina ya maudhui (hati ya HTML, picha, n.k.), urefu wa maudhui (ukubwa katika baiti), tarehe ya kurekebisha, hali ya akiba, n.k. Vijajuu hivi vyote huathiri jinsi data inavyoonyeshwa. mteja, na pia kuweka sheria za kuhifadhi data katika kashe ya mteja. Jibu la kawaida la HTTP linaweza kuonekana kama hii:


Katika mfano hapo juu, seva inaonyesha kuwa rasilimali imepatikana, aina yake ni hati ya HTML, na pia inaonyesha ukubwa na tarehe ya marekebisho. Baada ya mstari tupu huja yaliyomo kwenye hati ya HTML, i.e. kimsingi kile mteja aliomba. Kama ilivyo kwa ombi la HTTP, idadi ya vichwa katika jibu la HTTP inaweza kutofautiana kwa hiari ya seva ya wavuti.

Wakati wa kuzingatia muundo wa ombi la HTTP, wazo liliguswa Mbinu ya ombi la HTTP. Mbinu ya ombi la HTTP huamua jinsi ombi maalum la HTTP litakavyochakatwa, i.e. kwa maana fulani huamua semantiki zake. Kwa kuwa maombi ya HTTP yanaweza kuwa na maana mbalimbali, kubainisha mbinu ni sehemu muhimu ya kuunda ombi la HTTP. Maombi ya HTTP yanaweza kuwa na maana zifuatazo: kuomba rasilimali kutoka kwa seva, kuunda au kurekebisha rasilimali kwenye seva, kufuta rasilimali kwenye seva, nk.

Mbinu za ombi la HTTP zinazojulikana zaidi ni aina zifuatazo za mbinu:

PATA hukuruhusu kupokea habari kutoka kwa seva, mwili wa ombi daima unabaki tupu;
KICHWA sawa na GET, lakini mwili wa majibu daima unabaki tupu, inakuwezesha kuangalia upatikanaji wa rasilimali iliyoombwa na kusoma vichwa vya HTTP vya majibu;
POST inakuwezesha kupakia habari kwa seva, kwa asili inabadilisha rasilimali kwenye seva, lakini mara nyingi hutumiwa kuunda rasilimali kwenye seva, mwili wa ombi una rasilimali inayobadilishwa / kuundwa;
WEKA sawa na POST, lakini kimsingi inahusika katika kuunda rasilimali badala ya kuibadilisha; mwili wa ombi una rasilimali inayoundwa;
FUTA huondoa rasilimali kutoka kwa seva.

Mbali na mbinu hizi za HTTP, kuna idadi kubwa ya mbinu nyingine zilizofafanuliwa katika vipimo vya itifaki ya HTTP. Hata hivyo, licha ya hili, vivinjari mara nyingi hutumia tu njia za GET na POST. Hata hivyo, programu zingine zinaweza kutumia mbinu za HTTP kwa hiari yao.

Kama tulivyoona hapo awali, majibu ya HTTP yana msimbo wa hali au msimbo wa kurudi. Hali hii inaonyesha hali ya jibu la HTTP ambalo lilipokelewa kutoka kwa seva. Utaratibu huu ni muhimu kwa utendakazi wa itifaki ya HTTP, kwani hali mbalimbali zisizo za kawaida zinaweza kutokea wakati wa kusindika ombi. Misimbo yote ya hali ni nambari za tarakimu tatu. Kwa kuongeza, majibu ya HTTP yanaweza kuwa na maelezo ya maandishi ya hali. Nambari zote za hali zimegawanywa katika vikundi vitano.

Kila kikundi cha misimbo ya hali hubainisha hali ambayo ombi hujipata. Kikundi kinatambuliwa na tarakimu ya kwanza ya msimbo wa hali. Kwa mfano, misimbo ya hali ya kikundi cha 2xx inaonyesha mafanikio ya ombi la HTTP. Misimbo ya hali inayotumika sana imeonyeshwa kwenye jedwali hapa chini.

Kanuni Maelezo
1xx Nambari za habari
2xx Imefaulu kukamilisha ombi
200 Ombi lilichakatwa kwa ufanisi
201 Kitu kimeundwa
202 Taarifa zimekubaliwa
203 Habari ambayo si ya kuaminika
204 Hakuna maudhui
205 Weka Upya Yaliyomo
206 Maudhui kiasi (kwa mfano, wakati wa "kupakua" faili)
3xx Kuelekeza kwingine (hatua fulani inahitajika ili kukamilisha ombi)
300 Chaguzi kadhaa za kuchagua
301 Rasilimali huhamishwa kabisa
302 Nyenzo imehamishwa kwa muda
303 Tazama rasilimali nyingine
304 Maudhui hayajabadilika
305 Tumia seva ya wakala
4xx Tatizo sio kwa seva, lakini kwa ombi
400 Ombi batili
401 Hakuna ruhusa ya kutazama nyenzo
402 Malipo yanahitajika
403 Hauruhusiwi kuingia
404 Rasilimali haipatikani
405 Mbinu batili
406 Ombi lisilofaa
407 Usajili kwenye seva mbadala unahitajika
408 Muda wa ombi umekwisha
409 Migogoro
410 Hakuna rasilimali zaidi
411 Urefu unaohitajika
412 Masharti hayajatimizwa
413 Kipengele kilichoombwa ni kikubwa mno
414 Kitambulisho cha rasilimali (URI) ni kirefu sana
415 Aina ya rasilimali isiyotumika
5xx Makosa ya seva
500 Hitilafu ya Ndani ya Seva
501 Kazi haijatekelezwa
502 Ubovu wa lango
503 Huduma haipatikani
504 Muda wa lango umekwisha
505 Toleo la HTTP lisilotumika

Nambari hizi na zingine za hali hutumiwa kuwasilisha habari ya hali ya ombi kutoka kwa mteja hadi kwa seva.

Kipengele tofauti cha itifaki ya HTTP ni kwamba ndani ya itifaki hii habari hupitishwa kwa njia ya maandishi. Hii inamaanisha kuwa kufanya kazi na itifaki kama hiyo ni rahisi sana. Kwa kuongeza, wahandisi wa usalama huacha itifaki ya HTTP wazi hata kwa utawala mkali wa usalama. Kwa hiyo, utekelezaji wa mwingiliano wa mtandao ndani ya itifaki ya HTTP ni mojawapo ya maeneo ya kuahidi.

Hata hivyo, licha ya unyenyekevu wa itifaki, kuna tatizo la uvujaji wa habari zinazopitishwa. Kwa kuwa habari hupitishwa kwa maandishi wazi, kunasa habari kama hiyo ni rahisi sana. Katika hali zingine shida hii sio muhimu. Walakini, kwa programu za wavuti zinazofanya kazi na habari za siri, hii ni shida kubwa.

Kwa sababu hii, kuna marekebisho ya itifaki hii - HTTPS, i.e. Itifaki ya HTTP yenye usaidizi wa usimbaji fiche.

Kama unavyojua, kuna algoriti kali za usimbaji fiche ambazo husimba data kwa njia fiche kulingana na ufunguo uliopo. Ufunguo huo huo hutumiwa kusimba na kusimbua data - ikiwa kuna mtu yeyote anajua ufunguo wa habari iliyosimbwa, basi anaweza kuiondoa. Ufunguo ni mlolongo wa kawaida wa bits za urefu fulani. Ufunguo mrefu zaidi, ni ngumu zaidi kuvunja algorithm ya usimbuaji. Kwa hiyo, ili kulinda maelezo yako, unahitaji kuweka siri ya ufunguo wa encryption. Walakini, hii inawezaje kupatikana ndani ya mfumo wa mwingiliano kupitia itifaki ya HTTP? Baada ya yote, ikiwa unasambaza ufunguo huu kwa maandishi wazi, basi maana ya usimbuaji hupotea. Katika kesi hii, aina ya ziada ya encryption hutumiwa - asymmetric. Katika kesi hii, kuna jozi ya funguo - za umma na za kibinafsi. Kwa kutumia ufunguo wa umma, unaweza tu kusimba maelezo kwa njia fiche, na kwa kutumia ufunguo wa faragha, unaweza kuuondoa. Kwa kawaida, kwa mbinu hii, ufunguo wa faragha huwekwa siri na ufunguo wa umma unapatikana kwa umma. Walakini, algorithm ya asymmetric ni polepole kuliko ile ya ulinganifu, kwa hivyo hutumiwa kwa ubadilishanaji wa awali wa funguo za ulinganifu. Hebu tuangalie algoriti nzima jinsi muunganisho uliosimbwa wa HTTP unavyofanya kazi.


Wakati mteja anawasiliana na seva kwenye chaneli salama, seva huhifadhi ufunguo wa umma na wa kibinafsi. Katika wakati wa mwanzo wa muda, seva hutuma ufunguo wa umma wa usimbaji fiche wa asymmetric kwa mteja. Mteja hutengeneza bila mpangilio ufunguo wa usimbaji linganifu na kuusimba kwa kutumia ufunguo wa umma uliopokewa kutoka kwa seva. Baada ya hayo, mteja hutuma ufunguo uliosimbwa kwa seva na kwa wakati huu mteja na seva wana funguo sawa za usimbaji fiche wa ulinganifu. Inayofuata inakuja mwingiliano wa HTTP, ambao umesimbwa kwa njia fiche kwa kutumia ufunguo huu wa ulinganifu. Ufunguo wa ulinganifu unasalia kuwa siri na hauwezi kuzuiwa kwa sababu ufunguo wa faragha (unaoweza kutumiwa kusimbua ujumbe wa kwanza ulio na ufunguo wa ulinganifu) unasalia kuwa siri kwenye seva. Kwa hivyo, usiri na uadilifu wa data iliyopitishwa kupitia HTTP inahakikishwa

Muhtasari mfupi

Programu zote za wavuti zinatokana na itifaki ya HTTP. Itifaki ya HTTP husambaza maelezo ya maandishi na kufanya kazi katika hali ya kujibu ombi. Ombi la HTTP na jibu la HTTP lina muundo uliobainishwa kabisa - laini ya kukaribisha, vichwa na mwili wa ujumbe. Idadi ya vichwa vya HTTP ni tofauti. Vijajuu vya HTTP vinatenganishwa kutoka kwa mwili wa ujumbe kwa mstari tupu. Kila ombi la HTTP hutumwa kwa seva kama sehemu ya mbinu ya HTTP. Njia ya HTTP huamua semantiki za ombi (pata rasilimali, ongeza, badilisha, futa, nk). Katika majibu ya HTTP, pamoja na maelezo ya huduma na data muhimu, hali ya ombi inatumwa, ambayo inajulisha mteja kuhusu mafanikio ya ombi. Nambari zote za hali zimegawanywa katika vikundi. Kwa kuwa data inayotumwa kupitia HTTP inaweza kuzuiwa, haihakikishi usiri wa taarifa zinazotumwa. Ikiwa kiwango kama hicho cha usalama ni muhimu, basi unahitaji kutumia itifaki ya HTTPS, ambayo hutoa usimbaji fiche wa habari zinazopitishwa kulingana na mchanganyiko wa algorithms ya ulinganifu na asymmetric.

6.1 Huduma ya WWW

Huduma ya WWW (Mtandao Wote wa Ulimwenguni) imekusudiwa kwa kubadilishana habari ya hypertext.

Mradi huo ulipendekezwa mnamo 1989. Kivinjari cha kwanza kilionekana mnamo 1993.

WWW imejengwa kulingana na mpango wa seva ya mteja.

Kivinjari(Internet Explorer, Opera...) ni mteja wa itifaki nyingi na mkalimani wa HTML. Na kama mkalimani wa kawaida, mteja hufanya kazi mbalimbali kulingana na amri (vitambulisho). Utendaji huu haujumuishi tu kuweka maandishi kwenye skrini, lakini kubadilishana habari na seva wakati maandishi ya HTML yaliyopokelewa yanachambuliwa, ambayo hutokea kwa uwazi zaidi wakati wa kuonyesha picha za picha zilizopachikwa kwenye maandishi.

Seva ya HTTP(Apeche, IIS...) hushughulikia maombi ya mteja kupata faili (katika hali rahisi).

Mwingiliano kati ya mteja na seva kupitia itifaki ya HTTP.

Hapo awali, huduma ya WWW ilizingatia viwango vitatu:

    HTML (HyperText Markup Lan-guage) - lugha ya markup hypertext kwa nyaraka;

    URL (Universal Resource Locator) ni njia ya jumla ya kushughulikia rasilimali kwenye mtandao;

    HTTP (Itifaki ya Uhamisho wa HyperText) ni itifaki ya kubadilishana habari juu ya maandishi.

    CGI (Kiolesura cha Kawaida cha Lango) ni kiolesura cha lango zima. Imeundwa kwa mwingiliano kati ya seva ya HTTP na programu zingine zilizosakinishwa kwenye seva (kwa mfano, DBMS).

6.2 Itifaki ya HTTP

Hati ya kwanza (lakini si ya kiwango) ni RFC1945 (Itifaki ya Uhamisho wa Maandishi ya Juu -- HTTP/1.0 T. Berners-Lee, R. Fielding, H. Frystyk Mei 1996)

Baadhi ya vipengele vya programu:

    kuweka kina cha kutambaa kwa tovuti na viungo vya nje

    kubainisha aina ya faili (kiendelezi) cha kupakua, kwa mfano, unaweza kupakua picha tu.

    weka kikomo cha ukubwa wa faili.

    skanning kadi za picha.

    kuweka ratiba ya kazi, Mratibu aliyejengwa.

    kubainisha jina la mteja, ikiwa kuna kizuizi kwa baadhi ya wateja.

    kuweka idadi ya faili zilizopakuliwa kwa wakati mmoja.