Itifaki ya Uhamisho wa Maandishi ya Hypertext hutoa kiwango cha itifaki ya mtandao ambacho vivinjari na seva hutumia kuwasiliana. Unaona HTTP unapotembelea tovuti kwa sababu itifaki inaonekana katika URL (kwa mfano, Itifaki hii ni sawa na nyingine, kama vile itifaki ya kuhamisha faili, kwa kuwa inatumiwa na programu ya mteja kuomba faili kutoka kwa seva ya mbali. Kwa upande wa HTTP, kivinjari huomba faili za HTML kutoka kwa seva ya wavuti, ambayo kisha huonyeshwa kwenye kivinjari ikiwa na maandishi, picha, viungo, na vipengee vinavyohusiana.
Kwa sababu vivinjari vinawasiliana kwa kutumia HTTP, kwa kawaida unaweza kuacha itifaki kutoka kwa URL unapoiandika kwenye upau wa anwani wa kivinjari.
Historia ya
Tim Berners-Lee aliunda kiwango cha awali cha HTTP mapema miaka ya 1990 kama sehemu ya kazi yake ya kufafanua Wavuti asili ya Ulimwenguni Pote. Matoleo matatu ya msingi yalitolewa katika miaka ya 1990:
- HTTP 0.9: Usaidizi wa hati za kimsingi za maandishi.
- HTTP 1.0: Viendelezi vya kutumia tovuti tajiri.
- HTTP 1.1: Imeundwa ili kushughulikia mapungufu ya utendakazi wa HTTP 1.0, iliyobainishwa katika Internet RFC 2068.
Toleo jipya zaidi, HTTP 2.0, limekuwa kiwango kilichoidhinishwa mwaka wa 2015. Hudumisha uoanifu wa nyuma na HTTP 1.1 lakini inatoa uboreshaji zaidi wa utendakazi.
Ingawa HTTP ya kawaida haisimba kwa njia fiche trafiki inayotumwa kupitia mtandao, kiwango cha HTTPS huongeza usimbaji fiche kwenye HTTP kwa kutumia Safu ya Soketi Salama au, baadaye, Usalama wa Tabaka la Usafiri.
Jinsi HTTP Inavyofanya kazi
HTTP ni itifaki ya safu ya programu iliyojengwa juu ya TCP inayotumia muundo wa mawasiliano wa seva ya mteja. Wateja na seva za HTTP huwasiliana kupitia ombi na ujumbe wa majibu. Aina tatu kuu za ujumbe wa HTTP ni GET, POST, na HEAD.
- HTTP GET: Ujumbe unaotumwa kwa seva una URL pekee. Vigezo sifuri au zaidi vya hiari vinaweza kuongezwa hadi mwisho wa URL. Seva huchakata sehemu ya data ya hiari ya URL, ikiwa iko, na kurudisha matokeo (ukurasa wa wavuti au kipengele cha ukurasa wa wavuti) kwa kivinjari.
- HTTP POST: Barua pepe huweka vigezo vyovyote vya hiari vya data kwenye mwili wa ujumbe wa ombi badala ya kuviongeza hadi mwisho wa URL.
- HTTP HEAD: Maombi hufanya kazi sawa na maombi ya GET. Badala ya kujibu na maudhui kamili ya URL, seva hutuma tu taarifa ya kichwa (iliyomo ndani ya sehemu ya HTML).
Kivinjari huanzisha mawasiliano na seva ya HTTP kwa kuanzisha muunganisho wa TCP kwa seva. Vipindi vya kuvinjari wavuti hutumia mlango wa seva 80 kwa chaguo-msingi, ingawa milango mingine kama vile 8080 wakati mwingine hutumiwa badala yake.
Baada ya kipindi kuanzishwa, unaanzisha utumaji na upokeaji wa jumbe za HTTP kwa kutembelea ukurasa wa wavuti.
HTTP ni ule unaoitwa mfumo usio na uraia. Hii inamaanisha kuwa, tofauti na itifaki zingine za kuhamisha faili kama vile FTP, muunganisho wa HTTP hupunguzwa baada ya ombi kukamilika. Kwa hivyo, baada ya kivinjari chako kutuma ombi na seva kujibu kwa ukurasa, muunganisho hufungwa.
Kutatua
Ujumbe unaotumwa kupitia HTTP unaweza kushindwa kwa sababu kadhaa:
- Hitilafu ya mtumiaji.
- Kuharibika kwa kivinjari au seva ya wavuti.
- Hitilafu katika uundaji wa kurasa za wavuti.
- Hitilafu za mtandao za muda.
Hitilafu hizi zinapotokea, itifaki hunasa sababu ya kutofaulu na kuripoti msimbo wa hitilafu kwa kivinjari uitwao msimbo wa hali ya HTTP. Hitilafu huanza na nambari fulani ili kuonyesha ni aina gani ya makosa.
Kwa mfano, hitilafu zilizo na msimbo wa kushindwa unaoanza na nne zinaonyesha kuwa ombi la ukurasa haliwezi kukamilika ipasavyo, au kwamba ombi lina sintaksia isiyo sahihi. Kwa mfano, makosa 404 yanamaanisha kuwa ukurasa wa wavuti hauwezi kupatikana; tovuti zingine hata hutoa kurasa maalum za kufurahisha za hitilafu 404.