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.