[Speel van musiek] DAVID J. MALAN: So het ek net wou sus om. Ek sou presies wat Scaz eggo gesê oor institusionele geheue. CS50 is om vir sowat 20 jaar aan die Harvard. En die werklikheid is, van die seniors op af, Daar is jaarliks ​​gerusstelling dat die eerstejaars, die sophomores, en die juniors en ook die seniors neem CS50, dat jy uiteindelik doen goed. Die werklikheid is, studente misluk nie CS50. In werklikheid, in die seldsame gevalle waar ons Es of Fs gehad het, dit is regtig nie as gevolg van versagtende omstandighede, of dit nou mediese of persoonlik. Ds is ongelooflik ongewoon as well. En ek kan gemaklik sê, maar ons gewoonlik nie statistieke bekend te maak, maar gegee dat daar geen institusionele geheue hier hoegenaamd, 'n meerderheid van die studente in CS50 beland om 'n verskeidenheid grade. 'N Beduidende deel beland eindig in die B-reeks ook. So selfs al is jy dalk gelyk is in jou gedagtes drieë met 60% en dus Ds of Cs, of die wil, is dit regtig nie in lyn met die werklikheid. In werklikheid, bedoel ons presies wat ons sê aan die begin van die kwartaal dat so baie studente in CS50, beide in Cambridge en hier in New Haven, Het jy 'n CS natuurlik nog nooit tevore geneem. En wat inderdaad uiteindelik saak maak is waar jy beland in week 12 relatief tot jouself in week nul. Nou het ons verskeie spore in die kursus as jy know-- minder gemaklik, meer gemaklik, iewers tussen in. En inderdaad, wanneer jy statistieke oor hierdie week se quiz, nie ontmoedig word as, veral as jy voel dat jy rondom die gemiddelde of onder die gemiddelde of die mediaan, veral omdat ons dit nie doen nie noodwendig neem al die demografie in ag mid-semester met die gradering statistieke. Met ander woorde, ons weet statisties elke jaar dat studente wat minder gemaklike, doen 'n bietjie erger op die quiz. En studente wat meer gemaklik doen 'n bietjie beter op die quiz. Maar per belofte in die leerplan en ook in die eerste week van lesings, ons almal wat in ag. Trouens, op jare einde wat ons uiteindelik doen is normaliseer al die tellings oor afdelings, beide in Cambridge en nou hier in New Haven, wat beteken inagneming die uiteenlopende style, die uiteenlopende hardheid, die ander soort persoonlikhede wat die individu Tas het hier en in Cambridge sodat jy nie op 'n nadeel selfs as jy net gebeur nie 'n TF of 'n TA moes wat 'n bietjie harder was op jou in jou gedagtes. Twee, ons neem in ag troos vlak en die werklike agtergrond, of 'n gebrek daarvan, wanneer die neem van quiz tellings in ag. So die twee is ingereken in. En aan die einde van die dag, want dit is altyd die geval dat 'n student beland in 'n minder gemaklike artikel wanneer hy of sy werklik behoort in 'n tussen-in of andersom, alles is so ongelooflik geïndividualiseerde. Inderdaad, sal jy geirriteerd by ons by te kry die einde van die termyn wanneer ons laat die indiening van jou grade, want met Scaz en Jason en Andy, en ek, en die span sal gedoen in Cambridge is letterlik het honderde e-posse heen en saam met al honderd van die kursusse Tas, hier en in Cambridge, vra hulle wat hulle dink van al hul studente gebaseer op 'n konsep van die grade. En alles wat daar na is ongelooflik geïndividualiseerde. So in die mate wat ons kry om te weet jy in kantoorure, afdelings, en meer, al wat te in ag geneem word. So asof ons geneig is om te gebruik hierdie vyf punt skaal, asseblief, los jouself van die veronderstelling dat 'n drie is inderdaad 'n 60%. Dit is bedoel om goed te wees. En die onderrig assistente word gehef teen termyn begin om te probeer om tellings te hou in die twee-twee, en drieë, en viere wissel sodat ons eintlik ruimte om te groei. En ons het eintlik ' 'n maatstaf waarvolgens ons kan jou nuttige gee terugvoer oor hoe jy doen en hoe jy vorder. So asseblief neem dat die hart. Is daar enige vrae wat ek kan help spreek of bekommernisse ek kan help sus? Of beloftes kan ek probeer om te hou? Geen? OK. Alles reg. So met wat gesê het, dit is CS50. Dit is die begin van die week ses hier in New Haven. Kom ons begin met 'n kort verduistering van die ligte die stadium vir die inhoud vandag se stel. [Video speel] [Speel van musiek] -hy Het gekom met 'n boodskap. Met 'n protokol al sy eie. Hy het gekom om 'n wêreld van die koel firewalls, hartelose routers, en gevare veel erger dat die dood. Hy is vinnig, hy is sterk, hy is TCP / IP. En hy het jou adres. Warriors van die netto. [Einde afspeel] DAVID J. MALAN: Alle reg. Dit is CS50. Dit is die begin van die week ses. En dit is die begin van ons kyk by die internet en web ontwikkeling. En, miskien die meeste spannende, vandag die oorgang vir ons van ons command line wêreld van die web C gebaseer wêreld van PHP en HTML, en CSS, en SQL, en JavaScript, en soveel meer wat is op die horison. Maar eers, het dit onder ons aandag gekom in die loop oor die kampus dat daar is 'n sekere badkamer hier in New Haven genoem die Harvard kamer, wat is 'n bietjie vergrys hier uit. Maar inderdaad, iemand het na die tyd en koste van ets Harvard kamer oor hierdie hier kamer. Dankie vir dit. Ek kan nie sê ons het 'n analoog in Cambridge nog, maar ek dink ons ​​het 'n klein projek vir onsself nou wanneer ons gaan terug. So dankie vir dit. So 'n vinnige terug kyk op waar ons verlede week opgehou en waar jy gaan hierdie komende week met probleme stel vyf. So in die probleem stel vyf, sal jy uitgedaag om 'n speltoetser te implementeer. En om dit te doen, sal jy oorhandig 'n mooi groot teks lêer met soos 140,000 Engelse woorde. En jy sal uitgedaag word om te besluit op 'n datastruktuur waarmee jy wil al daardie woorde te laai in die geheue en in die geheue, en dan te implementeer 'n paar funksies, waarvan een gaan wees gaan. Waardeur wanneer geslaag 'n argument, 'n woord, jou funksie tjek eenvoudig gaan hê om te sê waar of vals, dit is 'n woord in die woordeboek. Maar jy gaan sommige het ontwerp diskresie en uitdagings wanneer dit kom by die uitvoering van daardie. In die eenvoudigste implementering, jy kan beslis implementering van 'n speltoetser in die onderliggende woordeboek met watter soort data struktuur? Jy hoef net 'n hele berg n klomp van die snare in die geheue? Wat is die pad om te antwoord van week twee miskien? GEHOOR: Array. DAVID J. MALAN: Jy kan 'n verskeidenheid te gebruik. En dit is nie al wat sleg is. Maar jy hoef nie noodwendig weet vooraf hoe groot van 'n skikking jy gaan nodig het, as jy dit nie doen nie weet wat die lêer noodwendig in advance. So jy gaan hê om gebruik 'n bietjie van kullery soos malloc, soos ons begin gebruik nie. Of ons kan aanspreek wat deur die gebruik van kommer wat ander data struktuur wat was soort van 'n marginale verbetering op 'n verskeidenheid? GEHOOR: Gekoppel lys. DAVID J. MALAN: Soos 'n gekoppelde lys, waarin ons kry 'n paar dinamika. Maar daar is 'n bietjie meer koste. Ons het wenke om te onderhou. En jy het nog nie hierdie gekodeerde , maar daar is beslis om 'n bietjie meer ingewikkeld wees as net die gebruik vierkantige hakies en spring om 'n skikking. Maar 'n skikking se loop van tyd, As jy op soek is vir 'n woord, kan teken van n. Maar weereens, is dit dalk 'n bietjie nie-triviale om op te bou wat array nie wetende dat die grootte in advance. 'N geskakelde lys al is, as jy net slaan 'n klomp van snare in 'n geskakelde lys, Wat is jou bogrens op looptyd gaan wees om te soek vir of tjek 'n woord in die lys? GEHOOR: n. DAVID J. MALAN: Ja, groot O van n of lineêre want in die ergste geval, die woord is soos 'n Z woord al die pad aan die einde. En as gevolg van 'n geskakelde lys, omdat diegene pyle by verstek, in 'n enkel geskakelde lys, gaan net van die een rigting na die ander, jy kan nie spring rond. Jy het al van hulle te volg. Sodat ons aan die einde van verlede week voorgestel, week vyf, dat daar beter maniere. En in die feit, die heilige graal sou werklik konstant tyd waardeur wanneer jy wil om te kyk op 'n woord, jy kry 'n direkte antwoord ongeag hoeveel woorde is reeds in jou woordeboek. Dit is weergawe van 'n kunstenaar se wat jy 'n hash tafel kan noem. En 'n hash tafel is soort van 'n mooi mengsel van 'n array-- vertikaal geteken hier, net because-- en dan 'n gekoppel list-- horisontaal hier vestig. En die hash tafel kan wees geïmplementeer in trosse van maniere. Hierdie uittreksel uit 'n handboek gebeur om hierdie mense se geboortedatums gebruik as die wyse waarop dit besluit waar om iemand se naam te sit. So, dit is 'n woordeboek as jy wil van name. En om te bespoedig om name in hierdie data struktuur, hulle kyk na, blykbaar, hierdie mense se geboortedatums met betrekking tot 'n maand. Dus is dit 1-31. En vergeet van Februarie en die hoek gevalle soos dit. En as jou verjaarsdag is op Januarie 1 of 1 Februarie of 1 Desember jy gaan om te eindig op die heel eerste ketting top. As jou geboorte datum is soos die 25 van 'n maand, jy gaan om te eindig by emmer nommer 25. En as daar reeds iemand daar in enige van daardie plekke wat jy begin doen met hierdie verband lyste saam vas te steek sodat jy 'n arbitrêre kan hê aantal mense, of enigiets, op die plek. So jy het soort van 'n mengsel van konstante tyd vir hashing. En hash iets beteken om neem as toevoer soos 'n persoon, of sy of haar naam, of sy of haar geboorte datum, en dan besluit op 'n paar uitset gebaseer op wat, soos op soek na hul verjaardag en uitdruk een deur 31. So dan is jy dalk 'n bietjie van lineêre tyd, maar in werklikheid, en soos in die die geval van die probleem stel vyf ons gaan nie te wees werk in P stel vyf so baie oor asimptotiese loop tyd, soos die teoretiese traagheid waarmee 'n algoritme kan hardloop. Ons gaan omgee die werklike aantal sekondes en die werklike bedrag van die geheue, die werklike aantal grepe van die geheue jy gebruik. So gesê, met een groot ketting van soos 'n miljoen mense is pretty damn stadig as jy soek vir 'n naam in 'n lys van die grootte miljoen. Maar wat as jy verdeel hierdie lys in 31 dele? Soek 31/01 van daardie super lang lys, in werklikheid, is beslis gaan om vinniger te wees. Asimptoties, dit is dieselfde ding. Jy is net te verdeel deur 'n konstante faktor. En onthou dat ons gooi die dinge weg. Maar in werklikheid is, gaan dit te wees 31 keer vinniger. En dit is wat ons gaan begin om invloed in P stel vyf. So P stel vyf te ook stel voor dat jy dit oorweeg effens meer gesofistikeerd data struktuur bekend as 'n Trie. En 'n Trie is net 'n boom soos struktuur data. Maar in plaas van om bietjie sirkels of reghoeke as ons hou teken vir nodes, is dit eintlik het die hele skikkings vir sy nodes. En selfs al is dit 'n bietjie abstrakte hier om te kyk na, Zamyla in die P stel loop deur sal loop jy deur in meer besonderhede hieroor. Dit is 'n datastruktuur dat daar eerder slim kan elke knoop om 'n skikking te hê grootte 26, 'n deur of Z nul deur middel van 25. En wanneer jy wil plaas 'n persoon se noem in hierdie data struktuur of vind hom of haar, wat jy doen, indien die naam is soos Maxwell, M-A-X-W-E-L-L, jy eers kyk na M. En dan moet jy spring na die ooreenstemmende M plek in die eerste reeks. Jy spring dan na A, die eerste plek in die volgende skikking, na aanleiding van die pyle. Toe X, dan W, dan E, dan L, dan L, en dan miskien 'n paar spesiale einde karakter, sommige brandwag wat sê 'n woord stop hier. En wat is lekker oor this-- en in gedagte hou dat die prentjie hier sien hoe kante van elke array word uitgeroei. Dit is net omdat hierdie ding sou massiewe en gruwelike om te kyk op op die skerm. So dit is excerpted. Wat is lekker oor hierdie benadering is dat as daar 'n miljoen name reeds in hierdie data struktuur, hoeveel stappe beteken dit my na Maxwell voeg? M-A-X-W-E-L-L-- soos sewe-ish stappe te voeg of kyk vir Maxwell. Veronderstel daar is 'n triljoen name in hierdie data struktuur. Hoeveel stappe neem dit my om te kyk vir Maxwell? M-A-X-- nog sewe. En daarin lê die sogenaamde konstante tyd. As ons aanvaar dat woorde beslis begrens 20 karakters, of 46 karakters, of 'n redelik klein heelgetal, dan is dit effektief 'n konstante. En so inplanting en soek 'n Trie is super vinnig. Natuurlik, ons nooit iets kry wat gratis. En selfs al is jy waarskynlik het nie geduik in P stel nog vyf watter prys is ons waarskynlik betaal om kry dat die groter doeltreffendheid tyd wys? GEHOOR: Memory. DAVID J. MALAN: Memory, reg? Ek bedoel, ons het nie getrek die hele prentjie hier. Hierdie uittreksel uit die handboek het nie al die skikkings getrek. Daar is 'n groot hoeveelheid van die geheue en net null pointers wat nie gebruik word nie. So dit is 'n kompromis. En dit sal gelaat word om jou in P stel vyf om te besluit oor watter pad jy wil gaan. Nou is hierdie idee van hashing, as 'n eenkant, is eintlik super algemeen. So om hash 'n waarde beteken, heel eenvoudig, om iets as toevoer te neem en produseer 'n uitset. So 'n hash funksie is net 'n algoritme. En in die algemeen, 'n hash funksies doel in die lewe is om iets as toevoer te neem en produseer 'n getal as uitset, soos die nommer een deur 31 of 'n deur Z, zero deur middel van 25. So dit neem 'n komplekse uitset en krimp dit af om iets dit is 'n bietjie meer nuttig en hanteerbaar. En so dit blyk in 'n baie gewilde funksie dat die sekuriteit wêreld en die menslike wêreld se gebruik vir die jaar word genoem SHA1. Dit is 'n mooi fancy wiskundige formule wat in wese doen dit. Jy neem 'n baie groot stuk van nulle en ones-- dat 'n megabyte kan wees lang, 'n gigagreep long-- en dit krimp dit af na net 'n paar stukkies, 'n paar stukkies, sodat jy 'n nommer soos een deur 31, of 'n deur Z. Maar in werklikheid, is dit 'n bietjie groter is as net 'n middel Z. Ongelukkig kan ons op die punt van wat iemand speels genoem SHAppening waardeur die wêreld is om te eindig in waarskynlik 'n paar maande tyd, want navorsers, net die afgelope week, 'n verslag wat in stryd met gepubliseerde wat sekuriteit navorsers het gedink vir 'n geruime tyd, deur net spandeer oor, wat was dit, Ek dink dit was $ 175,000-- baie geld, maar nie buite die bereik van veral sleg slegte ouens, of veral sleg countries-- $ 175,000 kon koop jy 'n baie gehuur bediener ruimte in die wolk. En ons sal terug te kom die wolk voor lank. Maar dit beteken net die huur bediener ruimte op soos bedieners Microsoft se of Google of Amazon, of die soos waar jy kan betaal deur die minuut rekenaars iemand anders se gebruik. En dit blyk as jy kan betaal iemand anders om hul rekenaars te leen en run kode wat jy geskryf het op dit en gebruik mooi fancy wiskunde, kan jy in wese figuur hoe iemand se hash funksie is werk, en die lig van sy uitvoer, reverse engineer wat sy insette is. En vir die doeleindes vandag se is dit voldoende om te sê, dit is sleg. Omdat SHA1 hash funksies en soos dit is super algemeen gebruik word in die veiligheid toepassings, geënkripteerde verbindings op die web, bank transaksies, sellulêre enkripsie vir jou selfone, en dies meer. En so enige tyd iemand vind 'n manier om te keer ingenieur een van hierdie tegnologie of breek, kan slegte dinge gebeur. Nou al die wêreld geweet hierdie. Dit was afsienbare. En die wêreld het sedertdien verskuif vanaf SHA1 om SHA256, wat net 'n fancy manier sê hulle gebruik groter stukkies. En in die feit, selfs CS50 se eie webwerf opgegradeer verlede jaar aan- nie dat ons in die gesig staar al hierdie baie dreigemente probeer om die PDFs te kry en whatnot-- maar webwerf CS50 se gebruik die groter hash funksie, wat beteken dat ons veilig sal wees. So al jou PDFs veilig sal wees, maar nie noodwendig jou geld of enigiets veral private of persoonlike om te gebruik. Check Sp dat URL as jy wil soos 'n paar ekstra inligting. So probleem stel vyf is inderdaad op die horison. Quiz een is eerskomende Woensdag. Maar neem voordeel van die kantoor ure, beide vanaand en môre. En ook die voordeel van die kantoor-ure, as jy beskikbaar is, net ná hierdie is. Die personeel en ek sal hou om te doen en meer gemaklik Q & A bykomend tot vanaand. En laat my sterk daarop hier vir diegene van ons hier in New Haven-- so dit is absoluut per Scaz se opmerkings gevoel, ek is seker, soos 'n bietjie van 'n opdraande stryd. En deur die reputasie, as jy nie reeds geleer of gehoor van 'n paar vriende by Harvard, weet hier is 'n paar nuwe institusionele geheue. P stel vyf soort soort geneig is om die hardste in CS50 wees, of die mees uitdagende vir die meeste studente. Maar wat dit beteken is dat ons amper by die top van die heuwel. En Ek het regtig bedoel dit. Dit is die mees uitdagende, maar dit is ook die mees lonende in teenstelling met die meeste wat elke ander inleidende rekenaarwetenskap kursus in die VSA wat ons weet van, die meeste studente nie 'n intro voltooi Natuurlik het reeds geïmplementeer dinge soos bome, en drieë, en hash tabelle, en dies meer. En so het ek hoop, en Ons hoop dat jy het 'n enorme gevoel van tevredenheid selfs indien die week of twee via wat jy wat tevredenheid nie voel 'n bietjie soos hierdie. Maar laat my gerus te stel, het ons net vier P stelle gelaat. So soort van wat bo in sig. Aan die ander kant is, ons vertrou, dit is net golwende heuwels en wolke. En sal ons sê, hondjies is aan die ander kant. So jy moet net op te hang daar 'n bietjie langer. Ek bedoel, inderdaad soos ons begin om die oorgang in die wêreld van die web programmering, sal jy vind dat dinge become-- dit is eintlik adorable. OK, ons sal hierdie URL later plaas. Jy sal ook vind dat ons bereik 'n plato soort waar alles is inderdaad nog gesofistikeerde en uitdagende deur ontwerp, maar jy is nie gaan om te voel soos ons is voortdurend gaan hierdie heuwel. So neem 'n troos in daardie. So sonder verdere uitstel het, laat ons begin om hierdie mark oorgang te maak in die semester aan die wêreld van die web, en regtig die wêreld waarmee almal van ons is meer vertroud. Ons het die internet toestelle het in ons sakke, op ons lessenaars, in ons rugsakke, en dies meer. Hoe al hierdie werk? En hoe kan ons begin skryf kode wat is nie super arcane en in sommige flikkerende teks vinnige dat nie een van jou vriende of familie is ooit gaan wil om te kommunikeer met, maar iets wat jy kan sit op hul selfone, of op hul webblaaiers, of op enige toestelle met wat hulle interaksie het. So hier is iemand se huis. En binnekant van hierdie huis is 'n paar van die skootrekenaars, 'n paar van die ou skool lessenaar rekenaars, iets genaamd 'n router of hub in die middel, en dan 'n soort van kabelmodem of DSL modem. En dan is daar die internet, oor die algemeen geteken as 'n wolk daar in die lug. So hierdie foto, maar 'n bietjie soort gedateer, beslis vang wat die meeste van het jy waarskynlik in jou huise, of effektief wat almal van julle het in jou koshuiskamer kamers, of woonstelle, of die wil. So, wat is eintlik gaan oor wanneer jy probeer om die gebruik van die internet vandag? Sodat elke rekenaar op die internet, dit blyk, moet 'n unieke adres het nie, baie soos ons in die werklike wêreld behoefte 'n posadres, soos 51 Prospect Street, New Haven, Connecticut, of 33 Oxford Street, Cambridge, Massachusetts. So doen rekenaars op die internet het 'n manier om hulself uniek aanspreek. Dit is so dat wanneer 'n rekenaar wil 'n ander om te praat, dit kan 'n boodskap te stuur en stel die ontvanger aan wie dit moet die reaksie terug te stuur. So dit maak net soort van intuïtief sin dalk dat alles het 'n adres van 'n soort. Maar hoe weet jy 'n adres te kry? Wel, as jy kry op hier kampus, of jy by die huis te gaan en jy op jou laptop of desktop rekenaar, en óf prop dit in of toegang tot Wi-Fi, dit blyk dat daar is 'n spesiale bediener op die meeste netwerke bekend as 'n DHCP-bediener. Maak nie regtig saak wat dit staan, maar dit is dinamiese gasheer opset protokol, wat net 'n fancy manier om te sê, dit is 'n rekenaar wat óf Yale het, of Harvard het, of Comcast het, of Verizon het, of jou maatskappy het, wie se doel in die lewe, wanneer dit hoor iemand wat nuut is bygevoeg aan die netwerk, is om hier te sê, gebruik hierdie adres. Sodat ons mense nie hoef te hard kode in ons rekenaars wat ons unieke adres is. Ons draai dit op, maak die deksel en een of ander manier hierdie bediener op die plaaslike netwerk net vertel my dat my adres is 51 Prospect Street, of 33 Oxford Street, of die wil. Nou is dit nie van plan om so verbose soos dit. Eerder wat ek gaan om te kry is 'n numeriese adres genoem 'n IP-adres. IP beteken internet protokol. En die kans is teen hierdie tyd in jou lewe, jy waarskynlik gehoor of gesien dat die woord IP, of oor die algemeen gegooi dit om miskien. Maar in werklikheid, dit is redelik reguit vorentoe 'n ding. 'N IP-adres is net 'n stippellyn desimale getal, wat beteken dit is iets dot iets dot dot iets iets. En elkeen van daardie Iets gebeur om 'n getal tussen 0 en 255 wees. So gebaseer op vyf plus weke CS50, as hierdie getalle elke reeks 0-255, hoeveel stukkies is elke van daardie getal tekens? GEHOOR: Agt. DAVID J. MALAN: Dit moet wees agt. So in totaal, hoeveel stukkies is 'n IP-adres? GEHOOR: 32. DAVID J. MALAN: So 32. 8 plus 8 plus 8 plus 8 is 32. Hoeveel totale IP adresse kan daar in die wêreld? GEHOOR: 4000000000. DAVID J. MALAN: So ongeveer vier miljard, want dit is die 2 32 krag. En as jy nie kan nie soort van grok wat in jou gedagtes, weet net dat 32-bit waardes kan so groot soos 4000000000 wees As dit is alles positiewe waardes. So dit beteken daar is 4000000000 moontlik IP adresse in die wêreld. En snaakse storie, ons is soort van die bestuur van hulle. En in werklikheid is dit 'n groot probleem in die sin dat die wêreld het ook hierdie probleem kom, maar nie noodwendig gereageer dit in die meeste vinnige manier moontlik. En inderdaad, sodra jy klaar CS50 en begin aandag in die tegnologie wêreld, sal jy sien dit is baie algemeen tematiese. Byvoorbeeld, as ons gaan regtig ou skool deesdae, Y2K. Dit was nie regtig 'n verrassing. Soos almal weet vir 1000 jaar dat was-- meer as 'n duisend years-- dat wat uiteindelik gaan gebeur nie. En tog, ons gereageer om dit baie op die laaste minuut. En dit is weer gebeur. So vandag sal ons praat oor IP weergawe 4. Maar weet dat die wêreld is uiteindelik om om na die opgradering van iets genoem IPv6, wat in die plek van die 32-bit adresse, uses-- iemand wil 'n raaiskoot, hoeveel stukkies neem? GEHOOR: 64? DAVID J. MALAN: Goeie raaiskoot, maar geen. Ons het uiteindelik probeer om kry voor die kurwe. GEHOOR: 128. DAVID J. MALAN: 128, wat is 'n freaking groot aantal IP adresse, want dit is soos tye 2, tye 2, keer 2, 'n baie van die tye twees uit 4000000000. So as nuuskierig. Dit blyk out-- en ek dit net googled om hierdie te vind out-- Yale rekenaars, hier by Yale, is geneig om te begin met hierdie numbers-- 130,132 dot iets en 128,36 dot iets. Maar daar is beslis uitsonderings in die raad afhangende van wat die departement en bou en die kampus is jy op. Harvard geneig om 140,247 of 128,103. En oor die algemeen is dit nuttelose inligting, maar dit is iets wat jy kan nou sien. Wanneer jy begin skeer rond instellings op jou rekenaar, jy kan begin om hierdie sien soorte patrone voor lank. Maar wanneer jy by die huis en het 'n Apple AirPort, of 'n Linksys toestel of 'n D-Link, of wat ook al is dit jou ouers of broers en susters geïnstalleer in jou huis, goed wat jy waarskynlik is wat 'n private IP-adres genoem. En dit was eintlik 'n mooi, tydelike oplossing om die probleem van die bestuur kort op IP adresse. En wat jy kan doen met huis netwerke, typically-- en eerlik, selfs Yale en Harvard begin om dit te doen in verskillende areas-- is jy kan 'n hele klomp van die rekenaars gee een IP adres so lank as wat jy sit 'n spesiale toestel in die voorkant van hulle, iets wat 'n router genoem, of dit kan genoem word 'n gevolmagtigde of enige aantal ander dinge. Maar 'n sekere toestel wat het dat een IP adres. En dan agter dat die apparaat, binne 'n gebou, binne 'n huis of 'n woonstel, kan enige aantal rekenaars, wat almal 'n IP-adres wat begin met een van hierdie syfers hier. En so lank as wat die rekenaar weet hoe om te skakel die openbare adres die private-adres, alles kan sorteer van die werk as wat verwag is. Maar die omgekeerde hiervan is dat indien jy by die huis en jy het 'n broer of suster, en beide van julle is besoek 'n paar webwerf, daardie webwerf weet nie of dit is wat jy of jou broer besoek die webwerf, omdat jy lyk dieselfde wees persoon omdat al jou data gaan deur daardie router of dat die sentrale punt. Maar genoeg oor hierdie laer vlak besonderhede. Kom ons neem 'n blik op hoe IP adresse soms kom miskien in die media en hoe ons nou kan begin om te ruïneer, eerlik, selfs nog meer shows vir jou. As ons kon verdof die ligte vir 'n paar sekondes. [Video speel] -Dit Is 'n 32-bit op IPP 4 adres. -IP ES internet-- -Private Netwerk, Tamia se private netwerk. Sy is so amazing. -Come Op Charlie. DAVID J. MALAN: Dis 'n spieël IP adres. Sy laat ons waak wat sy doen in real time. [Einde afspeel] DAVID J. MALAN: OK. So 'n paar probleme met hierdie. So een wat ons soek om hier op die skerm is 'n kode geskryf in 'n taal, die sogenaamde Objective-C, wat is 'n soort van 'n opvolger vir die C taal wat ons doen. Dit het absoluut niks te doen met programmering. In werklikheid, as die beste wat ek kan sê, dit is 'n tekening program dat iemand afgelaai word vanaf die internet of ander manier met kryt. Miskien minder uitmuntend is dat hierdie IP-adres, geldig of ongeldig? GEHOOR: ongeldig. DAVID J. MALAN: ongeldig, want 275 is, natuurlik, nie tussen 0 en 255. Ook dit is waarskynlik OK al is, want jy wil nie n klomp van die mal mense wat soos om op hul TV TiVos en dan die besoek van die IP te sien indien daar is eintlik iets daar. Sodat een is 'n bietjie minder uitmuntend. Maar besef ook dit is soort van almal rondom ons. So natuurlik, niemand van ons ooit regtig tik numeriese adresse in ons blaaiers. Dit sou soort van 'n slegte ding wees As Google, Google besoek, jy het om te gaan om 123.46.57.89. En die hele wêreld het net onthou dat. En eerlik, het ons soort van voor gesien hierdie kwessie. Terug in die dag wanneer mense nie selfone en kontak lyste, en maatskappye eintlik still-- eintlik, Ek dink maatskappye het nog 800 getalle en die like-- maar jy algemeen sien getalle geadverteer as 1-800-versamel, C-O-L-L-E-C-T. Want niemand kan regtig onthou, wanneer sien 'n advertensie op 'n bus of advertensiebord, wat iemand se nommer is, maar hulle kan seker, met 'n hoër waarskynlikheid, onthou 'n woord. Sodat ons aangeneem dieselfde soort stelsel in die wêreld van die internet waar daar is 'n domein naam stelsel sodat ons die mens kan tik google.com, facebook.com, yale.edu, harvard.edu, en laat die rekenaars figuur uit te vind wat die ooreenstemmende IP adres is vir 'n gegewe naam. En die manier waarop jy dit doen in die werklike wêreld is dat vir $ 10 'n jaar, miskien $ 50 per jaar, kan jy 'n domein te koop noem, of 'n domein naam regtig huur. En dan elkeen jy betaal aan daardie domain naam te huur, jy hulle vertel wat in die wêreld weet wat jou IP-adres is. En ons sal nie in hierdie gaan besonderhede nie, maar baie van julle dalk wil, vir finale projekte, om werklik te meld vir jou eie web hosting maatskappy, hetsy vir gratis of vir 'n paar dollars per maand. Sommige van julle dalk wil koop, 'n paar dollars, jou eie domein naam net vir die pret of 'n besigheid te begin of 'n persoonlike webwerf of die wil. En besef dat al van daardie sal uiteindelik neer op wat jy vertel die wêreld wat IP-adres van jou bediener is. En dan hierdie DNS bedieners eintlik sorg waarvolgens die res van die wêreld. So al 'n DNS-bediener het, in kort, binne van sy geheue is soos die ekwivalent van 'n Google spreiblad of 'n Excel spreadsheet met ten minste twee kolomme, waarvan een het name, soos harvard.edu en yale.edu en google.com. En die ander kolom die ooreenstemmende IP-adres of IP adresse. En ons kan eintlik sien. So op my Mac-- en jy kan doen dit op Windows rekenaars as well-- as ek maak 'n terminaal venster hier, hou die een in CD50 IDE, die meeste rekenaars het 'n bevel genoem Nslookup naam bediener opkyk. En as ek iets in te tik soos yale.edu en druk Enter, wat Ek moet sien of my netwerk saam as dit vir verskeie toetse voor die klas gedoen began-- laat ons probeer google.com. Natuurlik nou niks werk. Dit is 'n groot. Alle reg, staan ​​vir 'n oomblik. Nslookup google.com. Wel, laat ons sien of die werklike internet-- no. Dit is wat gebeur het. Oh my god, alles reg. Die Wi-Fi gebreek. Hey, wil weet wat my IP adres is? Alles reg. YaleSecure. Dit is hoe jy los dinge soos 'n rekenaar wetenskaplike. Ons draai die Wi-Fi af. OK. En eintlik, Scaz, doen jy omgee meld ons in die veilige een? Anders meer toetse are-- OK, dankie jy Yale-- of oor te breek. Ek wil om te gaan op YaleSecure. O ja, en miskien sal ons OK wees. Miskien is ons terug. En dit is hoe, as 'n rekenaar wetenskaplike los 'n rekenaar. [Applous] Alles reg. So waar ek was in hierdie sogenaamde terminale venster, en as ek Nslookup yale.edu daar gaan ons. So ek terug eers die IP-adres van die DNS bediener wat my laptop gebruik. So in bykomend tot 'n DHCP-bediener wat Ons het gepraat oor 'n oomblik gelede vertel my laptop wat my IP adres is dat DHCP-bediener vertel my ook wat DNS-bediener te gebruik. Anders sou ek om dit in die hand te tik. Maar dit is nie al wat interessant. Wat ek omgee is dat dit die IP adres van die webwerf Yale se blykbaar. So in werklikheid, laat ons probeer om hierdie. Laat my gaan in 'n leser en gaan http: //, en dan dat IP-adres, en druk Enter. En laat ons sien. Dit is hoe anders jy kan besoek Yale se webtuistes. Nou is dit nie al wat onthou. Soos die pre-frosh waarskynlik nie gaan hierdie spesifieke adres onthou As aangesê om daar besoek na 'n besoek. Maar dit lyk om te werk. En so DNS regtig net ons toelaat om het baie meer menslike vriendelike adresse. Maar hulle het nie noodwendig net een antwoord gee. In werklikheid, as jy 'n baie groot tegnologie maatskappy, jy waarskynlik wil het baie van die bedieners. En selfs dit is misleidend. So Yale waarskynlik nie net een web server. Google waarskynlik nie net 10 of so web bedieners. Google veral waarskynlik het duisende web bedieners regoor die wêreld wat kan reageer versoeke van mense soos ons. Maar hulle het ook 'n tegnologie genaamd gebruik load balancing, wat lang storie kort, het net 'n paar toestelle in die wêreld versprei oor meer bedieners die las. So dit is soort van soos 'n spinnerak as sal jy versending die versoeke. Maar vir nou, al wat interessante vir vandag is dat 'n domein naam soos google.com kan selfs het verskeie IP adresse soos dit. Maar hoe al ons data eintlik terug te kry en weer toe in die einde? Wel, dit blyk dat daar hierdie dinge genoem routers op die internet. En wat is 'n router om die mate dat jy reeds weet? En ek het die woord 'n paar gebruik keer in die konteks van 'n huis, maar in eenvoudige terme, Wat doen 'n router doen? Gee my net 'n raaiskoot op grond van sy naam? GEHOOR: So 'n pad of 'n pad? DAVID J. MALAN: So dit is 'n pad of 'n pad. So 'n roete is 'n pad of die pad, absoluut. En 'n router, so 'n toestel wat eintlik roetes inligting, sou data tussen punte A en B. beweeg En so in fact-- en dit is dalk toe jy Google uitbeeldings van routers op die wêreld, kry alles wat jy is Wink bemarking diagramme. En so hierdie is 'n soort van die mees verteenwoordigende een wat ek kon vind wat lyk effens interessant. Elkeen van hierdie kolle of opflikkert van hoop regoor die wêreld verteenwoordig 'n router. En elkeen van hulle het 'n lyn tussen 'n paar ander router. Omdat inderdaad, daar is duisende, waarskynlik miljoene routers rondom die wêreld, waarvan sommige in ons huise en op ons kampusse, maar 'n baie wat besit word deur groot maatskappye en word verbind sodat as ek wil 'n paar data van hier te stuur aan die Yale terug by die huis te Cambridge, Yale waarskynlik het nie 'n enkele kabel, seker, gaan direk na Harvard. En Yale het nie 'n enkele kabel gaan om MIT, of om Stanford, of om Berkeley, of Google of enige aantal bestemmings. Inteendeel, Yale en Harvard, en almal op die internet het nie een of meer routers verbind om dit, miskien op die rand van die kampus. Sodat wanneer my data wil kampus Yale se vertrek, dit gaan om wat die naaste router, soos deur een van hierdie kolle. En dan dat router syfers uit of om dit te stuur hierdie manier, of op hierdie manier, of hierdie manier, of op hierdie manier gebaseer op 'n ander tafel in sy geheue, 'n ander Excel lêer of Google spreadsheet wat in een kolom sê, as jou IP-adres begin met die nommer een, gaan op hierdie manier. As jou IP-adres begin met 'n nommer twee, gaan op die manier. En so kan jy dit af te breek numeries om die router stuur data elke watter manier. En ons kan soort van sien dit as well. Kom ons gaan voort om hierdie terminale venster weer en laat my gaan voort en spoor die roete, kom ons sê, www.mit.edu, wat is 'n paar honderd myl weg. Dit was regtig damn vinnig. So wat nou net gebeur? So in net sewe stappe, en in net vier millisekondes, Ek gestuur data oor die internet van hier aan die Yale om MIT. Elkeen van hierdie rye, jy kan dalk raai verteenwoordig wat nou? GEHOOR: 'n router. DAVID J. MALAN: 'n router. So ja, dit lyk asof daar ongeveer sewe of so routers, of ses routers in tussen my fisies hier Yale se wet skool en webwerf MIT se daar. En wat ons kan optel van hierdie as follows-- en laat my skoon it up. Ek is van plan om dit weer uit te voer met 'n opdrag line argument van -q 1 tot net sê, gee my net een vraag. By verstek, spoor roete doen drie. En dit is hoekom ons gesien trosse van getalle. Ek wil minder getalle te sien net om die uitset skoner te hou. En laat ons sien wat gebeur. So vir watter rede ookal, iemand by Yale gedagte dit snaaks om dit te noem sou wees om jou standaard router arubacentral, wat is op vlan of virtuele LAN, virtuele plaaslike gebied netwerk 30-- sodat jy het waarskynlik ten minste 29 others-- router.net.yale.internal. En Interne hier is 'n soort van 'n vals boonste vlak domein bedoel om net gebruik word op kampus. En kennis van die ooreenstemmende IP adres van daardie router, waar dit ook al is hier op kampus, is 172.28.204.129. En dit het 36 millisekondes om te gaan van hier tot daar. Snaakse storie. Ons sal terug te kry om dit te in net 'n oomblik. Maar nou is die tweede router-- om wat blykbaar arubacentral het 'n soort van fisiese verband mees likely-- die mens het nie die moeite noem dit. Die Yale mense het nie die moeite noem dit, want dit is binne jou netwerk dit blyk. En so het dit net 'n IP-adres. Maar dan 'n derde router hier op Yale se netwerk dit is waarskynlik 'n bietjie verder weg steeds is cen10g genoem ookal dit is asr.net.yale.internal. En dit het te 'n IP-adres. Nou hoekom is hierdie getalle soort wisselende? 2.9, 1.4, 36? Routers besig raak. En hulle kry dig en gerugsteun. Daar is duisende mense op hierdie kampus met behulp van die internet nou. Daar is 'n honderd mense in hierdie kamer met behulp van die internet nou. En so wat gebeur, is dat die routers kan kry oorvol. En so die tye mag wissel 'n bietjie. So dit is waarom hulle nie noodwendig verhoog reguit. Maar dinge soort interessant in stap vier. Blykbaar tussen Yale en stap vier is nog hop. En waar is die router in stap vier waarskynlik? GEHOOR: [onhoorbaar] DAVID J. MALAN: JFK miskien, Miskien by die lughawe. Maar vir watter rede ook al, stelsel administrateurs, so geeks wat bedieners hardloop vir jaar het die naam routers na die naaste lughawe kode. So JFK beteken waarskynlik dit is net iewers in New York, miskien in Manhattan of een van die boroughs. nyc2 dui, vermoedelik, 'n ander router wat iewers in New York. Ek weet nie mooi waar ry ses is hier, router nommer ses. quest.net 'n groot ISP, internet diensverskaffer, wat voorsiening internet konneksie groot plekke soos Yale en ander. En dan hierdie laaste een, is dit lyk soos wat MIT nie eens het hul eie webwerf in Cambridge noodwendig, maar eerder hulle het uitgekontrakteer hul webwerf, of ten minste die fisiese bedieners, om 'n maatskappy genaamd Akamai. En Akamai eintlik is regs af die pad van MIT in Cambridge dit blyk. Maar besef ook dat selfs gedink jy gaan www.mit.edu, Ons kan regtig gestuur word oral in die wêreld. En laat ons sien iewers anders in die wêreld. Laat my gaan voort en skoon hierdie skerm en plaas spoor die roete, net een keer, so navraag een om www.cnn.co.jp, die Japannese tuisblad vir CNN, die nuus site. En as ek druk Enter nou, Kom ons kyk wat gebeur. Ons begin weer op arubacentral. Ons dan gaan die naamlose router, 'n paar meer. So het dit 12 hoep kry om Japan hierdie tyd. En laat ons sien wat ons kan optel. So dieselfde hop, hop dieselfde. Effens anders nou. Hierdie een se interessant. So ek hier aan die raai, is 'n stamford1 paar dorpe weg in Connecticut ook. Hierdie routers in ry ses en sewe nie name het. Maar dit is 'n soort van amazing. So, wat blyk te wees tussen die routers in stap sewe en agt? En hoekom het jy so veel sê nie? Ja? GEHOOR: Oseaan. DAVID J. MALAN: Waarskynlik 'n oseaan. Ons weet dit is waar soos, intuïtief, reg? Maar ons kan soveel soort bevestig van soort empiries hoekom? Wat het verander tussen rye sewe en agt? Dit het 'n baie meer tyd om te gaan na Wat hierdie naamlose router sewe is, waarskynlik iewers in die kontinentale VSA, te stap agt, wat waarskynlik iewers in Japan gebaseer op die domein naam van Jp daar. En so die bykomende honderd millisekondes iets of 90 of so millisekondes is die gevolg van ons data gaan oor 'n mooi groot liggaam van water. Nou vreemd, blyk dit dat miskien dat die kabel gaan oor die hele VSA. As ons werklik gaan oor die Weskus na Japan te kry, dit is soort van die lang pad as ons gaan die ander kant. So dit is nie heeltemal duidelik wat gaan aan fisies. Maar die feit dat elke addisionele hop inderdaad het aansienlik meer as elke ander, dit is redelik goed bevestiging dat CNN se Japannese web bediener is waarskynlik inderdaad in Japan. En dit is beslis verder weg as MIT het. En dit is die moeite werd om daarop te let ook jou data is nie noodwendig gaan die reis kortste moontlike afstand. In werklikheid, as jy speel rond met spoor roete by die huis net pluk ewekansige webtuistes, jy dalk vind dat net 'n e-pos te stuur of om 'n webwerf te besoek dit is hier in New Haven, soms jou data dalk eerste neem 'n ompad, trek af na DC, en dan terug te kom op. En dit is net as gevolg van die dinamiese routing besluite dat hierdie rekenaars maak. Nou net vir die pret, die produksie span afgewerk een van hierdie video's vir ons om net 'n bietjie meer bondige. Maar vir ons 'n vinnige sin gee here-- en ons kan die ligte laat on-- as om net hoeveel kabels is eintlik die uitvoering van al ons data. [Video speel] [Speel van musiek] [Einde afspeel] DAVID J. MALAN: All netwerk videos het koel klinkende musiek blykbaar. So dit is net 'n te kry gevoel van net hoeveel het is aan die gang onder die kap. Maar laat ons kyk na 'n effens laer vlak nou op watter data is eintlik kameelkoei die lyne, en selfs draadloos gaan in 'n kamer soos hierdie. So dit blyk wanneer jy versoek 'n webblad, of stuur 'n e-pos, of kry 'n webblad, of 'n e-pos, of 'n Gchat boodskap of 'n Facebook boodskap of die wil, wat nie net een groot stuk van stukkies draadloos vloei deur die lug of elektronies op 'n draad. Inteendeel, die versoek of reaksie is oor die algemeen chunked up in aparte stukke. So met ander woorde, wanneer jy 'n versoek om van 'n ander rekenaar, of jy terug 'n reaksie van 'n ander computer-- soos veronderstel, byvoorbeeld, as unfamiliar-- as te veel mense lyk hierdie days-- wees As vertroud met this-- nie fellow-- hierdie man. So dink dit is 'n boodskap wat Ek wil stuur na iemand in die rug. Wie in die baie terug wil ontvang 'n foto van Rick Astley vandag? OK, wat is jou naam? GEHOOR: Cole. DAVID J. MALAN: Wat is dit? GEHOOR: Cole. DAVID J. MALAN: Holt? H-O? GEHOOR: C-O-L-E. DAVID J. MALAN: C-O-L-E, Cole. Jammer. C-O-L-E. Alles reg. So as ek wil Cole hierdie stuur foto hier, weet jy is 'n soort van 'n groot prentjie, reg? Dit kan 'n paar te wees kilogrepe, 'n paar megagrepe, veral as dit 'n hoë resolusie. En ek het nie regtig wil ophou almal uit die gebruik van die internet net terwyl ek dit regtig stuur groot, hoë kwaliteit foto's van Rick Astley regdeur die kamer. Ek wil graag van jou data om voort te gaan om deurkruis die netwerk en die Wi-Fi ook. En so het dit sense-- en dit maak verhaalbaar is elektronies, nie soseer in die werklike wêreld. Eintlik, dit gaan om verskeie betekenis as jy my klank uit. So as ek skeur dit in die helfte soos hierdie hier, dit nou kan reis die internet meer doeltreffend, want dit is 'n kleiner stuk. So met 'n laer waarskynlikheid gaan dit om te bots met die verkeer iemand anders se op die internet. En ja, wat jou rekenaar inderdaad doen wanneer jy wil 'n boodskap aan Cole stuur is dit stukke van 'n boodskap soos hierdie in kleiner stukke, fragmente so te praat. En dan is dit sit hulle binnekant van wat ons sal soort van virtuele koeverte noem. So ek het vier papier koeverte hier. En ek het vooraf genommer hulle een, twee, drie, vier en. En wat ek gaan om te doen op die voorkant van hierdie, net soos 'n normale e, is ek gaan die naam Cole se daar te vestig. En dan aan die bokant, ek is gaan my Naam daar te vestig, David, sodat die eerste sodanige pakkie Ek stuur daar buite op die internet lyk 'n bietjie iets soos hierdie, die uitstaande kenmerke waarvan dat dit 'n aan te spreek, 'n uit-adres, en ook 'n aantal, so dat hopelik voldoende inligting vir Cole om hierdie boodskap te rekonstrueer. So laat my dieselfde te doen hier, die dieselfde hier, en dieselfde hier, die skryf van sy naam in die Aan akker op almal van hulle. En dan kom ons gaan voort en het hierdie foto binne-in. So hier is 'n pakkie dit is gereed om te gaan. Hier is nog 'n pakkie dit is gereed om te gaan. Hier is 'n derde pakkie dit is gereed om te gaan. En hier is 'n vierde pakkie dis gereed om te gaan. Maar nou, wat is interessant is oor hoe die internet in werklikheid werke is dat selfs al het ek het vier pakkies, wat almal bestem vir dieselfde plek, hulle is nie noodwendig gaan dieselfde roete deurkruis. En so selfs al het ek oorhandig packets af tot die naaste router kom ons sê, as jy wil stuur hulle elke watter manier, laat ons sien wat werklik gebeur, is die doel van die Dit is vir hulle uiteindelik kry om Cole. En inderdaad, hulle is reeds nie noodwendig om dieselfde rigting. En dit is goed. Dit is 'n bietjie ongemaklik en Oprah styl vandag. En nou, laat my doelbewus neem dat een terug. En nou Cole, as jy wil weer aanmekaar dit as die beste wat jy kan. Van die kursus, kan ons almal raai wat die gevolgtrekking hier gaan wees. Jy gaan hê 3/4 van Rick Astley in net 'n oomblik. En wat al is die implikasie van dit? Jy wil om te probeer om dit te hou? Ons het een kamera wys na jou as jy wil te poseer met Rick Astley hier. Daar gaan ons. Mooi. Maar jy lyk te ontbreek 'n fragment van Rick Astley. So dit blyk dat die internet word algemeen gedryf deur nie net IP, maar in die feit dat ons op die heel gehoor begin van lesing in daardie video-- en jy het waarskynlik gesien akroniem meer often-- wat werklik is die protokol jy geneig om te hoor oor? GEHOOR: TCP / IP. DAVID J. MALAN: TCP / IP, wat net 'n kombinasie twee protokolle, een wat geroep IP. Wat weer, is net die stel konvensies via ons spreek elke rekenaar in die internet. En dan TCP, wat dien 'n ander doel. TCP is 'n protokol wat jou tipies gebruik in samewerking IP, wat onder andere dinge, waarborge lewer. In werklikheid, TCP is die protokol wat sou dit een van die pakkies sien blykbaar nie te kry Cole, want hy lyk vermis nommer vier uit vier. En so wat TCP, 'n protokol doen, is dit vertel Cole, hey Cole, as jy net ontvang drie uit vier pakkies, my watter een jy vertel ontbreek, wese, en dan my doel in die lewe moet wees om weer te stuur nie. En so as ek ook die sender, is met behulp van die TCP, Ek moet dan 'n nuwe packet-- nie gekreukelde een here-- weer te stuur net hierdie stuk dit, so wat uiteindelik Cole het 'n volledige souvenir, indien niks anders nie. Maar sodat uiteindelik die data eintlik kry om die korrekte bestemming. Maar helaas, skryf die naam Cole se op die voorblad is nie voldoende nie, per se. En regtig, sou ek nie skryf Naam Cole se, maar waarskynlik sy IP-adres op die koevert. En ek sou nie skryf David. Ek wil my IP adres op die koevert te skryf sodat die rekenaars kan werklik kommunikeer heen en weer. Maar dit blyk dat rekenaars kan baie meer as dien doen foto's van Rick Astley. Hulle kan ook weer gestuur en e-pos ontvang, gesels boodskappe. Hulle kan dinge doen soos lêer oordrag, en 'n aantal ander instrumente jy gebruik op die internet, bedieners kan deesdae doen. En net omdat 'n maatskappy, of 'n skool, of 'n persoon wil 'n web bediener te hê, en 'n e-pos bediener, en 'n chat server, beteken nie dat jy drie rekenaars nodig. Jy kan net 'n rekenaar met het verskeie dienste, om so te praat. En so wanneer Cole ontvang 'n boodskap soos dit, hoe nie sy rekenaar weet of te toon dat prentjie in sy leser, of in Gchat, of in Facebook Messenger, of in enige aantal ander instrumente? So dit blyk ook op daardie as koevert is addisionele stuk inligting bekend as 'n poort nommer. En 'n poort nommer is net 'n nommer inderdaad, maar dit uniek identifiseer nie die rekenaar, maar die diens. En daar is trosse van hierdie. So dit blyk dat in die wêreld, die mens op 'n paar sulke besluit konvensies, waarvan sommige is hierdie. So daar is iets genoem File Transfer Protocol. Dit is redelik gedateer. Dit is heeltemal onseker. Baie van die mense gebruik dit nog steeds. En dit gebruik poort nommer 21. Met ander woorde, as stuur 'n lêer via FTP, die koevert sal nie net die het sender en IP-adres van die ontvanger, dit sou ook die nommer 21 sodat die ontvangs rekenaar weet Ag, hierdie is 'n lêer, nie 'n e-pos of 'n chat boodskap. 25 is SMTP. Hoeveel van julle ooit gebruik SMTP? Verkeerd. Byna al wat jy het. As jy al ooit gebruik e-pos, het jy gebruik SMTP, eenvoudige pos oordrag protokol, wat net 'n fancy manier om te sê, dit is die soort van die rekenaar of diens wat stuur jou e-pos uitgaande. En altyd as jy het gesien akronieme soos POP, IMAP of, en daar is 'n paar ander, dit is vir die ontvangs e-pos, tipies. Dit beteken net dit 'n ander diens. Dit is sagteware wat iemand geskryf dat stuur of luister op 'n spesifieke poort nommer so dat dit nie die e-pos nie verwar met 'n paar ander tipe data. Nou is die web is HTTP, wat is getal 80, en ook die hawe 443. En in die feit, selfs al Ons mense gelukkig nie om dit te doen, enige tyd wat jy besoek 'n webwerf soos http://www.yale.edu, die leser is net 'n soort van nuttig in dat dit die veronderstelling dat jy wil numeriese hawe 80. Ons weet reeds dat DNS kan uitvind wat die IP adres van www.yale.edu. Maar die rekenaar is net gaan aflei dat jy wil poort 80, want jy gebruik Chrome, of IE, of 'n ander leser. Maar ek kon tegnies doen kolon 80. En dan kan ek uitdruklik vertel my leser, stuur 'n pakkie of meer van inligting aan www.yale.edu versoek vandag se tuisblad. Maar spesifiek, adres dit Yale se IP by die hawe 80 sodat ek eintlik kry terug Yale se web server. Nou is dit onmiddellik verdwyn omdat blaaier net besluit dat ons dit nie doen nie moet mens verwar deur met nog meer arcane inligting soos kolon 80. En eerlik, implementeer soos Chrome doen nie eens wys jou meer http of die kolon, of die streep streep, of die slash, in 'n sekere sin, want hulle probeer om dinge makliker vir gebruikers te maak. In 'n ander sin, dit is net 'n soort van 'n gebruiker se ervaring thing-- Kom ons kry ontslae te raak van 'n paar van die warboel. Maar dit is 'n paar van die wegsteek hierdie onderliggende besonderhede. En in die feit, niemand van ons waarskynlik ooit http meer tik. Jy tik net in iets soos www.harvard.edu. En weer, Chrome aflei wat jy wil HTTP. Maar daar is ook ander protokolle dat ons beslis kan word met behulp van. So gegee al hierdie, as jy nou soort van op die sogenaamde ingenieurswese hoed, hoe dinge genoem firewalls werk? So jy waarskynlik algemeen vertroud is met die firewall, nie soseer in die fisiese sin nie. So terug in die dag, en nog steeds tot vandag toe, as jy het soos strook winkelsentrums vir byvoorbeeld dat baie van die winkels het, algemeen die mure tussen individuele winkels of winkels is firewalls in die sin dat hulle het 'n spesiale isolasie sodat as 'n brand breek uit in een winkel, Dit beteken nie noodwendig versprei na die winkel langsaan. Die rekenaar wêreld het ook firewalls dat iets anders om te doen. Wat doen 'n vuurbal doen? Ja? GEHOOR: Basies hulle afgesny verband As hulle iets teëkom soos byvoorbeeld hulle het aantal id state. En as daar iets gebeur, hulle sny die verband. Soos as hierdie kwaadwillige aanval [Onhoorbaar] jou rekenaar, or-- DAVID J. MALAN: OK goed. Ja, en in die feit dat jy selfs gaan 'n bietjie verder iets beskryf wat dalk genoem 'n inbraak opsporing stelsel, of IDS vir kort, waardeur jy eintlik het reëls omskryf. En as jy begin om te sien verdagte gedrag, probeer jy om 'n einde te maak aan dit. En 'n firewall, eerlik, op 'n netwerk vlak, selfs dommer en eenvoudiger as dit, in die algemeen. En daar is verskillende tipes van Firewalls in die wêreld. Maar die mense wat werk op die vlak ons ​​praat today-- IP en TCP-- werk, selfs meer reguit. Byvoorbeeld, as jy was Yale stelsel administrateurs of Harvard-stelsel administrateurs, of 'n Big Broer op 'n sekere maatskappy, en jy wou al verhoed dat jou studente of al jou werknemers uit gaan na facebook.com, al wat jy hoef te doen is seker te maak dat al hul netwerk verkeer, die eerste van alles, gaan deur 'n spesiale toestel. Kom ons noem dit 'n firewall. En dit is goed, want jy kan jou router maak dieselfde ding as 'n firewall of jy dieselfde soort van sagteware op dieselfde masjien. So as al jou studente of werknemers verkeer gaan deur middel van hierdie sentrale firewall, hoe sou ons mense te verhoed gaan om facebook.com, byvoorbeeld? Wat sou die stelsel administrateur moet doen? Enige iemand anders? Kom ons probeer om te gaan rond. GEHOOR: [onhoorbaar] DAVID J. MALAN: Sê dat weer? GEHOOR: Dit moet net kry vasgevang in die stelsel. So net sit Facebook in 127.0.0-- DAVID J. MALAN: O, interessant. So jy kan eintlik dan hack jou DNS-stelsel. Dit is inderdaad 'n manier wat jy kan doen waardeur enige tyd 'n Yale student trek up www.facebook.com, al van ons hier vandag op kampus gebruik Yale se DNS-bediener, omdat Yale se DHCP-bediener het ons daardie adres. So ja, jy kan soort van dinge of breek konvensie verbreek deur net te sê, ja, adres facebook.com se is vals, is 1.2.3.4, wat nie eintlik wettige. Of miskien is dit 278. alles was in die TV-show 'n oomblik gelede sodat niemand van ons eintlik kan besoek facebook.com. So dink Yale gedoen. Veronderstel Yale wou hou julle uit facebook.com. En daarom het hulle verander die DNS-instellings om jou 'n valse IP gee spreek vir facebook.com. Hoe reageer jy? Tegnies, not-- O, nou almal wil deelneem. OK, ja. GEHOOR: Jy tik net in die werklike IP-adres van Facebook. DAVID J. MALAN: OK, goed. So ons kon net tik in die werklike IP-adres van Facebook, baie soos ek gedoen het met die webwerf Yale se. En as die Facebook-bediener is ingestel om dit te ondersteun, moet dit inderdaad werk. Dit is 'n ligte pyn in die nek, want nou is ons moet onthou 'n paar random 32-bit waarde nie, maar wat kan werk. Wat anders kan jy doen? Ja. GEHOOR: Jy kan verander diegene instellings [onhoorbaar]. DAVID J. MALAN: Ja, jy kan selfs jou DNS-instellings te verander. So in werklikheid is dit eintlik baie handig, eerlik, as jy in 'n lughawe is, of indien jy in 'n kafee, of iets wat het afskilfer internet waardeur soms die DNS-bediener net nie meer werk nie. So selfs ek soms doen , nie vir kwaadwillige, ek wil Facebook te gebruik doeleindes, maar eintlik want ek lyk na 'n netwerk verband, maar niks werk nie. En so een van die eerste dinge wat ek try-- en jy kan dit doen op Windows too-- maar op my Mac, as ek gaan na Network. En ek kies my Wi-Fi-verbinding. En ek gaan na Gevorderde. En ek gaan na DNS. Dit is die drie IP adresse wat Yale is gee my vir drie DNS-bedieners. Die doel is dan vir my om enige probeer een van hierdie adresse op te los. Maar ek kan ignoreer hierdie deur te doen 'n plus. En enigiemand wil 'n DNS-bediener voor? GEHOOR: 8.8.8.8? DAVID J. MALAN: O, jy is ongelooflik. Ja, 8.8.8.8. So Google seën hulle harte, gekoop die IP adres 8.8.8.8, omdat dit soort lyk soos Gs waarskynlik, en dit is maklik om te onthou. Maar inderdaad, ek het my ingestel rekenaar Google se DNS-bediener te gebruik. So nou as ek gaan na yale.edu, dit is nog steeds gaan om te werk. Maar ek is nie die gebruik van Yale se DNS-bedieners nie. En as ek gaan na facebook.com, al daardie kyk ups gaan om te gaan deur middel van Google. So aan die een kant, ek het slim omseil die plaaslike stelsel administrateurs net deur die verstaan ​​hoe netwerke werk. Maar ek betaal 'n prys. Niks is gratis. Wat het ek net opgegee? Wat het ek net opgegee? Almal van julle slim mense wat gebruik 8.8.8.8, want dit is cool of probleme oplos, wat het jy doen al hierdie tyd? GEHOOR: Reis verder? DAVID J. MALAN: Miskien verder reis, want Google se waarskynlik nie heeltemal so naby die bediener af in die straat. Maar meer worrisomely. Ja? GEHOOR: So nou Google weet waar jy gaan. DAVID J. MALAN: Google weet letterlik elke webwerf wat jy besoek, want jy is letterlik vra hulle, hey Google, kan jy yale.edu vir my vertaal? Of hey Google, kan jy te vertaal hierdie ander webwerf-adres vir my in 'n IP-adres. En so they're-- Ek het geen idee wat jy praat. En so het hulle weet alles oor jou. So besef dat hierdie is 'n gratis diens met 'n doel uit hulle perspektief ook. Maar dit kan beslis jy kry uit 'n bind. Nou net een ander aan te spreek kwessie wat dikwels kom onder studente, veral wanneer internasionaal reis in sekere lande soos China, waar daar wel is 'n Groot Firewall van China waardeur die regering is daar blokke heel 'n bietjie van die verkeer op verskillende vlakke. Jy hoef nie net blok verkeer op die vlak ons hier praat, DNS, of andersins, jy kan dit blok op ander vlakke. En in die feit, net om duidelik wees, 'n firewall kan selfs meer eenvoudig as net werk met die stelsel administrateurs verander DNS-instellings. 'N firewall, 'n toestel in tussen ons en die res van die wêreld, kon net 'n blok uitgaande versoeke aan die IP-adres vir Facebook op poort 80, of die IP-adres vir harvard.edu, of die IP-adres van enigiets. So 'n firewall kan kyk na jou koeverte 'n IP-adres en selfs hawe getalle, en as Yale wou, dit kan net almal van ons stop van selfs met behulp van FTP nie, wat sou 'n goeie ding, want dit waarskynlik is inderdaad 'n onveilige protokol. Yale kan selfs ophou ons van besoek aan die geheel van die web net deur alle hawe blokkeer verkeer op aantal 80 as well. So wat kan 'n ander manier wees. En daar is selfs liefhebber maniere as well. Maar wanneer u op reis buiteland byvoorbeeld of as jy in 'n internet kafee, of as jy enige plek is waar daar blokkasies of dreigemente, wat kan jy doen? Wel, as jy gaan af in die straat te Starbucks of jy reis in 'n lughawe, algemeen kan jy net hop op die Wi-Fi deur die keuse van soos, JFK Wi-Fi van LaGuardia Wi-Fi, of Logan Lughawe Wi-Fi, of wat nie. En dit is nie geïnkripteer, reg? Daar is geen slotikoon. En jy waarskynlik nie gevra vir 'n gebruikersnaam en wagwoord. Jy is net gevra met 'n paar dom vorm om te sê soos, ek stem saam dit is net om te gebruik vir 30 minute, of iets soos dit. Maar daar is geen enkripsie tussen jy en Starbucks Wi-Fi toegang punt, die dinge met die antennas op die muur. Daar is geen enkripsie tussen jou en Wi-Fi seine die lughawe se. En so tegnies dat creepy persoon sit 'n paar sitplekke af van jou in Starbucks of op die lughawe kan wees, met die regte sagteware, kyk al jou wireless verkeer op sy of haar laptop. Dit is nie so moeilik om te sit 'n laptop in wat genoem gemengde modus, wat soos die naam aandui, beteken dat jy soort los met die reëls. En luister net nie net vir verkeer bedoel vir dit, maar ook om almal se verkeer binne die reeks. En deur daardie logika, kan dit sien al die pakkies inligting jy ontvang. En as daardie pakkies is nie geïnkripteer, jy besig is om jouself aan die risiko van jou e-pos, of jou boodskappe, of enigiets anders om blootgestel. So selfs as jy in die buiteland is nie maar jy is net in Starbucks, of jy op 'n paar random persoon se Wi-Fi wat nie is geïnkripteer, 'n Skynprivaatnetwerk is 'n goeie ding. 'N Skynprivaatnetwerk is 'n virtuele private netwerk. En dit is 'n tegnologie wat jou toelaat om te hê 'n geïnkripteer, 'n warboel connection-- liefhebber as die keiser of Vigenere-- tussen jou laptop, of jou selfoon, of jou lessenaar, en 'n bediener elders, soos 'n bediener op die kampus Yale se. En as jy op reis is abroad-- en in die feit, dit in hotelle vind jy Altyd. En veral as aspirant rekenaar wetenskaplikes waar jy ouens kan, as geeks, wil anders as 80 hawens gebruik, en anders as 443-- hawens en in die feit dat vir die probleem te stel ses ons gaan om te speel met verskeie TCP-poorte net deur die choice-- baie van hotelle, en winkels, en netwerke net dat die soort dinge blok omdat hulle 'n bietjie naïef, of onwetend, dink net dat niemand moet die ander hawens. En so deur die gebruik van 'n Skynprivaatnetwerk kan jy omseil daardie soorte van beperkings, want wat 'n Skynprivaatnetwerk doen, is dit laat jou by Starbucks, of die lughawe, of op enige plek in die wêreld om encryptedly koppel aan yale.edu, sommige bediener hier op kampus, en dan tonnel, om so te praat, al jou verkeer vanaf die plek waar jy is deur Yale, op watter punt dan is dit gaan na die finale bestemming. Maar deur versleutelen dit, het jy enige van hierdie soort te vermy filters of die oplegging wat sommige plaaslike netwerk opgelê. En plus, jy het 'n veel meer robuuste verdediging teen creepy mense rondom jou wat dalk probeer om te luister in op jou verkeer. Daar kon nog creepy mense hier terug by die huis aan die Yale kyk na jou verkeer as dit kom uit die Skynprivaatnetwerk, maar ten minste jy die bedreiging het gestoot verder weg. En dit is ook hier, 'n kompromis. Nou natuurlik, as jy in China of selfs in die kafee, en jy tonnel al jou verkeer deur Yale, watter prys ons betaal miskien? GEHOOR: Speed. DAVID J. MALAN: Spoed, reg? Daar het 'n paar wiskunde wees of 'n fanciness betrokke in die werklike kodering. Daar kan duisende myl van 'n afstand of duisende myle kabels tussen jou en Yale. En dit is regtig sleg as jy in China, byvoorbeeld, en jy wil besoek 'n webwerf in China. En so jou data gaan die VSA, en dan weer terug na China net omdat jy versleutelen dit deur hierdie tonnel. Maar dit los tegniese en probleme gelyk werk. Maar dit alles neer op hierdie baie eenvoudige idees. En Harvard, vir diegene nuuskierig, het een hier sowel op vpn.harvard.edu, wat bedryf net soos Yale se. So met alles wat gesê is, waarom is hierdie hele netwerk nuttig? En wat kan ons begin doen met dit? Wel, laat ons dit nou meer real. Dit is die akroniem waarmee die meeste van ons is waarskynlik super familiar-- HTTP-- wat staan ​​vir HyperText Transfer protokol. En dit beteken net dit is die taal, die protokol dat webblaaiers en web bediener te praat. Die P in HTTP is inderdaad 'n protokol. En 'n protokol is net 'n stel van konvensies. Ons het gesien IP-- internet protocol-- TCP-- oordrag beheer protocol-- en HTTP. Maar wat is hierdie stupid ding van 'n protokol? Dit is net 'n stel konvensies. So as ek soort van kom af hier, en ek wil om jou te groet. Ek sou sê hi, my naam is David. GEHOOR: Luis. DAVID J. MALAN: Luis. Ons het hierdie stupid menslike konvensie van hande skud hier. Maar dit is 'n protokol, reg? Ek uitgebrei my hand. Luis sy hand. Ons het dit. En dan voltooi, gedoen. En dit is presies dieselfde gees van 'n rekenaar protokol waar as in HTTP, wat gebeur is dit. As jy die rekenaar op die hier links, en daar is 'n paar web bediener daar aan die regterkant. En die rekenaar aan die linkerkant wil Inligting van die bediener. Dit is soort van 'n bi-directional operasie. Die leser aan die linkerkant vra vir 'n paar web bladsy. Die bediener op die regte reageer met 'n paar web bladsy. En ons sal sien wat vorm diegene in net 'n oomblik. En dit blyk dat diegene computers-- dat die leser en bediener, of kliënt en bediener, om so te praat. Baie soos 'n restaurant waar die kliënt vra vir iets, en die bediener bring hom of haar something-- kry is 'n soort van die operatiewe woord. Letterlik binnekant van die koevert wat my browser stuur van hier na 'n web bediener is die woord get. Soos Ek wil vandag se nuus te kry. Ek wil my kry Facebook nuus voer, of ek wil 'n paar bladsy kry van die bediener. Spesifiek, dit is wat is gaan op die binnekant van die koevert. So ek met Cole, in wese gestuur Cole 'n antwoord. As jy dink dat Cole eintlik wou 'n foto van Rick Astley, hy dalk vir my 'n versoek gestuur soortgelyk in die gees van hierdie. Binnekant van sy koevert aan my, waar Ek speel nou die rol van Google, sou 'n versoek dat letterlik sê, te kry, en dan 'n vorentoe slash-- en jy het waarskynlik gesien vorentoe houe in URLs voor. Dit beteken net gee my die standaard bladsy, die standaard Rick Astley prentjie in hierdie geval. En op die pad, Cole praat die taal HTTP weergawe 1.1 of die protokol 1,1. En dit blyk daar is 'n ouer weergawe 1.0. Maar rekenaars is geneig om te gebruik 1.1. Die tweede lyn is 'n nuttige ding wat sal terug kom om dalk kort voor lank. Maar dit is net 'n spesifikasie vir my die ontvanger, dat die ding wat ek wil is www.google.com. Want dit is baie moontlik hierdie dae vir dekades, honderde webwerwe met verskillende domein name aan alle woon op dieselfde bediener. Dit gaan nie om waar te wees soveel in die geval van Google. Maar in 'n kleiner maatskappy se geval is, kan absoluut wees. So Cole is net soort van om in die koevert, deur die manier, wanneer hierdie bereik jou IP-adres op poort 80, net seker dat jy weet Ek wil www.google.com, nie 'n ander ewekansige webwerf op dieselfde bediener. Wat ek dan reageer Cole met, aan die einde van die dag, is 'n foto. Maar bo die foto binnekant van die koevert is eintlik 'n paar teks, waar ek sê, OK. Ek praat HTTP weergawe 1.1 ook. 200. Wat is 'n status kode wat die meeste van ons het waarskynlik nooit gesien het nie, want dit beteken OK. En dit is goed, want dit beteken dat ek suksesvol reageer versoek Cole se. Watter getalle het jy waarskynlik gesien op die web wat nie OK? GEHOOR: 404. DAVID J. MALAN: 404-- lêer nie gevind nie. So inderdaad, enige tyd wat jy gesien het een van daardie irriterende lêer nie gevind foute, want die webblad is dood, of omdat jy verkeerd gespelde 'n URL, wat net beteken dat die bietjie koevert wat jou rekenaar ontvang van die bediener vervat 'n boodskap HTTP 1.1, 404-- nie gevind nie. Dat 'n lêer of daardie versoek jy gemaak is nie gevind nie. Verder, binnekant van die koevert tipies is hierdie lyn, tipe inhoud. Soms is dit HTML, iets wat ons sal binnekort te sien. Soms is dit 'n JPEG. Soms is dit 'n GIF. Soms is dit 'n film lêer, 'n klank lêer, enige aantal van die dinge. So binnekant van die koevert is net 'n bietjie wenk wat ek ontvang. Daar is ander status kodes te, sommige waarvan ons sal verken in P stel ses en jy sal struikel oor in P die sewe en / of agt. Maar sommige hier, soos 404 ons gesien het. Verbode, 403, beteken soos die regte is verkeerd, soos jy het nie soort korrek ingestel nie. 301 en 302, ons selde sien visueel. Maar dit beteken lei. Enige tyd wat jy een het gegaan URL en jy het mettertyd al iewers anders gestuur het, dit is omdat die leser terug gestuur 'n koevert met die aantal 301 of 302, en die URL wat hy wil die leser om te gaan na die plek. 500 is verskriklik. Jy sal sien dit kort voor lank, waarskynlik in P stel ses of sewe P stel. En dit beteken gewoonlik daar is 'n paar fout in die kode, want inderdaad ons sal skryf kode wat reageer op web versoeke. En jy het net 'n paar fout in die logika of sintaksis, en die bediener kan dit nie hanteer nie. So laat ons sien hoe ons nou kan hefboom en verstaan ​​hierdie versoeke soos volg. As ek gaan, kom ons sê, google.com. Laat my gaan na www.google.com. En ter wille van demonstrasie se, laat sien, ek nodig het om te instellings hier om te gaan. Ek gaan om te gaan na Soek instellings. En Google het toenemend irriterende funksies, maar nuttige funksies. So Google het hierdie ding soos instant resultate waar jy begin tik, en outomaties dinge begin verskyn. En dit is alles goed en tegnies nuttig, en ons sal verstaan voor lank hoe dit werk. Maar vir nou, ek draai onmiddellike resultate, want ek wil my leser om soort werk ou skool so dat ek kan sien wat aangaan. So nou is ek weer hier. En ek wil om te soek vir katte. En let Ek sien 'n paar voorstelle, 'n paar baie gunstige voorstelle gelukkig. As ek dan nou druk Enter, Kom ons kyk wat gebeur. So is daar 'n paar katte. En die top treffer op Wikipedia. Maar vandag sorg ons oor die tegnologie hier op. So die URL wat ek het is hierdie gestuur is hier. En daar is 'n paar dinge wat ek nie regtig verstaan. So ek gaan om voort te gaan, want Ek weet soort van hoe Google werk, en ek gaan om dit te distilleer URL in sy eenvoudigste vorm. En nou gaan ek druk Enter weer. En dit nog steeds werk. Ek het 'n bladsy van die resultate oor katte. Maar kennis van die eenvoud van my URL. Dit blyk dit is hoe baie van die web werke. Die web is net 'n hele n klomp van die rekenaars hardloop sagteware wat insette te neem. Dit is nie te kry string styl insette. Dit is nie command line argumente soos ons gewoond is. Hulle neem insette, hierdie web bedieners, deur middel van die URLs dikwels. En enige tyd wat jy het gesoek vir iets, enige tyd wat jy het aangeteken in Facebook, enige tyd wat jy het iets gedoen interaktiewe met 'n webblad, wat jy doen effektief stuur 'n vorm, so teks bokse, blok speak--, bietjie kringe, en noem maar wat stuur inligting van jou om die bediener. En dit blyk dat die web bediener weet om te kyk na wat URL en ontleed dit, soos blik op dit karakter deur karakter op soek na iets interessante ná 'n vraagteken. Want na 'n vraagteken, dit blyk, gaan kom 'n klomp van die sleutel waarde pare. Ek bedoel sleutel = waarde. En dan as daar dalk multiple-- 'n ampersand, 'n paar ander belangrike = waarde ampersand, sleutel = waarde. Dus het ons soort gesien hierdie idee voor waar daar iets het 'n waarde. Dit is net 'n nuwe formaat hier. En ek weet net deur konvensie, Google gebruik q vir navraag. En dan as ek wil om te soek vir honde, ek kan met die hand te soek vir honde soos dit. En dan is ek glo om sommige resultate wat honde. So wat blyk interessant wees. En inderdaad, wat gaan aan onder die enjinkap is dit. Laat my dit doen. Dit is a-- laat ons sien. Laat my terug te gaan oor hier vir net 'n oomblik. Ons sal sien dat daar ander maniere om inligting in te dien. So as ek meld by Facebook, of Gmail, of enige ander gewilde webwerf, dit lyk soort van sleg as wat ek getik in die soekkassie eindig in my URL, in die adresbalk my leser se. Hoekom? Hoekom is dit effens kommerwekkend? Ja? GEHOOR: Tik 'n wagwoord. DAVID J. MALAN: Ja. So, wat as wat ek getik is my wagwoord? Ek het soort van wil dit nie so duidelik sigbaar in die adresbalk my leser se. Een, want my irriterende kamermaat geneig is om te waak oor my skouer, en hy of sy kan nou sien, selfs al dit was die koeëls wanneer ek tik dit in, bietjie sirkels. Nou is dit in my adres bar. Verder, wat is waar oor dinge jy is geneig om te tik in die adres bar. GEHOOR: [onhoorbaar] DAVID J. MALAN: Wat is dit? GEHOOR: Dit raak uitgestuur. DAVID J. MALAN: Dit raak uitgestuur. En ook, word dit onthou. Want die volgende keer jy dinge tik daar, Dikwels is dit autocompletes en dit onthou wat jy voorheen getik. En so is daar hierdie ware geskiedenis dat jou broer, of jou kamermaat, of wie kan deur loop pretty much sien elke webwerf jy besoek, want dit is aangeteken in daardie adres bar. Verder, dink jy wil laai 'n foto op Facebook. Hoe in die wêreld is jy gaan 'n foto in 'n URL te sit? Wel dit blyk jy kan dit doen in sommige manier, maar dit is beslis nie voor die hand liggend. En so is daar hierdie ander manier om inligting te stuur in 'n koevert, nie deur 'n te kry, maar via iets genoem Post. En in teorie, dit lyk pretty much dieselfde. In plaas van die woord uit te kry, sê ons POST, en dan dieselfde soort formaat. Byvoorbeeld, dit is 'n kiekie van wat dit kan lyk as ek probeer meld in Facebook, wat my stuur na 'n lêer genoem login.php, wat eintlik steeds tot vandag so genoem. Dit is dieselfde lêernaam Mark gegee om dit baie jare gelede. Dit is die program wat hy geskryf het in PHP via wat gebruikers kan aanteken op die webwerf. Maar jy moet om te stuur 'n paar ekstra insette. En eerder as wat dit gaan na die lêer name soos dit gedoen het voordat met cats-- q = cats-- kan dit laer gaan in die versoek, dieper binnekant van die koevert as jy sal waar niemand dit kan sien, en waar dit eindig nie tot in die leser bar van die gebruiker en daarom nie onthou vir die mense om snoop rond. En so hier is my e-posadres en my vals wagwoord eintlik gaan. En as Facebook gebruik nie HTTP, HTTPS, maar, dit sal al word geïnkripteer, roer, ala Caesar of Vigenere, maar meer fancily sodat niemand kan eintlik sien hierdie versoek. En so ja, enige tyd wat jy het 'n URL wat begin met HTTPS, dit beteken net dit geïnkripteer. Maar aan die einde van die dag, wat is eintlik binnekant van hierdie koeverte? Dit was super lae vlak. En gelukkig, ons is nie gaan noodwendig om so lae vlak gaan elke keer begin skryf interessante sagteware. Ons kan begin om te neem die idees van een week deur vyf, aanvaar dat daar is nou die infrastruktuur wat laat ons sagteware te skryf wat werk op die web, en dit gaan vir ons toelaat hierdie komende week te begin op soek na iets genoem HTML. Dit is die dinge wat selfs dieper binnekant van die koevert, maar dit is die dinge wat ons gaan begin skryf. En dit is die dinge wat meer Interessant genoeg, is ons gaan programme te skryf wat outomaties begin genereer sodat ons webblaaie is nie hard gekodeer, maar neem insette en produseer uitset. Dit is dalk die eenvoudigste web bladsy wat jy kan maak in die wêreld. Ek kan wel oopmaak iets onnosel soos Text Editor op my Mac, wat net gee my 'n eenvoudige teks venster soos hierdie. PC gebruikers Notepad.ext, wat baie soortgelyk in die gees. En ek kan letterlik tik uit this-- DOCTYPE HTML, wat lyk 'n bietjie kripties. Maar ons sal terug kom. HTML, met hierdie vreemde hakies en houe, binnekant van wat nou gaan ek om te sê hier kom die hoof van my webblad. Binnekant van die, ek het net weet, en jy sal gou weet, dat ek die titel van my webblad kan plaas. En dan onder die hoof van die webblad is gaan om te gaan na die sogenaamde liggaam van die webblad. En ek is net insp net soos in C soort hou dinge mooi leesbare stilisties. En nou gaan ek hierdie red as 'n lêer op my lessenaar, genaamd hello.html. En ek gaan om dit te vertel ja, gebruik HTML. Moenie verander dit na Txt, selfs al hierdie dinge is 'n tekslêer, net soos 'n C program geskryf met 'n teks editor. Alhoewel dit nie in CS50 IDE by die oomblik, net hier op my Mac. En as ek nou na my lessenaar, jy sal sien hello.html. As ek dubbel kliek hierdie, dit sal oopmaak Chrome. En selfs al is hierdie lêer gebeur om te lewe op my lessenaar, Dit is miskien die eenvoudigste webblad Ek kon maak. Let daarop dat die titel van die blad pad top is hello world. Die liggaam van die webblad is inderdaad hello world. En al wat ek gedoen het om te kry op hierdie punt is te implementeer, of is skryf 'n nuwe taal, die sogenaamde HTML. Dit is nie 'n programmeertaal taal soos C. Daar is gaan nie voorwaardes, en loops, en funksies. Dit is 'n opmaak taal, waarin geval jy net vertel die ontvangs program wat jy wil doen. Dit beteken hey leser, hier kom 'n HTML-bladsy. Hey leser, hier kom die hoof van my bladsy. Hey leser, hier kom die liggaam van my bladsy. Hey leser, dit is dit vir die liggaam. Dit is dit vir die HTML-bladsy. En met dié eenvoudige definisies alleen, sal ons gou sien dat een, ons kan dit verteenwoordig as 'n boom. Maar meer oor dit later. So sal dit alles met mekaar te verbind om ons mees onlangse data strukture. Twee, sal ons hierdie stupid grap stel. Dit is 'n werklike Een wat hierdie man het op sy nek. Dit is waarskynlik snaaks die eerste week of twee, en daarna, dalk nie so veel nie. Maar HTML, en selfs die web bladsy wat ek nou net gemaak, super gedagte numbingly disappointing-- net sê hello world in swart teks op 'n wit agtergrond. Sekerlik kan ons baie beter doen. En ons sal dit doen deur die bekendstelling van 'n ander taal, die sogenaamde CSS. Dit word ook nie 'n programmeertaal language-- geen lusse en voorwaardes, of vir loops, maar regtig, net die sintaksis waardeur ons kan sê, maak hierdie teks groot. Maak hierdie teks klein. Regs belyn is. Links belyn is. Maak dit pienk. Maak dit pers. Maak dit blou. Of enige aantal ander visuele effekte. En so sal ons sien hoe om stylizing begin web bladsye, sodat hulle lyk op 'n wyse nader aan dit wat ons wil hê. En laastens, het ons inderdaad verwoes dalk baie van TV en film vir jou. Ek het gedink ons ​​hier wil eindig met ons laaste sekondes op 'n finale clip wat wys jou hoe inbraak op die internet werk. As ons kon verdof die steek 'n laaste keer. [Video speel] -Glad nie. Ek kry gekap. -Okorsky? -No-- Nee, dit is groot. Hulle het reeds gebrand deur die NCIS openbare firewall. -Goed, Isoleer die knoop en stort hulle aan die ander kant van die router. -Ek probeer. Dit beweeg te vinnig. -OH, Dit is nie goed nie. Hulle is die gebruik van ons verband [Onhoorbaar] hierdie databasis. Verbreek nie. -Ek Kan nie. Dit is 'n punt aanval. Hy of sy is slegs gaan na my masjien. -Dit Is nie moontlik nie. Daar is DOD vlak myn enkripsie. Dit sou maande neem om get-- Hey, wat is dit? 'N video game? -Geen Tony, ons kry gekap. -As Hulle in Abby se rekenaar te kry, die hele NCIS netwerk is die volgende. -Ek Kan hom nie keer nie. Doen iets McGee. -I've Nooit gesien kode soos hierdie. -OH. -Waar Is dit gaan? Abby? -Ek Het niks te doen nie. Ek het gedink jy het. -Geen. -Ek het. [Einde afspeel] DAVID J. MALAN: Die beste deel is twee mense tik op die sleutelbord op dieselfde tyd. So dit is dit vir CS50. Ons sal hou om vir kantoorure. En ons sien julle volgende keer. [MUSIEK speel - "Seinfeld TEMA"] Dit is CS50. Ek wil nie 'n seerower te wees. Spreker 2: Yarr David. Dit is 'n fyn doeblet jy dra. Baie loef in daardie puff.