Ang Internet: HTTP at HTML Ako si Jasmine at ako ang program manager sa XBOX One engineering team. Isa sa aming napakalaking tampok ay tinatawag na XBOX Live. Isa itong online na serbisyo na nagkokonekta sa mga gamer sa lahat ng panig ng mundo, at umaasa tayo sa internet upang mangyari ito. Hindi ito madaling gawain at may maraming bagay na nangyayari sa likod ng mga eksena. Ang internet ay ganap na bumabago kung paano nakikitungo at kumokonekta ang mga tao. Pero paano ito gumagana? Paano totoong nakikipag-usap ang mga computer sa buong mundo sa isa't isa? Tingnan natin ang pag-browse sa web. Una, magbukas ng web browser. Ito ang app na ginagamit mo upang i-access ang mga web page. Sunod, i- type mo ang web address, o URL, na tumatayo sa Uniform Resource Locator ng website na gusto mong bisitahin tulad ng tumblr.com. Kumusta, ako si David Karp, pundador ng Tumblr at narito kami ngayon upang pag-usapan kung paano ang mga web browser na ito na ginagamit natin ay tunay na gumagana. Kaya malamang na nagtataka ka kung ano ang tunay na nangyayari kapag ita-type mo ang isang address sa web browser at saka tamaan ang enter. At talaga itong nakababaliw na tulad ng maiisip mo. Kaya sa sandaling magsimula ang computer mo na makipag-usap sa isa pang computer, na tinatawag na server, madalas iyan na libo-libong milya ang layo. At sa mga millisecond humihingi ang computer mo sa server na iyan ng website, at ang server na iyan ay nagsisimulang makipag-usap sa computer mo sa isang wika na tinatawag na HTTP. Tumatayo ang HTTP sa Hyper Text Transfer Protocol. Maaari mong isipin ito bilang ang wika na ginagamit ng isang computer upang humingi sa isa pang computer ng dokumento. At ito ay totoong talagang medyo malinaw. Kung haharangin mo ang pag-uusap sa pagitan ng computer mo at web server sa internet, pangunahin itong binubuo ng ilang bagay na tinatawag na mga hiling na "GET". Ang mga iyon ay ang talagang napakasimpleng salitang KUNIN at ang pangalan ng dokumento na hinihiling mo. Kaya kung sinusubukan mong mag-log sa Tumblr at i-load ang aming login page, ang ginagawa mo lang ay ipinapadala ang GET na hiling sa server ng server na nagsasabi GET /login. At sinasabi niyan sa server ng Tumblr na gusto mo ang lahat ng HTML code para sa login page ng Tumblr. Siyanga pala tumatayo ang HTML sa Hyper Text Markup Language at maiisip mo iyan bilang ang wika na magagamit mo upang sabihin sa web browser kung paano ang magiging itsura ng page. Kung naiisip mo ang ilang bagay na tulad ng Wikipedia, na talaga lang isang malaking simpleng dokumento at ang HTML ay ang wika na ginagamit mo upang gawin ang titulo na malaki at makapal, upang gawin ang font na tamang font, upang i-link tiyak na teksto sa mga tiyak na ibang page, upang gawin ang ilang teksto na makapal, upang gawin ang ilang teksto na italiko, upang ilagay ang isang imahen sa gitna ng page, upang i-align ang imahen sa kanan, upang i-align ang imahen sa kaliwa. Ang teksto ng isang web page ay kasamang direkta sa HTML, pero ang iba pang bahagi tulad ng mga imahen o video ay mga hiwalay na file na mayroon ng kanilang mga URL na kailangang hilingin. Nagpapadala ang browser ng mga hiwalay na HTTP na hiling para sa bawat isa sa mga ito at nagpapakita sa kanila sa pagdating nila. Kung ang isang web page ay may maraming iba't ibang imahen, bawat isa sa kanila ay nagdudulot ng hiwalay na HTTP na hiling at naglo-load ang page nang mas mabagal. Ngayon minsan kapag nagba-browse ka ng web, hindi ka lang humihiling sa mga pages na may mga hiling na GET. Minsan nagpapadala ka ng impormasyon tulad kapag sumasagot ka ng isang form o nagta-type ka ng tanong sa paghahanap. Ipinapadala ng browser mo ang impormasyong ito sa malinaw na teksto sa web server gamit ang HTTP POST na hiling. Sabihin nating nag-log in ka Tumbler. Buweno ang unang bagay na gagawin mo ay gagawa ka ng POST na hiling, na isang POST sa login page ng Tumblr na may ilang datos na nakalakip dito. Mayroon itong email address mo, may password mo ito. Na pumupunta sa server ng Tumblr. Inaalam ng server ng Tumblr na okey, ikaw si David. Nagpapadala ito ng web page pabalik sa browser mo na nagsasabi, Tagumpay! Naka-log in bilang David. Pero kaalinsabay ng web page na iyan, naglalakip din ito ng kaunting invisible na cookie data na nakikita at alam ng browser mo na i-save. At talagang mahalaga dahil talaga ito ang tanging paraan na matatandaan ng website kung sino ka. Ang lahat ng cookie data ay talagang isang ID card ng Tumblr. Numero ito na kumikilala sa iyo bilang David. At hinahawakan ng web browser mo ang numerong iyan at sa susunod na pagkakataon na i-refresh mo ang Tumblr, sa susunod na pagkakataon na pumunta sa Tumblr.com, ang web browser mo ay alam na awtomatikong ilakip ang ID number na iyan gamit ang hiling na ipinapadala nito sa mga server ng Tumblr. Kaya ngayon nakikita ng mga server ng Tumblr ang hiling na galing sa browser mo, nakikita ang ID number, at alam na "Okey, ito ay isang hiling mula kay David." Ngayon, ang internet ay ganap na bukas. Lahat ng mga koneksiyon nito ay ibinahagi at ang impormasyon ay ipinapadala sa malinaw na teksto. Ginagawa nitong posible para sa mga hacker na magbutingting sa anumang personal na impormasyon na ipinapadala mo sa internet. Pero ang mga ligtas na website ay iniiwasan ito sa pamamagitan ng paghingi sa web browser na makipag-usap sa isang matatag na paraan gamit ang ilang bagay na tinatawag na Secure Sockets Layer at kahalili nito Transport Layer Security. Maaari mong isipin ang SSL at TLS bilang isang layer ng seguridad na nakabalot sa iyong mga pag-uusap upang protektahan sila sa pagbubutingting o pangingialam. Ang SSL at TLS ay aktibo kapag nakita mo ang maliit na kandado na lumilitaw sa browser address bar mo, kasunod ng HTTPS. Sinisiguro ng mga HTTPS protocol na ang mga HTTP na hiling mo ay matatag at protektado. Kapag hiningi ng isang website sa browser mo na makisangkot sa isang matatag na koneksiyon, nagbibigay muna ito ng digital na sertipiko. Na tulad ng isang opisyal na ID card na nagpapatunay na ito ang website na inaangkin nitong maging. Ang mga digital na sertipiko ay inilalathala ng mga awtoridad sa sertipiko, na mga pinagkakatiwalaang entidad na nagbeberipika sa mga pagkakakilanlan ng mga website at naglalabas ng mga sertipiko para sa kanila. Tulad lang na maaaring maglabas ang pamahalaan ng mga ID o pasaporte. Ngayon kung sinusubukan ng isang website na simulan ang matatag na koneksiyon nang walang tamang inilabas na digital na sertipiko, bababalaan ka ng browser mo. Iyan ang mga basics ng pagba-browse sa web! Ang bahagi ng internet na nakikita natin sa araw-araw. Upang buurin, pinapangasiwaan ng HTTP at DNS ang pagpapadala at pagtanggap ng HTML, mga media file, o anuman sa web. Ang gumagawa nitong posible sa ilalim ng hood ay TCP/IP at mga router network na naghahati-hati at naglilipat sa impormasyon sa mga maliit na packet. Ang mga packet na iyon mismo ay gawa sa binary, mga pagkakasunod-sunod ng mga 1 at 0 na pisikal na naipadala sa pamamagitan ng mga kawad na may kuryente, kableng fiber optic, at mga network na wireless. Sa kabutihang palad, sa sandaling natuto ka kung paano gumagana ang isang layer ng internet, maaasahan mo ito nang hindi tinatandaan ang lahat ng detalye. At maaari nating pagkatiwalaan na ang lahat ng mga layer na iyon ay gaganang magkasama upang matagumpay na maghatid ng impormasyon ayon sa laki at na may pagiging maaasahan.