David MALAN: Lahat ng karapatan. Ito ay CS50. At ito ay ang simula ng linggo pitong. Kaya ngayon, marahil Sa kabutihang palad, simulan namin ang aming paglipat mula sa mas mababang antas mundo ng C programming sa mas mataas na antas mundo ng web programming. At gamit na, magpapadala kami Titingnan sa eksakto kung paano gumagana ang internet, kung ano ang mga makina at mga internets na na ginagamit mo para sa taon na ngayon talagang gawin sa ilalim ng hood patungo sa isang mas mahusay na pag-unawa sa kung paano ito sa lahat ng ang gumagana, at kung paano maaari mong gawin itong gumana para sa iyo. Patungo sa layuning iyon, bakit hindi tumagal kami ng isang tumingin muna sa isang clip mula sa palabas sa TV tinatawag na Numb3rs, na makakuha ng sa amin makapagsimula bilang sa eksakto kung paano gumagana ang internet. [VIDEO pag-playback] -It Ang isang 32-bit na IPP4 address. -IP. Iyon ang internet. -pribadong Network. Ito ay pribadong network Amita ni. Oh, siya ay napakahusay. -Oh, Charlie. -It Ay isang salamin ng IP address. Niya pagpapaalam sa amin kung ano ang pinapanood siya ang ginagawa sa real time. [END VIDEO pag-playback] David MALAN: Kaya mayroong isang buo maraming mali sa na palabas sa TV. Kaya sabihin mang-ulol ang pagitan nang eksakto isa sa unang mga bagay at makita kung hindi namin maaaring wrap ating mga isip sa paligid nito. Kaya ang huling frame ng na pelikula, palabas ng na ay ang isang ito dito, na Mukhang magmungkahi na ito ay kung ano ang ilang mga hacker ay gumagamit ng upang makakuha ng sa ilang mga sistema. Subalit hindi. Kung mag-zoom in sa ito source code, na ay tinatawag na isang wika Layunin C sa na iPhone apps, iPad apps, at Mac OS apps ay nakasulat, makikita mo na ito ay para sa isang uri pagguhit ng programa ng na may krayola bilang isang variable. Kaya Bukod pa rito, maaari kang napansin address na ito dito. Ngayon, ito ay isang bilang mali. At ito ay marahil sadyang pinili upang maging isang di-wastong address upang ito Hindi aktwal na humantong sa isang lugar kung talagang bibisita ito ang isang manonood ng TV. Subalit ang bilang na ito dito, isang bagay na tuldok ng isang bagay tuldok ng isang bagay na tuldok ang isang bagay ay kung ano ang Sa pangkalahatan ay kilala bilang isang IP address. At ito ay tunay na isang magandang segue sa paksang ito higit pa Sa pangkalahatan, na kilala bilang IP, internet protocol. Kaya ikaw ay malamang na hindi bababa sa narinig ito parirala bago. Ngunit kung ano ang IP, o internet protocol bilang nauunawaan mo ito ngayon? Logro ay, kung hiniling namin para sa isang palabas ng mga kamay, karamihan sa iyo malamang na sinabi ng IP address ng mga salita bago. Kaya kung ano ang tinutukoy mo? Madla: [hindi marinig]? David MALAN: Ano iyon? Madla: [hindi marinig]? David MALAN: Sa sandaling higit pa. Madla: Address ng computer. David MALAN: Ang address ng computer. Kaya iyon mismo kanan. Ito ay lumiliko out na ang bawat computer sa internet, at mga araw na ito, ang bawat telepono sa iyong bulsa at tablet sa iyong backpack, may IP address, internet protocol address, na ay isang kakaibang address na kumikilala ito sa buong internet. Ngayon, na ang isang bit ng isang puting hindi nagsasabi ng totoo dahil ang mundo ay talagang Nauubusan na ng mga IP address. Kaya sinimulan namin ang paggamit ng pribadong mga IP address. Ngunit higit pa sa na sa ilang sandali. Ngunit maaari mong isipin ang isang IP address bilang tulad ng iyong postal serbisyo ng kalye address. Hindi namin gamitin ang halimbawa ng Maxwell Dworkin, ang CS gusali, before- 33 Oxford Street Cambridge, Mass, 02138, USA. Iyon ay natatanging address nito sa buong mundo. Gayundin gawin mga computer magkaroon ng mga natatanging address. Sila mangyari lamang sa Inaasahan ng kaunti different- isang numero na tuldok ng isang numero ng tuldok isang numero na tuldok ang isang numero. At ang sinuman na aktwal na alam ano ang wastong hanay ng mga numero ay para sa bawat isa sa mga hash? Oo. Madla: 0-255? David MALAN: Eksaktong. 0-255. At kahit na hindi mo alam na, ngayon gumuhit ng konklusyon, kung gaano karaming mga bits ay ginagamit upang kumatawan sa bawat isa sa mga numerong ito pagkatapos? Eight tila dahil sa ang pinakamataas na maaari mong bilangin ay 255, na may 8-bit na halaga. Kaya sa kabuuan, ang IP address ay 32-bit. Kaya mabilis pagpapasa sa mathematical konklusyon, kung gaano karaming mga posibleng mga IP address ang naroon sa mundo, pagkatapos ay i-? Kaya na 8 plus 8 plus 8 plus 8, kaya na 32 bit. At lagi naming sinabi na ang 2 sa 32 ay halos? OK. Kukunin ko field ang isang ito. Apat na bilyon. At usapan natin ang tungkol na sa linggo zero kapag usapan natin ang tungkol sa mga aklat ng telepono may nakatutuwang mga numero ng pahina. Subalit ang uri ng mga ito ay mayroong isang tiyak na bilang ng mga IP address. At kahit na 4000000000 Maaaring mukhang tulad ng maraming, kami mga kawani na tao ay sumakop nang madaming masyadong ilang ng mga ito para sa lahat ng aming mga server ng at aparato at iba pa. Kaya ito ay talagang nagiging isang problema. Ngayon, mayroong ay may gawi na maging isang pamamaraan sa likod ng kung sino ang may kung ano ang IP. Halimbawa, marami sa mga ang computer sa Harvard magkaroon ng mga natatanging address na magsimula gamit ang isa sa mga dalawang halaga. MIT, katulad, ay may prefix. At ng maraming mga kumpanya at mga unibersidad May sariling natatanging prefix. At pagkatapos ay ang karamihan sa amin para sa aming mga tahanan koneksyon sa internet at mga katulad, ibahagi namin ang ilang prefix na Comcast o ang isang taong katulad na nangyayari sa mga pag-aari. At ito ay lamang na sabihin na kung iyong tumingin sa karamihan ng mga computer sa kampus, gusto nila marahil ay may isang IP address na ganito ang hitsura. Ngayon, maaari mo ring makita paminsan-minsan isang IP address nagsisimula ito tulad nito. Sa katunayan, kung ang alinman sa mong lumaki na may internet access sa bahay, at kayo ay kailanman sapat technically malaman upang sundutin sa paligid ang iyong sariling mga setting ng computer, marahil sa halip Nakita ng isang address na ganito ang mas katulad ito, na makapagsimula sa 10, o 172.6, o 192.168, o ilang variant nito. At na lamang ay nangangahulugan na ang mundo ay magtabi ng buong bungkos ng mga numero na pribado, na nangangahulugang maaari mong gamitin ang mga ito sa iyong bahay, maaari mo ring gamitin ang mga ito sa iyong campus at sa loob ng iyong kumpanya, ngunit hindi mo maaaring gamitin ang mga ito sa internet sa malaki. At gayon pribadong mga IPs ay isang solusyon patungo sa pagtiyak na hindi bababa sa gayon malayo bilang ng buong mundo ay nababahala, hindi namin ginagamit na maraming mga IP address. Ngunit hindi bababa sa, maaari namin, sa aming sariling mga campus, mayroon halos bilang maraming mga IPs bilang gusto naming. Ngunit na nagmamalasakit? Ano ang kaugnayan ng lahat ng ito sa isang aktwal na paggamit ng internet? Well, sabihin tumagal ng isang pagtingin sa marahil ng isang simpleng larawan dito. Hayaan akong sa pamamagitan ng parehong ng ang mga up sa screen. At patawarin ang aking sulat-kamay dito. Ngunit kung sa tingin namin ng ating sarili bilang pagiging ang maliit na laptop dito pang lugar sa campus, mga araw na ito ito ay may Wi-Fi. Ngunit sa nakalipas na panahon at kung mo ang tamang adapter, maaari itong magkaroon ng isang ethernet cable na kung saan ay katulad ipaalam kumunekta ka sa ilang mga uri ng device. At maaari mong tawagin ito anumang bilang ng mga bagay. Ngunit ako pagpunta sa sige at tawagan ito, sa ngayon, kung paano tungkol sa isang access point? Kaya ito ang aking laptop. Ito ang aking AP, o access point, at ito ay ilang aparatong wireless, Hindi hindi tulad ng mga na Harvard May lahat sa ibabaw ng kisame at pader sa paligid ng campus na may kumikislap na ilaw at na kung ano ang iyong laptop ginagamit upang makipag-usap nang wireless upang ang natitirang bahagi ng network. Kaya kahit papaano ito laptop ay pakikipag-usap sa bagay na iyon sa pader, sa dining hall, o sa ibang lugar. Ngayon, samantala, na access point nakakonekta sa ibang bagay sa campus. At marahil ito ay isang bagay na kilala bilang isang switch. At hanapin ang mga ito sa higit pang mga kawili-wiling ng maraming sa mga diagram kahon lamang. Ngunit kahit papaano, bagay na konektado sa isang lumipat. At siya namang, kahit papaano switch na nakakonekta sa isang aparato na marahil isang bit mas malaki, na tinatawag na router. At pagkatapos, samantala, Harvard ay konektado sa buong internet na kami ay gumuhit ng mga ito sa cloud dito, sa pamamagitan ng ilang bilang ng mga wire o wireless technology. Kaya maraming mga hakbang sa pagitan ng sa akin at sa nalalabing bahagi ng mundo. At sa katunayan, kahit na sa loob ng ang larawang ito dito, mayroong ilang mga iba pang mga server ng o mga serbisyo kasangkot. At lamang ako ng pagpunta sa gumuhit mga medyo abstractly lamang sa gayon ay mayroon kaming ang acronym bago sa amin. Ang isa ay tinatawag na DHCP. At isa pa, ang kaunti pa nang kawili-wili para sa araw, ay tinatawag na DNS. Kaya ito ay server na kahit papaano -access pati na rin sa aking computer. Kaya ngayon, ang mang-ulol ipaalam ang pagitan ng kaunting magulong pag-uusap. Kaya ang access point ay lang ang aparatong wireless madalas na may antenna na aktwal na hayaan kang makipag-usap sa isang wireless. Sa bahay, maaari mong tawagan ito ng bahay router. Maaaring gawin ng Linksys, o Apple, o D-Link, o anumang bilang ng mga kumpanya. Iyon, sa pagliko, ay konektado sa isang paglipat ng isang uri. O bumalik sa bahay, ano ang iyong Wi-Fi Marahil device na nakakonekta sa halip? Dahil marahil ay hindi pagmamay-ari ang lahat ng mga kagamitang ito. Oo. Cable modem o DSL modem kamalig na nakuha mo mula sa Verizon, o Comcast, o isa sa mga carrier. Kaya sa tingin ng lahat ng ito kumplikado bilang pagsuporta sa isang unibersidad o talaga isang negosyo tulad ng Comcast. At talagang, ang mga bagay na na sa inyong tahanan Marahil sa bandang ito ng bakod plus siguro ang isa sa mga bahay route-- isa sa mga ito ay cable modem o DSL modem ang maaaring ibigay. Kaya isang switch ay isang device lamang sa ang maramihang mga jacks data sa loob nito. Sa katunayan, kung isipin mo na balita ulat namin play sa malaking screen ng ilang linggo nakaraan kung saan kami ay pinag-uusapan ng shell shock, at kung paano masamang ito ay? At mayroong mga mga larawan ng mga kable, at jacks, at mga bagay na mukhang teknikal? Yaong mga hindi nakapagsasalita switch lamang na lamang nag-uugnay sa internet computer sa pamamagitan ng i-plug ang cable sa kanila. Kaya na ang lahat ng switch ay. Ngayon, mga aparatong ito makakuha ng maliit na mas kawili-wiling. DHCP. Kung nag-poked sa paligid ng iyong computer sa bahay o kahit na sa campus, Maaaring nakita mo ang acronym. May nakakaalam ba kung ano ang isang DHCP server ay? Dynamic host configuration protocol? Hindi ang uri ng bagay sa iyo talagang kailangang isulat. DHCP. ang sinuman sa lahat? Lahat ng karapatan. Kaya rewind ng mga kuwento ipaalam. Kung ang kuwento dito sa banda ay predicated sa aking pagkakaroon ng isang kakaibang address sa mundo, sa isang IP address, kung saan ay na nanggaling? Sa nakalipas na panahon, kapag na kailangan mong campus, aktwal na mayroon kang magtanong sa isang tao sa Harvard, ano ang dapat ang aking mga IP address. At gagawin mo nang manu-mano -type ito sa iyong computer. Ngunit higit pang mga kamakailan lamang, teknolohiya umiiral na nagbibigay-daan sa iyo upang pabago-bago, DHCP, kumuha ng isang IP address lamang kapag plug mo sa campus wireless o sa isang wire. Kaya DHCP server ay isang server lamang na nagbibigay sa iyong computer ng isang natatanging IP address, medyo random o sa pamamagitan ng ilang mga algorithm. Ngunit kung sa tingin mo pabalik ng ilang linggo o ilang taon, kapag unang nakarehistro ang iyong computer sa kampus, ikaw ay nagsasabi sa Harvard, pahintulutan sa akin upang bigyan ako ng IP address. Ngayon DNS simulan upang makakuha ng isang maliit na mas kawili-wiling. Sistema ng pangalan ng domain. Gusto ba ng sinuman na kumuha ng isang pag-iwa sa kung ano ang bagay na ito ay dito? Ito ay isa o higit pang mga server na magsagawa ng walang kinikilingan simpleng gawain na uri ng mahalaga. Oo. Madla: Pagsasalin ng mga URL [hindi marinig]. David MALAN: Oo. Tina-translate ito ng mga URL sa IP address at vice versa. Isaalang-alang, pagkatapos ang lahat, na kapag pumunta ka sa website, -type ka sa isang bagay tulad ng facebook.com, o google.com, o harvard.edu, mo ay tiyak na hindi kailanman na-type pinaka-malamang ng numeric na IP address. At maaari mong isipin ang dahilan kung bakit. Bumalik sa araw, kahit na ngayon sa ilang mga lawak, kapag gumawa ka ng isang telepono tumawag sa isang kumpanya, sila ay talagang magsumikap upang bumili ng kanilang mga sarili 800 numero na aktwal na may mga salita sa loob nito, tulad ng 1-800-collect o isang bagay na hindi malilimot na tulad nang sa gayon ay mga tao ay hindi kailangang tandaan kung ano C-O-L-L-E-C-T aktwal na lumalaki sa. Kaya nakita namin ang heuristic sa nakaraan. At sa katunayan, iyon ang mga IP address at kung ano ang makikita namin tumawag sa mga pangalan ng host o ganap na kwalipikadong mga pangalan ng domain gawin para sa amin. Binibigyang-daan sa amin sa address na server sa pamamagitan ng mga salita sa halip ng mga numero. Kaya kung paano gawin namin ang aktwal na tingnan ang conversion na ito. Pupunta ako sa sige at buksan up ng isang programa. Lamang ako ng pagpunta sa sige at buksan up ng isang terminal na window. At ako pagpunta sa sige at ipakita sa iyo kung ano ang ginagawa ng mga DNS server. Halimbawa, kung Nais kong makita kung ano ang IP address ay sa Facebook, Ang maaari kong i-type sa isang terminal -prompt tulad ng this-- at maaari mong gawin ito kahit na sa loob ng iyong appliance. At iyon ang lookup facebook.com. At nakakakita ako ng isang bungkos ng mga bagay. Ang unang tugon ay DNS server-- Harvard ni na larawan na na hindi ko na iginuhit doon. --that ni na nagsasabi sa akin na IP Facebook ni address na ito tila. Kaya ipaalam sa akin sige at kopyahin na 173.252.120.16. At hayaan mo akong magbukas ng Chrome sa aking Mac. At hayaan mo akong pumunta sa http: // at i-paste ang hit na IP address sa at pindutin ang Enter. At sa katunayan, hanapin ko ang aking sarili sa Facebook. Kaya kahit papaano ang conversion na iyon, sa katunayan, ang nangyari. At kung gagawin ko ito muli, sabihin gawin nslookup, www.google.com. Nakakuha ako pabalik ng buong bungkos ng mga tugon. At sa katunayan, mayroong iba't ibang mga paraan na mga kumpanya ipatupad ito. Minsan, sabihin nila ang mundo mayroon sila ng isang IP address. Ngunit na ng isang IP address ay makakakuha ng nalutas o nai-map sa maraming mga server. O sa kaso ng Google, sabihin nila ang mundo, mayroon kaming isang buong bungkos ng mga IP address. Ang iyong laptop ay malugod na makipag-usap makipag-ugnay sa anuman sa isa sa mga server na ito. Kaya lahat ng na nangyayari sa ilalim ng hood. Kapag nag-type ka sa www.google.com Magpasok sa iyong browser, ang iyong browser, at sa i-on ang iyong operating, Mac OS, o Windows, o Ubuntu Linux, hilingin sa DNS server na nasa malapit, kung ano ang ang aktwal na address ng server na ito. Dahil ang huling device sa larawan na ito, ang isang router, ay ang isa na kung saan ang layunin sa buhay ay ang impormasyon ng ruta, packet ruta upang magsalita, envelopes ng digital na impormasyon na naglalaman ng zeroes at mga mula nagpadala sa patutunguhan, mula sa pinagmulan sa receiver. At kaya ang mga bagay-bagay ruta router. Kaya bakit ay ang lahat ng partikular na may kaugnayan? Well, sabihin tumagal ng isang hitsura sa kung paano ito maaaring magamit. Ipagpalagay na mayroon akong dito isang larawan ng Rob Boden. Kaya ipagpalagay na gusto kong ipadala ang larawan ng Rob Boden sa Dan sa likod ng silid para sa panayam. Kaya ako ay isang computer tulad ng aking laptop, at Dan ay ilang iba pang mga computer sa internet. At gusto ko upang magpadala ng packet ng impormasyon mula sa akin sa kanya. Na begs ang tanong, paano gagawin ko aktwal na ruta na ito packet sa kanya. Well, sa tao tuntunin, nais kong sabihin, hey, maaari mong pumasa ito sa Dan? At pagkatapos, ng grupo ng mga mo ay malamang na pumasa ito pabalik -balik-balik hanggang Sa kalaunan ay gumagawa ng paraan sa ibabaw sa Dan. Ngunit iyon lamang ang isang maliit na imprecise. Malamang na kailangan Computer sa maging mas ng kaunti sistema. Kaya marahil, si Dan may IP address. Kaya kung ano talaga ang dapat kong gawin ay ko dapat kumuha ng, halimbawa, isang blangkong sobre tulad nito. At hindi ko alam kung ano IP address Dan ay. Kaya ako lamang ang pagpunta sa magbigay ng tuntuning panlahat ito bilang IP Dan ni. At ako pagpunta sa ilagay ito sa ang sa field ng aking sobre. At samantala, mayroon akong isang IP address. Hindi mahalaga ngayon kung ano ito. Kaya ako lamang ang pagpunta sa Aking sabihin IP sa likod sulok doon. At pagkatapos, ako pagpunta sa sige at ilagay ang larawang ito sa loob ng sobre. At pagkatapos ay, ang bawat isa sa iyo, siguro, bilang router sa internet, Na-preconfigured sa pamamagitan ng mga tao sa pangkalahatan o minsan sa pamamagitan ng awtomatikong algorithm upang malaman na kung IP address Dan nagsisimula na may 1, dapat itong pumunta na paraan. Kung IP address Dan nagsisimula sa 2, dapat itong pumunta na paraan. Siguro isang 3 pupunta na paraan. Siguro isang 4 pumupunta na paraan. At iyon ay isang maliit na masyadong. Simplistic ngunit iyon ang pangkalahatang ideya. Ang bawat isa sa mga routers-- at may kapangyarihan maging kasing dami ng 30 sa pagitan ng akin at Dan. --have ilang mga uri ng spreadsheet sa loob ng kanilang memorya, isang database table, na nagsasabing lamang, IP address na ganito ang hitsura, napupunta paraang ito. Ang IP address na ganito ang tulad nito, nagpapatuloy na paraan. At na kung paano ito ginagawang medyo simplistic mga desisyon. Ngunit ito ay lumiliko out na gawin ang mga router isang bagay na mas mababa na, potensyal na. Pinapayagan nila ang mga computer sa garantiya paghahatid, ng hindi bababa sa may mataas na posibilidad. Kaya maaaring, masyadong, narinig mo, kahit na Hindi mo pa cared o nagtaka ano ito, maaaring narinig mo ng isang bagay sa pamamagitan ng acronym. Sabihin bumalik sa paglipas dito para sa lamang ng ilang sandali at hilahin pataas na ito. TCP, transmisyon control protocol. Ang isa pang teknikal na paraan ng lang naglalarawan ng isa pang teknolohiya na ginagamit sa internet. Kaya IP, internet protocol ay ginagamit para sa pagtugon. Ito ang ilang mga karaniwang na ang mundo ay dumating up gamit na sinabing, kang maglagay ng isang IP address dito para sa Dan, at isang IP address dito para sa iyong sarili, at pagkatapos mong ilagay ang ilang mga impormasyon sa isang sobre. Ngunit TCP ay isa pang teknolohiya, gamitin kasama ng IP. At sa katunayan, kung ikaw kailanman nakikita ang mga acronym bago, Marahil ay nakita mo TCP iwa IP na lamang ibig sabihin ang mga tao ay may posibilidad na gamitin ang mga ito nang magkakasama. Well, TCP ay uri ng cool na dahil pinapayagan nito mong taasan ang posibilidad na ang data ay talagang pagpunta upang makakuha ng mula sa akin sa Dan. Sa katunayan, ang internet ay isang nakatutuwang lugar. Walang garantiya na ang kung magpapadala ako ng data sa ganitong paraan na ito ng pagpunta sa pumunta na paraan sa susunod na pagkakataon sa paligid. Maaaring pumunta na paraan o na paraan. Ang pinakamaikling distansya sa pagitan ng dalawang punto ay hindi kinakailangan isang tuwid o sa parehong linya. Bukod dito, ang ilan sa iyo Maaaring gawin ng guys pagkakamali o kumuha magapi na may masyadong maraming mga envelopes darating na ang iyong paraan. Kaya mo pagpunta lamang sa sumuko at literal -drop ang ilan sa mga envelopes sa sahig. At sa parehong paraan na data ay Bumagsak sa internet sa pamamagitan ng mga router. Kaya upang bawasan ang logro ng ito, pupuntahan ko gumawa ng aking maliit na kaligtasan gunting dito at i-cut Rob sa, sabihin nating, ang apat na piraso, apat na segment. At ngayon, Pupunta ako sa magpatuloy at maglagay ng isa pang piraso ng impormasyon sa sobre. Pupunta ako sa sabihin isang bagay tulad ng, 1 ng 4. Kaya ngayon, ang aking huling sobre, sa hindi bababa sa unang, ganito ang itsura. Pupunta ako sa sige at ilagay ang isa sa dito. At alang-alang sa oras ng, pupuntahan ko lagyan ng label ang iba identically bilang 2 ng 4, 3 ng 4, 4 ng 4. Muli, na may mga IP address Dan sa mga harap ng mga ito at sa aking mga IP address sa likod kaliwa, ngunit ko hindi maaaring ipadala ang mga ito pa lamang. Dahil ito ay lumiliko out na sa internet, server ay maaaring gawin ng maraming mga bagay. Sa katunayan, maaari naming ang lahat ng mga gumagamit ng web tila, ang buong mundo web, http: // anumang. Ngunit mayroong iba pang mga mga serbisyo sa internet. Ano ang ilang mga iba pang mga serbisyo, pag-uuri ng gumagamit, consumer-friendly na mga serbisyo na spring upang bale na bukod sa isang programa ng web browser-uri? Madla: Email. David MALAN: Email. OK. Mahusay. Ano isa pa? Madla: Makipag-chat. David MALAN: Kaya makipag-chat, kung ito ay Skype, o Gchat, o isang bagay na tulad na. Madla: Storage. David MALAN: Kaya ilang mga uri ng serbisyo ng storage, tiyak. Isang bagay tulad ng Dropbox, o Kahon, o mga katulad. Kaya mayroong ibang mga serbisyo sa internet. At ito ay lumiliko out na Dan, kung siya ay sa katunayan isang computer, Walang na nakatuon sa isang bagay sa buhay. Talaga siya ay maaaring gawin ng maraming mga bagay. At sa katunayan, siya ay maaaring maging isang email server. Maaari niyang maging isang web server. Maaari niyang maging isang chat server. Ngunit na mukhang upang magmungkahi na kailangan Dan malaman nang maaga kung ano ang mga mga nilalaman ng mga mensaheng ito. Ito ba ang isang web page ako sa pagpapadala sa kanya? Ito ba ay isang email ako sa pagpapadala sa kanya? Ito ba ay isang instant mensahe ako sa pagpapadala sa kanya? Kaya kailangan namin ng isa pang piraso ng impormasyon sa mga sobre upang ang Dan, kapag siya ay natatanggap ang sobre, nakakaalam kung ano ang programa upang gamitin upang ipakita ito. Ito ba ay isang browser? Ay ito ang Google? Ay Skype ito? O kaya ay ito Outlook o ilang iba pang mga programang sama-sama? At kaya, sa TCP ay lamang ng isang tao convention. Ang mundo nagpasya ilang taon nakalipas na iugnay ang natatanging integer ang pinaka-popular na mga serbisyo. Ang isa ay tinatawag na File Transfer Protocol, FTP, bagaman ito ay isang maliit na napetsahan ngayon. Ngunit natatanging tagatukoy nito ay 21. SMTP para sa mga papalabas na e-mail, nito natatanging tagatukoy ng 25 dahil lamang. DNS, ang mga bagay na usapan natin ang tungkol sa mas maaga, Ginagamit ang numero ng 53 para sa mga query nito. Tulad ng kung ano ang IP address ng google.com? At ngayon, ang mga mas pamilyar sa iyo maaaring mayroon sa isang lugar sa isang punto Nakita ang bilang 80 at marahil 443. Iyon ang mga natatanging mga tagatukoy para sa HTTP, kung saan ay ang wika ipapakita namin sa lalong madaling panahon makita ginamit para sa trapiko sa web sa pagitan ng mga browser at mga server. At 443 ay para sa secure na bersyon noon. Kaya ang huling detalye ako pagpunta sa ilagay sa aking sobre ay hindi ako pupunta sa magpadala ng mga ito lamang sa IP Dan ni. Pupunta ako sa ipadala ito sa sinasabi, : 80, kung ano ang sinusubukan ko upang magpadala ng siya ay isang web page, ang isang web page na naglalaman ng larawan Rob Boden ni. Kaya pupuntahan ko na gawin ang pareho bagay sa iba pang mga envelopes. At pagkatapos ay sa huli, Pupunta ako sa drop mga off sa pinakamalapit na router, pagkilala na iyon Hindi router maaari kinakailangan gawin ang parehong landas sa bawat oras. Sa katunayan, maaari ba akong magkaroon ng unang packet ng pagpunta sa ganitong paraan. Baka pumunta Pangalawa packet na paraan. Ikatlong packet-- simulan ang nagrurutang. --might pumunta sa paglipas dito. At sa theory-- hindi maaaring panatilihin ito. Sa teorya, ang lahat ng apat ng mga packet dapat sa kalaunan ruta kanilang mga paraan, gayunpaman mahusay o inefficiently, ang lahat ng mga paraan sa likod. Kung saang punto, si Dan, sa resibo, maaari buuing muli ang mga ito batay on-- ang nakakatawang bagay ay, namin ang lahat ng malaman kung ano ang kinahinatnan dito ay magiging. Dan nangyayari upang makakuha ng isang larawan ng Rob. Ngunit sabihin makita kung paano ito gumagana out. Well, sa halip, si Dan pupuntahan makakuha ng mga bahagi ng isang larawan ng Rob. Mabuti. Ang bawat tao'y ang mga kalahok na ngayon. Lahat ng karapatan. Kaya bilang Dan ay nagsisimula upang makatanggap ng mga packet, magtanong ng isang katanungan ipaalam. Paano kung ang isa sa iyo ay nakakakuha ng tamad, overload, nakakahamak, o pinagagana lamang -off, at isa o higit pa sa mga package ay hindi gawin itong i-Dan? Paano Dan pagpunta ay upang malaman niya ang hindi makatanggap ng isa sa mga segment ng apat Ipinadala ko sa kanya? Intuitively lang, ano ang maaari naming gawin? Oo? Madla: [hindi marinig]. David MALAN: Eksaktong. Katangi-tangi dahil na hindi ko na bilang na ito, at Tinukoy ko kung gaano karaming mga segment doon ay dapat na, maaari niyang magpakilala mula sa na na kung saan, kung mayroon man, ng mga segment talaga siya nawawala. At kung ano ang sinasabi sa TCP computer upang gawin, kung computer, tulad ng Mac OS, at Windows, at Linux suporta at maunawaan TCP, na ginagawa nila, Dokumentasyon TCP ng mahalagang Sinasabi na Dan dapat magpadala sa akin isang mensahe pabalik na nagsasabi, hey, David, Ako nawawala packet numero 1 ng 4, o 3 ng 4, alinman ito. At pagkatapos, ang aking trabaho ay gumawa ng ibang larawan ng Rob, na kung saan mayroon kaming mga extra ng para sa ibang pagkakataon ngayong araw kung nais mong gumawa ng isa sa iyo, at pagkatapos ay maaari kong muling ipadala ang segment ng Rob ang lahat ng mga paraan sa likod. Kaya bilang simplistic bilang mekanismong ito ay, na ay kung ano ang nangyayari halos anumang oras gawin ka ng isang bagay sa internet, lalo na para sa mga pinakasikat na mga serbisyo. May iba pang mga protocol, iba pang mga teknolohiya bukod sa TCP na gumagana ng kaunti naiiba. Ngunit kaya marami sa mga serbisyo ng ating kadalasang gamitin ang aktwal na umaasa sa mga protocol. Kaya Dan, ay kang makakuha ng ganap na larawan pabalik doon? Oo. Na reassembled namin Rob sa likod. Salamat sa iyo kaya magkano sa mga router. Ipagpalagay, talagang gusto ko ang makita ang mga router sa pagitan ng akin at MIT, tulad mo guys ay ang router sa pagitan ng akin at Dan. Well, sa halip na nslookup para sa paghahanap ng pangalan ng server, Sa halip ko type ruta bakas, na ay talagang pagpunta sa gawin kung ano ang sinasabi nito. At ako pagpunta sa gawin at tahimik mode na may gitling 1. Ito ay isang argument ng linya ng command na nagsasabing lamang, subukan ito isang beses at hindi maraming beses. At ngayon, pupuntahan ko i-type ang www.mit.edu. Ngayon, ang output ay medyo mabilis at misteryosong. Ngunit kung ano ang kapong baka tungkol sa ay ang bawat isa sa mga hilera mahalagang ay kumakatawan sa isang mag-aaral sa madla kung ikaw ay ang landas sa pagitan ng akin at MIT. Kung ano ang nakikita mo dito, una, ay ang pangalan ng domain na aking nai-type sa, o ganap na kwalipikadong domain pangalanan ang bilang nang maayos ang tawag dito. At ito tila ang IP address ng www.mit.edu. Naisip sa aking computer na ang para sa akin. Ito dito ay isang pangako na lang namin ang iyong pupuntahan subukan upang maabot ang MIT sa loob ng 30 hops. May mas mahusay na maging hindi hihigit sa 30 mag-aaral sa pagitan ng akin at Dan. At ngayon, bawat isa sa mga hilera ay kumakatawan sa isang literal na router sa pagitan ng akin at sa Dan, Literal na isa sa inyo guys. At sa gayon ang isang ito ay hindi mukhang na magkaroon ng isang pangalan, pangalan ng domain. Ito lamang ay may isang IP. At ito lamang kinuha 0.662 millisecond upang makakuha ng mula sa akin na ang unang router. Ang susunod na isa ay hindi na mas higit na malayo ang layo. Ito ay tatagal lamang ng isa millisecond upang makarating doon. At ngayon, kabutihang palad, mga bagay makakuha ng isang maliit na mas user-friendly may mga pangalan na misteryosong ngunit kaunti pa nagsasabi. Ito tila ay isang router sa core ng network ng Harvard ni Makikita, lamang dahil ang mga tao Sinabi sa amin ito, sa Science Center, SC. At .gw lamang shorthand notation para sa gateway na kung saan ay isang kasingkahulugan para sa router. Kaya ito ay ang ilang mga sistema paninitik paraan administrator ng pagbibigay ng pangalan sa isa sa mga server ng sa Science Center. Samantala, sa server na iyon ay tila nakakonekta sa pamamagitan ng ilang mga uri ng cable sa ibang router na palayaw sa hangganan gateway isa gitling ang isang bagay, kahit anong ibig sabihin ng mga numero. At pagkatapos, tila, Harvard ay may koneksyon na isa pang millisecond layo sa isang bagay tinatawag na hilagang sangang-daan kung saan ay isang pangkaraniwang peering point sa pagitan ng malaking lugar tulad ng Harvard kung saan maraming mga paglalagay ng kable napupunta sa at nagbibigay-daan sa interconnections sa iba't ibang mga entity. Hakbang anim na, sa kasamaang-palad, walang isang wastong pangalan. At hakbang pitong nakakakuha ng mga kawili-wiling. Wala akong palagay kung ano ang ibig sabihin ng karamihan sa mga ito. Ngunit NY ay tumalon out sa akin. At ano ang malamang na maging tanda? Hindi ito kahit na teknikal. Lamang sa New York. Kaya nga, kung ano ang mga karaniwang tao Hindi magagarantiyahan ang convention ngunit karaniwang convention ay ang pangalan ng router sa pamamagitan ng likas na katangian ng lungsod o paliparan code na sila pinakamalapit sa. Kaya may ilang mga bagay na maaaring mangyari, ito router numero ng pitong Marahil, sa katunayan, sa New York. At ito ay tila upang mapatunayan na palagay dahil ito ay anim na millisecond sa halip na isa lamang o kaya sa isang bagay dito sa campus. Ngunit ngayon tumagal na sa account, karapatan sa Megabus o watnat, maaaring tumagal ito ng apat, limang, anim na oras upang makakuha ng isang tao mula dito sa New York. Upang makakuha ng isang piraso ng data, tumatagal ng anim na millisecond lang upang makakuha ng isang packet mula sa akin sa Dan kung siya ay ang lahat ng mga paraan sa New York. Pagkatapos ay sa wakas, ito tila ang aktwal na domain name para sa www.mit.edu. Na sila sa malas Outsourced kanilang mga web server sa isang kumpanya na tinatawag na Akamai na nangangahulugang ilang iba pang mga kumpanya ay nagpapatakbo ng kanilang mga server. At iyon ang dahilan kung bakit namin nakikita na kakaiba bagay doon. Well, na gawin nang isang beses higit pa ipaalam. Sabihin sige at gawin ang isang bakas ruta sa aming mga kaibigan Propesor Nick Parlante sa Stanford na may isang server na tinatawag na nifty.stanfor.edu. Ipasok. At ngayon, makikita namin kung marahil isang bahagyang mas mahabang landas na napupunta sa pamamagitan ng ilang higit pang mga lungsod. Kaya dito ang mga walang katulad Harvard server dito. Kami ay sa core ng Harvard, sa hangganan gateway ng Harvard, hilagang sangang-daan, saan man ito. At ngayon, nakakakuha ito ng isang maliit na mas kawili-wiling. Ako sa paghula na router bilang walong ay sa kung ano ang lungsod? Madla: [INTERPOSING boses] David MALAN: Chicago marahil, batay sa ito, batay sa mga ito bagay dito. At ngayon ay mayroon kaming Salt Lake City siguro, siguro dito, at pagkatapos ay LAX Los Angeles, yep, marahil ito ay sa pamamagitan ng LA sa ibaba. Hanggang sa wakas, ito napupunta mula sa timog California ang lahat ng mga paraan ng hanggang sa hilagang California sa Stanford kung saan ay sa Palo Alto. Kaya medyo cool. At tumagal natin ang isang hakbang karagdagang ipaalam. Sa malas ito gagawin Dadalhin ka ng 82 millisecond upang magpadala ng mensahe sa Dan kung ikaw ay sa California sa halip na sa New York. Gawin ang isang bagay Ipaalam tulad ng mga ruta ng bakas, isa subukan na www.cnn.co.jp para sa Hapon na bersyon ng website ng CNN ni ng. At ngayon, hindi namin pa rin sa Boston mukhang sa sandaling ito. Ang ilang mga server ng anim at walong ay Hindi tumutugon dahil ito ay naka-pagiging isang maliit na pribado. Ngunit sa huli, mukhang isang bagay na kawili-wili ng pagpunta sa pagitan ng, sabihin nating, magbasa-pitong at siyam. Ano ang malamang na sa pagitan ng pitong at siyam, at tiyak sa pagitan ng pitong at step 17? Mayroong isang malaking jump sa dami ng oras tumatagal para sa data upang pumunta mula sa isang ng mga hops, ang isa sa mga router sa isa pa. Kaya logro ay, sa isang lugar sa dito, may marahil, lalo na dito mismo, mayroong marahil isang napakalaking katawan ng tubig na ay may ilang mga trans Pacific o trans Atlantic cable na aktwal na nangangailangan ng kahit na mas maraming oras para sa data upang kumuha mula sa isang punto sa isa pa. Ngunit muli, isipin ang mga oras Gusto itong tumagal nang madalian sa Japan. Dito, sa ilang 200 millisecond, boom, ang iyong mensahe ay talagang doon. Kaya maaari mong i-play sa paligid na may ito sa appliance o kahit na sa Windows o Mac OS gamit bahagyang naiiba command. Minsan, makakakuha ka ng mga bituin na ito, tulad ng sa mga hilera ng anim at walong, na Nangangahulugan lamang ang mga router na-configure ang hindi upang bigyan ka ng isang sagot alang-alang sa privacy ng. Ngunit sa pangkalahatan, sa diskarteng ito Gusto, sa katunayan, gumana. Kaya ito ay lumiliko out masyadong mayroong iba pang mga makatas impormasyon nagkukubli sa mga tool na mang-ahas araw-araw. Kaya halimbawa, kung nakatanggap ka isang email, lantaran ng ilan sa inyo ay maaaring magkaroon ng kamakailan lamang, ng kaduda-dudang mga pinagmulan, kung ikaw ay hindi kailanman tumingin sa interface ng Gmail bago, ito man para sa interface ng kolehiyo o ang iyong personal na isa, maaari mong makita ang iyong Inbox naghahanap tulad nito. At sa katunayan, ito ay isang email Ipinadala ko, malan@harvard.edu, sa jharvard@cs50.harvard.edu ito umaga lamang kaya maaari akong kumuha ng screenshot. Ngunit ito ay lumiliko out, lahat oras na ito sa Gmail, mayroong maliit na tatsulok patungo sa kanang bahagi sa itaas doon sa tabi ng Harvard gulugod na kung i-click mo, maaari mong i-click ang Ipakita ang Orihinal. At kung gagawin mo na, aktwal kang makita ng grupo ng mga napaka-pribado ng impormasyon tulad ng mga timestamp, at IP address, at mga pangalan ng domain. Ngunit makikita mo, sa maikling, ang mga header na mayroon ang lahat ng mga oras na ito na-hit sa bawat -email ka magpadala at tumanggap. At ito ay ang mga header na ang mga tao ay maaaring gamitin, computer scientist o kung hindi man, upang aktwal na magpakilala sa ang ilang mga bagay na maaaring mangyari kung saan at mula sa kanino isang email na aktwal na nagmula. Sa katunayan, magpapadala kami makipag-usap sa mamaya linggo tungkol sa kung paano email Maaari mismo mabuo -program na ay isang napakahusay na bagay para sa isang website na gustong magpadala ng mga email sa mga gumagamit. Ngunit makikita namin makita, masyadong, kung gaano walang kuwenta ito ay upang pekein ang mga email mula sa isang tao sa ibang tao, maliban kung talagang malaman kung paano i-verify ang mga header. At kahit na isang natatalong paksa sa pagtatalo mga araw na ito. Kaya may sinabi na iyon, hana isang layer up. Sinimulan namin na may mga IP na humaharap sa packet para sa amin, nagbibigay sa kanila ng natatanging address. TCP, kung saan, sa maikling, tinitiyak na paghahatid o hindi bababa sa pinapataas ang posibilidad noon sa pamamagitan ng ang pagdaragdag ng mga bagay tulad ng mga segment, 1 o 4, 2 ng 4, 3 ng 4, at 4 ng 4. At ngayon, ni-layer sa tuktok ipaalam ng na ng isa pang protocol. Ang lahat ng mga bagay na ito ay mga protocol, mga convention na computer na utos kung paano dalawang makipag-usap mga computer sa isa't isa. HTTP, sa wakas ngayong araw, ay hypertext transfer protocol. At ito ay ang protocol na mga web browser gamitin kapag nagsasalita sa mga web server. Kaya kapag mo makuha ang isang browser tulad ng Chrome, o IE, o Firefox, o Safari, o anumang, at nagta-type ka sa isang bagay tulad ng facebook.com at pindutin ang Enter, hindi lamang ang unang ng iyong computer isalin facebook.com sa kung anong? Ang IP address. Pagkatapos ay converts-- nito pagkatapos ay nagpapadala ito ng mensahe sa na IP address na nagsasabi, bigyan ako ng homepage ngayon o magbigay sa akin sa screen ng pag-login ng Facebook. O kung nakapag-log in ka, magbigay sa akin ang default na view ng aking timeline. Kaya iyon ang HTTP sabi. At higit pa colloquially, kung hindi ako isang web server at are-- iyo kung ano ang iyong pangalan, muli? Madla: Margot. David MALAN: Margot ay isang web server, at ako ay isang web browser, at gusto ko lamang upang makuha ang aking timeline mula sa Margot, margot.com, Gusto ko sabihin, kumusta, ako si David. Madla: Hi, Ako Margot. David MALAN: At gusto mong pagkatapos ay tumugon na may karagdagang impormasyon sa akin. Kaya mayroon kaming ito estupido pantao convention para sa instance-- salamat. --of alog kamay ng isa't isa. At computer ay may parehong ideya kung saan isang client, tulad ng isang browser, Humihingi ang isang server upang gawin ang isang bagay sa kanyang ngalan. At kaya narito ang isang larawan, halimbawa. Sa kaliwa ay isang computer laptop, desktop, anumang, o kahit na isang telepono. At sa kanan ay isang napaka na may petsang tanawin ng isang server. Karaniwang mga ito ay mukhang mas maliit at sexier mga araw na ito. Ngunit ang punto ay simpleng na mayroong ilang mga uri ng komunikasyon sa pagitan ng client at server. At kliyente sa kamalayan ng isang tao sa isang restaurant at ang mga tagapaglingkod o tagapagsilbi, parehong ideya na may mga computer. Mga client at server, isa sa humihingi ng impormasyon, isa ay tumutugon sa impormasyon. Ngayon, kung paano gumagana na bumalik impormasyon? Well, isaalang-alang na ito. Kunin ang uri ng default na way-- at ito ay isang napaka-simpleng termino. --that lamang dictates kung paano ang isang browser nakakakuha ng impormasyon mula sa server. Sa ibang salita, sa halip na lamang loko-ily pagpapalawak ng aking kamay sa Margot, kung ko talagang ay isang browser, ako Gusto bagay-bagay sa loob ng isang sobre, tulad ng ginawa ko ang larawan Rob bago, isang tekstuwal mensahe na literal sabi isang bagay na tulad nito, get / http / 1.1hostwww.google.com o margot.com o anuman ang pangalan ng server ay maaaring mangyari upang maging. At pagkatapos, tuldok tuldok tuldok, ang ilang iba pang mga bagay-bagay. Ngunit literal, sa loob ng isang sobre gagawin maging medyo simple tekstuwal tulad ng na mensahe. Na sa pagkatanggap, Margot gagawin buksan, basahin ang mga nilalaman, at tumugon nang naaayon. Ngayon, ito ay isang maliit na hindi halata sa halimbawang ito. Ngunit makakuha /, ano ang slash Marahil ay nagre-refer sa, batay lamang sa iyong pagpapalagayang-loob sa nagba-browse sa web sa araw-araw na buhay? Ano ang slash? Madla: [hindi marinig]. David MALAN: Isang escape sequence. Hindi isang masamang ideya ngunit sa pangkalahatan makatakas sa mga pagkakasunud-sunod pumunta sa iba pang paraan. Iyon ay magiging isang backslash karaniwang. Ngunit hindi isang masamang pag-iisip. Oo? Ang isang pointer. Gayundin mahusay na pag-iisip ngunit kahit na mas simple kaysa sa na. Ang home directory. Ang root ng isang hard drive, kaya upang makipag-usap. Karamihan sa atin ay hindi type na ito. Pero technically, kung nais mong upang maging napaka-wastong mga araw na ito, Gusto mong pumunta sa isang bagay tulad ng http://www.facebook.com/. Ngayon, sinabi ko sa karamihan sa atin gagawin hindi -abala sa pag-type ng slash. At lantaran, karamihan browser, kasama ang Chrome, huwag kahit na mag-abala sa pagpapakita amin ang slash mga araw na ito dahil lang sa gusto nilang maging simple at maikli at malinaw. Ngunit ang slash lamang ay nangangahulugan pumunta upang www.facebook.com at makakuha ng mabawasan nang malaki, sa root ng hard drive, ang default na pahina sa facebook.com. Paggamit ng kung ano ang protocol? Well, gamit ang bersyon 1.1 ng kilala bilang HTTP ito bagay. Ang server, o Margot-- at sa pamamagitan ng ang paraan, gawin ayos lang sa iyo na gumagamit ako ng sa iyo sa mga ito? OK. Kaya kami ay mahusay na ngayon. Kaya Margot tugon ngayon sa isang sobre sa kanyang sarili, sa loob ng kung saan ay isang katulad tekstuwal mensahe. Ang unang linya ng na, yep, makipag-usap ko ang bersyon ng HTTP 1.1. 200 ay ang code ng katayuan na nangangahulugan lamang ang lahat ay OK. Mayroon akong ang pahina na iyong hinahanap. Samantala, Content-Uri: teksto / html, ito ay semi-arcane paraan ng pagsabi Margot ni, kung ano na iyong hiniling ay isang web page. At ito ay uri, kaya upang speak-- halos tulad ng isang variable na kahulugan, ngunit ito ay mas mataas na antas ngayon. Uri ng data ay teksto ngunit partikular na HTML. Ang wika namin sa lalong madaling panahon makita. At pagkatapos ay, may ilang iba pang mga bagay-bagay. Kaya iba pang bagay ay literal na kung ano ang Facebook ay tumutugon sa. Kaya tingnan natin ito, masyadong. Hayaan akong sige at buksan up ang Chrome sa aking laptop na maaari mong gawin sa iyong sariling computer pati na rin. At ako pagpunta sa sige at buksan up www.facebook.com. Ipasok. At nakukuha ko ito pamilyar screen dito. Ngunit ngayon, pupuntahan ko na gawin ang isang bagay iba pa. Pupunta ako sa magpatuloy at pumunta sa Tingnan, Developer. At pumunta sa Developer Mga Tool, na dapat mong mayroon sa loob ng Chrome sa iyong computer, hindi bababa sa loob ng iyong appliance. Pupunta ako upang mag-scroll ito bagay dito, at ikaw ay pagpunta upang makita ang isang buong bungkos ng misteryosong teksto dito. Ito ay lumiliko out na kung ano Margot magpaloob ng na sobre bilang tugon sa akin ay isang wika na tinatawag na HTML, Hypertext Markup Language. Ito ay hindi isang programming wika dahil hindi mo maaari, ito Walang mga loop, at kundisyon, at pag-andar, at mga bagay tulad na. Ito ay isang markup language. Sa iyon, mayroon itong espesyal na syntax na tinatawag na mga tag at mga katangian na nagsasabi sa isang browser kung ano na ipapakita sa screen at kung paano ipapakita ito. Ay dapat na nakasentro? Ito ay dapat naka-bold ang mukha? Pula, berde, asul? Ito ay isang markup language. Sa na, sinasabi ito ng isang browser kung ano ang ipapakita sa screen. Kaya ito ay, literal, ang lahat ng mga HTML at higit pa na Facebook server ay pagsigam out at na Chrome, at IE, at Firefox mayroon idinisenyo ayon sa kanilang kani-kanilang mga may-akda upang maunawaan. At sa katunayan, ito ay isang maliit na Messier kaysa doon. Kung, sa halip, pumunta sa View, Nag-develop, View Source, ito ay ang tunay Facebook ay ang paglalagay. Pagsunud-sunurin ng zero para sa limang para sa estilo, kanan, kung namin magpakilala na ito ay malamang na hindi ang pinakamahusay na. Ngunit nang tapat, maaari silang lumayo sa ito dahil kung inyong inaalay up bilyon-bilyong mga pahina ng web sa bawat araw, ikaw talaga ayaw mong mag-aaksaya ng oras, at bytes, at pera sa huli sa pagpapadala mga bagay tulad ng bagong linya mga character, at puwang, at mga tab dahil ka gumagastos para sa bandwidth hindi kinakailangan sa iyong ISP. Kaya nga, ito ay sinadya na minified sa ganitong paraan. Ngunit ano ang ginagawa ng Chrome para sa amin ay, tumatagal ang HTML, na ganap na kamukha gulo at hindi maunawaan sa tao, at ito lamang ang pag-format nito. Kahanga sa pag-print nito nang sa gayon ay maaari naming-wrap ang aming mga isip sa paligid nito ang kaunti pa handa. Ngunit mas kawili-wiling ay na ito. Kung ngayon ako mag-click sa Chrome, Hindi elemento ngunit network, Pupunta ako upang makita ang isang maliit na pag-log screen na pagpunta sa ipakita sa akin ang lahat ng mga kahilingan ng HTTP na talagang bumalik at balik sa pagitan ng akin at Facebook o sa akin at Margot kapag gumawa ako higit sa isang kahilingan. Kaya ako pagpunta sa sige at i-click ang ang icon na i-reload dito sa Chrome. At ngayon, ang maramihang mga bagay nagsakay nakaraan sa ibaba. Pupunta ako upang mag-scroll -back up sa tuktok napaka. At ngayon, mapapansin na ito, ang humiling pinakaunang aking browser Ginawa ay www.facebook.com. Ito ay ang paggamit ng get mekanismo na lamang ay nangangahulugang ito ay nagsasalita ng tekstuwal wika na nakita natin ang isang halimbawa ng ilang sandali ang nakalipas. At saka, ito ay lumiliko out na ang tugon na Facebook ibinigay mo sa akin ay 200 OK, na ibig sabihin ko natagpuan ang web page na pinag-uusapan. Kung nag-click ako sa hanay na ito, maaari ko talaga tingnan ang mga header ng kaunti pa malinaw. Ang mga ito ay gawing mas pakiramdam bago mahaba. Ngunit mapansin na ang aking browser ay nagpapadala ng isang buong maraming impormasyon tulad ng host, at pamamaraan, at mga cookies. Darating kami pabalik sa mga bago mahaba. At makikita mo sa wakas maunawaan kung ano ang isang cookie ay talagang at kung paano sa lalong madaling panahon mo ay pagpapadala sa kanila. At makikita mo kung ano Facebook ay pagpapadala ng likod, kabilang ang uri ng nilalaman ng teksto HTML, ang kasalukuyang oras ng petsa, sa privacy nito patakaran, o kakulangan nito, at pagkatapos, sa wakas, ang isang bilang ng mga cookies na Sini-set sa ang iyong computer pati na rin. Ngunit kami ay mang-ulol mga hiwalayin bago ang haba. Ngunit sa maikling, sa bawat oras na binisita ng web page, na ngayon para sa taon, na-pagpapadala ng mga mensahe sa ang ipinadala ko sa isang sobre upang Margot at sa Dan. At na-pagbalik mga tugon na tulad nito mula sa Facebook. Ngunit higit sa rito, hulaan kung ano ang pagiging isiwalat sa Facebook, at Google, at lahat ng ibang tao sa bawat oras na bisitahin mo ang isang web page? Ano ang sa labas ng bawat Sobre ay pagpapadala ng iyong computer? Ang iyong IP address, i-right? Siguro hindi ang iyong pangalan sa bawat se, ngunit ang iyong IP address. At, ikonekta ang mga tuldok ipaalam sa ibang pagkakataon, kung gumagamit ka ng mga serbisyo tulad ng web, o BitTorrent, at ang buhay, at mo na nakarehistro sa isang computer sa isang lugar tulad ng Harvard, isang tao sa isang lugar na alam na John IP address Harvard ni ito, na tuldok na ito, tuldok na ito, na tuldok na ito. At sa katunayan, mga log maaari niyang pinapanatili ang pareho sa isang campus na tulad nito, sa isang Comcast network, sa Verizon, o lantaran, sa NSA ng kamakailang na aming natutunan, na nagla-log halos lahat ng bagay na ang iyong ginagawa sa internet. At kami ay bumalik sa ito ang klase hinaharap sa implikasyon ng mga mga pasya sa disenyo at seguridad. Ngunit ang katotohanan ay, mo ba talagang walang lahat na marami sa privacy. Sa bawat oras na na-ng pagbisita sa kahit saan sa web, na sa iyo ang pagpapakita ng iyong kamay at inilalantad ng hindi bababa sa iyong IP address. Kaya nakakatakot tala bukod, ano ang maaari naming gawin upang i-embed ang mga bagay tulad ng mga pusa sa isang web page? Kaya mayroon kaming ng grupo ng mga tugon na maaaring bumalik mula sa server. At hindi namin makikita ang lahat ng mga ngayon. Ngunit 200 ay mabuti. At ka malamang na hindi nakikita lahat ng mga ito bilang isang tao bago. Ngunit malamang na nakita mo hindi bababa sa isa sa mga ito. Alin sa mga ito ang maaaring maging hitsura pamilyar? Madla: 404 David MALAN: Kaya 404. Hindi nahanap ang file. At sa katunayan, na iyong pupuntahan upang makita ang iyong sarili na ito sa programa. 404 lamang ay nangangahulugan na ang file na iyong hiniling, mabawasan nang malaki o mabawasan nang malaki ang isang bagay, i- ay hindi umiiral. At isang web server ay karaniwang tumugon sa 404 bilang isang resulta Samantala, magpapadala kami sa lalong madaling panahon makita na ang mga nilalaman ng mensahe na mga wikang ito na kilala bilang HTML. At ito ay isang napakabilis simpleng snippet ng HTML na ginagawa ng walang maliban sa ipakita kumusta mundo sa screen. Sa katunayan, makikita mo sa tuktok ng ito isang bagay na tinatawag na isang uri ng dokumento pagpapahayag na lang sabi, hey, mundo. Ang file na ito ay naglalaman ng HTML. At pagkatapos, ang susunod na bit ng HTML na naka-pagpunta sa isulat, mayroon itong isang bukas na bracket, at pagkatapos ay ang salita ng HTML, pagkatapos ng isang closed bracket, at pagkatapos ay Bukas ang ulo, at malapit bracket. Kaya sa maikling, sabihin aktwal gawin ito nang higit pa nang wala sa loob. Hayaan akong pumunta sa aking appliance, ngunit maaari mong gawin ito kahit saan na mayroon kang isang editor ng teksto sa. Pupunta ako sa magpatuloy at i-save ang isang file na tinatawag hello.html. Pupunta ako sa ilagay ito sa aking desktop upang panatilihin sobrang simple ang mga bagay ngayon. At ako pagpunta sa gawin kung ano mismo ang lang nakita ko. Kaya uri ng doc HTML, bukas bracket HTML. At ngayon, paunawa, pupuntahan ko gawin ang tapat preemptively. At sa pamamagitan ng tapat, ibig kong sabihin ang parehong tag, kaya upang magsalita, ngunit nagsisimula ito sa isang pasulong na slash. At pagkatapos ay, higit sa rito, Pupunta ako sa sabihin, ulo, dahil ito ay lumiliko out na ang bawat May tinatawag na head web page na ay mga bagay-bagay na napupunta sa pamagat bar, sa pinakatuktok ng pahina. Sa pamagat lamang magiging kumusta dito. At ngayon, pupuntahan ko mayroon ng katawan sa mga web page na ito. Kaya bawat web page ay parehong isang ulo up tuktok at isang katawan kung saan ay ang tapang ng pahina. At dito, lang ako pagpunta sa sabihin isang bagay tulad ng halo mundo. At pupuntahan ko upang i-save ang file na ito. Kung ngayon i-minimize ko gedit, tumingin, mayroong isang maliit na file sa aking desktop na tinatawag na hello.html. Ngayon, hindi iyon sa isang server pa, per se, Sa katunayan, ito ay lamang sa aking sariling personal na desktop dito. Ngunit kung buksan ko Chrome at pindutin ang Control O-- mayroong pusa na pinag-uusapan. --and pumunta ako sa aking desktop. At buksan ko up hello.html, doon, sa katunayan, ang aking sobrang simple web page. Ang katawan ng aking pahina at ito puting window dito ay ang katawan na may halo mundo. At ang pamagat sa head ng ang pahina ay sa tab doon. At kami ay pagpunta upang makita ang sa lalong madaling panahon na ito ay sobrang simpleng upang buksan up pati na rin ang iba pang mga pahina. Halimbawa, pupunta ako upang pumunta sa ilan sa mga code ng pamamahagi para sa linggong ito, pinagmulan pitong, at ako pupunta upang buksan ang hindi ang JPEG kung saan ang tao ay dito. Ngunit Pupunta ako upang buksan ang image.html, na sa huli ay mukhang ganito. Ngunit hayaan buksan ngayon sa akin ito sa gedit, at pumunta sa Dropbox pinagmulan pitong, at image.html. Karamihan sa mga ito ay lamang komento bilang makikita sa lalong madaling panahon namin makita. Ngunit kung gusto ko upang ilagay ang mainit ang ulo Cat sa loob ng web page, ito suffices upang ilagay ang isa pang bukas bracket, at pagkatapos ay ang keyword na imahe o img para sa maikling, at pagkatapos ay alternatibong text para sa mga kadahilanang accessibility kapag ang isang tao ay may isang screen reader o isang bagay tulad na. Pinagmulan na kung saan ay, kung ano ang pangalanan ng file, cat.jpeg. At pagkatapos, dahil ito tag ay isang maliit na espesyal na, ilalagay namin ang forward slash, pati na ipapakita namin makita, sa loob ng na tag. Ngunit ang resulta ay isang web pahina na ganito ang hitsura. Kaya sa maikling, kung ano kami ay magiging paggawa ngayon sa paglipas ng panahon ay gumagamit ng web at paglikha ng mga web page upang sa huli ay mga lalagyan hindi lamang para sa mga nakakatawa mga bagay tulad ng larawan, at mga link, at mga talahanayan, at Naka-bullet na listahan, at mga katulad, ngunit din upang bigyan kami ng ating sarili isang graphical interface ng gumagamit, ang isang GUI, Hindi hindi tulad ng kung ano ang ginawa naming Breakout. Ngunit sa loob ng environment na ito, kami ay pagpunta sa simulan ang paggamit ng wika tulad ng PHP, at JavaScript, database wika na tinatawag na SQL, isang wika client-side scripting tinatawag ang JavaScript upang aktwal na lumikha ang lahat ng higit pang mga dynamic na interface ngunit sa mas, mas pamilyar na konteksto. Ngunit bago pagkatapos, sabihin pagtibayin ngayon gamit ang hitsura, tulad ng ipinangako, ng kung ano talaga ang nangyayari sa sa ilalim ng hood sa internet mismo. Magtadhana para sa araw na ang internet maaari gamitin upang ilipat ang mga bagay tulad ng mga web page sa paglipas ng HTTP tulad ng shook ako nang mas maaga kamay Margot ni. Ngunit mayroong kaya marami pang ibang mga serbisyo na gumagamit ng TCP at IP na lubos naming para sa ipinagkaloob na gawa habang kami ay makikita dito sa film na idedetalye Aabutin kami sa dulo ngayon. [VIDEO pag-playback] -For Sa unang pagkakataon sa kasaysayan, mga tao at makinarya ay nagtatrabaho nang magkasama, napagtatanto ang isang panaginip. Isang puwersa uniting na alam ng walang heograpikal na mga hangganan. Nang walang pagtatangi sa lahi, pananampalataya, o kulay. Ang isang bagong panahon kung saan ang pakikipag tunay na pinagsasama-sama ang mga tao. Ito ay ang Dawn ng Net. Nais malaman kung paano ito gumagana? Mag-click dito upang simulan ang iyong paglalakbay sa net. Ngayon, nang eksakto kung ano ang nangyari kapag nag-click sa link na iyon? Sinimulan mo ang isang daloy ng impormasyon. Naglalakbay down na ang impormasyong ito sa iyong personal na mail na kuwarto kapag pakete ito Mr. IP, mga label ito, at ipapadala ito sa kanyang paraan. Ang bawat packet ay limitado ang laki. Dapat magpasya ang mail room kung paano hatiin ang impormasyon at kung paano i-package ito. Ngayon, ang mga pakete ay nangangailangan ng label na naglalaman ng mahalagang impormasyon, tulad ng mga address, receiver ng nagpadala address, at ang uri ng packet ito. Dahil ang partikular na packet Mawawala ang papunta sa internet, rin nakakakuha ito ng isang address para sa proxy server, na May mga espesyal na pag-andar bilang namin makita sa ibang pagkakataon. Ang packet ay nailunsad na ngayon sa iyong lokal na lugar network o LAN. Network na ito ay ginagamit para ikonekta ang lahat ng mga lokal na computer, router printer, at iba pa para sa exchange impormasyon sa loob ng pisikal na pader ng gusali. Ang LAN ay isang medyo walang pigil ilagay at, sa kasamaang-palad, aksidente Maaari itong mangyari. Ang highway ng LAN ay nakaimpake sa lahat ng mga uri ng impormasyon. Ito ang mga IP packet, Novell packet, Apple Talk packet. Ang mga ito ay pagpunta laban sa trapiko tulad ng dati. Ang mga lokal na router bumabasa ang tugunan at, kung kinakailangan, Lift ang packet sa isa pang network. Ah, ang router. Ang isang simbolo ng kontrol sa isang tila ginulo mundo. Doon siya ay, isang sistema, uncaring, sistema, konserbatibo, at kung minsan ay hindi pa up upang mapabilis. Ngunit hindi bababa sa, siya ay Eksaktong para sa pinaka-bahagi. Bilang umalis sa packet ang router, gumawa sila ng kanilang mga paraan sa corporate intranet at tumuloy para sa router switch. Kaunting mas mahusay kaysa sa ang router, ang router switch Nagpe-play ang mabilis at maluwag na may mga IP packet, deftly nagrurutang ang mga ito sa kahabaan ng paraan. Isang digital Pinball Wizard kung habilin sa iyo. -Here Pumunta namin. Narito pagdating ng isa pa. At isa pa. Panoorin ito, Nanay. Narito ang pumupunta. Oops. Paikot likod. Uy. Sa doon. Sa doon. Sa paglipas ng sa kaliwa. Sa paglipas ng sa kanan. Sa paglipas ng sa kaliwa. Sa paglipas ng sa kanan. Nakakuha ka ito. Narito ito napupunta. Siya shoots. Siya mga puntos. Ito ang nangyayari. Uy, maghintay. Uy, panoorin out. Narito pagdating ng isa pa. Oh, dito pumunta namin. -As Packet dumating sa ang kanilang mga destinasyon, ang mga ito ay nakuha ng interface ng network, handa upang ipadala sa susunod na antas, sa kasong ito, ang proxy. Ang proxy ay ginagamit ng maraming mga kumpanya bilang uri ng isang gitnang tao upang bawasan ang pag-load sa kanilang mga koneksyon sa internet at para sa mga kadahilanang seguridad pati na rin. Tulad ng iyong nakikita, ang packet ay ang lahat ng iba't ibang laki, depende sa kanilang nilalaman. Ang proxy nagbukas ang packet at mukhang para sa web address o URL. Depende sa kung ang address ay katanggap-tanggap, ang packet ay ipinadala sa sa internet. Mayroong, gayunpaman, ang ilang mga address alin ang hindi makipagkita sa pag-aproba ng ang proxy, na sabihin, corporate o pamamahala ng mga alituntunin. Ang mga ito ay summarily Aaksyunan. Magkakaroon kami wala sa mga iyon. Para sa mga makakatugon dito, ito muli sa kalsada. Susunod, ang firewall. Ang mga corporate firewall Naghahain ang dalawang layuning ito. Pinipigilan nito ang ilan sa halip pangit ng mga bagay sa internet mula sa na nanggagaling sa mga intranet. At maaari din itong pigilan sensitibong impormasyon ng kumpanya mula sa ipinapadala papunta sa internet. Sa sandaling sa pamamagitan ng firewall, isang router Pinili ang packet at naglalagay ito sa isang mas makitid kalsada o bandwidth, bilang sabihin namin. Malinaw, ang mga hanay ay hindi malawak na sapat na upang gumawa ng lahat ng iyon. Ngayon, maaari kang magtaka, kung ano ang nangyayari sa lahat ng mga packet na huwag gumawa ito sa kahabaan ng paraan. Well, kapag Mr IP ay hindi ng isang pag-amin na ang isang packet ay Natanggap sa angkop na panahon, Nagpapadala siya lamang ang isang kapalit na packet. Kami ngayon handa na upang ipasok ang mundo ng internet, ng spider web ng interconnected network na kung saan ay sumasaklaw sa aming buong mundo. Dito, router at switch magtatag ng mga link sa pagitan ng mga network. Ngayon, ang net ay isang ganap na iba't ibang mga kapaligiran kaysa sa makikita mo sa loob ng proteksiyon pader ng iyong LAN. Out dito, ito ang Wild Kanluran, maraming espasyo, maraming pagkakataon, maraming mga bagay na gagalugarin, at mga lugar upang pumunta. Salamat sa napakaliit kontrol at regulasyon, mga bagong ideya makahanap ng mayabong lupa upang itulak ang sobre ng kanilang mga posibilidad. Ngunit dahil sa kalayaan na ito, tiyak na panganib din tumago. Hindi ka na kailanman malalaman kung kailan mo matugunan ang dreaded ping ng kamatayan, ng isang espesyal na bersyon ng isang normal na kahilingan ping na ang ilang mga tulala naisip hanggang upang guluhin mapagtiwala host. Ang path sa aming packet tumagal siguro sa pamamagitan ng satellite, mga linya ng telepono, wireless, o kahit na sa likod ng mga karagatan cable. Sila ay hindi palaging tumagal ang pinakamabilis na o pinakamaikling ruta posible, ngunit sila ay makarating doon, sa kalaunan. Siguro na ang dahilan kung bakit minsan ito ay na tinatawag na ang buong mundo paghihintay. Ngunit kapag ang lahat ng bagay ay gumagana nang maayos, mo maaaring iwasan ang globo limang beses na higit sa sa drop ng isang sumbrero, Literal na, at lahat ng para sa halaga ng isang lokal na tawag o mas mababa. Malapit sa pagtatapos ng aming patutunguhan, magpapadala kami makahanap ng ibang firewall. Depende sa iyong pananaw bilang isang packet data, firewall ay maaaring isang balwarte ng seguridad o dreaded kalaban. Ito lahat ay depende sa kung aling mga bahagi ikaw ay sa, at kung ano ang iyong intensyon ay. Ang firewall ay dinisenyo upang ipaalam sa lamang mga packet na nakakatugon sa pamantayan nito. Firewall na ito ay tumatakbo sa port 80 at 25. Ang lahat ng mga pagtatangka upang makapasok sa pamamagitan ng iba pang port ay sarado para sa negosyo. Port 25 ay ginagamit para sa mail packet. Habang Port 80 ay ang pasukan para sa packet mula sa internet sa web server. Sa loob ng firewall, packet ay screen higit lubusan. Ang ilang mga packet gumawa ito madali sa customs, habang ang iba ay tumingin ng kaunti lamang kahina-hinala. Ngayon, ang firewall opisyal Hindi lokohin, tulad ng kapag ang ping ng kamatayan packet pagsubok sa magkaila sarili nito bilang isang normal na ping packet. -Move Kasama. Ito ay ang OK. Walang problema. Magandang araw sa iyo. Hayaan akong outta dito. Hindi importanteng bagay. -For Mga packet mapalad sapat na upang gawin itong ito malayo, ang paglalakbay ay halos sa paglipas. Ito ay lamang ng isang line up sa interface upang madala up sa web server. Ngayong mga araw na ito, maaaring tumakbo ang isang web server sa maraming mga bagay, mula sa isang kompyuter ng karaniwang sukat, sa isang webcam, sa computer sa iyong desk. Bakit hindi ang iyong refrigerator? Gamit ang tamang hanay up, maaari mong malaman kung mayroon kang mga kailangang katangian para sa manok cacciatore o kung mayroon kang upang pumunta sa pamimili. Tandaan, ito ay ang Dawn ng Net. Halos anumang bagay ay posible. Paisa-isa, ang packet ay Natanggap, binuksan, at naka-unpack. Ang impormasyon na naglalaman ang mga ito, na ay ang iyong kahilingan para sa impormasyon, ay ipinadala sa sa web server ng application. Ang packet mismo ay Niresaykel. Handa nang magagamit muli at puno ng ang iyong hiniling na impormasyon, naka-address, at nagpapadala ng mga paparating na sa iyo. Bumalik nakalipas na ang mga firewall, router, at sa pamamagitan ng internet. Bumalik sa pamamagitan ng iyong corporate firewall. At sa iyong interface. Handa nang ibigay ang iyong web browser kasama ang impormasyong iyong hiniling. Iyon ay ang film. Nasisiyahan sa kanilang mga pagsisikap at nagtitiwala sa isang mas mahusay na mundo, ang aming mapagkakatiwalaan data packet sumakay off blissfully sa paglubog ng araw ng isa pang araw, alam ganap na sila na nagsilbi na rin ang kanilang mga Masters. Ngayon, ay hindi na isang masaya na nagtatapos. [END VIDEO pag-playback] David MALAN: Iyon lang para sa CS50. Makikita natin sa iyo sa susunod na linggo. [Musika - Katy Perry, "Dark Horse"]