Ang Hypertext Transfer Protocol ay nagbibigay ng network protocol standard na ginagamit ng mga web browser at server para makipag-usap. Nakikita mo ang HTTP kapag bumisita ka sa isang website dahil lumalabas ang protocol sa URL (halimbawa, Ang protocol na ito ay katulad ng iba, tulad ng file transfer protocol, dahil ginagamit ito ng isang client program upang humiling ng mga file mula sa isang malayuang server. Sa kaso ng HTTP, ang isang web browser ay humihiling ng mga HTML na file mula sa isang web server, na pagkatapos ay ipapakita sa browser na may teksto, mga larawan, mga hyperlink, at mga nauugnay na asset.
Dahil nakikipag-usap ang mga browser gamit ang HTTP, karaniwan mong mai-drop ang protocol mula sa isang URL kapag na-type mo ito sa address bar ng browser.
History ng
Nilikha ni Tim Berners-Lee ang paunang pamantayan ng HTTP noong unang bahagi ng 1990s bilang bahagi ng kanyang gawain sa pagtukoy sa orihinal na World Wide Web. Tatlong pangunahing bersyon ang na-deploy noong 1990s:
- HTTP 0.9: Suporta ng mga pangunahing hypertext na dokumento.
- HTTP 1.0: Mga extension upang suportahan ang mga rich website.
- HTTP 1.1: Binuo upang tugunan ang mga limitasyon sa pagganap ng HTTP 1.0, na tinukoy sa Internet RFC 2068.
Ang pinakabagong bersyon, HTTP 2.0, ay naging isang naaprubahang pamantayan noong 2015. Pinapanatili nito ang backward compatibility sa HTTP 1.1 ngunit nag-aalok ng mga karagdagang pagpapahusay sa performance.
Habang ang karaniwang HTTP ay hindi nag-e-encrypt ng trapikong ipinadala sa isang network, ang pamantayan ng HTTPS ay nagdaragdag ng pag-encrypt sa HTTP sa pamamagitan ng paggamit ng Secure Sockets Layer o, sa ibang pagkakataon, Transport Layer Security.
Paano Gumagana ang
Ang HTTP ay isang application layer protocol na binuo sa ibabaw ng TCP na gumagamit ng modelo ng komunikasyon ng client-server. Ang mga kliyente at server ng HTTP ay nakikipag-usap sa pamamagitan ng mga mensahe ng kahilingan at pagtugon. Ang tatlong pangunahing uri ng mensahe ng HTTP ay GET, POST, at HEAD.
- HTTP GET: Ang mga mensaheng ipinadala sa isang server ay naglalaman lamang ng isang URL. Maaaring idagdag ang zero o higit pang mga opsyonal na parameter ng data sa dulo ng URL. Pinoproseso ng server ang opsyonal na bahagi ng data ng URL, kung mayroon, at ibinabalik ang resulta (isang web page o elemento ng isang web page) sa browser.
- HTTP POST: Inilalagay ng mga mensahe ang anumang opsyonal na parameter ng data sa katawan ng mensahe ng kahilingan sa halip na idagdag ang mga ito sa dulo ng URL.
- HTTP HEAD: Gumagana ang mga kahilingan sa mga kahilingan sa GET. Sa halip na tumugon kasama ang buong nilalaman ng URL, ibinabalik lamang ng server ang impormasyon ng header (na nilalaman sa loob ng seksyong HTML).
Nagsisimula ang browser ng komunikasyon sa isang HTTP server sa pamamagitan ng pagsisimula ng koneksyon ng TCP sa server. Gumagamit ang mga session ng pag-browse sa web bilang default ng server port 80, bagama't ang ibang mga port gaya ng 8080 ay minsan ginagamit sa halip.
Pagkatapos maitatag ang isang session, iti-trigger mo ang pagpapadala at pagtanggap ng mga HTTP na mensahe sa pamamagitan ng pagbisita sa web page.
Ang HTTP ay tinatawag na stateless system. Nangangahulugan ito na, hindi tulad ng iba pang mga protocol ng paglilipat ng file tulad ng FTP, ang koneksyon ng HTTP ay ibinabagsak pagkatapos makumpleto ang kahilingan. Kaya, pagkatapos ipadala ng iyong web browser ang kahilingan at tumugon ang server kasama ang page, magsasara ang koneksyon.
Pag-troubleshoot
Ang mga mensaheng ipinadala sa pamamagitan ng HTTP ay maaaring mabigo sa ilang kadahilanan:
- Error ng user.
- Maling paggana ng web browser o web server.
- Mga error sa paggawa ng mga web page.
- Mga pansamantalang aberya sa network.
Kapag nangyari ang mga pagkabigo na ito, kinukuha ng protocol ang sanhi ng pagkabigo at nag-uulat ng error code sa browser na tinatawag na HTTP status line/code. Nagsisimula ang mga error sa isang tiyak na numero upang isaad kung anong uri ito ng error.
Halimbawa, ang mga error na may failure code na nagsisimula sa apat ay nagpapahiwatig na ang kahilingan para sa page ay hindi makumpleto nang maayos, o na ang kahilingan ay naglalaman ng maling syntax. Bilang halimbawa, ang 404 na mga error ay nangangahulugan na ang isang web page ay hindi mahahanap; nag-aalok ang ilang website ng nakakatuwang custom na 404 na error page.