[Powered by Google Translate] [Semèn 7, Kontinye] [David J. Malan, Inivèsite Harvard] [Sa a se CS50.] [CS50.TV] Tout dwa. Byenveni Retounen. Sa a se CS50, ak sa a se nan fen semèn 7. Se konsa yonn nan bagay sa yo estipid ti kras ki ale alantou entènèt la epi nou slurped kanpe, epi li ta dwe kounye a fè yon ti kras nan sans jiki ou. Oke, li te funnier sa a nèg pase jan li te ba ou guys. Pale de, byen, nèg, jodi a se anivèsè nesans Nate a. Pou bay ou yon sans de jis ki jan bon Nate ak mwen yo se nan devlopman sit entènèt ki baze sou klas Lendi a epi ki baze sou kounye a sa a, Mwen te panse mwen ta rale moute paj lakay Nate a, si ou pa t 'wè li ankò. Sa a HTML isit la ia Nate a. Se konsa, wè sourcecode l 'si ou ta renmen wè ki jan yo fè sa, ak Nate, si nou te ka embarass ou jis yon ti tan, anplwaye a te resevwa ou yon ti kras yon bagay si ou ta renmen pataje kèk desè ki gen kèk nan timoun ki nan klas la isit la. Si w ta renmen yo vini sou desann. Ou tout bat bravo pou epi yo trè bèl, men li pa gen moun ki chita nenpòt kote toupre Nate, pou kèk rezon, nan ki zòn tounen. Se konsa, petèt ou ka jwenn kèk jan yo jwi sa yo avèk yo. Happy Birthday, Nate. Hellos Lòt: Nou te montre yon klip koup nan men elèv CS50x nou an. Si ou ta renmen wè ki lòt moun li se nan mond lan ki nan swiv ansanm, ou ka mete tèt sa a URL, kote Jozèf, youn nan TFs nou an, te mete ansanm yon montaj nan kalite nan tout moun ki te soumèt videyo sa yo, nan mitan yo Rick Astley. Men, si ou Scroll nan sa yo, li vrèman byen enspire yo wè divèsite la nan peyi yo ak lavil nan ki moun yo ap orijinèr. Se konsa, si ou ta renmen pran yon gade nan sa, ki pral moute nan la fen semès la. Jodi a nou kontinye gade nou an nan entènèt la, entènèt pwogramasyon, HTML ak renmen an, ak nou menm tou nou te manje midi k'ap moute sa a Vandredi si ou ta renmen, ak patikilyèman, pa te fè sa anvan. Tèm sa a Vandredi a ap anivèsè nesans Nate a, Se konsa, si ou ta renmen gen manje midi anivèsè nesans ak Nate ak lòt moun, kèk nan zanmi nou yo soti nan endistri, tanpri tèt ak sa yo ki URL la. Espas, kòm toujou, se limite. Epitou, si ou te bliye, reyalize ke semèn pwochen se dat limit la pou pwoblèm mete lachas charonya 4 an, kote apre rekipere tout nan tout sa yo JPEGS soti nan card.raw, ou menm ak kanmarad seksyon ou, si ou ta renmen, ka eseye foto kòm anpil nan syantis yo òdinatè nan sa kat memwa kòm sa posib, epi ou menm ak seksyon ou a pral Lè sa a, genyen yon pri Fabulous. Refere tounen nan spesifikasyon pset 4 a tankou sa ki yo soumèt yo ak sou lè. Epitou, si ou ta renmen genyen ouvrages ou imortalize sou sit entènèt kou a ak istwa li nan abiman, konnen ke ou ap akeyi kounye a yo kòmanse soumèt desen pou chemiz T-ane sa a ak swetè mayo ak renmen an. Nou pral fè pi byen nou yo gen ladan yo anpil jan nou kapab, men nou pwal gen kèk manm nan revizyon an anplwaye tout nan desen yo asire ou ke yo ap konsistan ak espesifikasyon yo, epi nou Lè sa a, chwazi jeneralman nan yon ti ponyen nan yo dwe ekspoze. Se konsa, si ou se kalite a konsepsyon, jis konnen ke kondisyon yo ki pou grafik yo se PNG, omwen 200 DPI, yo pa ta dwe gen plis pase 4000 x 4000 piksèl, ak pa plis pase 10 MB, men w ap akeyi yo itilize bagay sa yo tankou Fotoschop oswa bwateu oswa divès pwogram grafik la, kèlkeswa sa ou genyen a jete ou. Epitou sou orizon an se pwojè final la. Pwojè final la vrèman se Pi gwo pwen de 50 an, kote nan tout devwa yo nan kou a, li nan opòtinite ou a reyèlman fè bagay pwòp ou yo. Epi yo ka tou senpleman fè yon bagay pou plezi, li kapab yo rezoud kèk pwoblèm ijan gwoup elèv ou a gen, pou kèk nouvo sit wèb, gen kèk mekanis koleksyon nouvo pou done. Se kapab yon mobil aplikasyon pou android, pou yo. Reyèlman, syèl la se limit la, ak sou semèn kap vini yo, jan nou tranzisyon soti nan C rive nan lang sa yo pi wo-nivo tankou PHP ak JavaScript, w ap jwenn tèt ou de pli zan pli familyarize ak kèk teknik mond reyèl la, kèk zouti mond reyèl la, ak yon sipleman sa, konnen ke kou a gen yon istwa nan seminè, kote sou semèn kap vini yo plizyè, kèk nan anplwaye a ansèyman ak zanmi ki pour nou soti nan sou lakou lekòl la pral ofri seminè si ou vle ki ale pi wo a ak pi lwen pase sa ki tipikman fè l 'nan seksyon Pou entwodui ou nan bagay sa yo tankou pwogram android, Pou entwodui ou nan bagay sa yo tankou yo pwogramasyon oswa plis avanse web-devlopman teknik. Genyen nan yon istwa antye nan sa yo sou entènèt deja. Si ou ale nan cs50.net/seminars, nou te toujou ap fè sa a pou byen ane kèk, epi ou pral wè ke achiv isit la ak pdf ak videyo ak renmen an yo se videyo douzèn plizyè nan seminè. Ane pase a, pou egzanp, nou te gen yon seminè sou acing entèvyou teknik ou a, si w ap aktyèlman ap chache al epi fè yon estaj oswa Gig a plen tan. Windows mobil devlopman, android devlopman, Google Maps, API, CSS, devlope pou mur a, anak. Vrèman, ou yo se akeyi yo pran yon gade nan nenpòt nan sa yo seminè nan konvenyans ou. Epitou, n ap ka kenbe kèk nouvo sa a semès, tankou byen. Se konsa, sa se pi devan ak pwojè final la? Oke, an premye, menm si dat sa a se yon ti jan iminan, sa a se vrèman jis yon opòtinite yo kòmanse panse sou pwojè a final byen pli reyèlman. Nou konnen sèlman kòmansman an nan kèk nan ki sa nou pral dwe toujou ki kouvri nan kou a, HTML, PHP ak tankou la, men ou se tout ki abitye avèk entènèt la, epi mwen patipri konvèsasyon sa a nan direksyon Web la sèlman paske pi fò moun fini fè pwojè baze sou Entènèt yo final la, men sa se pa pa gen okenn vle di voulu. Sèvi ak C se amann, objektif C, Java, nenpòt lòt lang ou ta ka konnen oswa ou vle konnen se byen amann. Men, yo ka resevwa ji yo ap koule tankou dlo okòmansman, nou pral atann soumèt a nan yon preproposal ki, pou chak PDF la sou sit entènèt la, ki se kounye a nan cs50.net, ak sou bò gòch nan tèt ou pral wè final pwojè se spesifikasyon la pou pwojè a final, ak nan gen detay sou preproposal la ak renmen an. Li bèl anpil klou desann nan yon imèl bay parèy ansèyman ou jis grèv monte yon konvèsasyon avèk li sou sa ki w ap panse. Sou projects.cs50.net se yon repozitwa nan ide ki soti jan sou lakou lekòl la si w ap konbat vini ak kèk lide, ak manual.cs50.net/APIs se yon repozitwa nan lyen ki mennen nan APIs. Ki sa ki, menm si, se yon API? Ki sa ki nan yon API? Mwen te di ke li omwen de fwa, dapre relve nòt yo nan semèn ki sot pase yo plizyè. Ki sa ki nan sa? [Elèv yo, enkonpreansibl] >> Okay, bon. Se konsa, yon bagay pwogramasyon koòdone. Aplikasyon pwogram koòdone, e sa ka pran plizyè fòm, men ki sa sa a klou vrèman desann nan se kòd ke yon lòt moun ekri oswa HS done ki te yon lòt moun yo kolekte ki se te fè disponib nan ou nan kèk fason pwogramatik. Ou kapab ekri kòd nan C, PHP, Piton, Ruby, kèlkeswa lang ou nan chwa tipikman se, epi ou ka yon jan kanmenm bati sou fonksyonalite yon lòt moun nan oswa yon lòt moun nan gwoup done ki. Pou egzanp, si m 'ale nan lyen sa a isit la, epi ou pral wè yon pè nan lyen sou paj la ki vin apre kote nou gen pwòp APIs CS50 a, ki yo trè Harvard-santre, ak Lè sa a, twazyèm-pati APIs. Pami APIs la twazyèm-pati yo se reyèlman itil bagay sa yo tankou yo te kapab voye moun yo SMS a, ke yo te kapab resevwa SMS mesaj tèks nan men moun. Ak bagay sa yo tankou sa ke ou ta ka pa gen okenn lide ki jan yo aplike tèt ou, men mèsi nan sèvis, gen kèk gratis ak kèk komèsyal yo, ou ka bati anlè tout moun ak sou fè yon bagay nan enterè ou. Pami APIs CS50 nan yo se bagay sa yo kanpis-santre tankou Harvard pou kou yo, enèji, evènman, manje, manje, kat, nouvèl, tweets ak nan Shuttleboy pwòp, ak sa yo, se APIs ki gade yon ti kras yon bagay tankou sa a. Kite m 'rale moute API la HarvardFood. Si ou janm te nan sit entènèt HUD la, ou te pwobableman te gen jis wè sa ki nan pou dine oswa yo wè sa ki èdtan yo yo se pou kèk d sal-. Oke, li pa patikilyèman fasil navige, ak sa ki sa nou t 'kèk tan Anons sa pibliye depi te nou te ekri lojisyèl, li k ap pase yo nan PHP, ki aktyèlman ekran grafonyen antye nan sit wèb HUD la. Pou fè sondaj yon bagay grate vle di yo ekri yon pwogram nan yon lang tankou PHP ki pretann yo dwe yon navigatè, menm si ou ta ka kouri li nan yon èd memwa lòd, ki pretann yo dwe yon navigatè, konekte nan yon sit entènèt, downloads HTML li yo, lang la nan ki yo ekri l la, ak Lè sa a, li li, oswa plis espesyalman, pars li anwo jouk anba, gòch a dwat. Ak ki sa nou t 'te nou te ekri kòd nou yo nan yon fason ke nenpòt ki lè nou te wè yon bagay nan sa HTML ki te sanble yon bagay sou menu an, tankou anmbègè, nou ta Lè sa a, enpòte ki nan baz done pwòp nou yo. Ak nenpòt ki lè nou te wè nitrisyonèl kontni, nou ta enpòte ki nan baz done pwòp nou yo. Ak ki sa nou te fè ogmante lefèt ke sou sit wèb HUD la, menm si li ta kapab yon ti jan nan yon defi pou nou moun navige anba kapo machin lan, tout HTML a ap pwodwi pa pwogram pwòp òdinatè yo. Se konsa, tout HTML yo, menm si li ta ka gade sal, tankou pifò sit entènèt anba kapo a li swiv yon modèl. Se konsa, nou jis pase yon èdtan koup n ap kalkile konnen ki modèl pou ke nan fen a, nou jete tout lèd HTML a, tout estetik ki fè fas a fonse ak italik ak renmen an, ak ki sa nou yo se Lè sa a, kapab fè se ekspoze ki done menm. Pou egzanp, nan fason sa. Se konsa, nou, dapre dokiman an isit la, gen enfòme mond lan ke si ou mande pou yon URL ki sanble tankou sa a, food.cs50.net / yon bagay, epi ou bay sèten karakteristik, ki nou pral pale sou jodi a, tankou fen-dat tan, kòmanse-dat tan pou manje yo, ak pou fè, ki sa serveurs nou an pral tounen vin jwenn nou, pou egzanp, se yon dosye CSV, vigil separted valè tankou yon dosye Excel, ki gen tout bagay pou manje maten sou dat sa a an patikilye nan mwa mas de ane pase lè m 'rive ekri moute sa a kopi dokiman yo. Pou moun ki yo konnen yo, CSV se pa fòma a dosye sèlman. Genyen yon lòt fòma ki nan tout sa plis versatile a rele JSON, JavaScript Notasyon objè. Done yo ka vin tounen nan ki fòma. Se konsa, Takeaway a isit la se ke si ou plonje nan sa a API oswa nenpòt lòt kote nan la CS50 oswa anyen deyò a la, sou Entènèt la, oswa ou pa nan tout, reyalize ke te mond lan de pli zan pli te kòmanse estandadize ki jan machin kominike. Nou itilize done estanda fòma tankou CSV oswa JSON. Ak kisa sa vle di pou ou se ou ka ekri pati nan enteresan nan yon pwogram ki pèmèt itilizatè ou rechèch yon meni kote moun-sal, ki pèmèt yo pou kreye yon lis nan favorites ki pèmèt yo jwenn alèt tèks lè manje yo pi renmen se sou yo dwe te sèvi nan kèk d sal- lè l sèvi avèk aparèy televisyon HD done yon lòt moun nan ak bilding sou tèt APIs yo. Se konsa, plis sou sa nan fòm lan nan seminè ak dokiman an ki di ou gen isit la sou entènèt. Se konsa, sa yo, lè sa a, se APIs. Ki pote nou tounen nan HTML. Quick rapèl. Ki sa ki se HTML? [Elèv yo, enkonpreansibl] >> Bon. Ipèrtèkst markeup lang. Yon lòt moun, ki sa ki ipèrtèks markeup lang? Ipèrtèkst markeup lang. Oke. Se konsa, HTML, ipèrtèkst. Ipèrtèkst jis refere a entènèt la, pou pati ki pi. Markeup vle di ke li pa aktyèlman yon lang programmation, HTML. Li pa yon lang ke ou ka eksprime lojik pous Li pa gen pasan. Li pa gen kondisyon yo. Li pa gen fonksyon, se pou chak. Olye de sa, li gen tout bagay sa yo rele balises, oswa pi plis byen, eleman. Ak moun ki eleman gen etikèt kòmanse ak balises fen, oswa tags ouvè ak balises fèmen, e ki sa sa yo tags jeneralman vle di pou yon navigatè se, kòmanse fè yon bagay e yo Lè sa a, sispann fè yon bagay, menm si genyen eksepsyon nan sa. Pafwa li a, se jis 'mete yon ti repo liy isit la,' pou egzanp. Ak nou te wè egzanp sou jou sa a nan lòt, ant andwi fonse, liy kraze, epi Lè sa a, yon koup la balises ak lòt. Se konsa, HTML se lang la nan ki paj wèb yo ekri. Se konsa, si m 'ale nan yon bagay tankou Google.com e ki rale moute jis lakay paj yo, sonje ke si ou dwa klike sou oswa kontwole klike sou epi gade nan sous paj vi, tipikman li nan yon dezòd konplè jou sa yo anba kapo machin lan, men sa a paske òdinatè pa pran swen sou espas blan, kidonk sa a pa bezwen gade bèl. Men, si nou rale nan sou pati ki gen nan li, avi ke Chrome, jis yo dwe bèl, li te koulè kode bagay sa yo. Vreman vre, sa a se tag an trè premye ke nou te wè nan yon paj entènèt. Epi ankò,, 5 HTML vèsyon an dènye nan lang sa a, gen bagay sa a nan kòmansman an, > Yeah, nou te rezoud sa a anvan pa ouvètman di navigatè ', li mete yon ti repo liy isit la.' E se te paske, ankò, yon navigatè a sèlman pral fè klèman ki sa lang nan baliz di li fè, Se konsa, menm si ou ka gen frape antre nan yon fwa oswa de fwa oswa menm dis fwa lè lè, li pral konbine ke tout nan yon espas sèl, jis pa konvansyon. Se konsa, si ou reyèlman vle pran yon ti repo liy, ou gen yo sèvi ak tag nan br, e kounye a, avi, tankou Lendi, mwen mete andedan kay la / nan sa a tag, sèlman paske sa a jis pa santi dwa yo kòmanse yon ti repo liy Lè sa a, sispann li pa gen anyen nan ant. Se konsa, konvansyon an nan HTML se ouvè epi fèmen yon tag ansanm. Kòm yon sou kote, ou pral wè yon anpil nan sit entènèt ki nan liv pa fè sa. Li se kòrèk fè oswa pa fè li, men nou ta diskite ki konsepsyon-ki gen bon konprann ak estilitikman, sa a se jis pi bon paske lè sa a chak tag se toude louvri epi li fèmen yon jan kanmenm. Se konsa, kounye a kite a sove ak Reload. Tounen nan navigatè a, oke. Koulye a, nou ap fè kèk pwogrè, men li pa byen ase. Se pou nou ale pi devan epi kòmanse sezisman nan kèk kò ki pi long tèks. Se konsa, kite a di: Yon rapid mawon rena sote sou yon chen parese. ' Epi, koulye a kite m 'jis yon kopi ak keratin sa a yon fwa kèk pou ke nou gen yon paragraf nan tèks. Kite m 'ale tounen sou isit la. Se konsa, li pa nan kap trè bon. Mwen gen yon ti repo liy, kidonk li a oke, Men, koulye a, yon fwa nou ap vin nan pwen a ki gen yon paj wèb ki gen anpil kontni ak liy pa sèlman yon sèl yo demontre HTML, nou kapab kòmanse panse a tout bagay sa yo kòm paragraf vrè. Epi nou ka kòmanse estriktire paj wèb nou an yon ti kras plis propr. Ak tout bon, sa m 'ka fè se ale isit la andedan nan tag kò mwen, epi ou konnen ki sa, si 'Sa a se CS50. . '. reyèlman demarks nan konmansman an nan yon paragraf, byen, kite la tag li kòm sa yo. Kite m 'itilize tèks la, jis pa konvansyon, kite m' di ki paragraf sa a fini isit la, ak Lè sa a, olye ke sa a repo liy, kite m 'jis di ke sa a ki dwe gen ak kòm yon nouvo paragraf, epi mwen pral jis byen vit itilize pa jis clobbering tout bagay sa a. Se konsa, kounye a nou gen yon paragraf utilize la, e kounye a, baliz nou an, ap kòmanse yo ka resevwa yon ti kras pi plis Semantics ki konsistan avèk sa n ap eseye fè. Nou gen yon paragraf, kidonk kite a rele li yon paragraf ki genyen etikèt la p. Nou gen yon paragraf segonn, donk, kite a rele li yon paragraf ki genyen etikèt la p. Epi, koulye a, ki sa ki navigatè a ap anjeneral fè se jis tankou nan yon liv angle oswa redaksyon an, ki kote ou tipikman wè kèk repo liy ant paragraf yo. Navigatè pral fè sa pou ou otomatikman. Se konsa, kounye a nou gen de paragraf, epi nou ka kontinye sa a. Men,, nan kou, sou entènèt la, lè ou gen kò nan tèks li pa tipikman jis tach gwo tèks. Gen souvan lyen an la. Se konsa, si nou vle, pou egzanp, gen ladan yo kèk lyen la, ta kwè sa ki ta ka nan enterè nan tou sa paj entènèt mwen kreye isit la se - kite m 'ale nan Google.com, ak kite m 'rechèch pou yon rena rapid mawon. Ale nan imaj Google, epi, ki jan sou - sa a se bèl. Nou pral ale ak sa a. Se konsa, isit la nou gen yon rapid mawon rena sote sou yon chen parese. Se konsa, sa mwen pral fè isit la, jis pou dedomajman pou la nan demonstrasyon, se ta kwè ke sa a imaj te sou sèvè m 'yo, epi mwen te kreye imaj sa yo. Ki sa mwen jis t 'te dwa klike sou oswa kontwole klike sou imaj la, ak sa ou pral wè nan pi fò navigatè se yon meni ti kras - sispann fè sa - yon meni ti kras ki pèmèt ou chwazi kote lyen kopi an papye oubyen URL kopi. Se konsa, kite m 'ale tounen kounye a nan HTML m' yo, ak sipoze ke mwen vle HyperLink sa a nan yon lòt paj entènèt. Ki sa ki te tag la te rele pou sa? [Elèv yo, enkonpreansibl] >> Yeah. Se konsa, yon rèf pou referans ultra. Kite m 'ale pi devan ak keratin ki pous Li se yon URL trè long, se konsa, kite m 'rale tounen soti. Parantèz Fèmen sa, koulye a remake mwen fason sou isit la paske men sa ki te pase URL yo dwe trè long. Kite m 'woulo liv sou isit la a nan fen rena rapid mawon, ak Lè sa a, kite m 'fèmen sa a tag ak . Se konsa, tout bagay nan tèt la nan twal ble se jis yon kòmantè. Sa a se deklarasyon doktip mwen yo ki ankò, ou ka jis yon kopi ak keratin sou konfyans nan Bondye, pou kounye a. Sa a jis di navigatè a, 'Men vini kèk 5 HTML.' Anba a ki, sou liy 14, se premye a nan Tags aktyèl m 'yo, ak sa a jis di, tankou anvan, isit la vini kèk HTML, isit la vini tèt la nan paj m 'yo, isit la vini tit la, ak lè sa a, Kontrèman, sa a, se li pou tit la, sa se li pou tèt la. Isit la kounye a vini kò a nan paj m 'yo. Se konsa, yon etikèt koup nouvo kounye a: H1 kanpe pou tit 1. Genyen nan yon tradisyon nan HTML pou anpil ane tounen ki gen gwosè diferan nan tèks. Ak tounen lakay ou nan jou a, yo chak yon sèl vle di, jeneralman, jis gwo ak fonse. Men, gen la tou H2, ki se gwo men li pa byen kòm gwo ak fonse. Genyen nan H3, ki se kalite gwo, men se pa prèske kòm gwo ak fonse, ak pou fè, tout wout la desann nan h6. Jou sa yo, menm si, H1, H2 ak H3 yo vrèman vle di gen siyifikasyon plis semantik yo: kote H1 se reyèlman yon tit: tit la nan yon paj wèb, karaktè enprimri nan tèt yon kolòn oswa yon bagay tankou sa yo ki an tèks. Se konsa, mwen te fè espre di H1 CS50 rechèch> H1 endike ke sa a se reyèlman tit la, tit la nan paj m 'yo. Pa tit la nan sans bar tit, men tit la ke ou aktyèlman wè nan paj wèb la poukont li, nan kò a. Koulye a, sa a, ou ka pwobableman devine sa li ye, menm si nou gen yon kèk moso nouvo sou sentaks. Sa a se yon fòm. Se konsa, entènèt la vrèman vin enteresan lè sou sit entènèt pran enfòmasyon nan men gwoup itilizatè. Nan klas sa a, nan pwoblèm nan mete sou pwogram entènèt, nou pa pwal fè yon sit entènèt, se pou chak, ak estatik kontni ki montre foto ki ou te pran, oswa sa a se rezime m 'yo, ak bagay sa yo sou mwen, paske bagay sa yo yo se relativman fasil yo mete yo ansanm. Li difisil yo fè bagay sa yo bèl sou entènèt la, men omwen mete kanpe kontni se trè trivial. Men, bagay sa yo jwenn vrèman enteresan lè yon moun ka vizite sit entènèt ou a ak bay dizon epi li ka ranpli fòm, ka tcheke sou kaz epi yo ka kominike avèk sit entènèt ou. Ak tout bon, pwobableman chak sit entènèt ou swen sou jou sa yo, nan nenpòt ki detay, se yon jan kanmenm entèaktif. Facebook, Google, ak renmen an, ki pran opinyon itilizatè epi ki pwodui Customized pwodiksyon. Se konsa, kite la kòmanse fè sa kounye a. Tranzisyon Ann kounye a ki soti nan jis lè l sèvi avèk HTML pou baliz sou kontni estatik kòm olye yon mekanis livrezon pou kontni dinamik. Ak nan direksyon ki fini, kite la aplike motè pwòp rechèch nou an. Se pou nou fè l 'jan sa a. Isit la nan tag nan fòm. Atribi nan aksyon espesifye ke lè itilizatè a ap ranpli fòm sa a ak klavye yo, li pral soumèt nan sa a URL isit la. Se konsa, mwen kalite poul la. Li nan pral pran nou yon ti tan ankò pase yon klas aplike motè rechèch la tout antye, se konsa nou pral jis fè nan fen devan, se konsa pale. Nou pral fè pati nan ki pèmèt rechèch la itilizatè, epi n ap sòt de bote nan Google pati a difisil pou jwenn rezilta rechèch, men, espesyalman, mwen pral pale ak sèvè wèb Google la lè l sèvi avèk youn nan de metòd trè popilè. Youn nan yo te jwenn, yon lòt, pou nou pral evantyèlman wè, yo te post, Malgre ke gen lòt moun ki ap mwens souvan itilize yo. Se konsa, jwenn jis konjur moute lide nan, mwen vle jwenn kèk kontni, jwenn kèk rezilta rechèch. Sa a, ou ka petèt devine kisa sa a ap fè. Sa a se kèk kalite D ', li te, an reyalite, ale nan gade tankou yon jaden tèks, ak non sa a nan D ', non varyab sa a, se konsa pale, yo pral q pou rechèch pa konvansyon. Epi ankò, ki kalite sa a D 'se pa sa pral gen yon toulède kaz; li pa pral gen yon meni; li a ale nan yon jaden tèks kòm deziye sa a atribi isit la, ak bwat sa tèks, tankou yon ti repo liy, se swa gen oswa ou pa. Se konsa, nou gen yon eleman vid yo avèk koupe nan andedan ki tag. Lè sa a, mwen pral mete yon ti repo liy, epi ou ka, petèt, devine kisa sa a se pral fè a. Sa a se yon lòt sòt de opinyon fòm. Sa a yon sèl nan yo pral itilize pou soumèt fòm nan. Se konsa, sa a se pral fè bouton an gwo ki itilizatè a kapab klike sou yo soumèt fòm lan, ak etikèt la sou sa bouton se pral yo dwe 'CS50 Search. Fèmen fòm, fèmen kò, fèmen HTML. Ann wè sa nou genyen nan fòm lan nan paj sa a sou entènèt. Se konsa, kite m 'ale nan navigatè m' yo, kite m 'ale, toujou, nan lame lokal yo. Sa a se toujou index.html, se konsa si mwen vle wè sa a ranpli rele search0, Mwen kapab annik fè / search0.html, antre - ak premye an nan erè m 'yo. Kisa ki ale sou? Mwen byen klè pa gen pèmisyon gen aksè a sa a ranpli, pou kèk rezon. Men sa a paske, kontrèman travay la nou te fè konsa byen lwen nan C, kote pwogram yo ou ekri yo sipoze yo dwe runable pa ou, ègzèkutabl pa ou, se sa ki pa reyèlman ka a sou entènèt la, kote pafwa ou ta ka vle kreye dosye sou yon sèvè, men ou pa vle lemonn antye pou kapab wè yo. Olye de sa, ou vle mond lan yo wè kèk dosye men se pa lòt moun, jis pou dedomajman pou vi prive a. Se konsa, li plis nan yon baz opt-nan lè w ap fè bagay sa yo sou entènèt la. Se konsa, kite m 'aktyèlman tape ls isit la, epi w ka wè dosye yo mwen gen, men sonje ke si mwen fè ls-l pou lontan, Mwen pral genyen yon lis ki pi long ki ban m 'kèk plis detay sou sa yo dosye ki se kounye a, reyèlman, la pou premye fwa ki gen rapò ak nou. Remake sou bò dwat la byen lwen yo, se non yo nan dosye mwen, ak Lè sa a, tan an nan ki yo te dènye modifye oubyen kopye. Nimewo sa a isit la se ki sa? ou sonje? Gwosè a nan bytes, ki jan gwo dosye a se. Se konsa, mwen sanble gen kèk kalite logo nan isit la sa a, se pi gwo pase tout dosye yo ak lòt. Sa a se kiyès mwen ye, sa a se sa m 'ye ak sa gwoup Mwen pous Men, lè sa a, plis pase isit la sou bò gòch la se yon ti jan nan sekans skre, epi nou te pale, mwen panse, yon ti tan de sa nan tan lontan an, men sa a te fè yo avèk otorizasyon. E menm si sa a, se yon ti kras vwale, Rw pwobableman vle di li & ekri. Se konsa, li sanble ke sa yo tirè don aparèy televisyon HD diferan nan otorizasyon pou moun diferan. Ak modèl la se, ki esansyèlman, jan sa a. Lè nou wè yon sekans tirè isit la, yo gade jan sa a. Genyen nan yon priz, lè sa a gen nan twa plis tirè, Lè sa a, gen nan yon lòt twa, lè sa a yon lòt twa. Premye a se swa yon priz oswa anons li a pou anyè. Se konsa, ke youn nan trè fasil. Si li nan yon katab, li di d, otreman li nan yon tirè. Genyen nan yon koup lòt ka yo, men pou kounye a nou ap jis pran swen sou dosye ak repèrtwar. Sa yo pwochen twa ba - epi mwen te atifisyèlman eleman espas yo. Yo te, evidamman, pa gen lè nou wè yo yon ti moman de sa. Sa yo se otorizasyon mèt kay la dosye a, ak sonje ki sòti nan yon Anons sa pibliye depi dezyèm sa yo ki te li & ekri. Sa ki te paske mwen, menm jan moun ki te kreye sa a ranpli yon moman de sa, Se mwen menm, jis pa default, sou yon òdinatè Linux, gen kapasite a kontinye lekti ak redaksyon ki dosye. Se konsa, sistèm nan fonksyone jis ki ban m 'rw otomatikman. Sa yo nan mitan gen rapò ak gwoup m 'yo, sa yo ki an elèv yo, ki se sòt de sans sou aparèy la paske mwen moun sa a sèlman lè l sèvi avèk aparèy la. Se konsa, kite m 'jis balanse men m' nan ki pou kounye a. Men, yo menm ki dènye ki pi enpòtan pou sit entènèt la. Sa a se tout lòt moun nan mond lan, ak reyalite a ki sa ki --- vle di ke pa gen yon lòt nan mond lan gen nenpòt otorizasyon sa a dosye. Klèman yon pwoblèm, se konsa mwen bezwen ranje sa a pa yon jan kanmenm bay mond lan ki sa? Li & ekri? Sa a pwobableman bèbè, dwa? Mwen pa vle nenpòt moun ki sou entènèt la pou yo ale nan vizite paj m 'ak yon jan kanmenm chanje sa ranpli, menm si yo te reyèlman pa t 'kapab ak yon dosye HTML, men jis nan prensip, pwobableman jis vle yo pou kapab li li l '. Kisa sa vle di li li l '? Li pa vle di yo pwal santi yo pran swen sou HTML aktyèl la, men navigatè a bezwen pou kapab analizan lang sa a baliz, anwo jouk anba, gòch a dwat. Se konsa, yon moun sou sit entènèt la bezwen pou kapab li li l ', se konsa mwen minim bezwen bay li r. Mwen ka fè sa nan yon fason kèk diferan, men petèt pi senp la se nan kouri lòd sa a isit la. Chmod, mòd chanjman, Lè sa a, yon r + konsa tout tout moun, nan mond lan + li, ak Lè sa a, non an nan dosye a, search0.html. Koulye a, si m 'fè ls-l ankò, avi ke ke dosye chanje, ak tout bon, mwen te vire sou r pou tout moun. Mwen te tou te vire l 'sou pou gwoup m' yo, men sa a amann, paske si mwen tounen vin an sou pou tout moun, gwoup mwen an se yon gwoup ki sot nan sa. Se konsa, sa a, se amann tou. Sa a jis vle di te òdinatè a kounye a te fè li lizib. Koulye a, kite m 'ale tounen nan navigatè m' yo, klike sou Reload. Ah-ha. Nou kounye a gen CS50 Search. Mwen te agrandi nan yon ti kras atifisyèlman - motè rechèch trè efreyan. Men, kite a wè si li aktyèlman ap travay. Premyèman, kite m 'fè yon chèk saniti rapid, kite m' kontwole klike sou ak wè sous paj la. Remake nan Chrome nou ap kounye a wè HTML nan menm pou mwen menm mwen kreye. pa jwenn konfonn isit la, menm si. Mwen pa ka kòmanse chanje kòd la isit la, paske navigatè a gen yon View Read-Only sa a kòd. Te navigatè a jis mande lokal lame pou yon dosye rele search0.html. Li se kounye a konyensidans pi ki aparèy la k ap pase yo sou òdinatè a menm jan ak navigatè m 'yo. Mwen te kapab jis gen, équivalant, te tape nan www.facebook.com/search0.html, epi si Facebook te gen yon dosye rele sa, mwen ta Lè sa a, dwe wè HTML yo. Epi, nan kou, mwen pa ka chanje dosye a ki vini tounen soti nan Facebook, swa. Se konsa, kounye a nou ap sòt de flou liy yo. Aparèy la se tou de yon sèvè, k ap sèvi moute paj wèb, men li la tou yon kliyan nan sans ke mwen sèvi ak yon navigatè aktyèlman pale ak ki sèvè. Se konsa, kite a wè si motè rechèch Google mwen travay. Kite m 'ale pi devan epi fè rechèch pou jwenn rena rapid mawon, antre. Epi vwala, mwen kounye a gen motè pwòp rechèch mwen an. Men, ki jan sa fèt? Ti jan nan yon detire, men - e kounye a, ou pa kapab wè, jisteman, pati nan sa a, se nan enterè yo. Wè sa k ap pase. Avi URL la. Li sanble ke ki metòd, rele jwenn, se super-senp. Lè ou presize nan yon fòm ke ou vle 'jwenn' rezilta nan kèk sèvè, ki sa li pral fè se pran tou sa ou tape nan fòm nan epi mete l nan URL la. Li nan ale nan estandadize ki jan li vin mete nan adrès URL la jan sa a. Avi ke sa a se URL la ki te valè atribi aksyon m 'yo. Sa a kote mwen te vle fòm sa a bay fini. Men, Lè sa a, avi sa a mak kesyon. Sa a se yon konvansyon sou entènèt la kote yo bay opinyon itilizatè nan yon sit entènèt, ou tache adrès URL la yon mak kesyon, ak Lè sa a, ou gen yon pakèt antye nan kle ki gen valè pè. Non an nan yon kle, ki te rekonèt kòm yon paramèt nan entènèt la, Lè sa a, ou genyen yon siy egal, lè sa a ou gen menm valè sa a nan paramèt. Se konsa, li esansyèlman se yon non varyab ak yon valè varyab, men non moun ki varyab la ak valè te soti nan fòm nan HTML. Poukisa yo pluses yo la, ou panse? Paske mwen pa t 'tape + nan ant pawòl mwen yo. [Elèv yo, enkonpreansibl] >> Yeah, li nan jis pou espas. Chans yo, ou nenpòt lè w te wè yon URL, gen nan pa janm okenn espas nan l ', si sèlman paske si te gen, ou pa t 'kapab reyèlman yon kopi ak keratin li nan yon IM oswa nan yon imèl paske li ta kraze. Ou vle tout bagay la yo dwe youn vwazen fil de karaktè. Se konsa, navigatè a se entelijan ase reyalize, uh-en. pa sèlman mete yon espas la. Kite m 'Programme espas ki la nan kèk fason estanda. Youn nan konvansyon ki pou fè sa se genyen navigatè a otomatikman mete yon + ki kote ou ta otreman gen yon espas. Se konsa, koulye a, avi Google te gen kalite itilizatè zanmitay-. Mwen sètènman pa t kreye paj sa a entènèt, yo men yo te prepopulated jaden pwòp tèks yo ak sa, jisteman, mwen tape pous Sipoze mwen vle pou fè rechèch pou yon lòt bagay, tankou yon chen parese. Mwen ka jis tape sa a isit la, re-rechèch. Avi ki URL nan chanje moute isit la, men remake Lè sa a, pou m 'ka aktyèlman rechèch pou anyen mwen vle jis pa konprann ki jan adrès travay. Mwen te ka fè parese chat, antre nan, ak avi koulye a m'ap jwenn yon trè parese - nou ta dwe? Mwen santi mwen tankou nou ta dwe. Mwen jwenn yon chat trè parese. Tout dwa. Sa a se youn nan bagay ki estipid nou te fè. Men sa se yon chat parese. Kanmèm, sa ki nan Takeaway kle a isit la? Koulye a, nou ap sòt de ap jwe nan mond lan nan HTTP. HTML se jis lang sa a baliz, louvri tag, fèmen tag, ki di yon navigatè ki jan yo rann kontni sou yon paj entènèt. Men, lè ou kòmanse transmèt done atravè entènèt la ant navigatè entènèt ak sèvè, ke se la li sa a pwotokòl ke yo rekonèt kòm ipèrtèkst Transfè Pwotokòl pran plis pase. Sa a se sòt nan nan konvansyon imen; lè Sam ak mwen t'ap tranble anba pye men sou Lendi, kòmanse yon koneksyon ak Lè sa a, fèmen yon koneksyon, menm lide isit la. Kòman yo bay rezilta Google la vini tounen nan m 'konsa? Ki jan yo soumèt fòm mwen pral Google? Oke, sonje soti nan lòt jou a ke sa ki reyèlman ale sou anba kapo a lè ou mande yon paj entènèt se, navigatè ou a ap voye yon mesaj parèt yon fason-skre tankou JWENN / HTTP/1.1 yo pou paj an kay default. Oswa, nan ka sa a, paske mwen espesifikman mande pi bonè search0.html, sa a Lè sa a, ta dwe mesaj la yon ti jan-skre ki navigatè mwen ka voye aparèy la. Oswa, nan ka sa a nan Google, ki sa ki la aktyèlman voye se yon demann yo voye / rechèch, ak Lè sa a,? q = chat parese, ak yon plis la. Se konsa, mesaj sa a, se mwen menm, moun lan, pa janm mwen sezisman, men se ke yo te voye pa navigatè m 'yo, sa a se ki jan HTTP k ap pase. Sa a se ekivalan a yo ki te souke men nou. Sa a se demann lan, ak sèvè a a sou yo voye yon repons. Se konsa, kite a pran yon gade nan sa a anba kapo a. Kòm anvan, nou ka louvri moute jaden sa a espesyal nan yon navigatè. Wè paj, enspekte eleman. Se konsa, anba enspekte eleman, remake ke sa ki te pase nan Chrome, ak IE ak Firefox gen mekanis ki similè yo, nou gen sa yo zouti pou devlope aksesib a nou. Moun nòmal pa sèvi ak sa yo onglè. Men, nou, koulye a, ki enterese nan sa k ap pase sou anba kapo a nan nivo rezo a. Se konsa, si mwen rale moute nivo a rezo isit la, kite m 'ale pi devan epi elaji fenèt sa a, louvri moute sa a antre isit la, ak gade Tèt yo. Se konsa, sa ki pase lè Mwen mande yon dosye ki sòti nan yon sèvè sit entènèt se navigatè m 'voye yon pakèt antye de bagay sa yo. Ak kite m 'wè sous. Se konsa, anba Tèt demann, ak sa a se jis chrome ki montre m 'kèk pwodiksyon dyagnostik, sòt de tankou yon debugjeur nan kèk sòt, avi ke sa mwen te make isit la se pwesizeman sa ki Chrome ap voye nan sèvè a nan lòd pou mande pou yon dosye rele search0.html. Li ap di sèvè a ki sa li panse non li se, gras a jaden sa a nan kolon lame, lè sa a kèk trè prive bagay nan isit la, tankou yon bagay fè ak dat ak lè, yon bagay fè ak lang yo ki navigatè a konprann, men liy ki vrèman enpòtan yo se sa yo de premye isit la. Ki sa ki sèvè a reponn ak? Oke, si nou desann isit la ak wè sous bagay sa a, remake ke sèvè a te reponn ak yon mesaj yon ti jan skre kòm byen, 304 pa modifye. Sa a se yon ti jan etranj; kite m 'aktyèlman eseye ranje sa a. Kite m 'kenbe desann chanjman, epi klike Reload moute isit la fòse navigatè a aktyèlman fè demann sa a la pou premye fwa. Lè sa a, kite m 'rale nan, epi nou pral wè kounye a ke repons sèvè a, paske mwen te kenbe chanjman, se 200 OK. Se konsa, ou te pwobableman pa janm wè nimewo a 200 nan yon kontèks entènèt la, men sa ki nimewo ou pafwa wè san atann ki sòti nan yon sèvè? 404, dosye pa jwenn; 403, Entèdi; 500, erè sèvè. Se konsa, gen kòd sa yo nimerik ki nan lemonn lan itilize nan sit Entènèt la siyifi erè, jis tankou C fonksyon kapab retounen erè ak prensipal ka retounen kòd sòti. 200, menm si, ou raman wè paske li vle di tout se byen. Ak 304 pwobableman ou pa janm wè paske ki sa ki li tapral? Ke pa gen anyen gen - kite a wè si nou ka simule sa a ankò - Oh, kounye a li nan pa kolabore. 304 di: Se pa modifye, Se konsa, poukisa te sèvè a menm reponn? Oke, pou efikasite, yon sèvè wèb otomatikman pou ou, si dosye a pa te chanje, li pa pral rtransmètr antye dosye a HTML. Li pral jis di navigatè a li pa te chanje. Jis itilize kopi a ou deja genyen. Se konsa, gen nan sa a nosyon nan kach sou entènèt la pou pèfòmans, pou ke ou pa gaspiye tan ak Pleasant dechè Téléchargez dosye ankò e ankò nesesite. Men, paj sit entènèt sa, koulye a, te super-senp, epi li sèlman te montre m 'HTML nan ki te vin tounen. Se pou nou sèvi ak aktyèlman tab la rezo kounye a nan fè yon rechèch Google tankou rena rapid mawon. Kite m 'Lè sa a, klike sou CS50 rechèch, ak kounye a, remake nan pati anba a isit la yon pakèt antye nan bagay tounen vin paske lè m 'ale nan yon sit entènèt reyèl tankou Google.com, yo gen imaj yo, yo gen tèks yo, yo gen yon lang ki rele JavaScript la. Se konsa, chak ranje nan tablo sa a desann isit la reprezante yon bagay ki Google krache soti pou bay repons pou demann yon sèl m 'yo. Yon sèl la mwen pran swen sou, menm si, se yon sèl sa a an premye. Men, si m 'ale nan rechèch la, demann, klike sou gade sous isit la, remake ke, tout bon, mesaj la skre ki navigatè mwen an voye sou Google te liy sa yo de isit la, ki te swiv pa kèk enfòmasyon Esoteric 'desann isit la ki nou pral inyore pou kounye a. Men, avi, tou, ki sa Chrome se trè sou la men ak yo, Li la tou ki montre m 'fisèl la rechèch ki te voye pous Se konsa, olye ke montre m sa a, ki te literalman voye, si mwen wè li Decoder, Chrome, jis pou debogaj rezon, pou devlopè tankou nou, li te jis ki montre m 'yon vèsyon imen-zanmitay nan - ki se pa ki jan ou eple rena, aparamman. Mwen jis remarke sa a kounye a - men li la ki montre ou sa m ', aparamman, tape. Pandan se tan, repons lan ki te vin tounen soti nan sèvè a se ankò 200 OK. Men, ki enkli nan ke repons, nan kou, si nou aktyèlman wè HTML paj an - regrèt, sa a se yon chemen kout klavye ti kras ale courbe jodi a. Mwen pral fè fas ak sa a pita. Se konsa, si nou aktyèlman wè sous paj la a, ki mwen ka fè desann isit la pa klike repons, sa a se sa ki te aktyèlman krache tounen, nan adisyon a ki skre 200 mesaj OK soti nan sèvè an. Yon ti kras skre, men ki kote tout bagay sa a vini soti nan? Oke, kite la fè yon lòt bagay isit la. Yon lòt lòd yon ti jan-skre, men kalite sa a yon sèl la nan pwòp nan ke li revele nou ekzakteman ki sa k ap pase anba kapo a. Se konsa, mwen tounen sou Mac mwen isit la, mwen te konekte atravè yon pwogram yo rele sch, Tache kal, nan yon lòt sèvè paske pifò nan òdinatè Harvard la bloke yo lòd, ki nou ap sou nan kouri paske gen nan lòd sa a sou kèk serveurs rele trasrout ki pèmèt ou trase wout la ant pwen A ak B, ak konsa byen lwen nou ve yo te pran pou yo akòde konplètman ke mwen ka tape nan Google.com ak yon jan kanmenm jwenn done tounen soti nan mwatye atravè peyi a oswa mwatye atravè mond lan. Avèk trasrout nou ka aktyèlman plonje nan yon ti kras pi fon ki di kòman entènèt la ap travay, epi wè sa k ap pase sou anba kapo a. Se konsa, kite a ale pi devan epi abitrèman trase yon wout, di, Stanford.edu, ki se atravè peyi a, ak frape antre. Lòd sa a ka super-vit oswa super-dousman, men ki sa nou ap wè koulye a, liy pa liy, se chak youn nan etap sa yo oswa so ant nou menm ak Palo Alto, oswa Stanford, kote yo gen sèvè wèb yo. Se konsa, sa chak nan liy sa yo reprezante plis konkrètman, menm si? Yon moso nan jagon soti nan entènèt la? [Elèv yo, enkonpreansibl] >> Ki sa ki nan sa? [Elèv yo, enkonpreansibl] >> Oh, se konsa gen fwa, men ki sa chak ranje - ki sa mwen vle di pa hop? Oke, gen bagay sa yo sou Entènèt la rele routeurs. Ak routeurs, kòm non an sijere, enfòmasyon sou wout soti nan pwen A ak pwen b. Men, gen plizyè pwen pi lwen pase yon b ak. Genyen nan C ak D epi E ak F ant ranje 1, ki k ap pase yo IP adrès òdinatè mwen an, oswa adrès nimerik m 'yo, ki inikman idantifye òdinatè mwen an, ak etap 15, ki se aktyèlman sèvè wèb la sizyèm ane, aparamman, ki mwen èksklamasyon sa a soti nan, oswa vèsyon 6 nan sèvè wèb yo nan Stanford. Men, sa ki nan kalite pwòp se, nou ka wè chemen an ki nan 0 m 'ak nan 1 yo ap pran nan òdinatè mwen an Stanford. Se konsa, etap 1 se adrès òdinatè pwòp m 'yo. Chak òdinatè sou Entènèt la gen yon idantifyan inik ki sanble tankou sa a. Number.number.number.number. Yon kote sa a sou lakou lekòl la, pwobableman nan sant la syans, se yon routeur rele Gateway Nwayo 2-te83, kèlkeswa sa ki vle di, kidonk sa a se youn nan routeurs gwo Harvard la anpenpan ki wout yon anpil nan trafik yo. Isit la nan yon lòt nan routeurs Harvard la, sa a se yon sèl Gateway Border, siyifikasyon fwontyè li la pwobableman sou periferi la nan lakou lekòl la yon kote. Lè sa a, gen nan, youn noks ranje 4, ki se Crossroads Nò, ki se yon ISP gwo, Entènèt founisè sèvis, ki kote tankou Harvard konekte jiska. Men, Lè sa a, bagay sa yo jwenn yon ti enteresan nan liy 6. Kote yo ye Bits mwen tout nan yon toudenkou? Kansas. Mond la gen yon abitid nan lè l sèvi avèk kòd ayewopò nan yon anpil nan bagay sa yo, oswa omwen abrevyasyon pou eta oswa vil yo, Se konsa li sanble, nan jis 60 ms, yon pake enfòmasyon, a 0 ak 1 a nan konpitè pòtatif m ' te resevwa tout wout la Kansas, e ankò, nan 60 ms. Anplis, apre yo fin Kansas, yo pran yon toune nan Houston, pwobableman, kòm sijere pa non sa a sèvè. Se konsa, jis kòm yon sèvè sou Entènèt la dwe gen yon adrès nimerik, li kapab tou, opsyonèlman yo, yo gen yon adrès yon ti kras plis imen-zanmitay ki moun te vini ak. Koulye a, nan etap 8, nou pa konnen ki sa sa a se. Pafwa routeurs jis kalite inyore ou, epi yo jis pa reponn kesyon yo, se konsa sa a, se amann. Yon sèl la apre etap 8 se aparamman ki kote? L.A. Avi nan sèlman ms 78, ki sa ki pran nou moun tankou 6 + èdtan fè fizikman, pran sache nan enfòmasyon sou Entènèt ms nan 78 vwayaje ki lwen. Etap 10 se nan LA kòm byen, ak etap 11 sanble yo te ale nan nò, moute toupre Stanford. Sa a se routeur fwontyè yo, oswa routeur limit fwontyè yo. Yon etap koup nan Stanford ke yo inyore nou, ak anfen, nou rive jwenn sèvè wèb la nan jis 87 ms. Koulye a, tout moun sa yo nimewo, kòm yon sou kote, jis di ou konbyen tan li pran pou done yo ka resevwa nan men m ' nan chak nan sa yo routeurs, epi li pa kontravansyon. Ki sa ki pwogram sa a se, li premye voye yon mesaj, ki esansyèlman, nan routeur la an premye. Lè sa a, youn nan routeur nan dezyèm; Lè sa a, youn nan routeur la twazyèm, mezire chak fwa. Se konsa, nan teyori, moman sa yo pral k ap grandi oswa omwen trè pre youn ak lòt, , epi, tout bon, sa yo ki se dwa isit la sou lakou lekòl la yo se super-piti. Osito ke ou kòmanse ale toupatou nan peyi a, li pran done yon ti tan ankò vwayaje, pi pre 100 ms, bay oswa pran. Men, kite yo ale direksyon nan lòt kounye a. Kouman sou Cambridge University nan UK a? Kite m 'olye kouri trasrout nan www.cam pou Cambridge, . Ac pou akademik,. UK, ak frape antre nan isit la. Sa te trè modi vit. Done mwen literalman te ale nan Cambridge, England, nan ki fann dezyèm nan tan. Se konsa, kite a wè chemen an ke li te pran. Harvard, Harvard, Harvard, Crossroads Nò, ki se yon ISP, ak Lè sa a, sa a se Crossroads Nò, ak Lè sa a, Bam. Ki sa ki nan ant etap 6 ak 7, routeur 6 ak 7? Oseyan Atlantik la. Epitou n ap èksklamasyon sa a soti nan lefèt ke nou ale nan 20 ms isit la a 80 ms isit la. Se konsa, yon bagay te pran 60 ms, bay oswa pran, yo ka resevwa plis pase. Ak sa ki te pwobableman yon kò gwo dlo. Kisa ki ale sou apre sa? Oke, isit la nou yo se nan Lond, jis 88 ms pita. Plis London, plis London, pa sèten kote sa a se, men nou pwal pran li nan deyò nan London, Cambridge isit la, epi finalman nou - literalman, University of Cambridge . Something.net, ak lè sa a, finalman, nan liy 16, se sèvè wèb yo aparamman rele scorpion anba kapo machin lan, menm si nou konnen li kòm www. Kalite lide-mouche, mwen panse ke. A premye fwa mwen te janm te fè sa, li totalman kònen lide m '. Malerezman, Harvard bloke sa a kalite trafik, tipikman, nan rezo a. Se konsa, ou pa kapab fè li super fasil. Reyalize, menm si, sa a isit la se sa posib. Tout dwa. Kite a pran repo-5 minit nou yo isit la. Nou ap tounen ak plonje nan pi fon. Se konsa, nou yo tounen, epi nou te kalite ambled sou nan yon direksyon kèk diferan isit la. Se konsa, kite a rezime egzakteman sa ki te ale sou isit la. Nou te kòmanse konvèsasyon an ap pale de lang sa a yo rele HTML. Yon fwa ankò, pa yon lang pwogramasyon. Se jis nan yon lang baliz ki se lajman sou estetik ak structuration sou kontni nan fòm lan nan yon Paj Web. Men, HTML, Se poutèt sa, bezwen kèk kalite mekanis pou vwayaje ant navigatè entènèt ak sèvè. HTML Se poutèt sa sòt de parcours sou tèt sa a lòt lang, oswa plis byen, yon pwotokòl, yo konnen kòm HTTP. Ak HTTP, menm jan nou te wè li konsa byen lwen, se kalite analoji sa a konvansyon moun nan bay lanmen. Lè yon navigatè vle pou mande pou yon paj ki sòti nan yon sèvè, li voye ke "jwenn" demann nan navigatè nan sèvè, ak Lè sa a, sèvè a reponn ak yon kantite tankou 200, tout se oke, kòm byen ke HTML a oswa kèk nimewo move tankou 404, dosye pa jwenn. Men, pandan se tan, HTTP tèt li se pa entènèt la, se pou chak. HTTP se jis yon sèvis, yon karakteristik nan entènèt la anpil tankou G chat se yon lòt sèvis, anpil tankou imel se yon lòt sèvis. Genyen nan tout kalite bagay nou ka fè sou entènèt la. HTTP se jis youn nan moun ki aplikasyon yo. Se konsa, sou tèt - HTTP se sou tèt de yon lòt bagay ki nou pa t 'mansyone pa non, ou ta ka janm tande pale de pa non yo, tchp IP /. Se konsa, istwa a nou te jis di gen se tout sou ki jan done vwayaje soti nan pwen A ak pwen b. Ak nan ka sa a, nou te wè nan yon nivo ki ba anpil routeur routeur routeur routeur, ki jan se done la aktyèlman ap transmèt. Men, nan tout wout la, li se ale nan rankontre obstacles divès kalite. Anplis sa yo routeurs, gen bagay yo rele firewall sou Entènèt la, e konsa done, tankou ke nou te jis transmèt soti nan m 'nan Stanford, ki soti nan m' nan Cambridge, yo voye a, nan nivo sa a, yon bagay yo rele yon adrès IP. Nou te wè sa a yon ti moman de sa, ak yon adrès IP se jis yon adrès nimerik nan w.x.y.z an fòm, kote chak nan sa yo se ant, bay oswa pran, 0 ak 255, menm si ou pa kapab byen sèvi ak tout moun ki nimewo. Men, chak nan sa yo moun ki gen plas se yon nimewo ant 0 ak 255. Se konsa, yon adrès IP jou sa yo se 32 miyèt moso. Koulye a, ki bay nou ki jan anpil posib adrès IP nan mond lan? Apeprè 4 milya dola, paske nenpòt ki lè n ap konte nan pouvwa nan 2 tout wout la jiska 32 nan yon bagay, ki toujou ap ban nou 4 milya dola. Se konsa, sa a, se yon anpil nan adrès IP, men ou ka gen li, oswa ou ta ka kounye a remake nan laprès la popilè, yon pouse nan direksyon yon nouvo vèsyon an IP rele IPV6. Kounye a, nou ap sèvi ak vèsyon 4. Gen vrèman pa te gen yon vèsyon 5, Nou jis ap sote dwa a 6. Version 6 ki pral sèvi ak 128 Bits pou adrès IP, ki se frikin gwo. Nou pa dwe kouri ale deyò pou kèk tan kounye a, men nou yo te kòmanse kouri soti nan vèsyon 4 adrès IP, paske tout moun nan nou gen bagay sa yo pa sèlman tankou laptops ak Bureau, yon anpil nan nou gen telefòn, yon anpil nan nou gen lòt aparèy tankou TiVo ak renmen an ki gen adrès IP tèt yo. Harvard kont li genyen dè dizèn de milye nan òdinatè. Se konsa, mond lan se vrèman kouri soti nan adrès IP, nan omwen nan fòm sa a. Se konsa, sou de pwochen ane kèk, ou pral wè adrès ki nan konpitè pwòp ou a pwobableman dousman chanje kòm pi plis ak plis konpayi ak inivèsite kòmanse sipòte vèsyon an plus. Men, yon adrès IP a pa ase pou òdinatè yon pou mande pou done ki sòti nan b òdinatè. Paske òdinatè b te kapab fè yon sèvè, ak yon sèvè, kòm mwen mansyone pi bonè, ka fè grap de bagay sa yo. Li ka animatè paj wèb, li kapab yon sèvè imel, li kapab yon sèvè Skype, li kapab yon sèvè chat G. Tout sèvis sa yo diferan ki ka bay sou yon sèvè te kapab tout moun, fizikman, dwe sou machin nan menm. Se konsa, nan adisyon a adrès IP, mond la genyen yon bagay yo rele pò sou entènèt la. Yon pò se jis yon nimewo; pou gen se yon nimewo inik pou HTTP. Nimewo li se 80. HTTP tou sèvi avèk nimewo 443, men li plis espesyalman, pou t chiffres. Lè ou wè la a, pou an sekirite, ki nan lè l sèvi avèk yon nimewo diferan. Gen anpil lòt moun, tankou 25, yo itilize pou yon bagay yo rele smp, ki te rekonèt kòm imel. Genyen yon bagay yo rele 22 pou sch, ak gen nan yon pakèt antye nan pò lòt yo deyò. Koulye a, nou moun raman wè nimewo sa yo. Sepandan, lè ou tape nan yon adrès tankou http://www.facebook.com, navigatè a ap an kachèt yo mete 80, paske w ap itilize HTTP. Si ou menm, olye de sa, t kalite, li te an kachèt yo mete 443. Epi nou ka kalite wè sa manuelman si mwen rale moute yon brower epi ale nan http://www.facebook.com:80. Se poutèt sa, ouvètman site pa sèlman non an nan sit entènèt la men pò a ke mwen vle pale ak, ak frape antre. Avi l disparèt, paske navigatè-an pansé ké, oh, 80, mwen pa menm ale nan deranje bay ki montre ke ou yo. Men, rezon ki fè la pou sa a se ke si mwen aktyèlman te vle voye yon moun yon imèl, Mwen ta vrèman dwe voye l 'bay yo sou pò 25, ke yo te smp. Yon ti jan nan yon Senplifikasyon, men kèk nan ou gen zanmi ki aktyèlman ap travay nan Facebook, epi yo, Menm jan tou, gen serveurs ki resevwa imel. Nenpòt ki lè w voye yon imèl, ki sa ki Gmail ap fè pou ou oswa Outlook oswa kèlkeswa sa pwogram ou itilize, li nan sòt de an kachèt yo mete nimewo sa a kòm byen, 25, nan ka sa a. Li nan sa a konbinezon de adrès IP ak nimewo ki inikman idantifye yon òdinatè sou entènèt la ak yon sèvis espesifik ki sou sa òdinatè. Koulye a, nan kou, pi fò nan nou te pwobableman gen pa janm tape manyèlman yon adrès IP. Petèt ou gen nan aparèy la, men nan mond reyèl la, pa anpil. Poukisa nou pa tape adrès IP nan navigatè? Li ta travay, an reyalite, nou ka wè sa a, se pou m 'montre w yon lòt te bay lòd pou yo ta dwe travay pi nenpòt kote sou lakou lekòl la Harvard an sou yon Mac oswa PC yon. Genyen nan lòd sa a yo rele nsloukeup, non Passage sèvè. Si m 'gade moute www.cnn.com, li sanble ke CNN gen - oh, ki enteresan. CNN te kòmanse lè l sèvi avèk Amazon entènèt sèvis yo. Ou ta ka konnen nan nwaj informatique, youn Amazon a nan jwè yo gwo nan nwaj informatique. Ki sa mwen jis t 'te ye a, m' te di: Tanpri, ban m 'adrès ki nan sèvè wèb CNN nan,' men li sanble ke se sèvè wèb CNN nan jere pa Amazon, Amazon entènèt sèvis, sa a sijere. Ak adrès sa a nan sèvè se sa a isit la. Se konsa, mwen pa fin sèten si sa a ap travay, paske yo pa t 'itilize yo itilize Amazon. Men, kite a eseye sa a; http://, IP adrès, antre nan, ak - se li ale nan travay? Wi. Li se ale nan travay. Entènèt se super-dousman jodi a. Men, nan yon moman, ou pral wè kèk nouvèl istwa. Gen nou ale. Bank of America k ap rele lajistis. Tout dwa. Sa a se paske sa a adrès IP jis k ap pase pa synonyme ak www.cnn.com. Natirèlman, li ta tèrib maketing vle di, vizite nou nan sit Entènèt 50.112.94.127. Ou pa janm ta sonje. Se konsa, menm jou sa yo ou ta ka sonje bagay sa yo tankou 1-800-COLLECT oswa mnemotèknik mond lan te vini ak pou nimewo telefòn. Ki, anvan telefòn selilè, yo te pito difisil yo sonje jiskaske ou te kapab jis tape l 'nan e bliye sou sa. Se konsa, Web la, tou, gen sa a konvansyon nan non ak adrès IP, e gen tout bagay sa yo deyò a la, yo rele dns Sèvè yo, sistèm domèn non Sèvè yo, ki tradui adrès IP nan non ak vis vèrsa. Se konsa, ke a sa k ap pase sou anba kapo a. Nan fen a, nou gen tchp / IP, ki se sa a pwotokòl ki ba anpil-nivo sa, reyèlman, senpleman vin 0 a ak 1 a atravè entènèt la, epi li fè sa pa mete yo nan yon anvlòp vityèl, si ou vle, ak ekri sou deyò a nan anvlòp la adrès la IP nan destinasyon an, kòm byen ke nimewo a pò nimerik nan sèvis la sou sa destinasyon ke li vle pou pale. Pandan se tan, sou anvlòp la gen nan yon bagay tou ke yo rekonèt kòm yon adrès retou, ki se adrès IP ou an, pou lè CNN vin yon pake enfòmasyon nan men ou, ouvè sa a anvlòp vityèl, wè ke ou vle paj la lakay ou, li konnen soti nan pati nan moun k sa a anvlòp vityèl ki moun yo voye dèyè a HTML a. Se konsa, kite a pran yon gade nan sa a nan yon ti kras plis detay. Sa a se nan yon konpayi yo rele Ericson, ki soti nan yon kèk ane tounen. Apre sa, yo pran kèk libète ak kouman entènèt la aktyèlman ap travay, men li pentire yon foto pi plis vizyèl pase lakre sèlman moute isit la. Se konsa, mwen ba ou "yon ti jan nan entènèt la." [Narateur] Pou la pwemye fwa nan istwa, moun ak machin yo ap travay ansanm, ka akonpli yon rèv. Yon fòs inifikasyon ki konnen pa gen limit gewografik-li. San konsiderasyon ras, kwayans, koulè oswa. Yon nouvo epòk kote kominikasyon vrèman pote moun ansanm. Sa a se Dawn a nan Net la. Vle konnen ki jan li fonksyone? Klike la a yo kòmanse vwayaj ou a nan Net la. Koulye a, egzakteman sa ki te pase lè ou klike sou ki genyen lyen ki? Ou te kòmanse yon koule nan enfòmasyon. Enfòmasyon sa a vwayaje desann nan kourye pwòp pèsonèl ou kote pakè Mesye IP li, etikèt li, epi voye l 'sou fason li yo. Chak pake limite nan gwosè li yo. Chanm nan lapòs dwe deside ki jan yo divize enfòmasyon an ak kouman yo package li. Koulye a, pake a bezwen yon etikèt sou ki gen enfòmasyon enpòtan tankou adrès moun k an, adrès reseptè a, epi ki kalite pake li ye. Paske pake sa a an patikilye ki pral soti sou entènèt la, li tou vin yon adrès pou sèvè a proxy, ki te gen yon fonksyon espesyal, tankou nou pral wè pita. Se pake a kounye a te lanse sou rezo lokal zòn ou an, oswa LAN. Sa a se rezo itilize konekte tout òdinatè lokal yo ' routeurs, enprimant, ètchetra, pou echanj enfòmasyon sou nan miray ranpa yo fizik nan bilding lan. LAN a se yon kote ki trè san kontwòl, ak, malerezman, aksidan ka rive. Se gran wout la nan LAN a chaje ak tout kalite enfòmasyon. Sa yo se pakè IP, Novell pakè, AppleTalk pakè. Yo ap moute al goumen ak trafik, kòm dabitid. Routeur la lokal li adrès la, epi, si sa nesesè, asanseur pake a sou nan yon lòt rezo. Ah, routeur la. Yon senbòl kontwòl nan yon mond w pèdi inorganize. [Routeur mumbling ak ap pale ak tèt li] [Narateur] Se la li ye, se sistematik, uncaring, metodik, konsèvatif, epi pafwa pa byen pran vitès. Men, omwen se li ki egzat, pou pati ki pi. Kòm pakè yo kite routeur la, yo fè wout yo nan entènèt la rèstriktirasyon ak tèt pou chanjman an routeur. Yon ti jan pi plis efikas pase routeur la, chanjman an routeur jwe vit ak ki lage ak pakè IP, adrwatman selon pwoblèm wout yo ansanm fè wout yo. A 'sòsye biyar,' dijital si ou ap. [Switch routeur ap pale ak tèt li] [Narateur] Kòm pakè rive nan destinasyon yo, yo ap ranmase pou koòdone nan rezo a, pare yo dwe voye li nan yon nivo siperyè-a. Nan ka sa a, proxy a. Se proxy a te itilize pa konpayi anpil jan sòt de yon nonm nan mitan yo nan lòd yo diminye chaj la sou koneksyon entènèt la ak pou rezon sekirite, kòm byen. Kòm ou ka wè, pakè yo, yo tout diferan gwosè depann sou kontni yo. Proxy a ouvè pake a ak sanble pou adrès la entènèt oswa URL. Tou depan de si wi ou non, adrès la se akseptab, se pake a voye sou nan entènèt la. Genyen, sepandan, gen kèk adrès ki pa satisfè avèk apwobasyon an nan proxy a. Ki vle di, direktiv rèstriktirasyon oswa jesyon. Sa yo, se somèr te fè fas ak. Nou pral genyen okenn nan sa. Pou moun ki fè l ', li la sou wout la ankò. Next moute, pare-feu lan. Pare-feu lan rèstriktirasyon sèvi de rezon. Li anpeche kèk bagay olye anbarasan nan entènèt la soti nan vini nan Intranet a, li e li kapab anpeche sansib enfòmasyon rèstriktirasyon nan men yo te voye sou entènèt la. Yon fwa nan firewall la, yon routeur chwazi moute pake a epi li mete l 'sou yon wout anpil pi etwat, oswa Pleasant, menm jan nou di a. Li evidan, wout la se pa gwo ase yo pran yo tout. Koulye a, ou ta ka mande sa ki k ap pase nan tout pakè sa yo ki pa fè li sou wout la. Bon, lè Mesye IP pa resevwa yon rekonesans ki te yon pake te resevwa nan tan garanti dwa moun, li tou senpleman voye yon pake ranplasman. Nou se kounye a pare yo antre nan mond lan nan entènèt la. Yon spiderweb nan konekte rezo ki travès glòb tout nou an. Isit la, routeurs ak switch etabli lyen ant rezo. Koulye a, Net la se yon anviwònman ki antyèman diferan pase w ap jwenn nan mi yo pwoteksyon nan LAN ou. Soti isit la, li nan Wès la sovaj. Anpil espas, anpil opòtinite, anpil nan bagay yo eksplore ak kote yo ale. Mèsi a kontwòl anpil ti ak regilasyon, nouvo lide jwenn tè fètil pouse anvlòp la nan posibilite yo. Men, paske se nan sa a libète, danje sèten tou pèsiste. Ou ap pa janm konnen ki lè ou pral rankontre ping la redoutable nan lanmò, yon vèsyon espesyal nan yon ping demann nòmal, ki kèk sòt panse jiska dezòd moute tout pouvwa a mefyans. Chemen an pakè nou yo pran ka via satelit, telefòn liy, san fil, oswa kab menm tranzoseanik. Yo pa toujou pran wout ki pi rapid oswa pi kout posib, men yo pral jwenn gen evantyèlman. Petèt sa a, se poukisa li a pafwa yo rele "World Wide rete tann lan." Men, lè tout bagay ap travay fèt san pwoblèm, ou ka kontourne glòb la senk fwa plis pase nan gout nan yon chapo, literalman. Ak tout pou pri a nan yon apèl lokal oswa mwens. Prèske nan fen destinasyon nou an, nou pral jwenn yon lòt firewall. Tou depan de pèspektiv ou kòm yon pake done, pare-feu lan te kapab fè yon bastion nan sekirite oswa yon lènmi redoutable. Li tout depann sou ki bò ou se sou yo ak sou sa ki pou fè konnen entansyon ou yo. Se pare-feu lan fèt yo kite nan sèlman pakè sa yo ki satisfè kritè li yo. Sa a se firewall opere sou pò 80 ak 25. Tout eseye antre nan pò lòt yo fèmen pou biznis. Port 25 ki itilize pou pakè lapòs, pandan y ap pò 80 se pòt kote yo antre pou pakè nan entènèt la nan sèvè a entènèt. Anndan firewall a, pakè yo tès depistaj plis byen. Gen kèk pakè fè li fasilman nan koutim, pandan ke lòt moun gade jis yon ti jan ézitan. Koulye a, ofisye a firewall pa fasil pou twonpe, tankou lè sa a ping nan pake lanmò ap eseye degize tèt li kòm yon pake ping nòmal. [Ofisye firewall ap pale ak pakè] [Narateur] Pou moun pakè chans ase yo fè li sa a byen lwen, vwayaj la se prèske sou. Se jis nan yon liy moute sou koòdone nan li dwe te pran moute nan sèvè a entènèt. Sèjousi, se yon sèvè wèb ka kouri sou anpil bagay, ki sòti nan yon mainframe nan yon Cam entènèt nan òdinatè a sou biwo ou. Poukisa nou pa frijidè ou a? Avèk konfigirasyon ki kòrèk, ou ka chèche konnen si ou gen tournaj yo pou poul kaksyator, oswa si w gen yo ale fè makèt. Sonje, sa a se douvanjou nan Net la. Prèske anyen se posib. Youn pa youn, pakè yo ap resevwa, louvri, epi dekonpakte. Enfòmasyon yo genyen ladan yo, se sa ki, pou demann ou pou enfòmasyon, yo voye sou yo aplikasyon an sèvè sit entènèt la. Pake sa a li menm se resikle, pare yo dwe itilize ankò, epi ki te ranpli avèk mande enfòmasyon ou a, adrese, epi li voye soti sou wout li tounen ba ou. Retounen sot pase pare-feu lan, routeurs, ak sou nan entènèt la. Retounen nan kòperasyon firewall ou ak sou entèfas ou a, pare bay navigatè entènèt ou a ak enfòmasyon ki ou te mande a. Sa se, sa a fim. Kontan ak efò yo, ak kwè nan mond lan pi byen, pake konfyans done nou an monte nan blissfully nan solèy kouche a nan yon lòt jou, konnen konplètman yo te sèvi mèt yo byen. Koulye a, se pa sa ki yon fini kontan? [Malan] Okay, sa a, se ase. Nou pral wè ou an semèn pwochèn. [CS50.TV]