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.