1 00:00:00,000 --> 00:00:02,620 [Powered by Google Translate] [Week 7, vervolg] 2 00:00:02,620 --> 00:00:05,090 [David J. Malan, Harvard Universiteit] 3 00:00:05,090 --> 00:00:07,780 [Hierdie is CS50.] [CS50.TV] 4 00:00:07,780 --> 00:00:09,810 Alles reg. Welkom terug. Dit is CS50, 5 00:00:09,810 --> 00:00:12,100 en dit is die einde van die week 7. 6 00:00:12,100 --> 00:00:15,460 So een van hierdie stupid klein dingetjies wat gaan oor die Internet 7 00:00:15,460 --> 00:00:24,080 en ons slurp, en dit behoort nou 'n bietjie van geeky sin vir jou maak. 8 00:00:24,080 --> 00:00:28,330 Wel, dit was snaakser aan hierdie man as wat dit was vir julle ouens. 9 00:00:28,330 --> 00:00:32,619 Praat van, wel, ouens, 10 00:00:32,619 --> 00:00:42,550 vandag is Nate se verjaarsdag. 11 00:00:42,550 --> 00:00:46,630 Gee jou 'n gevoel van hoe goed Nate en ek is 12 00:00:46,630 --> 00:00:50,140 op die web-ontwikkeling wat gebaseer is op Maandag se klas en wat gebaseer is nou op hierdie, 13 00:00:50,140 --> 00:00:53,170 Ek het gedink ek wil trek Nate se tuisblad, indien jy dit nog nie gesien het nie. 14 00:00:53,170 --> 00:00:57,020 Dit is hier ia Nate se HTML. 15 00:00:57,020 --> 00:00:59,380 So sien sy bronkode as jy wil om te sien hoe om dit te doen, en Nate, 16 00:00:59,380 --> 00:01:02,250 as ons kan jy net kortliks embarass, die personeel het jy 'n bietjie iets 17 00:01:02,250 --> 00:01:06,080 as jy wil 'n nagereg te deel met 'n paar van die kinders in die klas hier. 18 00:01:06,080 --> 00:01:10,150 As jy wil om op neer te kom. 19 00:01:10,150 --> 00:01:14,350 Julle almal verwelkom en is baie mooi, maar niemand sit oral naby Nate, 20 00:01:14,350 --> 00:01:17,560 vir een of ander rede, in die rug sone. 21 00:01:17,560 --> 00:01:24,020 So miskien kan jy sommige mense vind dit te geniet met. 22 00:01:24,020 --> 00:01:33,380 Happy Birthday, Nate. 23 00:01:33,380 --> 00:01:37,660 >> Bykomende hellos: Ons het 'n paar clips van ons CS50x studente. 24 00:01:37,660 --> 00:01:39,710 As jy wil om te sien wie anders is dit in die wêreld 25 00:01:39,710 --> 00:01:41,850 wat die volgende saam, kan jou kop na hierdie URL, 26 00:01:41,850 --> 00:01:45,780 waar Josef, een van ons TFS, het saam 'n montage van spesies 27 00:01:45,780 --> 00:01:50,290 van almal wat die indiening van hierdie video's, onder hulle Rick Astley. 28 00:01:50,290 --> 00:01:53,010 En as jy blaai deur middel van hierdie, dit is regtig baie inspirerende 29 00:01:53,010 --> 00:01:56,890 die diversiteit van die lande en stede waaruit mense afkomstig te sien. 30 00:01:56,890 --> 00:02:00,830 So as jy wil 'n blik op te neem, sal deur middel van die einde van die semester. 31 00:02:00,830 --> 00:02:05,370 Vandag is ons voortgaan om ons blik op die web, web ontwikkeling, HTML en dies meer, 32 00:02:05,370 --> 00:02:08,280 en ons het ook middagete kom hierdie Vrydag 33 00:02:08,280 --> 00:02:11,360 as jy wil, en in die besonder, nog nie gedoen het voor. 34 00:02:11,360 --> 00:02:13,630 Hierdie Vrydag se tema sal Nate se verjaarsdag, 35 00:02:13,630 --> 00:02:15,700 so as jy wil verjaarsdag middagete te hê met Nate 36 00:02:15,700 --> 00:02:17,500 en die ander, sommige van ons vriende uit die industrie, 37 00:02:17,500 --> 00:02:19,300 asseblief kop tot dat die URL daar. 38 00:02:19,300 --> 00:02:22,510 Ruimte, soos altyd, is beperk. Ook, as jy vergeet het, 39 00:02:22,510 --> 00:02:26,460 besef dat volgende week is die sperdatum vir die probleem gestel 4 aasdier jag, 40 00:02:26,460 --> 00:02:30,070 waardeur ná al van daardie JPEG card.raw, 41 00:02:30,070 --> 00:02:32,880 jy en jou artikel maats, as jy wil, kan probeer om te fotografeer 42 00:02:32,880 --> 00:02:36,100 soveel van die rekenaar wetenskaplikes van daardie geheue kaart as moontlik, 43 00:02:36,100 --> 00:02:39,070 en jy en jou artikel sal dan 'n fantastiese prys te wen. 44 00:02:39,070 --> 00:02:44,470 Verwys terug na pset 4 se spesifikasie as wat om te dien en wanneer. 45 00:02:44,470 --> 00:02:47,650 Ook, as jy graag wil hê jou handewerk verewig 46 00:02:47,650 --> 00:02:51,400 op die kursus se webwerf en sy geskiedenis van klere, 47 00:02:51,400 --> 00:02:54,010 weet dat jy nou is welkom om te begin met die indiening van ontwerpe 48 00:02:54,010 --> 00:02:57,180 vir hierdie jaar se T-hemde en sweetpakke en dies meer. 49 00:02:57,180 --> 00:02:59,200 Ons sal ons bes doen om so veel as wat ons kan te sluit, 50 00:02:59,200 --> 00:03:01,440 maar ons sal 'n paar lede van die personeel oorsig van die ontwerpe 51 00:03:01,440 --> 00:03:04,180 om seker te maak hulle is in ooreenstemming met die spesifikasies, 52 00:03:04,180 --> 00:03:07,500 en ons dan oor die algemeen kies 'n handjievol van hulle uitgestal word. 53 00:03:07,500 --> 00:03:10,620 So as jy die ontwerp tipe, weet net dat die vereistes 54 00:03:10,620 --> 00:03:14,030 graphics is PNG, minstens 200 dpi, 55 00:03:14,030 --> 00:03:16,520 hulle moet nie meer as 4000 x 4000 pixels, 56 00:03:16,520 --> 00:03:19,010 en nie meer as 10 MB, maar jy is welkom om dinge te gebruik soos 57 00:03:19,010 --> 00:03:22,430 Photoshop of GIMP of verskillende grafiese programme, 58 00:03:22,430 --> 00:03:24,590 alles wat jy het tot jou beskikking. 59 00:03:24,590 --> 00:03:28,280 >> Ook op die horison is die finale projek. Die finale projek is werklik die hoogtepunt van 50, 60 00:03:28,280 --> 00:03:30,560 waardeur van al die opdragte in die kursus, 61 00:03:30,560 --> 00:03:33,170 dit is jou geleentheid regtig om jou eie ding te doen. 62 00:03:33,170 --> 00:03:35,280 En dit kan net wees om iets te doen vir die pret, 63 00:03:35,280 --> 00:03:38,160 dit kan wees om 'n paar dringende probleem op te los jou studentegroep het, 64 00:03:38,160 --> 00:03:40,980 vir 'n paar nuwe webwerf, 'n paar nuwe versameling meganisme vir die data. 65 00:03:40,980 --> 00:03:43,420 Dit kan 'n mobiele aansoek vir Android, vir IOS. 66 00:03:43,420 --> 00:03:46,030 Regtig, die hemel is die limiet, en oor die volgende paar weke, 67 00:03:46,030 --> 00:03:50,900 as ons oorgang vanaf C na hierdie hoër vlak tale soos PHP en JavaScript, 68 00:03:50,900 --> 00:03:55,150 jy vind jouself al hoe meer vertroud met 'n paar werklike wêreld tegnieke, 69 00:03:55,150 --> 00:03:57,800 Sommige werklike wêreld gereedskap, en vul dat 70 00:03:57,800 --> 00:04:00,170 weet dat die kursus het 'n geskiedenis van seminare, 71 00:04:00,170 --> 00:04:02,880 waardeur oor die volgende paar weke, 'n paar van die doserende personeel 72 00:04:02,880 --> 00:04:06,160 en vriende van ons op die kampus sal bied opsionele seminare 73 00:04:06,160 --> 00:04:08,540 wat bo en behalwe wat tipies in artikel gedoen gaan 74 00:04:08,540 --> 00:04:11,090 om u bekend te stel aan dinge soos Android programmering, 75 00:04:11,090 --> 00:04:13,450 om u bekend te stel aan dinge soos IOS programmering 76 00:04:13,450 --> 00:04:15,950 of meer gevorderde web-ontwikkeling tegnieke. 77 00:04:15,950 --> 00:04:17,970 Daar is 'n hele geskiedenis van hierdie reeds aanlyn is. 78 00:04:17,970 --> 00:04:25,000 As jy na cs50.net/seminars, het ons om dit te doen vir 'n paar jaar, 79 00:04:25,000 --> 00:04:28,740 en jy sal sien dat hier die argief met PDF-lêers en video's en dies meer 80 00:04:28,740 --> 00:04:33,090 is 'n paar dosyn video's van seminare. 81 00:04:33,090 --> 00:04:37,380 Verlede jaar, byvoorbeeld, ons het 'n seminaar oor die acing van jou tegniese onderhoude, 82 00:04:37,380 --> 00:04:40,980 As jy op soek om te gaan uit en doen 'n internskap of voltydse gig. 83 00:04:40,980 --> 00:04:43,450 Windows Mobile-ontwikkeling, Android ontwikkeling, Google Maps, 84 00:04:43,450 --> 00:04:47,700 API, CSS, ontwikkel vir die BlackBerry, Emacs. 85 00:04:47,700 --> 00:04:52,610 Regtig, is jy welkom om te neem 'n blik op enige van hierdie seminare op jou gemak. 86 00:04:52,610 --> 00:04:57,080 En ons sal hou n paar nuwes hierdie semester, as well. 87 00:04:57,080 --> 00:04:59,020 >> So, wat is voor met die finale projek? 88 00:04:59,020 --> 00:05:01,090 Wel, die eerste, hoewel hierdie datum nie is ietwat dreigende, 89 00:05:01,090 --> 00:05:06,460 Hierdie is eintlik net 'n geleentheid om denke oor die finale projek te baie realisties begin. 90 00:05:06,460 --> 00:05:10,550 Ons weet net die begin van 'n paar van wat ons sal steeds wees wat in die kursus, 91 00:05:10,550 --> 00:05:13,470 HTML, PHP en dies meer, maar jy vertroud is met die web, 92 00:05:13,470 --> 00:05:16,270 en ek vooroordeel net omdat hierdie gesprek na die Web 93 00:05:16,270 --> 00:05:18,380 die meeste mense beland Web-gebaseerde finale projekte te doen, 94 00:05:18,380 --> 00:05:20,260 maar dit is geensins vereiste. 95 00:05:20,260 --> 00:05:22,260 Die gebruik van C is fyn, objektiewe C, Java, 96 00:05:22,260 --> 00:05:25,350 enige ander taal wat jy dalk weet of wil weet is baie fyn. 97 00:05:25,350 --> 00:05:29,370 Maar die sappe vloei aanvanklik te kry, sal ons verwag dat die indiening van 'n preproposal 98 00:05:29,370 --> 00:05:33,520 wat, volgens die PDF op die webwerf, wat is nou op cs50.net 99 00:05:33,520 --> 00:05:36,080 en in die boonste linkerkantste jy sal sien finale projek 100 00:05:36,080 --> 00:05:38,920 is die spesifikasie vir die finale projek, 101 00:05:38,920 --> 00:05:41,470 en daar is besonderhede oor die preproposal en die wil. 102 00:05:41,470 --> 00:05:44,760 Dit pretty much kom neer op 'n e-pos aan jou onderrig mede 103 00:05:44,760 --> 00:05:48,450 net om te staak 'n gesprek met hom of haar oor wat jy dink. 104 00:05:48,450 --> 00:05:52,510 Op projects.cs50.net is 'n bewaarplek van die idees van die mense op die kampus 105 00:05:52,510 --> 00:05:54,480 as jy sukkel om te kom met 'n idee, 106 00:05:54,480 --> 00:06:01,140 en manual.cs50.net/APIs is 'n bewaarplek van skakels na API's. 107 00:06:01,140 --> 00:06:06,710 >> Wat is, is 'n API? 108 00:06:06,710 --> 00:06:09,790 Wat is 'n API? Ek het gesê dit ten minste twee keer, 109 00:06:09,790 --> 00:06:12,640 volgens die transkripsies van die afgelope paar weke. 110 00:06:12,640 --> 00:06:17,050 Wat is dit? [Student, onverstaanbaar] 111 00:06:17,050 --> 00:06:19,340 >> Goed. So iets programming interface. 112 00:06:19,340 --> 00:06:22,710 Application Programming Interface, en dit kan verskeie vorms aanneem, 113 00:06:22,710 --> 00:06:25,850 maar wat dit werklik kom neer op is die kode 114 00:06:25,850 --> 00:06:29,660 dat iemand anders hs geskrewe of data wat iemand anders versamel 115 00:06:29,660 --> 00:06:33,670 wat aan u beskikbaar gestel word in sommige programmatiese manier. 116 00:06:33,670 --> 00:06:36,630 Jy kan skryf kode in C, PHP, Python, Ruby, 117 00:06:36,630 --> 00:06:38,760 ongeag die taal van jou keuse is tipies, 118 00:06:38,760 --> 00:06:42,240 en jy kan op een of ander manier bou op iemand anders se funksionaliteit 119 00:06:42,240 --> 00:06:44,440 of iemand anders se datastel. 120 00:06:44,440 --> 00:06:47,210 Byvoorbeeld, as ek gaan na hierdie skakel hier, 121 00:06:47,210 --> 00:06:50,750 en jy sal sien 'n paar van die skakels op die daaropvolgende bladsy 122 00:06:50,750 --> 00:06:56,093 waardeur ons CS50 se eie API's, wat baie Harvard-sentriese, en dan 'n derde-party API's. 123 00:06:56,930 --> 00:06:59,300 Onder die derde-party API's is werklik nuttige dinge 124 00:06:59,300 --> 00:07:01,780 soos om kan SMS aan mense te stuur, 125 00:07:01,780 --> 00:07:04,690 in staat is om sms-boodskappe te ontvang van mense. 126 00:07:04,690 --> 00:07:08,160 En sulke dinge wat jy dalk nie 'n idee hoe om jouself te implementeer, 127 00:07:08,160 --> 00:07:10,440 maar te danke aan dienste, gratis en 'n paar kommersiële, 128 00:07:10,440 --> 00:07:14,000 jy kan bou bo-op hierdie en doen iets van belang vir jou. 129 00:07:14,000 --> 00:07:16,990 Onder CS50 die API's is hierdie kampus-sentriese dinge soos 130 00:07:16,990 --> 00:07:21,480 Harvard kursusse, energie, gebeure, voedsel, kaarte, nuus, tweets en Shuttleboy se eie, 131 00:07:21,480 --> 00:07:23,940 en dit is APIs wat lyk 'n bietjie iets soos hierdie. 132 00:07:23,940 --> 00:07:26,990 >> Laat my trek die HarvardFood API. 133 00:07:26,990 --> 00:07:30,620 As jy al ooit aan HUD se webwerf, het jy waarskynlik is daar 134 00:07:30,620 --> 00:07:35,410 om net te sien wat is vir aandete of om te sien wat die ure vir 'n paar d-saal. 135 00:07:35,410 --> 00:07:38,000 Wel, dit is nie baie maklik om te navigeer, 136 00:07:38,000 --> 00:07:41,100 en so wat ons het 'n tyd gelede het ons geskryf sagteware, 137 00:07:41,100 --> 00:07:47,270 dit gebeur om te wees in PHP, wat eintlik skerm skraap die geheel van HUD se webwerf. 138 00:07:47,270 --> 00:07:51,400 Skraap om iets te sif beteken om 'n program te skryf in 'n taal soos PHP 139 00:07:51,400 --> 00:07:55,270 wat voorgee om 'n leser te wees, selfs al het jy dit kan hardloop by 'n opdrag prompt, 140 00:07:55,270 --> 00:07:58,180 wat voorgee om 'n leser te wees, verbind aan 'n webwerf, 141 00:07:58,180 --> 00:08:01,480 downloads sy HTML, die taal waarin dit geskryf is, 142 00:08:01,480 --> 00:08:04,300 en lees dan is dit, of meer spesifiek, ontleed dit 143 00:08:04,300 --> 00:08:06,140 van bo na onder, links na regs. 144 00:08:06,140 --> 00:08:08,870 En wat ons gedoen het, was ons ons kode geskryf het in so 'n manier dat 145 00:08:08,870 --> 00:08:12,910 enige tyd wat ons gesien het iets in daardie HTML wat lyk soos iets op die spyskaart, 146 00:08:12,910 --> 00:08:16,470 soos 'n hamburger, sou ons dan dat in ons eie databasis invoer. 147 00:08:16,470 --> 00:08:20,410 En enige tyd het ons gesien voedingswaarde, sou ons invoer wat in ons eie databasis. 148 00:08:20,410 --> 00:08:23,090 En wat ons gedoen het, was die invloed van die feit dat HUD se webwerf, 149 00:08:23,090 --> 00:08:27,280 selfs al is dit dalk 'n bietjie van 'n uitdaging vir ons mense om te navigeer 150 00:08:27,280 --> 00:08:32,559 onder die kap, word al die HTML gegenereer deur hul eie rekenaar programme. 151 00:08:32,559 --> 00:08:35,159 So was dan al van hul HTML, selfs al is dit dalk lyk slordig, 152 00:08:35,159 --> 00:08:38,026 soos die meeste webwerwe onder die enjinkap is dit volg 'n patroon. 153 00:08:38,260 --> 00:08:40,799 Sodat ons net spandeer 'n paar uur die uitzoeken van die patroon 154 00:08:40,799 --> 00:08:44,240 sodat in die einde, het ons weggooi al die morsige HTML, 155 00:08:44,240 --> 00:08:47,340 al die estetika van vet belegsel en kursief en dies meer, 156 00:08:47,340 --> 00:08:52,350 en wat ons is dan in staat om dit te doen is bloot dat dieselfde data. 157 00:08:52,350 --> 00:08:54,870 Byvoorbeeld, op hierdie manier. 158 00:08:54,870 --> 00:08:56,840 Sodat ons, volgens die dokumentasie hier, 159 00:08:56,840 --> 00:08:59,190 het die wêreld dat as u 'n URL 160 00:08:59,190 --> 00:09:03,310 wat lyk soos hierdie, food.cs50.net / iets, 161 00:09:03,310 --> 00:09:07,220 en jy bied sekere parameters, wat ons sal praat oor vandag, 162 00:09:07,220 --> 00:09:11,780 soos einde datum, tyd, start datum, maaltyd en so meer, 163 00:09:11,780 --> 00:09:14,090 wat ons bedieners sal na julle terugkeer, byvoorbeeld, 164 00:09:14,090 --> 00:09:18,740 'n CSV-lêer, komma separted waardes soos 'n Excel-lêer, 165 00:09:18,740 --> 00:09:23,140 met alles wat vir die ontbyt op hierdie spesifieke datum in Maart verlede jaar 166 00:09:23,140 --> 00:09:25,450 toe ek gebeur het om hierdie dokumentasie te skryf. 167 00:09:25,450 --> 00:09:27,870 >> Vir diegene wat vertroud is, CSV is nie die enigste lêer formaat. 168 00:09:27,870 --> 00:09:30,610 Daar is 'n ander formaat wat al die meer veelsydige 169 00:09:30,610 --> 00:09:32,670 genoem into, JavaScript Object Notasie. 170 00:09:32,670 --> 00:09:34,770 Die data kan terug kom in daardie formaat. 171 00:09:34,770 --> 00:09:38,110 So het die afhaal hier is dat of jy duik in hierdie API 172 00:09:38,110 --> 00:09:41,170 of enige ander van CS50 of iets daar buite op die internet, 173 00:09:41,170 --> 00:09:45,560 of glad nie besef dat die wêreld toenemend begin te standaardiseer 174 00:09:45,560 --> 00:09:47,670 hoe masjiene omgaan. 175 00:09:47,670 --> 00:09:50,660 Ons gebruik standaard data formate soos CSV of JSON. 176 00:09:50,660 --> 00:09:54,320 En wat beteken dit vir jou is kan jy die interessante deel van 'n program skryf 177 00:09:54,320 --> 00:09:56,580 wat kan jou gebruikers soek 'n eetsaal menu, 178 00:09:56,580 --> 00:10:00,010 waarmee hulle lys van gunstelinge waarmee hulle kry teks Aanduidings van werke skep 179 00:10:00,010 --> 00:10:02,480 wanneer hul gunsteling maaltyd is om bedien te word in 'n paar d-saal 180 00:10:02,480 --> 00:10:07,090 deur die gebruik van iemand anders se datastelle en gebou op die top van hul API. 181 00:10:07,090 --> 00:10:13,600 Sodat meer op wat in die vorm van seminare en die dokumentasie wat jy hier aanlyn. 182 00:10:13,600 --> 00:10:16,450 Sodat diegene, dan, is API's. 183 00:10:16,450 --> 00:10:18,900 >> Dit bring ons terug na HTML. Vinnige recap. 184 00:10:18,900 --> 00:10:22,920 Wat is HTML? 185 00:10:22,920 --> 00:10:25,000 [Student, onverstaanbaar] >> Goeie. HyperText Markup Language. 186 00:10:25,000 --> 00:10:31,300 Iemand anders, wat is Hypertext Markup Language? 187 00:10:31,300 --> 00:10:37,340 HyperText Markup Language. 188 00:10:37,340 --> 00:10:40,330 Okay. So HTML, HyperText. 189 00:10:40,330 --> 00:10:43,100 HyperText verwys net na die Web, vir die grootste deel. 190 00:10:43,100 --> 00:10:45,730 Markup beteken dat dit nie eintlik 'n programmeertaal, HTML. 191 00:10:45,730 --> 00:10:48,120 Dit is nie 'n taal wat jy logika kan uitdruk. 192 00:10:48,120 --> 00:10:50,710 Dit hoef nie loops. Dit hoef nie voorwaardes. 193 00:10:50,710 --> 00:10:52,820 Dit hoef nie funksies, per se. 194 00:10:52,820 --> 00:10:56,680 Inteendeel, dit het hierdie dinge tags genoem, of meer korrek, elemente. 195 00:10:56,680 --> 00:10:59,970 En hierdie elemente het begin tags en einde tags, 196 00:10:59,970 --> 00:11:04,300 of oop tags en geslote tags, en wat daardie tags in die algemeen beteken vir 'n leser is, 197 00:11:04,300 --> 00:11:09,270 begin om iets te doen en dan stop om iets te doen, maar daar is uitsonderings op hierdie. 198 00:11:09,270 --> 00:11:12,480 Soms is dit net 'sit 'n lyn breek hier, byvoorbeeld. 199 00:11:12,480 --> 00:11:15,150 En ons het voorbeelde van wat die ander dag, tussen vet belegsel, 200 00:11:15,150 --> 00:11:17,430 lyn breek, en dan 'n paar van die ander tags. 201 00:11:17,430 --> 00:11:19,880 So HTML is die taal waarin webblaaie geskryf word. 202 00:11:19,880 --> 00:11:23,760 So as ek gaan iets soos Google.com 203 00:11:23,760 --> 00:11:26,180 en trek net hul tuisblad, 204 00:11:26,180 --> 00:11:29,690 onthou dat as jy regs kliek of beheer kliek 205 00:11:29,690 --> 00:11:32,140 en kyk na View Page Source, tipies 206 00:11:32,140 --> 00:11:34,420 dit is 'n volledige gemors deesdae onder die kap, maar dit is omdat 207 00:11:34,420 --> 00:11:38,170 rekenaars omgee nie oor wit ruimte, sodat dit nie om te kyk mooi. 208 00:11:38,170 --> 00:11:40,240 Maar as ons zoom in op dele van dit, 209 00:11:40,240 --> 00:11:43,460 agterkom dat Chrome, net lekker wees, kleurgekodeerde dinge. 210 00:11:43,460 --> 00:11:48,460 Trouens, dit is die heel eerste tag wat ons gesien het in 'n web bladsy. 211 00:11:48,460 --> 00:11:51,750 En weer, HTML 5, die nuutste weergawe van hierdie taal, 212 00:11:51,750 --> 00:11:53,830 hierdie ding aan die begin, 213 00:11:53,830 --> 00:11:57,820 00:12:03,580 maar dit is net 'n soort van 'n standaard wat sê, hey wêreld hier kom 'n HTML-lêer in weergawe 5. 215 00:12:03,580 --> 00:12:08,920 >> Begin die interessante deel hier. So 00:12:11,640 van die HTML-elemente laaste tyd. 217 00:12:11,640 --> 00:12:14,630 Wat was daardie twee hoof kinders? 218 00:12:14,630 --> 00:12:17,170 Kop en liggaam, net soos die man met die tattoo 'n oomblik gelede. 219 00:12:17,170 --> 00:12:19,640 Daar is twee gedeeltes van die web bladsy, die kop en lyf, 220 00:12:19,640 --> 00:12:23,750 en onthou, dan, dat dit dalk die eenvoudigste webblad wat ons kan maak lyk soos hierdie. 221 00:12:23,750 --> 00:12:27,460 En ek het ingekeep dit net om te soort van netjies en skoon met my kode, 222 00:12:27,460 --> 00:12:30,710 maar wat werklik belangrik is hier is dat daar 'n hiërargie te. 223 00:12:30,710 --> 00:12:35,420 En enige tag wat ek oopgemaak Ek het gesluit en dat daar is dus hierdie simmetrie 224 00:12:35,420 --> 00:12:38,300 aan al die opmaak wat ek gemaak het. 225 00:12:38,300 --> 00:12:41,620 So die laaste keer het ons begin met die skryf van web-bladsye op my eie laptop. 226 00:12:41,620 --> 00:12:45,470 Ek oopgemaak teks edit, ek gered die lêer as hello.html, 227 00:12:45,470 --> 00:12:50,190 Ek dan die lêer op my browser gesleep, en voila, ek het 'n bladsy op die internet. 228 00:12:50,190 --> 00:12:53,110 Nou, dit is nie heeltemal die geval, ek het 'n bladsy op my harde skyf, 229 00:12:53,110 --> 00:12:58,260 en ek was letterlik die enigste persoon in die wêreld wat web bladsy sal sien in 'n leser. 230 00:12:58,260 --> 00:13:00,670 >> So vandag, stel ons 'n werklike webbediener 231 00:13:00,670 --> 00:13:02,750 en die idee van die werklikheid te dien inhoud op die internet 232 00:13:02,750 --> 00:13:04,970 en hoe dit alles begin om saam te pas. 233 00:13:04,970 --> 00:13:08,350 So dit blyk dat al die tyd in die CS50 toestel 234 00:13:08,350 --> 00:13:11,590 jy het 'n web bediener op jou rekenaar. 235 00:13:11,590 --> 00:13:16,560 Ons het, in regverdigheid slegs gebruik dit vir gedit, klang, vir GDB en dies meer, 236 00:13:16,560 --> 00:13:21,000 maar ook deur ons geïnstalleer vir jou in die toestel is 'n web bediener, 237 00:13:21,000 --> 00:13:23,940 en dat die webbediener gebeur om vry te wees, 'n oop bron, 238 00:13:23,940 --> 00:13:26,580 een van die mees gewilde in die wêreld, het Apache. 239 00:13:26,580 --> 00:13:31,340 Sy meer tegniese naam is httpd, d vir daemon hier, 240 00:13:31,340 --> 00:13:34,110 wat is 'n tegniese woord vir 'n bediener. 241 00:13:34,110 --> 00:13:38,690 So in die CS50 toestel geïnstalleer is 'n web-bediener, en wat beteken dit? 242 00:13:38,690 --> 00:13:43,740 Wel, 'n web bediener is, konseptueel, n bediener op die Internet wat dien web inhoud. 243 00:13:43,740 --> 00:13:48,630 Toe hy gevra is vir 'n lêer, spoeg dit uit die HTML-kode wat daardie lêer komponeer, en voila. 244 00:13:48,630 --> 00:13:51,370 Jy sien n paar webwerf se tuisblad. 245 00:13:51,370 --> 00:13:54,970 Maar 'n bediener is meer presies, 'n stukkie van die sagteware. 246 00:13:54,970 --> 00:13:59,190 Dit nie hoef te wees op 'n fisiese masjien, dit het net na 'n stukkie van die sagteware. 247 00:13:59,190 --> 00:14:01,980 So het die CS50 toestel, natuurlik, is 'n stuk sagteware 248 00:14:01,980 --> 00:14:04,270 selfs al is dit soort van voorgee om 'n masjien te wees. 249 00:14:04,270 --> 00:14:06,960 Dit voorgee om 'n rekenaar binnekant van 'n rekenaar, 250 00:14:06,960 --> 00:14:11,140 maar dit beteken net dat die toestel kan hardloop dinge soos web bedieners. 251 00:14:11,140 --> 00:14:13,260 Dit kan eintlik hardloop e-pos stuur. 252 00:14:13,260 --> 00:14:16,440 Ons kon 'n kitsboodskap-bediener in die toestel hardloop as ons wou, 253 00:14:16,440 --> 00:14:20,780 en inderdaad, ons loop 'n ander tipe van bediener, bekend as 'n databasis bediener, MySQL. 254 00:14:20,780 --> 00:14:22,620 Maar meer op wat volgende week. 255 00:14:22,620 --> 00:14:26,400 Dit beteken dat ek eintlik kan besoek webblaaie 256 00:14:26,400 --> 00:14:30,480 binnekant van my toestel deur die gebruik van 'n leser die binnekant van die toestel 257 00:14:30,480 --> 00:14:33,600 of selfs op my eie laptop, my Mac of my PC. 258 00:14:33,600 --> 00:14:37,780 So, wat beteken dit? Dit blyk dat enige tyd as jy 'n Linux-rekenaar loop, 259 00:14:37,780 --> 00:14:40,910 sy bynaam is "local host." 260 00:14:40,910 --> 00:14:43,370 Dit hoef nie 'n domein naam, want ons het nie 'n domein naam gekoop 261 00:14:43,370 --> 00:14:46,590 vir iets soos die toestel, sodat die standaard naam is plaaslike gasheer. 262 00:14:46,590 --> 00:14:50,470 >> Maar om die toestel te kry om te begin dien web bladsye, 263 00:14:50,470 --> 00:14:52,270 ons het hulle om eers te skep. 264 00:14:52,270 --> 00:14:55,200 So laat doen. Laat my gaan hier in 'n terminale venster 265 00:14:55,200 --> 00:14:58,190 en let op dat ek op my tipies John Harvard prompt. 266 00:14:58,190 --> 00:15:01,670 Laat my gaan voort en tik ls, en ons sal sien 'n paar bekende dinge van hierdie semester, 267 00:15:01,670 --> 00:15:04,580 desktop, downloads, Dropbox en so meer, 268 00:15:04,580 --> 00:15:07,540 maar nou begin ons ons aandag na 'n paar draai. 269 00:15:07,540 --> 00:15:11,530 Op baie Linux webservers daar is hierdie gids genoem openbare html, 270 00:15:11,530 --> 00:15:15,630 maar ons gaan daardie een te slaan vir nou en fokus op hierdie vhosts. 271 00:15:15,630 --> 00:15:18,850 Iemand weet wat 'n vhost is? 272 00:15:18,850 --> 00:15:21,110 Net dom jargon vir virtuele gasheer, 273 00:15:21,110 --> 00:15:23,850 en wat dit beteken, is dat op 'n tipiese bediener 274 00:15:23,850 --> 00:15:26,810 jy kan eintlik bied verskeie websites. 275 00:15:26,810 --> 00:15:31,500 Jy kan 'n domein naam soos foo.com koop, en jy kan bied dit op 'n bediener. 276 00:15:31,500 --> 00:15:36,100 Maar jy kan ook koop bar.com en bied dit op dieselfde server. 277 00:15:36,100 --> 00:15:40,250 Die rede hiervoor is blaaiers is slim genoeg om die bediener te lig 278 00:15:40,250 --> 00:15:45,880 wanneer 'n gebruiker 'n paar webblad vra, watter domein naam die gebruiker wil die tuisblad vir. 279 00:15:45,880 --> 00:15:48,760 So, wat is mooi oor hierdie is wat jy nodig het nie een fisiese bediener 280 00:15:48,760 --> 00:15:52,040 of een CS50 toestel vir elke webwerf wat jy dalk wil om te skep. 281 00:15:52,040 --> 00:15:55,520 Kan jy dieselfde server te gebruik en te ontwikkel 'n honderd verskillende webtuistes. 282 00:15:55,520 --> 00:15:58,770 En inderdaad, as jy is 'n persoon wat probeer om 'n webwerf te begin, 283 00:15:58,770 --> 00:16:02,100 hetsy vir die pret of vir besigheid, gewoonlik sal jy uitgaan op die internet, 284 00:16:02,100 --> 00:16:04,650 en jy betaal iemand tien dollar 'n maand, 'n honderd dollar 'n maand 285 00:16:04,650 --> 00:16:06,670 jou webwerf aan te bied vir jou. 286 00:16:06,670 --> 00:16:11,060 En die manier wat hulle ander mense laai 287 00:16:11,060 --> 00:16:13,160 tien dollar 'n maand of 'n honderd dollar 'n maand 288 00:16:13,160 --> 00:16:17,200 ander mense se websites op hul dieselfde bediener aan te bied. 289 00:16:17,200 --> 00:16:20,740 Die rede waarom hulle dit kan doen, is as gevolg van hierdie funksie met die naam bhosts, 290 00:16:20,740 --> 00:16:23,790 maar meer op dat wanneer dit tyd is vir die finale projekte. 291 00:16:23,790 --> 00:16:28,360 >> Vir nou, laat ons net duik daar. So cd vhosts, en as ek tik ls nou, 292 00:16:28,360 --> 00:16:31,370 agterkom dat daar is 'n gids daar genoem plaaslike host. 293 00:16:31,370 --> 00:16:33,440 Dit is omdat, by verstek, die toestel syfers 294 00:16:33,440 --> 00:16:36,160 wat jy ooit gaan om 'n webwerf uit te voer op 'n toestel. 295 00:16:36,160 --> 00:16:38,970 Dit is nie regtig die werklike wêreld, dit is nie 'n werklike wêreld webbediener. 296 00:16:38,970 --> 00:16:41,690 So laat my gaan in die plaaslike gasheer, en nou sal ons sien daar 297 00:16:41,690 --> 00:16:44,290 'n laaste directory genaamd HTML. 298 00:16:44,290 --> 00:16:47,080 So dit is 'n bietjie diep, die hiërargie, maar indien en wanneer 299 00:16:47,080 --> 00:16:51,230 jy besluit om te begin met die ontwikkeling van verskeie websites oor die volgende n maande of jare, 300 00:16:51,230 --> 00:16:54,370 hierdie soort van lêergidsstruktuur is geneig om behulpsaam te wees. 301 00:16:54,370 --> 00:16:56,560 Nou, laat ons gaan in HTML, soos ek nou net gedoen het, 302 00:16:56,560 --> 00:16:59,010 tipe ls, en niks is daar. 303 00:16:59,010 --> 00:17:01,390 So nou, laat ons gaan voort en doen dit. Laat my oopmaak Chrome 304 00:17:01,390 --> 00:17:07,300 binnekant van die toestel, en laat my gaan na http://localhost. 305 00:17:07,300 --> 00:17:14,440 So letterlik die naam vir my toestel, betree, en ek kry indeks van /. 306 00:17:14,440 --> 00:17:18,290 Dit is nie regtig wat my iets van belang, 307 00:17:18,290 --> 00:17:23,400 maar dit blyk dat dit wat ons sien is dat die gids, HTML. 308 00:17:23,400 --> 00:17:25,770 Daar is niks in die gids op die oomblik, 309 00:17:25,770 --> 00:17:28,750 so in plaas daarvan, wat ek gaan te hê om te doen is om eers 'n lêer. 310 00:17:28,750 --> 00:17:33,530 Skep 'n HTML-lêer soos ons gedoen het op Maandag, maar hierdie keer het dit binnekant van die toestel. 311 00:17:33,530 --> 00:17:36,830 Vir dié van julle wat probeer om te volg nou saam met skootrekenaars, 312 00:17:36,830 --> 00:17:42,040 laat my nie een weg wat sal gedek word in die web-gebaseerde pset, 313 00:17:42,040 --> 00:17:44,280 maar in orde te kry om dit te werk vir die heel eerste keer, 314 00:17:44,280 --> 00:17:49,830 jy gaan hê om hierdie opdrag uit te voer: sudo diens httpd begin. 315 00:17:49,830 --> 00:17:52,670 En dit weer sal herhaal word in die laaste pset, 316 00:17:52,670 --> 00:17:55,460 maar as jy speel nou saam by die huis, die webbediener 317 00:17:55,460 --> 00:17:58,660 in die toestel afgeskakel is, en dit is so dat dit nie tap up RAM 318 00:17:58,660 --> 00:18:01,960 en geheue vir 7 weke uit van die semester wanneer ons nodig het nie. 319 00:18:01,960 --> 00:18:05,190 Sodat jy nodig het om hierdie opdrag te hardloop, en jy sal 'n produksie soos dit kry. 320 00:18:05,190 --> 00:18:07,920 Dan moet jy in staat wees om saam te speel hier. 321 00:18:07,920 --> 00:18:10,330 Nou, laat ons gaan terug in hierdie gids. 322 00:18:10,330 --> 00:18:12,770 Hierdie gids is leeg, so laat my begin met die skep van 'n lêer, 323 00:18:12,770 --> 00:18:16,360 gedit hello.html. 324 00:18:16,360 --> 00:18:20,930 >> Alles reg. Gedit is 'n oop, soos gewoonlik. Laat my doen DOCTYPE, html, 325 00:18:20,930 --> 00:18:25,270 html, laat my voor my en begin met die sluiting van my tags in advance. 326 00:18:25,270 --> 00:18:28,380 Nou het ek die kop. Laat my voort te gaan en maak die kop, 327 00:18:28,380 --> 00:18:32,450 laat my nou die titel van die bladsy, hello wêreld soos die vorige keer, 328 00:18:32,450 --> 00:18:34,790 beslote titel, laat my nou doen om 'n liggaam. 329 00:18:34,790 --> 00:18:38,130 Hier, ek sal sê hello, wêreld met 'n paar exclams 330 00:18:38,130 --> 00:18:40,550 duidelik te maak dat dit is 'n ander string. 331 00:18:40,550 --> 00:18:45,800 Close liggaam, en laat my nou voort te gaan en lêer stoor. 332 00:18:45,800 --> 00:18:48,470 Laat my terug te gaan na my terminale venster, en as ek tik ls, 333 00:18:48,470 --> 00:18:51,830 Ek sou waarskynlik, sien hello.html. En ek doen. 334 00:18:51,830 --> 00:18:55,070 So nou, laat ons gaan terug na my browser, kliek herlaai, 335 00:18:55,070 --> 00:18:58,930 en jy kan sien ons inderdaad binnekant van die HTML-gids. 336 00:18:58,930 --> 00:19:02,310 Ek nie sien nie 'n webblad nie, dit is Apache, die webbediener, 337 00:19:02,310 --> 00:19:04,670 net wat my die lys inhoud van hierdie gids. 338 00:19:04,670 --> 00:19:08,260 Net soos die Mac OS of Windows sou tipies doen op jou eie plaaslike hardeskyf. 339 00:19:08,260 --> 00:19:12,730 So as ek wil om hierdie bladsy te sien, kan ek kliek op hierdie klein skakel hier, hello.html, 340 00:19:12,730 --> 00:19:15,160 en inderdaad, dit is wat ek verwag het om te sien. 341 00:19:15,160 --> 00:19:18,080 Nou, weer, dit is nie 'n URL wat enige van julle kan nou besoek, 342 00:19:18,080 --> 00:19:20,760 want vir julle is, plaaslike gasheer, as jy 'n laptop hier, 343 00:19:20,760 --> 00:19:23,050 Dit verwys na jou eie geval van die toestel. 344 00:19:23,050 --> 00:19:25,900 Dit is op my eie persoonlike toestel, 345 00:19:25,900 --> 00:19:29,080 maar dit is 'n soort van stom vir my te hê, om te hê 346 00:19:29,080 --> 00:19:34,480 'n gebruiker soos ek op hello.html om werklik te kyk na die inhoud van hierdie bladsy. 347 00:19:34,480 --> 00:19:42,590 Dit blyk dat die web bedieners soos Apache laat jy 'n standaard lêer vir enige webbediener. 348 00:19:42,590 --> 00:19:44,640 Kennisgewing hier ons het hello.html. 349 00:19:44,640 --> 00:19:48,410 Wat is die opdrag in Linux om 'n lêer te hernoem? 350 00:19:48,410 --> 00:19:50,870 >> MV, vir skuif. So laat my dit doen, 351 00:19:50,870 --> 00:19:55,870 en laat my hernoem hello.html index.html. 352 00:19:55,870 --> 00:19:58,610 Laat my tik ls te bevestig dit is nou herdoop. 353 00:19:58,610 --> 00:20:03,250 Nou is dit gaan - as ek gaan terug na plaaslike host, 354 00:20:03,250 --> 00:20:06,710 agterkom dat ek nou outomaties ek sien dat die webblad. 355 00:20:06,710 --> 00:20:11,740 Dit is identies aan my eintlik doen / index.html 356 00:20:11,740 --> 00:20:14,740 maar die lekker ding is nou dat die webbediener se besyfering, 357 00:20:14,740 --> 00:20:18,830 oh, as jy 'n lêer wat deur menslike konvensies genoem index.html 358 00:20:18,830 --> 00:20:21,200 laat ek jou wys die gebruiker dat lêer by verstek 359 00:20:21,200 --> 00:20:25,290 eerder as 'n dom Directory Listing, wat nie op alle gebruiker-vriendelike. 360 00:20:25,290 --> 00:20:28,900 Trouens, die meeste webwerwe wat jy besoek op die internet nie 'n lys van lêers te klik op, 361 00:20:28,900 --> 00:20:34,040 hulle net wys dat jy die inhoud. So dit is hoe ons dat index.html kan doen. 362 00:20:34,040 --> 00:20:37,000 So, dit is al die pret en 'n goeie, maar dit is 'n redelik eenvoudige webblad. 363 00:20:37,000 --> 00:20:41,640 Laat my gaan voort en oopmaak index.html in my vhosts, 364 00:20:41,640 --> 00:20:47,620 plaaslike leërskare, html gids, en laat ons voeg iets van groter belang. 365 00:20:47,620 --> 00:20:56,120 So is daar 'hello world, laat ons eerder sê: "Dit is CS50, Harvard College se. . ' 366 00:20:56,120 --> 00:21:00,000 So het die begin van die kursus katalogus beskrywing van 'n soort daar. 367 00:21:00,000 --> 00:21:03,780 Nou as ek herlaai, moet ek sien dit in my home page. 368 00:21:03,780 --> 00:21:09,560 Goed, en ek sien dat, maar veronderstel dat ek wil nou n lys van 'n paar meer inhoud in hierdie lêer. 369 00:21:09,560 --> 00:21:15,160 Ek kon gaan hier neer en sê, voorvereistes niemand, 370 00:21:15,160 --> 00:21:18,740 alhoewel sommige van julle hou waarskynlik, "Ha ha ha, geen voorvereistes nie." 371 00:21:18,740 --> 00:21:24,320 Maar - amptelik. So herlaai, en nou het ons dieselfde flater dat ons die laaste keer gesien het. 372 00:21:24,320 --> 00:21:26,240 Maar hoekom is dit? Dit was 'n eenvoudige fix. 373 00:21:26,240 --> 00:21:31,440 Hoekom is hierdie bladsy gebreek? 374 00:21:31,440 --> 00:21:34,170 [Student, onverstaanbaar] >> Ja, het ons opgelos dit voor 375 00:21:34,170 --> 00:21:37,440 deur uitdruklik vertel die leser 'sit 'n lyn breek hier. " 376 00:21:37,440 --> 00:21:39,440 En dit is omdat, weer, 'n leser is net gaan om te doen 377 00:21:39,440 --> 00:21:42,610 uitdruklik wat die opmaak taal vertel om dit te doen, 378 00:21:42,610 --> 00:21:45,730 so selfs al is jy dalk getref het een of twee keer of selfs tien keer betree, 379 00:21:45,730 --> 00:21:49,870 dit gaan te kombineer in 'n enkele ruimte, net deur die konvensie. 380 00:21:49,870 --> 00:21:52,770 So as jy regtig wil 'n lyn breek, moet jy die Br-tag om te gebruik, 381 00:21:52,770 --> 00:21:56,840 en nou kennisgewing, soos Maandag, Ek het die binnekant van hierdie tag / 382 00:21:56,840 --> 00:22:00,090 net omdat dit net nie reg voel nie 383 00:22:00,090 --> 00:22:02,990 'n lyn breek om te begin en stop dit dan met niks tussen in. 384 00:22:02,990 --> 00:22:07,740 >> So het die konvensie in HTML is om oop te maak en sluit 'n tag gelyktydig. 385 00:22:07,740 --> 00:22:11,050 As 'n eenkant, sal jy sien 'n baie van die webwerwe in boeke nie om dit te doen. 386 00:22:11,050 --> 00:22:14,240 Dit korrek is om te doen of nie te doen nie, maar ons wil argumenteer 387 00:22:14,240 --> 00:22:17,430 dat die ontwerp-wyse en stilisties, dit is net beter 388 00:22:17,430 --> 00:22:20,540 want dan elke tag is beide geopen en gesluit op een of ander manier. 389 00:22:20,540 --> 00:22:23,370 So nou, laat stoor en oproep. Gaan terug na die leser, okay. 390 00:22:23,370 --> 00:22:26,680 Nou het ons 'n mate van vordering, maar dit is nie heeltemal genoeg. 391 00:22:26,680 --> 00:22:33,210 Kom ons gaan voort en begin tik in sommige langer liggaam van die teks. 392 00:22:33,210 --> 00:22:40,610 So kom ons sê, "'n vinnige bruin jakkals spring oor 'n lui hond." 393 00:22:40,610 --> 00:22:42,700 En nou, laat my net kopieer en plak dit 'n paar keer 394 00:22:42,700 --> 00:22:45,040 sodat ons 'n paragraaf van die teks. 395 00:22:45,040 --> 00:22:47,780 Laat my terug te gaan oor hier. Sodat dit nie lyk baie goed. 396 00:22:47,780 --> 00:22:50,000 Ek het 'n line break, so dis oukei, 397 00:22:50,000 --> 00:22:52,140 maar nou, sodra ons om tot die punt van 'n web bladsy 398 00:22:52,140 --> 00:22:55,640 wat het baie van die inhoud en nie net enkele lyne te demonstreer HTML, 399 00:22:55,640 --> 00:22:58,570 ons kan begin om te dink van hierdie dinge as 'n werklike paragrawe. 400 00:22:58,570 --> 00:23:01,590 En ons kan begin om ons webblad om 'n bietjie meer skoon te struktureer. 401 00:23:01,590 --> 00:23:05,120 En inderdaad, wat ek kan doen is om te gaan hier binnekant van my liggaam tag, 402 00:23:05,120 --> 00:23:09,400 en jy weet wat, indien "Dit is CS50. . ' regtig demarks die begin van 'n paragraaf, 403 00:23:09,400 --> 00:23:11,310 Wel, laat ons merk dit as sulks. 404 00:23:11,310 --> 00:23:13,570 Laat my streepje die teks, net deur die konvensie, laat my sê 405 00:23:13,570 --> 00:23:15,710 dat hierdie paragraaf eindig hier, 406 00:23:15,710 --> 00:23:18,320 en dan eerder as hierdie lyn breek, laat ek net sê 407 00:23:18,320 --> 00:23:23,300 dat dit hoort daar en as 'n nuwe paragraaf, 408 00:23:23,300 --> 00:23:27,610 en Ek sal vinnig net streepje deur net beuken al hierdie dinge. 409 00:23:27,610 --> 00:23:30,660 >> So nou het ons 'n ingekeepte paragraaf, 410 00:23:30,660 --> 00:23:33,510 en nou is ons opmaak begin om 'n bietjie meer te kry 411 00:23:33,510 --> 00:23:37,070 semanties in ooreenstemming met wat ons probeer om te doen. 412 00:23:37,070 --> 00:23:40,130 Ons het 'n paragraaf, so kom ons noem dit 'n paragraaf met die p-tag. 413 00:23:40,130 --> 00:23:43,370 Ons het 'n tweede paragraaf, so kom ons noem dit 'n paragraaf met die p-tag. 414 00:23:43,370 --> 00:23:45,850 En nou, wat die leser sal tipies doen 415 00:23:45,850 --> 00:23:48,490 is net soos in 'n Engelse boek of opstel, 416 00:23:48,490 --> 00:23:51,280 waar jy gewoonlik sien 'n paar lyn breek tussen paragrawe. 417 00:23:51,280 --> 00:23:53,720 Browsers sal doen wat vir jou outomaties. 418 00:23:53,720 --> 00:23:56,680 So nou het ons twee paragrawe en ons kan voortgaan. 419 00:23:56,680 --> 00:23:58,770 Maar, natuurlik, wanneer jy op die web, liggame van die teks 420 00:23:58,770 --> 00:24:01,370 dit is nie tipies net groot druppels van die teks. 421 00:24:01,370 --> 00:24:04,040 Daar is dikwels hyperlinks daar. 422 00:24:04,040 --> 00:24:07,250 So as ons wil, byvoorbeeld, sluit 'n paar skakels daar, 423 00:24:07,250 --> 00:24:10,760 veronderstel wat dalk van belang in watter web bladsy wat ek hier skep, is - 424 00:24:10,760 --> 00:24:12,780 laat my gaan na Google.com, 425 00:24:12,780 --> 00:24:16,540 en laat my soek vir 'n vinnige bruin jakkals. 426 00:24:16,540 --> 00:24:22,150 Gaan na Google Images, en, hoe oor - dit is 'n oulike. 427 00:24:22,150 --> 00:24:27,420 Ons gaan met hierdie. So hier is ons het 'n vinnige bruin jakkals spring oor 'n lui hond. 428 00:24:27,420 --> 00:24:30,560 So wat ek gaan doen, net ter wille van die demonstrasie, 429 00:24:30,560 --> 00:24:32,950 is veronderstel dat hierdie beeld was op my server, 430 00:24:32,950 --> 00:24:35,240 en ek het hierdie beelde te skep. 431 00:24:35,240 --> 00:24:38,720 Wat ek het net reg is klik of kliek op die beeld te beheer, 432 00:24:38,720 --> 00:24:42,370 en wat jy sien in die meeste blaaiers is 'n bietjie menu - 433 00:24:42,370 --> 00:24:48,800 ophou om dit te doen - 'n bietjie menu wat jou toelaat Kopieer Link plek of afskrif URL te kies. 434 00:24:48,800 --> 00:24:52,750 So laat my terug te gaan nou na my HTML, en dink dat ek wil hê 435 00:24:52,750 --> 00:24:56,420 hyperlink hierdie na 'n ander web bladsy. 436 00:24:56,420 --> 00:24:58,640 >> Wat was die tag wat vir daardie? 437 00:24:58,640 --> 00:25:01,650 [Student, onverstaanbaar] >> Ja. So 'n href vir hiper verwysing. 438 00:25:01,650 --> 00:25:04,660 Laat my gaan voort en plak dat. 439 00:25:04,660 --> 00:25:07,290 Dit is 'n redelik lang URL, so laat my terug uitzoomen. 440 00:25:07,290 --> 00:25:09,950 Close hakies, so moet julle nou sien ek hier 441 00:25:09,950 --> 00:25:11,960 omdat die URL gebeur redelik lank te wees. 442 00:25:11,960 --> 00:25:15,180 Laat my scroll oor hier aan die einde van die vinnige bruin jakkals, 443 00:25:15,180 --> 00:25:18,830 en laat my dan hierdie merker sluit met 00:25:21,280 waar ek net die naam van die tag gesluit. 445 00:25:21,280 --> 00:25:24,470 Laat My dan nou voort te gaan en stoor die lêer herlaai die web bladsy, 446 00:25:24,470 --> 00:25:27,880 en nou, by verstek, wat gaan in blou onderstreep word vir my, 447 00:25:27,880 --> 00:25:31,980 maar wel, ek kan nou op hierdie en voila. Daar is daardie beeld. 448 00:25:31,980 --> 00:25:33,990 En dit het nie om 'n beeld te wees, kan dit gekoppel het 449 00:25:33,990 --> 00:25:36,270 aan 'n ander ewekansige webwerf op die internet. 450 00:25:36,270 --> 00:25:39,610 Ek kon dit doen, byvoorbeeld, met CS50, so 'n laaste voorbeeld hier. 451 00:25:39,610 --> 00:25:42,730 "Dit is CS50 kan sin maak om te gaan 'n href = 452 00:25:42,730 --> 00:25:50,340 http://www.cs50.net, naby kwotasie, naby anker. 453 00:25:50,340 --> 00:25:53,990 So nou wat is 'n nog korter URL, en hierdie keer gaan ons nie om te skakel na 'n beeld. 454 00:25:53,990 --> 00:25:57,880 Ons plaas gaan om te skakel na 'n ander bladsy. 455 00:25:57,880 --> 00:25:59,840 Nou, ons het 'n beeld hier. 456 00:25:59,840 --> 00:26:02,970 Ek voel soos ons kan doen om 'n bietjie beter as net 'n skakel na 'n beeld. 457 00:26:02,970 --> 00:26:05,760 Wat as ons wil dit eintlik beliggaam in ons eie webblad? 458 00:26:05,760 --> 00:26:09,290 >> Wel, wat kan ek hier doen, eerder as skakel na hierdie grafiese, 459 00:26:09,290 --> 00:26:14,690 laat my plaas sny die URL, en ons sal ontslae te raak van daardie hyperlink en om dit skoon. 460 00:26:14,690 --> 00:26:17,190 En ons sal afgaan hier en ontslae te raak van hierdie. 461 00:26:17,190 --> 00:26:20,910 Ons hoef nie regtig al hierdie sinne nou, so laat my die bladsy verkort om 'n bietjie. 462 00:26:20,910 --> 00:26:24,530 En dan af hier laat my voort te gaan in 'n nuwe paragraaf, 463 00:26:24,530 --> 00:26:30,100 sê dat ek nie wil hê dat die teks nou nie, ek wil 'n beeld waarvan die bron gaan wees dat die URL. 464 00:26:30,100 --> 00:26:33,100 'N beeld, soos 'n lyn breek, is daar of dit is nie. 465 00:26:33,100 --> 00:26:35,900 So laat my dadelik dat tag sluit. 466 00:26:35,900 --> 00:26:39,440 Laat my nou voort te gaan en maak die paragraaf wat ek binne is, 467 00:26:39,440 --> 00:26:43,010 en as alles goed gaan met hello, wêreld, as ek nou herlaai, 468 00:26:43,010 --> 00:26:45,520 Ek, inderdaad, 'n beeld sien reg binne-in my eie web bladsy. 469 00:26:45,520 --> 00:26:48,570 So nou het ons 'n beeld tag, 'n anker tag en dies meer, 470 00:26:48,570 --> 00:26:51,320 en vir 'n goeie maatreël, laat my doen 'n ander ding wat dikwels verwaarloos 471 00:26:51,320 --> 00:26:55,900 op webtuistes hierdie dae: Laat ons 'n paar beskrywende teks vir hierdie beeld 472 00:26:55,900 --> 00:26:58,090 vir mense wat op 'n mobiele toestel 473 00:26:58,090 --> 00:27:00,640 en daarom nie in staat wees om hierdie beeld te baie vinnig aflaai, 474 00:27:00,640 --> 00:27:03,310 vir die volk wat blind is en dalk nie in staat wees om die beeld te sien 475 00:27:03,310 --> 00:27:06,480 maar hulle kan 'n skerm leser wat vertel hulle wat hierdie beeld is. 476 00:27:06,480 --> 00:27:09,100 En om dit te doen, daar is 'n ander kenmerk van die beeld tags 477 00:27:09,100 --> 00:27:11,290 genoem alt, vir alternatiewe teks. 478 00:27:11,290 --> 00:27:14,650 En wat ek hier kan doen is om te sê, "Dit is 'n vinnige bruin jakkals. 479 00:27:14,650 --> 00:27:17,650 Sodat selfs die mens nie kan sien nie die beeld op die skerm, 480 00:27:17,650 --> 00:27:20,560 hy of sy ten minste kan hoor, as met 'n stuk van sagteware, 481 00:27:20,560 --> 00:27:23,080 wat is eintlik daar op die skerm. 482 00:27:23,080 --> 00:27:25,040 >> Dit sal nie die estetika van die bladsy verander, 483 00:27:25,040 --> 00:27:27,640 maar dit is beslis goeie praktyk vir die gebruikers. 484 00:27:27,640 --> 00:27:31,760 Alles reg, maar ons laat hierdie webblad in sy huidige vorm, 485 00:27:31,760 --> 00:27:33,890 maar laat ons kyk of ons kan nou nie voer 486 00:27:33,890 --> 00:27:36,210 'n beter benaderings tot die skryf van hierdie web bladsye, 487 00:27:36,210 --> 00:27:39,980 n paar lesse wat gaan ons sowel as ons bladsye kry meer en meer kompleks te dien. 488 00:27:39,980 --> 00:27:42,220 Wat ons nie van plan om te doen oor die volgende paar weke 489 00:27:42,220 --> 00:27:46,810 is loop jy deur die hele van die paar dosyn HTML tags wat daar is. 490 00:27:46,810 --> 00:27:49,800 Graag in kras terug in week 0, sal dit waarskynlik voldoende 491 00:27:49,800 --> 00:27:52,120 'n hoë-vlak oorsig van sommige van die konsepte te gee, 492 00:27:52,120 --> 00:27:54,530 'n vinnige toer van 'n paar van die blokke wat jy was waarskynlik in staat, 493 00:27:54,530 --> 00:27:58,240 redelik gemaklik te opgevolg op jou eie, die verskillende stukke van die legkaart. 494 00:27:58,240 --> 00:28:00,460 En dit gaan weer gebeur nie in HTML, waarskynlik, 495 00:28:00,460 --> 00:28:04,320 waardeur daar is genoeg hulpbronne op die Web dat ons jou sal wys op, 496 00:28:04,320 --> 00:28:06,920 verskillende handboeke, as jy verkies om 'n handboek te lees, 497 00:28:06,920 --> 00:28:10,560 wat sal loop jy deur al die verskillende dinge wat jy kan doen met HTML, 498 00:28:10,560 --> 00:28:16,100 maar regtig, het ons tot dusver gesien het die meeste van die fundamentele konsepte in HTML. 499 00:28:16,100 --> 00:28:19,900 Ons het die idee van tags wat dit oopgemaak word, word tags gesluit. 500 00:28:19,900 --> 00:28:22,100 Sommige tags wat beide geopen en gesluit 501 00:28:22,100 --> 00:28:24,620 in die sin dat hulle leeg; daar moet niks binnekant van hulle 502 00:28:24,620 --> 00:28:27,490 soos 'n beeld tag of 'n lyn breek, wat net daar. 503 00:28:27,490 --> 00:28:32,330 Ons het ook gekyk reeds by die idee van 'n eienskap, soos alt of bron. 504 00:28:32,330 --> 00:28:36,410 Let daarop dat hierdie woorde is geneig om, deur die konvensie, moet kort en bondig. 505 00:28:36,410 --> 00:28:39,140 >> Ons het nie oordeel oor wat hierdie dinge genoem word, 506 00:28:39,140 --> 00:28:42,060 iemand anders wat HTML uitgevind vorendag gekom met hierdie name. 507 00:28:42,060 --> 00:28:44,710 So jy moet net om te begin om te weet of te kyk, enige tyd wat jy nodig het, 508 00:28:44,710 --> 00:28:47,160 wat die name is vir hierdie tags en eienskappe. 509 00:28:47,160 --> 00:28:49,510 In die geval van hierdie eienskappe, skryf in die algemeen 510 00:28:49,510 --> 00:28:52,900 verander die gedrag van sommige tag. 511 00:28:52,900 --> 00:28:55,710 In hierdie geval, die bron kenmerk vertel die beeld tag 512 00:28:55,710 --> 00:28:57,940 wat die bron van die beeld moet wees. 513 00:28:57,940 --> 00:29:04,460 Die href kenmerk vertel die anker tag wat dit eintlik moet koppel word. 514 00:29:04,460 --> 00:29:06,800 Maar in terme van die struktuur van 'n web bladsy, hoewel Facebook 515 00:29:06,800 --> 00:29:09,680 en Google en dies meer lyk soos 'n volledige gemors 516 00:29:09,680 --> 00:29:12,560 onder die kap met die eerste oogopslag, as jy begin om te lees deur dit 517 00:29:12,560 --> 00:29:16,950 meer metodies, het hulle almal hierdie basiese, basiese struktuur volg. 518 00:29:16,950 --> 00:29:19,660 Maar ons kan die verbetering van die stilering van hierdie dinge. 519 00:29:19,660 --> 00:29:24,180 So laat my gaan na 'n paar voorbeelde wat ek vooraf voorberei. 520 00:29:24,180 --> 00:29:27,280 Laat my gaan voort en kopieer dit uit 'n ander gids hier 521 00:29:27,280 --> 00:29:29,380 en sit hulle in hierdie gids. 522 00:29:29,380 --> 00:29:32,210 In advance, wat ek gedoen het was om 'n paar lêers voor te berei: 523 00:29:32,210 --> 00:29:35,670 search0, SEARCH1, search2 en search3 en 4. 524 00:29:35,670 --> 00:29:38,740 Laat my gaan voort en maak die eerste van hierdie lêers, 525 00:29:38,740 --> 00:29:42,570 en laat ons kyk of ons kan nie begin om ons eie soektog te skep. 526 00:29:42,570 --> 00:29:46,530 Op die top van hierdie lêer, soos gewoonlik die geval in die klas nie, net 'n klomp van die kommentaar. 527 00:29:46,530 --> 00:29:49,760 In HTML, al is, die manier waarop jy begin a comment 528 00:29:49,760 --> 00:29:55,640 <- en dan is jy binnekant van 'n opmerking, 'n multi-line comment! 529 00:29:55,640 --> 00:29:59,800 Wanneer jy gereed is om kommentaar te stop, kan jy ->. 530 00:29:59,800 --> 00:30:02,380 So alles by die top in die blou is net 'n comment. 531 00:30:02,380 --> 00:30:04,620 >> Dit is my DOCTYPE verklaring, wat weer, 532 00:30:04,620 --> 00:30:07,080 jy kan net kopieer en plak op geloof, vir nou. 533 00:30:07,080 --> 00:30:10,410 Dit vertel net die leser, "Hier kom 'n paar HTML 5. 534 00:30:10,410 --> 00:30:13,600 Hieronder wat on line 14, is die eerste van my werklike tags, 535 00:30:13,600 --> 00:30:16,900 en dit sê net, soos voorheen, sommige HTML kom hier, 536 00:30:16,900 --> 00:30:19,460 hier kom die hoof van my bladsy, hier kom die titel, 537 00:30:19,460 --> 00:30:23,900 en dan, omgekeer, wat is dit vir die titel, wat is dit vir die kop. 538 00:30:23,900 --> 00:30:26,460 Hier kom nou die liggaam van my bladsy. 539 00:30:26,460 --> 00:30:31,040 So 'n paar nuwe tags: h1 staan ​​vir rubriek 1. 540 00:30:31,040 --> 00:30:33,850 Daar is 'n tradisie in HTML vir baie jare terug 541 00:30:33,850 --> 00:30:37,990 met verskillende groottes van die teks. 542 00:30:37,990 --> 00:30:41,980 En terug in die dag, elkeen bedoel, in die algemeen, net groot en vet. 543 00:30:41,980 --> 00:30:45,860 Maar daar is ook h2, wat is groot, maar nie so groot en vet. 544 00:30:45,860 --> 00:30:49,320 Daar is h3, wat is 'n soort van die groot, maar nie naastenby so groot en vet, 545 00:30:49,320 --> 00:30:52,380 en so meer, al die pad af na h6. 546 00:30:52,380 --> 00:30:55,550 Hierdie dae, al is, is regtig H1, H2 en H3 bedoel 547 00:30:55,550 --> 00:30:57,980 meer semantiese betekenis aan hulle te hê, 548 00:30:57,980 --> 00:31:01,100 waardeur h1 is regtig 'n opskrif: die opskrif van 'n web bladsy, 549 00:31:01,100 --> 00:31:04,210 die opskrif van 'n kolom of iets soos dié van die teks. 550 00:31:04,210 --> 00:31:09,030 Daarom het ek doelbewus sê h1 CS50 soek> h1 551 00:31:09,030 --> 00:31:12,640 specifiy dat dit werklik is die opskrif, die titel van my bladsy. 552 00:31:12,640 --> 00:31:14,850 Nie die titel in die titelbalk sin, 553 00:31:14,850 --> 00:31:18,960 maar die titel wat jy sien in die webblad self, in die liggaam. 554 00:31:18,960 --> 00:31:20,990 Nou hierdie, kan jy waarskynlik raai wat dit is, 555 00:31:20,990 --> 00:31:23,110 selfs al het ons het 'n paar nuwe stukke van die sintaksis. 556 00:31:23,110 --> 00:31:25,930 Dit is 'n vorm. So die web regtig interessant raak 557 00:31:25,930 --> 00:31:28,770 wanneer webwerwe insette van gebruikers. 558 00:31:28,770 --> 00:31:31,700 In hierdie klas, in die probleem op die web programmering, 559 00:31:31,700 --> 00:31:33,880 Ons gaan nie 'n webwerf, per se te maak, 560 00:31:33,880 --> 00:31:37,570 met statiese inhoud wat toon foto's wat jy geneem het, 561 00:31:37,570 --> 00:31:40,010 of dit is my CV, en dinge oor my, 562 00:31:40,010 --> 00:31:42,450 want hierdie dinge is relatief maklik om saam te stel. 563 00:31:42,450 --> 00:31:44,400 Dit is moeilik om te maak dinge mooi op die web, 564 00:31:44,400 --> 00:31:46,390 maar ten minste die opstel van inhoud is redelik triviaal. 565 00:31:46,390 --> 00:31:49,380 Maar dinge regtig interessant wanneer iemand jou webwerf besoek 566 00:31:49,380 --> 00:31:52,260 en insette lewer en kan vorms invul, 567 00:31:52,260 --> 00:31:55,800 blok kan kyk en kan interaksie met jou webwerf. 568 00:31:55,800 --> 00:31:57,780 En inderdaad, waarskynlik elke webwerf wat jy omgee 569 00:31:57,780 --> 00:32:00,710 hierdie dae, in enige detail, is een of ander manier interaktief. 570 00:32:00,710 --> 00:32:03,110 Facebook, Google, en dies meer, wat 'n toevoer van die gebruiker 571 00:32:03,110 --> 00:32:05,100 en persoonlike uitset. 572 00:32:05,100 --> 00:32:07,780 >> So laat ons begin om dit te doen nou. Kom se oorgang nou 573 00:32:07,780 --> 00:32:11,150 van net die gebruik van HTML-kode vir winsgrens van statiese inhoud 574 00:32:11,150 --> 00:32:14,790 as plaas 'n leweringsmeganisme vir dinamiese inhoud. 575 00:32:14,790 --> 00:32:17,350 En die rigting van die einde, laat ons ons eie soektog te implementeer. 576 00:32:17,350 --> 00:32:20,820 Kom ons doen dit soos volg. Hier is die vorm tag. 577 00:32:20,820 --> 00:32:24,090 Die aksie attribuut bepaal dat wanneer die gebruiker vul hierdie vorm 578 00:32:24,090 --> 00:32:28,400 met die sleutelbord, sal dit voorgelê word aan hierdie URL hier. 579 00:32:28,400 --> 00:32:31,230 So ek is soort van bedrog. Dit gaan ons 'n bietjie langer neem 580 00:32:31,230 --> 00:32:33,780 as een klas die hele soektog uit te voer, 581 00:32:33,780 --> 00:32:35,880 so ons sal net doen die voorkant, om so te praat. 582 00:32:35,880 --> 00:32:38,650 Ons sal die deel waarmee die gebruiker soek doen, en ons sal soort van punt na Google 583 00:32:38,650 --> 00:32:40,950 die harde deel van die vind van die resultate, 584 00:32:40,950 --> 00:32:43,520 maar spesifiek, ek gaan om te praat met Google se web-bediener 585 00:32:43,520 --> 00:32:46,710 met behulp van een van twee baie gewilde metodes. 586 00:32:46,710 --> 00:32:50,000 Een wat kry, ander, dat ons uiteindelik sal sien, post, 587 00:32:50,000 --> 00:32:52,660 maar daar is ander wat minder dikwels gebruik word. 588 00:32:52,660 --> 00:32:56,440 So kry net roep die idee van, ek wil inhoud te kry, kry 'n paar resultate. 589 00:32:56,440 --> 00:32:58,440 Hierdie, kan jy dalk raai wat dit doen. 590 00:32:58,440 --> 00:33:01,900 Dit is 'n soort van die insette, is dit in werklikheid gaan om te kyk soos 'n teks-veld, 591 00:33:01,900 --> 00:33:05,200 en die naam van die insette, die naam van die veranderlike, om so te praat, 592 00:33:05,200 --> 00:33:08,610 gaan word q vir navraag deur konvensie. 593 00:33:08,610 --> 00:33:11,700 En weer, is die tipe van hierdie insette nie gaan om 'n boks te wees; 594 00:33:11,700 --> 00:33:13,890 dit gaan nie om 'n spyskaart te wees, dit gaan om 'n teks-veld 595 00:33:13,890 --> 00:33:18,060 soos aangedui deur hierdie kenmerk hier, en hierdie teks boks, 596 00:33:18,060 --> 00:33:20,680 soos 'n lyn breek, is óf daar is of nie. 597 00:33:20,680 --> 00:33:24,480 So ons het 'n leë element met die streep binne daardie merker. 598 00:33:24,480 --> 00:33:28,050 Dan gaan ek 'n lyn breek te sit, en jy kan dalk raai wat dit gaan doen. 599 00:33:28,050 --> 00:33:30,210 Dit is 'n ander soort van vorm insette. 600 00:33:30,210 --> 00:33:32,350 >> Hierdie een gaan om gebruik te word vir die indiening van die vorm. 601 00:33:32,350 --> 00:33:36,140 So dit gaan om die groot-knoppie wat die gebruiker kan kliek om die vorm in te dien, 602 00:33:36,140 --> 00:33:40,800 en die etiket op die knoppie gaan wees CS50 Soek. " 603 00:33:40,800 --> 00:33:44,170 Close vorm, beslote liggaam, naby HTML. 604 00:33:44,170 --> 00:33:46,280 Kom ons kyk wat ons het in die vorm van hierdie web bladsy. 605 00:33:46,280 --> 00:33:48,260 So laat ek gaan na my browser, 606 00:33:48,260 --> 00:33:50,360 laat my gaan, nog steeds aan die plaaslike gasheer. 607 00:33:50,360 --> 00:33:54,650 Dit is nog steeds index.html, so as ek wil om te sien van hierdie lêer genaamd search0, 608 00:33:54,650 --> 00:33:59,710 Ek kan net doen / search0.html, tree - 609 00:33:59,710 --> 00:34:01,880 en die eerste van my foute. 610 00:34:01,880 --> 00:34:04,400 What's going on? Ek duidelik het nie toestemming om 611 00:34:04,400 --> 00:34:06,430 om hierdie lêer oop te maak, om die een of ander rede. 612 00:34:06,430 --> 00:34:10,170 Maar dit is omdat, in teenstelling met die werk het ons tot dusver gedoen het in C, 613 00:34:10,170 --> 00:34:14,340 waar die programme wat jy skryf, word aanvaar dat die draaibaar deur u, 614 00:34:14,340 --> 00:34:17,590 uitvoerbare deur u, dit is nie regtig die geval op die web, 615 00:34:17,590 --> 00:34:21,010 waardeur soms moet jy dalk wil lêers te skep op 'n bediener, 616 00:34:21,010 --> 00:34:23,310 maar jy nie wil hê dat die hele wêreld in staat te wees om hulle te sien. 617 00:34:23,310 --> 00:34:25,469 Nee, jy wil die wêreld 'n paar lêers te sien 618 00:34:25,469 --> 00:34:27,730 maar nie ander nie, net vir privaatheid se onthalwe. 619 00:34:27,730 --> 00:34:30,730 So dit is meer van 'n opt-in basis wanneer jy dinge doen op die web. 620 00:34:30,730 --> 00:34:32,810 En laat my daarom eintlik ls hier tik, 621 00:34:32,810 --> 00:34:37,440 en jy sien die lêers wat ek het, maar onthou dat as ek dit doen ls-l vir 'n lang, 622 00:34:37,440 --> 00:34:41,520 Ek kry 'n langer lys wat gee my 'n paar meer besonderhede oor hierdie lêers 623 00:34:41,520 --> 00:34:45,139 wat is nou regtig, vir die eerste keer op ons betrekking het. 624 00:34:45,139 --> 00:34:47,840 Let daarop dat op die ver regs is die name van my lêers, 625 00:34:47,840 --> 00:34:50,690 en dan is die tyd wat hulle was laas verander of kopieer. 626 00:34:50,690 --> 00:34:54,370 Hierdie getal hier is wat? Onthou jy? 627 00:34:54,370 --> 00:34:56,400 Die grootte in grepe, hoe groot die lêer is. 628 00:34:56,400 --> 00:34:59,520 >> So dit lyk asof ek 'n soort van die logo hier te hê wat groter is as al die ander lêers. 629 00:34:59,520 --> 00:35:03,610 Dit is wie ek is, dit is wat ek is en watter groep ek. 630 00:35:03,610 --> 00:35:07,430 Maar dan, hier aan die linkerkant is 'n bietjie van kriptiese volgorde, 631 00:35:07,430 --> 00:35:10,040 en ons het gepraat, dink ek, kortliks hieroor in die verlede, 632 00:35:10,040 --> 00:35:12,050 maar dit het te doen met permissies. 633 00:35:12,050 --> 00:35:14,020 En selfs indien dit is 'n bietjie vaag, 634 00:35:14,020 --> 00:35:17,270 RW beteken waarskynlik lees & skryf. 635 00:35:17,270 --> 00:35:22,560 So dit blyk dat hierdie koppeltekens dui verskillende stelle regte vir verskillende mense. 636 00:35:22,560 --> 00:35:24,730 En die patroon is, in wese, soos volg. 637 00:35:24,730 --> 00:35:27,650 Wanneer jy sien 'n volgorde van koppeltekens, hulle lyk soos volg. 638 00:35:27,650 --> 00:35:30,450 Daar is 'n stamp, dan is daar drie koppeltekens, 639 00:35:30,450 --> 00:35:33,390 dan is daar nog drie, dan is daar nog drie. 640 00:35:33,390 --> 00:35:36,800 Die eerste een is 'n bietjie of dit se advertensie vir directory. 641 00:35:36,800 --> 00:35:40,220 Sodat 'n mens is redelik maklik. As dit is 'n gids, dit sê d, anders is dit 'n koppelteken. 642 00:35:40,220 --> 00:35:44,080 Daar is 'n paar ander gevalle, maar vir nou sal ons net omgee vir lêers en directories. 643 00:35:44,080 --> 00:35:48,090 Hierdie volgende drie koppeltekens - en ek het kunsmatig ingevoeg die spasies in. 644 00:35:48,090 --> 00:35:50,490 Hulle was natuurlik nie daar toe ons sien dat hulle 'n oomblik gelede. 645 00:35:50,490 --> 00:35:52,900 Dit is die lêer eienaar se regte, 646 00:35:52,900 --> 00:35:55,840 en onthou van 'n tweede gelede dat dit lees & skryf. 647 00:35:55,840 --> 00:35:58,560 Dit was omdat ek, as die persoon wat die lêer geskep het 'n oomblik gelede, 648 00:35:58,560 --> 00:36:01,250 Ek, net by verstek, op 'n Linux-rekenaar, 649 00:36:01,250 --> 00:36:03,910 het die vermoë om voort te gaan lees en skryf dat 'n lêer. 650 00:36:03,910 --> 00:36:07,170 >> So die bedryfstelsel gee net my RW outomaties. 651 00:36:07,170 --> 00:36:10,840 Die middel wat verband hou met my groep, dat van die studente, 652 00:36:10,840 --> 00:36:14,590 wat is 'n soort van betekenisloos op die toestel, want ek is die enigste persoon wat die gebruik van die toestel. 653 00:36:14,590 --> 00:36:16,620 So laat my net waai my hande vir nou. 654 00:36:16,620 --> 00:36:19,190 Maar die laaste is baie belangrik vir die Web. 655 00:36:19,190 --> 00:36:21,580 Dit is almal anders in die wêreld, en die feit 656 00:36:21,580 --> 00:36:24,600 dat --- beteken dat niemand anders in die wêreld 657 00:36:24,600 --> 00:36:26,680 het enige regte tot hierdie lêer. 658 00:36:26,680 --> 00:36:29,180 Duidelik 'n probleem nie, so ek nodig het om dit op te los 659 00:36:29,180 --> 00:36:33,830 deur die een of ander manier om die wêreld wat? Lees & skryf? 660 00:36:33,830 --> 00:36:35,850 Dit is waarskynlik dom, reg? Ek wil nie enigiemand op die web 661 00:36:35,850 --> 00:36:38,530 om te gaan om my blad te besoek en op een of ander manier om die lêer te verander, 662 00:36:38,530 --> 00:36:40,800 selfs al is hulle werklik kon nie met 'n HTML-lêer, 663 00:36:40,800 --> 00:36:44,110 maar net in beginsel, waarskynlik net wil hê hulle moet in staat wees om dit te lees. 664 00:36:44,110 --> 00:36:47,910 Wat beteken dit om dit te lees? Dit beteken nie hulle gaan omgee oor die werklike HTML, 665 00:36:47,910 --> 00:36:51,820 maar die leser moet in staat wees om daardie opmaak taal te ontleed, 666 00:36:51,820 --> 00:36:53,720 van bo na onder, links na regs. 667 00:36:53,720 --> 00:36:57,990 So iemand op die web moet in staat wees om dit te lees nie, so ek minimaal nodig het om te gee dit 'r. 668 00:36:57,990 --> 00:37:00,240 Ek kan dit doen in 'n paar verskillende maniere, maar miskien 669 00:37:00,240 --> 00:37:03,080 die eenvoudigste is om hierdie opdrag om hier te hardloop. 670 00:37:03,080 --> 00:37:10,860 Chmod, verandering af, dan 'n + r so almal, almal in die wêreld + lees, 671 00:37:10,860 --> 00:37:13,830 en dan die naam van die lêer search0.html. 672 00:37:13,830 --> 00:37:18,310 >> Maar as ek doen ls-l weer opmerk dat dat die lêer verander is, 673 00:37:18,310 --> 00:37:21,440 en inderdaad, ek het op 'n r vir almal. 674 00:37:21,440 --> 00:37:23,350 Ek het ook het dit vir my groep, maar dit is fyn, 675 00:37:23,350 --> 00:37:27,150 want as ek draai in my groep is vir almal, 'n subset van daardie. 676 00:37:27,150 --> 00:37:31,480 So dit is fyn. Dit beteken net die rekenaar nou het dit leesbaar. 677 00:37:31,480 --> 00:37:34,430 Nou laat my gaan terug na my browser, kliek herlaai. 678 00:37:34,430 --> 00:37:36,330 Ah-ha. Ons nou het CS50 Soek. 679 00:37:36,330 --> 00:37:39,830 Ek het in 'n bietjie kunsmatig - pretty afskuwelike soektog vergrote. 680 00:37:39,830 --> 00:37:41,930 Maar laat ons kyk of dit regtig werk. 681 00:37:41,930 --> 00:37:45,880 Eerste, laat my doen 'n vinnige gesonde verstand tjek, laat my beheer kliek en sien bladsy bron. 682 00:37:45,880 --> 00:37:50,780 Let daarop dat binne Chrome ons nou sien dieselfde HTML-dat ek myself geskep. 683 00:37:50,780 --> 00:37:55,420 Nie hier kry verwar, though. Ek kan nie begin om die kode te verander, 684 00:37:55,420 --> 00:37:59,420 omdat die leser 'n lees-alleen die lig van hierdie kode. 685 00:37:59,420 --> 00:38:06,060 Die blaaier het net gevra om plaaslike gasheer vir 'n lêer genaamd search0.html. 686 00:38:06,060 --> 00:38:09,490 Dit is nou toevallig dat die toestel 687 00:38:09,490 --> 00:38:13,480 gebeur te wees op dieselfde rekenaar as my browser. 688 00:38:13,480 --> 00:38:20,470 Ek kon net gelykerwys, getik in www.facebook.com/search0.html, 689 00:38:20,470 --> 00:38:23,830 en as Facebook het 'n lêer met die naam dat ek sal dan sien hulle HTML. 690 00:38:23,830 --> 00:38:27,360 En, natuurlik, kan ek nie verander nie die lêer wat kom terug van Facebook, nie. 691 00:38:27,360 --> 00:38:29,360 So nou is ons soort van vervaag die lyne. 692 00:38:29,360 --> 00:38:32,130 Die toestel is beide 'n bediener, die versorging van web bladsye, 693 00:38:32,130 --> 00:38:34,870 maar dit is ook 'n kliënt in die sin dat ek 'n leser is die gebruik van 694 00:38:34,870 --> 00:38:37,630 om werklik te praat met die bediener. 695 00:38:37,630 --> 00:38:39,610 So laat ons sien as my Google-soektog werk. 696 00:38:39,610 --> 00:38:44,930 Laat my voort te gaan en te deursoek vir 'n vinnige bruin jakkals, betree. 697 00:38:44,930 --> 00:38:47,540 En voila, ek het nou my eie soektog. 698 00:38:47,540 --> 00:38:51,460 >> Maar hoe werk dit? 699 00:38:51,460 --> 00:38:55,380 N bietjie van 'n rek, maar - en nou kan jy nie sien nie, juis die deel wat van belang is. 700 00:38:55,380 --> 00:38:57,370 Let op wat gebeur. 701 00:38:57,370 --> 00:39:00,430 Let op die URL. Dit blyk dat hierdie metode, 702 00:39:00,430 --> 00:39:02,780 genoem kry, is 'n super-eenvoudig. 703 00:39:02,780 --> 00:39:10,270 As jy spesifiseer in 'n vorm wat jy wil 'get' resultate van 'n paar bediener, 704 00:39:10,270 --> 00:39:13,200 wat dit gaan doen, vat wat jy getik in die vorm 705 00:39:13,200 --> 00:39:15,290 en sit dit in die URL. 706 00:39:15,290 --> 00:39:18,580 Dit gaan hoe dit kry in die URL soos volg te standaardiseer. 707 00:39:18,580 --> 00:39:22,290 Let daarop dat hierdie is die URL wat die waarde van my optrede kenmerk. 708 00:39:22,290 --> 00:39:24,730 Dit is waar ek wou die vorm aan die einde. 709 00:39:24,730 --> 00:39:26,950 Maar dan agterkom hierdie vraagteken. 710 00:39:26,950 --> 00:39:30,230 Dit is 'n konvensie op die web waardeur die toevoer van die gebruiker te voorsien 711 00:39:30,230 --> 00:39:35,320 na 'n webwerf, kan jy voeg aan die URL in 'n vraagteken, 712 00:39:35,320 --> 00:39:38,330 en dan moet jy 'n hele klomp van die sleutel-waarde pare. 713 00:39:38,330 --> 00:39:42,380 Die naam van 'n sleutel, andersins bekend as 'n parameter in die web, 714 00:39:42,380 --> 00:39:46,380 dan moet jy 'n gelyke teken, dan moet jy die waarde van die parameter. 715 00:39:46,380 --> 00:39:49,810 So dit is in wese 'n veranderlike naam en 'n veranderlike waarde, 716 00:39:49,810 --> 00:39:54,250 maar dié veranderlike se name en waardes van die HTML-vorm gekom het. 717 00:39:54,250 --> 00:39:56,250 Waarom is die plus punte daar, dink jy? 718 00:39:56,250 --> 00:39:59,340 Want ek het nie tik + tussen my woorde. 719 00:39:59,340 --> 00:40:01,430 [Student, onverstaanbaar] 720 00:40:01,430 --> 00:40:05,080 >> Ja, dit is net vir die spasiëring. Kans is, wanneer jy 'n URL gesien, 721 00:40:05,080 --> 00:40:07,320 daar is nooit enige spasies in dit, indien net omdat 722 00:40:07,320 --> 00:40:09,440 as daar was, kan jy nie regtig kopieer en plak dit 723 00:40:09,440 --> 00:40:12,700 in 'n IM of in 'n e-pos, want dit sou breek. 724 00:40:12,700 --> 00:40:15,420 Jy wil die hele ding om een ​​aaneenlopende string karakters. 725 00:40:15,450 --> 00:40:18,450 >> Sodat die leser is slim genoeg om te besef, uh-uh. 726 00:40:18,450 --> 00:40:22,610 Moenie net sit daar 'n ruimte. Laat my enkodeer die ruimte in 'n standaard manier. 727 00:40:22,610 --> 00:40:25,170 Een van die konvensies om dit te doen is om die leser te hê 728 00:40:25,170 --> 00:40:29,350 outomaties 'n + waar jy andersins sou 'n spasie. 729 00:40:29,350 --> 00:40:32,140 So nou, kennisgewing Google soort van gebruikers-vriendelike. 730 00:40:32,140 --> 00:40:34,380 Ek het beslis nie hierdie webblad skep, 731 00:40:34,380 --> 00:40:37,200 maar hulle het ingestuur hul eie teks veld 732 00:40:37,200 --> 00:40:39,490 met presies wat ek getik. 733 00:40:39,490 --> 00:40:43,090 Gestel ek wil om te soek vir iets anders, soos 'n lui hond. 734 00:40:43,090 --> 00:40:45,340 Ek kan tik net hier, re-soek. 735 00:40:45,340 --> 00:40:47,730 Let daarop dat die URL verander hier, 736 00:40:47,730 --> 00:40:51,390 maar dan sien dat ek eintlik kan soek vir enigiets wat ek wil 737 00:40:51,390 --> 00:40:53,610 net deur te verstaan ​​hoe URL's werk. 738 00:40:53,610 --> 00:40:56,840 Ek lui kat kan doen, betree, 739 00:40:56,840 --> 00:41:01,370 en nou merk ek kry 'n baie lui - moet ons? Ek voel soos ons behoort. 740 00:41:01,370 --> 00:41:09,900 Ek kry 'n baie lui kat. 741 00:41:09,900 --> 00:41:11,930 Alles reg. Dit is een van die domste dinge wat ons gedoen het. 742 00:41:11,930 --> 00:41:17,160 Maar dit is 'n lui kat. 743 00:41:17,160 --> 00:41:19,730 Anyhow, wat is die sleutel afhaal hier? 744 00:41:19,730 --> 00:41:22,830 Nou het ons is soort van speel in die wêreld van die HTTP. 745 00:41:22,830 --> 00:41:26,050 HTML is net hierdie opmaak taal, oop tag, naby tag, 746 00:41:26,050 --> 00:41:29,490 wat vertel 'n leser hoe om inhoud te lewer op 'n web bladsy. 747 00:41:29,490 --> 00:41:32,850 Maar wanneer jy begin met die oordrag van data oor die Internet 748 00:41:32,850 --> 00:41:36,290 tussen webblaaier en bediener, dit is waar hierdie protokol 749 00:41:36,290 --> 00:41:39,370 bekend as die HyperText Transfer Protocol oorneem. 750 00:41:39,370 --> 00:41:42,630 Dit is die soort van menslike konvensie; wanneer Sam en ek het hande geskud op Maandag, 751 00:41:42,630 --> 00:41:48,300 die begin van 'n verband en dan die sluiting van 'n verbinding, dieselfde idee hier. 752 00:41:48,300 --> 00:41:53,100 Hoe Google se resultate terug kom na my toe? 753 00:41:53,100 --> 00:41:55,290 Hoe is my vorm voorlegging gaan na Google? 754 00:41:55,290 --> 00:41:58,160 Wel, onthou van die ander dag dat wat werklik aangaan 755 00:41:58,160 --> 00:42:02,150 onder die kap wanneer jy 'n webblad versoek is, 756 00:42:02,150 --> 00:42:04,860 jou browser is die stuur van 'n ietwat kriptiese boodskap soos 757 00:42:04,860 --> 00:42:09,510 KRY / HTTP/1.1 vir die standaard tuisblad. 758 00:42:09,510 --> 00:42:13,000 >> Of, in hierdie geval, omdat ek spesifiek versoek vroeër 759 00:42:13,000 --> 00:42:17,340 search0.html, dit sou dan die ietwat kriptiese boodskap 760 00:42:17,340 --> 00:42:20,040 dat my browser stuur na die toestel. 761 00:42:20,040 --> 00:42:23,090 Of, in hierdie geval van Google, is eintlik wat gestuur 762 00:42:23,090 --> 00:42:33,740 is 'n versoek aan / soek, en dan q =? lui kat, met 'n plus daar. 763 00:42:33,740 --> 00:42:36,790 So hierdie boodskap, dat ek, die mens is nooit te tik, 764 00:42:36,790 --> 00:42:40,620 maar word gestuur deur my browser, dit is hoe HTTP gebeur. 765 00:42:40,620 --> 00:42:43,240 Dit is die ekwivalent van ons hand geskud. 766 00:42:43,240 --> 00:42:46,320 Dit is die versoek, en die bediener is oor 'n reaksie te stuur. 767 00:42:46,320 --> 00:42:48,560 So laat ons neem 'n blik op hierdie onder die kap. 768 00:42:48,560 --> 00:42:55,320 Soos voorheen, kan ons oop te stel hierdie spesiale veld in 'n leser. 769 00:42:55,320 --> 00:42:58,720 Sien bladsy, inspekteer elemente. 770 00:42:58,720 --> 00:43:01,550 So onder inspekteer element, sien dat wat gebeur het in Chrome, 771 00:43:01,550 --> 00:43:04,160 en IE en Firefox het soortgelyke meganismes, 772 00:43:04,160 --> 00:43:07,370 ons het hierdie ontwikkelaar gereedskap toeganklik vir ons. 773 00:43:07,370 --> 00:43:09,630 Normale mense gebruik nie hierdie tabs. 774 00:43:09,630 --> 00:43:11,940 Maar nadat ons, nou, belangstel in wat gaan aan 775 00:43:11,940 --> 00:43:13,890 onder die kap op die netwerk. 776 00:43:13,890 --> 00:43:16,130 So as ek trek die netwerk vlak, 777 00:43:16,130 --> 00:43:18,510 laat my voort te gaan en uit te brei hierdie venster, 778 00:43:18,510 --> 00:43:21,840 oop te maak hierdie inligting ingesleutel is hier, en kyk na die headers. 779 00:43:21,840 --> 00:43:26,010 So, wat gebeur wanneer ek 'n lêer van 'n web-bediener 780 00:43:26,010 --> 00:43:29,410 is my browser stuur 'n hele klomp van die dinge. 781 00:43:29,410 --> 00:43:32,390 En laat my Bekyk bronteks. So onder versoek headers, 782 00:43:32,390 --> 00:43:35,250 en dit is net Chrome wat my 'n paar diagnostiese opbrengs, 783 00:43:35,250 --> 00:43:37,340 soort van soos 'n debugger van een of ander aard, 784 00:43:37,340 --> 00:43:40,500 agterkom dat wat ek hier uitgelig is presies wat 785 00:43:40,500 --> 00:43:47,060 Chrome is na die bediener stuur ten einde 'n lêer genaamd search0.html aan te vra. 786 00:43:47,060 --> 00:43:50,160 Dit is die bediener vertel wat hulle dink sy naam is, 787 00:43:50,160 --> 00:43:52,210 te danke aan hierdie leërmag kolon veld, dan is daar is 'n paar 788 00:43:52,210 --> 00:43:56,950 mooi esoteriese dinge hier, soos iets wat te doen het met die datums en tye, 789 00:43:56,950 --> 00:43:59,720 iets te doen het met die tale wat die leser verstaan, 790 00:43:59,720 --> 00:44:02,850 maar die werklik belangrike lyne is die eerste twee hier. 791 00:44:02,850 --> 00:44:05,490 >> Wat beteken die bediener reageer met? Wel, as ons scroll down hier 792 00:44:05,490 --> 00:44:08,510 en sien die bron van hierdie ding, sien dat die bediener 793 00:44:08,510 --> 00:44:13,700 het gereageer met 'n ietwat kriptiese boodskap as 304 nie verander nie. 794 00:44:13,700 --> 00:44:16,030 Dit is 'n bietjie vreemd, laat my eintlik probeer om dit op te los. 795 00:44:16,030 --> 00:44:18,670 Laat my af te hou en skuif en klik herlaai hier 796 00:44:18,670 --> 00:44:22,460 die leser te dwing om werklik te maak dit versoek vir die eerste keer. 797 00:44:22,460 --> 00:44:25,700 Laat my dan zoom in, en ons sal nou sien dat die bediener se reaksie, 798 00:44:25,700 --> 00:44:28,950 want Ek het verskuiwing, is 200 OK. 799 00:44:28,950 --> 00:44:31,170 So jy het waarskynlik nog nooit gesien dat die getal 200 800 00:44:31,170 --> 00:44:33,300 in die konteks van die web, maar wat getalle 801 00:44:33,300 --> 00:44:36,760 het jy soms onverwags gesien vanaf 'n bediener? 802 00:44:36,760 --> 00:44:42,010 404, lêer nie gevind nie; 403, verbode; 500, bediener fout. 803 00:44:42,010 --> 00:44:44,890 So is daar hierdie numeriese kodes wat die wêreld gebruik in die Web 804 00:44:44,890 --> 00:44:47,870 foute, net soos C funksies aan te dui 805 00:44:47,870 --> 00:44:51,030 kan terugkeer foute en hoof uitgang kodes kan terugkeer. 806 00:44:51,030 --> 00:44:54,160 200, maar jy selde sien, want dit beteken dat alles goed gaan. 807 00:44:54,160 --> 00:44:59,000 En 304 het jy waarskynlik nooit sien nie, want wat is dit dui? 808 00:44:59,000 --> 00:45:03,330 Dat niks het - laat ons kyk of ons kan simuleer dit weer - 809 00:45:03,330 --> 00:45:07,170 O, nou is dit nie saamwerk nie. 304 gesê nie verander, 810 00:45:07,170 --> 00:45:09,170 so waarom die bediener is selfs reageer? 811 00:45:09,170 --> 00:45:12,550 Wel, vir doeltreffendheid, 'n web bediener outomaties vir jou, 812 00:45:12,550 --> 00:45:16,570 indien die lêer nie verander het nie, sal dit nie weer te stuur die hele HTML-lêer. 813 00:45:16,570 --> 00:45:19,150 Dit sal net vertel die leser dit het nie verander nie. 814 00:45:19,150 --> 00:45:21,220 Net gebruik maak van die kopie wat jy reeds het. 815 00:45:21,220 --> 00:45:22,650 So daar is hierdie idee van caching op die web 816 00:45:22,650 --> 00:45:25,840 vir prestasie, sodat jy mors nie tyd en afval bandwydte 817 00:45:25,840 --> 00:45:29,160 die aflaai van lêers weer en weer onnodig. 818 00:45:29,160 --> 00:45:31,460 >> Maar hierdie webblad, was nou, super-eenvoudige, 819 00:45:31,460 --> 00:45:34,980 en dit het vir my gewys net die HTML wat terug gekom het. 820 00:45:34,980 --> 00:45:40,940 Kom ons eintlik gebruik die netwerk blad nou 'n Google-soektog te doen soos vinnige bruin jakkals. 821 00:45:40,940 --> 00:45:43,010 Laat my dan kliek op CS50 soek, 822 00:45:43,010 --> 00:45:46,950 en nou, let op in die onderste hier om 'n hele klomp van die dinge kom terug 823 00:45:46,950 --> 00:45:49,900 want as Ek besoeking doen 'n webwerf soos Google.com, 824 00:45:49,900 --> 00:45:53,520 hulle het beelde, teks, hulle het 'n taal genaamd JavaScript daar. 825 00:45:53,520 --> 00:45:55,940 Sodat elke ry in die tabel hier onder 826 00:45:55,940 --> 00:46:01,490 iets wat Google spoeg uit in reaksie op my enkel versoek. 827 00:46:01,490 --> 00:46:04,160 Die een wat ek omgee, al is, is die eerste een. 828 00:46:04,160 --> 00:46:08,420 En as Ek gegaan na die soek, versoek, kliek Bekyk bronteks hier, 829 00:46:08,420 --> 00:46:11,300 Let op dat, inderdaad, die kriptiese boodskap wat my browser gestuur 830 00:46:11,300 --> 00:46:15,010 na Google hierdie twee lyne was hier, 831 00:46:15,010 --> 00:46:18,420 gevolg deur sommige arcane inligting hier onder, wat sal ons ignoreer vir nou. 832 00:46:18,420 --> 00:46:20,890 Maar kennisgewing, te, wat Chrome is redelik handig met, 833 00:46:20,890 --> 00:46:24,540 dit is ook wat my die query string wat gestuur is. 834 00:46:24,540 --> 00:46:27,410 So eerder as my hierdie, wat letterlik gestuur, 835 00:46:27,410 --> 00:46:30,800 as ek dit sien gedekodeer, Chrome, net vir ontfouting doeleindes, 836 00:46:30,800 --> 00:46:34,270 dit is vir ontwikkelaars soos ons, net wat vir my 'n mens-vriendelike weergawe van die - 837 00:46:34,270 --> 00:46:36,390 dit is nie hoe jy dit spel jakkals, blykbaar. 838 00:46:36,390 --> 00:46:40,520 Ek is net merk dit nou - maar dit wys jou wat ek glo, getik. 839 00:46:40,520 --> 00:46:45,340 Intussen het die reaksie wat terug gekom het van die bediener is weer 200 OK. 840 00:46:45,340 --> 00:46:47,930 Maar ingesluit in daardie antwoord, natuurlik, 841 00:46:47,930 --> 00:46:51,920 as ons werklik sien die bladsy se HTML - 842 00:46:51,920 --> 00:46:55,440 Jammer, hierdie is 'n klein sleutel kombenasie verkeerd geloop vandag. 843 00:46:55,440 --> 00:46:59,020 >> Ek sal later gaan met hierdie. So as ons eintlik sien die bladsy se bron, 844 00:46:59,020 --> 00:47:02,990 wat ek hier kan doen deur te kliek reaksie, 845 00:47:02,990 --> 00:47:10,080 dit is wat eintlik terug spoeg in bykomend tot daardie kriptiese 200 OK boodskap van die bediener. 846 00:47:10,080 --> 00:47:12,520 'N bietjie kripties, maar waar is al hierdie kom uit? 847 00:47:12,520 --> 00:47:15,570 Wel, laat ons 'n ander ding doen hier. Nog 'n ietwat kripties opdrag, 848 00:47:15,570 --> 00:47:20,530 maar hierdie een se soort van netjies in die sin dat dit wys vir ons presies wat gaan aan onder die enjinkap. 849 00:47:20,530 --> 00:47:22,530 Dus is ek terug op my Mac, ek het verbind 850 00:47:22,530 --> 00:47:25,980 deur middel van 'n program met die naam van SSH, Secure Shell, na 'n ander bediener 851 00:47:25,980 --> 00:47:28,940 omdat die meeste van Harvard se rekenaars blok die opdrag wat ons is oor om te hardloop 852 00:47:28,940 --> 00:47:31,640 want daar is hierdie opdrag op sommige bedieners genoem trace route 853 00:47:31,640 --> 00:47:34,810 wat u toelaat om die roete tussen die punte a en b op te spoor, 854 00:47:34,810 --> 00:47:37,020 en tot dusver het ons heeltemal neem as vanselfsprekend aanvaar 855 00:47:37,020 --> 00:47:40,170 dat ek kan tik in Google.com en op een of ander manier kry data terug 856 00:47:40,170 --> 00:47:43,530 van halfpad oor die land of halfpad oor die hele wêreld. 857 00:47:43,530 --> 00:47:45,810 Met trace ons kan eintlik duik in 'n bietjie dieper 858 00:47:45,810 --> 00:47:49,370 hoe die Internet werk, en kyk wat gaan aan onder die enjinkap. 859 00:47:49,370 --> 00:47:54,440 So laat ons gaan voort en arbitrêr spoor om 'n roete te sê, Stanford.edu, 860 00:47:54,440 --> 00:47:57,150 wat regoor die land, en druk enter. 861 00:47:57,150 --> 00:47:59,380 Hierdie opdrag kan wees super-vinnige of super-stadige, 862 00:47:59,380 --> 00:48:02,010 maar wat ons nou sien, reël vir reël, 863 00:48:02,010 --> 00:48:08,060 is elkeen van die stappe of hoep tussen ons en Palo Alto, of Stanford, 864 00:48:08,060 --> 00:48:11,010 waar hulle hul webbediener. 865 00:48:11,010 --> 00:48:16,600 So wat beteken elk van hierdie lyne verteenwoordig meer konkreet, al is? 866 00:48:16,600 --> 00:48:19,100 'N stukkie van die jargon van die Internet? [Student, onverstaanbaar] 867 00:48:19,100 --> 00:48:21,570 >> Wat is dit? [Student, onverstaanbaar] 868 00:48:21,570 --> 00:48:25,390 >> O, so daar is tye, maar wat elke ry nie - wat beteken dat ek nie deur hop? 869 00:48:25,390 --> 00:48:29,140 >> Wel, daar is hierdie dinge op die internet genoem routers. 870 00:48:29,140 --> 00:48:33,020 En routers, soos die naam aandui, roete-inligting vanaf punt A na punt B. 871 00:48:33,020 --> 00:48:36,920 Maar daar is 'n paar punte buite a en b. 872 00:48:36,920 --> 00:48:40,010 Daar is c en d en e en f tussen ry 1, 873 00:48:40,010 --> 00:48:43,480 wat gebeur met my rekenaar se IP-adres, 874 00:48:43,480 --> 00:48:46,890 of my numeriese adres, wat uniek my rekenaar identifiseer, 875 00:48:46,890 --> 00:48:50,300 en stap 15, wat eintlik die sesde webbediener, 876 00:48:50,300 --> 00:48:54,640 glo, wat ek afleidings van hierdie, of weergawe 6 van hulle webbediener by Stanford. 877 00:48:54,640 --> 00:48:56,680 Maar wat is soort van netjies is, kan ons sien die pad 878 00:48:56,680 --> 00:49:00,480 dat my 0 en 1 se neem van my rekenaar na Stanford. 879 00:49:00,480 --> 00:49:02,500 So stap 1 is my eie rekenaar se adres. 880 00:49:02,500 --> 00:49:05,760 Elke rekenaar op die Internet het 'n unieke identifikasienommer wat lyk soos hierdie. 881 00:49:05,760 --> 00:49:08,150 Number.number.number.number. 882 00:49:08,150 --> 00:49:10,370 Iewers op hierdie kampus, waarskynlik in die wetenskap sentrum, 883 00:49:10,370 --> 00:49:16,780 word 'n router genoem Core Gateway 2-te83, wat dit ook al beteken, 884 00:49:16,780 --> 00:49:20,590 so dit is een van Harvard se groot fancy routers wat 'n baie van hulle verkeer roetes. 885 00:49:20,590 --> 00:49:24,640 Hier is nog een van Harvard se routers, hierdie een is Border Gateway, 886 00:49:24,640 --> 00:49:28,310 grens betekenis is dit waarskynlik iewers op die rand van die kampus. 887 00:49:28,480 --> 00:49:32,790 Dan is daar nox een, ry 4, wat is Noord Crossroads, 888 00:49:32,790 --> 00:49:35,070 wat 'n groot ISP, Internet Diens Verskaffer, 889 00:49:35,070 --> 00:49:37,740 dat plekke soos Harvard verbind tot. 890 00:49:37,740 --> 00:49:40,760 Maar toe het dinge 'n bietjie interessant in reël 6. 891 00:49:40,760 --> 00:49:45,960 Waar is my stukkies al van 'n skielike? Kansas. 892 00:49:45,960 --> 00:49:49,300 Die wêreld het 'n gewoonte van die lughawe kodes gebruik in 'n baie van hierdie dinge, 893 00:49:49,300 --> 00:49:52,900 of ten minste afkortings vir state of stede, 894 00:49:52,900 --> 00:49:56,490 sodat dit lyk soos, in net 60 ms, 895 00:49:56,490 --> 00:49:59,420 'n pakkie van inligting, 0 en 1 is van my laptop 896 00:49:59,420 --> 00:50:03,210 het al die pad na Kansas, en weer, in 60 ms. 897 00:50:03,210 --> 00:50:08,180 >> Buitendien, ná Kansas, hulle het 'n toer deur middel van Houston, waarskynlik, 898 00:50:08,180 --> 00:50:10,140 soos voorgestel deur die naam van hierdie bediener. 899 00:50:10,140 --> 00:50:13,310 Dus, net soos 'n bediener op die internet moet 'n numeriese adres, 900 00:50:13,310 --> 00:50:18,360 Dit kan ook opsioneel, 'n effens meer mens-vriendelike adres dat mense vorendag gekom met. 901 00:50:18,360 --> 00:50:20,510 Nou, in stap 8, doen ons nie weet wat dit is. 902 00:50:20,510 --> 00:50:22,550 Soms routers net soort van ignoreer jou, 903 00:50:22,550 --> 00:50:25,010 en hulle het net nie die vrae beantwoord nie, so dit is goed. 904 00:50:25,010 --> 00:50:29,290 Die een na stap 8 is blykbaar waar? Griffier: 905 00:50:29,290 --> 00:50:35,290 Kennisgewing in slegs 78 ms, wat neem ons mense soos 6 + ure om fisies te doen, 906 00:50:35,290 --> 00:50:40,110 neem pakkies van inligting op die internet 78 ms om so ver te reis. 907 00:50:40,110 --> 00:50:45,890 Stap 10 in LA is so goed, en stap 11 noord weg blyk te wees, naby Stanford. 908 00:50:45,890 --> 00:50:48,750 Dit is die grens router, of grens router. 909 00:50:48,750 --> 00:50:51,240 'N paar stappe by Stanford wat ignoreer ons, 910 00:50:51,240 --> 00:50:55,610 en laastens, kom ons by die webbediener in net 87 ms. 911 00:50:55,610 --> 00:50:57,760 Nou, al wat van hierdie getalle, as 'n eenkant, 912 00:50:57,760 --> 00:51:00,640 vertel nie net hoe lank dit neem om vir inligting te kry van my 913 00:51:00,640 --> 00:51:03,530 aan elk van hierdie routers, en dit is nie akkumulatiewe. 914 00:51:03,530 --> 00:51:06,960 Wat hierdie program nie, stuur dit die eerste keer 'n boodskap, in wese, tot die eerste router. 915 00:51:06,960 --> 00:51:09,490 Toe het die een na die tweede router, dan een na die derde router, 916 00:51:09,490 --> 00:51:12,610 elke keer te meet. Dus, in teorie, hierdie tye sal groei 917 00:51:12,610 --> 00:51:14,860 of ten minste redelik naby aan mekaar, 918 00:51:14,860 --> 00:51:18,090 en, inderdaad, die kinders wat is reg hier op die kampus is super-klein. 919 00:51:18,090 --> 00:51:20,820 Sodra jy begin gaan regoor die land, wat dit neem om data 920 00:51:20,820 --> 00:51:24,830 'n bietjie langer te reis, nader aan 100 ms, gee of neem. 921 00:51:24,830 --> 00:51:28,330 Maar laat ons nou gaan die ander rigting. Hoe oor die Universiteit van Cambridge in die Verenigde Koninkryk? 922 00:51:28,330 --> 00:51:32,540 Laat my plaas loop trace van www.cam vir Cambridge, 923 00:51:32,540 --> 00:51:36,710 Ac vir akademiese, uk, en druk hier kan insleutel. 924 00:51:36,710 --> 00:51:38,830 Dit was pretty damn vinnig. 925 00:51:38,830 --> 00:51:43,300 My data letterlik na Cambridge, Engeland, in daardie breukdeel van 'n sekonde van die tyd. 926 00:51:43,300 --> 00:51:45,340 >> So laat ons sien die pad wat dit geneem het. 927 00:51:45,340 --> 00:51:47,520 Harvard, Harvard, Harvard, Noord Crossroads, 928 00:51:47,520 --> 00:51:52,690 wat is 'n ISP, en dan is dit Noord Crossroads, en dan bam. 929 00:51:52,690 --> 00:51:58,320 Wat is in die tussen stappe 6 en 7, router 6 en 7? 930 00:51:58,320 --> 00:52:02,040 Die Atlantiese Oseaan. En ons maak afleidings uit die feit dat 931 00:52:02,040 --> 00:52:06,530 ons gaan van 20 ms hier tot 80 ms hier. 932 00:52:06,530 --> 00:52:10,050 So iets het 60 ms, gee of neem, te kry oor. 933 00:52:10,050 --> 00:52:12,910 En dit was waarskynlik 'n groot liggaam van water. 934 00:52:12,910 --> 00:52:15,250 Wat gaan op na daardie? Wel, hier is ons nou in Londen, 935 00:52:15,250 --> 00:52:18,860 net 88 ms later. Meer London, London, 936 00:52:18,860 --> 00:52:21,730 nie seker waar dit is nie, maar ons sal aanneem dit is buite Londen, 937 00:52:21,730 --> 00:52:26,390 Cambridge hier, en uiteindelik het ons - letterlik, Universiteit van Cambridge 938 00:52:26,390 --> 00:52:29,500 Something.net, en uiteindelik, in line 16, 939 00:52:29,500 --> 00:52:31,720 hul web bediener is blykbaar genoem Scorpius 940 00:52:31,720 --> 00:52:35,500 onder die kap, selfs al weet ons dit as die www. 941 00:52:35,500 --> 00:52:38,790 Soort van gedagte-blaas, dink ek. Die eerste keer dat ek dit gedoen het, is dit heeltemal blaas my gedagtes. 942 00:52:38,790 --> 00:52:41,670 Ongelukkig, Harvard blokkeer hierdie soort van die verkeer, tipies op die netwerk. 943 00:52:41,670 --> 00:52:44,340 Sodat jy kan dit nie doen nie super maklik. 944 00:52:44,340 --> 00:52:48,500 Besef, al is, dit is hier moontlik. 945 00:52:48,500 --> 00:52:53,630 Alles reg. Kom ons neem ons 5-minute break hier. Ons sal terug kom en duik dieper. 946 00:52:53,630 --> 00:53:00,850 So ons is terug, en ons het soort van gedrentel oor in 'n paar verskillende rigtings. 947 00:53:00,850 --> 00:53:03,700 So laat se presies wat hier aan die gang te som. 948 00:53:03,700 --> 00:53:07,990 Ons het die gesprek begin praat oor hierdie taal genoem HTML. 949 00:53:07,990 --> 00:53:10,680 Weer, nie 'n programmeertaal. Dit is net 'n opmaak taal 950 00:53:10,680 --> 00:53:15,490 wat is grootliks oor estetika en strukturering van die inhoud in die vorm van 'n webblad. 951 00:53:15,490 --> 00:53:19,220 Maar HTML, dus moet 'n paar soort meganisme 952 00:53:19,220 --> 00:53:22,870 vir reis tussen webblaaier en bediener. 953 00:53:22,870 --> 00:53:28,360 HTML dus soort ritte op die top van hierdie ander taal, 954 00:53:28,360 --> 00:53:31,280 of meer gewoon, 'n protokol, bekend as HTTP. 955 00:53:31,280 --> 00:53:33,730 >> En HTTP, soos ons dit tot dusver gesien het, 956 00:53:33,730 --> 00:53:37,140 is 'n soort van analoog aan hierdie menslike konvensie om hand te skud. 957 00:53:37,140 --> 00:53:39,940 Wanneer 'n leser wil om 'n bladsy uit 'n bediener te versoek, 958 00:53:39,940 --> 00:53:43,450 stuur dit dat "kry" versoek van die leser aan 'n bediener, 959 00:53:43,450 --> 00:53:48,040 en dan die bediener reageer met 'n getal soos 200, alles is okay, 960 00:53:48,040 --> 00:53:53,290 sowel as die HTML-of 'n paar slegte getal soos 404, lêer nie gevind nie. 961 00:53:53,290 --> 00:53:58,220 Maar intussen, HTTP self is nie die Internet, per se. 962 00:53:58,220 --> 00:54:01,550 HTTP is net 'n diens, 'n kenmerk van die Internet 963 00:54:01,550 --> 00:54:05,530 baie soos G-chat is 'n ander diens, baie soos e-pos is 'n ander diens. 964 00:54:05,530 --> 00:54:09,180 Daar is alle vorme van die dinge wat ons kan doen op die internet. 965 00:54:09,180 --> 00:54:12,670 HTTP is net een van dié aansoeke. 966 00:54:12,670 --> 00:54:17,210 Dus, op die top van HTTP is op die top van iets anders 967 00:54:17,210 --> 00:54:21,750 wat ons nie by die naam noem, mag jy dalk gehoor het van by die naam, TCP / IP. 968 00:54:21,750 --> 00:54:25,160 So die storie dat ons net daar vertel is alles oor 969 00:54:25,160 --> 00:54:28,720 hoe data beweeg van punt A na punt B. 970 00:54:28,720 --> 00:54:30,950 En in hierdie geval, ons het op 'n baie lae vlak 971 00:54:30,950 --> 00:54:33,060 router router router te router, 972 00:54:33,060 --> 00:54:35,390 hoe die data is eintlik gestuur word. 973 00:54:35,390 --> 00:54:40,510 Maar langs die pad, is dit aan die gang verskeie struikelblokke te ontmoet. 974 00:54:40,510 --> 00:54:43,770 Behalwe hierdie routers, daar is dinge wat firewalls op die Internet, 975 00:54:43,770 --> 00:54:46,680 en so data, soos wat ons was net die oordrag van 976 00:54:46,680 --> 00:54:49,720 van my aan Stanford, van my aan Cambridge, 977 00:54:49,720 --> 00:54:54,560 gestuur word, op hierdie vlak, iets genaamd 'n IP-adres. 978 00:54:54,560 --> 00:54:57,340 Ons het dit 'n oomblik gelede, en 'n IP-adres 979 00:54:57,340 --> 00:55:02,480 is net 'n numeriese adres van die vorm w.x.y.z, 980 00:55:02,480 --> 00:55:08,070 waar elk van hierdie is tussen, gee of neem, 0 en 255, 981 00:55:08,070 --> 00:55:10,080 maar jy kan nie heeltemal al daardie getalle. 982 00:55:10,080 --> 00:55:14,220 Maar elkeen van hierdie plek houers is 'n getal tussen 0 en 255. 983 00:55:14,220 --> 00:55:16,820 So 'n IP-adres van hierdie dae is 32 bisse. 984 00:55:16,820 --> 00:55:20,780 >> Nou, dit gee ons hoeveel moontlike IP-adresse in die wêreld? 985 00:55:20,780 --> 00:55:24,420 Sowat 4 miljard, want enige tyd ons tel in magte van 2 986 00:55:24,420 --> 00:55:27,760 al die pad tot by 32 van iets, wat ons gee gewoonlik 4 miljard. 987 00:55:27,760 --> 00:55:30,160 So dit is 'n baie van IP-adresse, maar jy kan lees, 988 00:55:30,160 --> 00:55:32,410 of jy kan nou sien in die populêre pers, 989 00:55:32,410 --> 00:55:36,020 roep 'n push na 'n nuwe weergawe van IP IPv6. 990 00:55:36,020 --> 00:55:38,290 Reg nou is ons die gebruik van weergawe 4. 991 00:55:38,290 --> 00:55:41,060 Daar is regtig nie 'n weergawe 5, ons is net spring reg tot 6. 992 00:55:41,060 --> 00:55:46,760 Weergawe 6 is 128 stukkies te gebruik vir die IP-adresse, wat is freaking groot. 993 00:55:46,760 --> 00:55:49,430 Ons moet nie uit vir 'n geruime tyd nou, 994 00:55:49,430 --> 00:55:52,980 maar ons het begin om uit te voer van weergawe 4 IP-adresse, 995 00:55:52,980 --> 00:55:56,110 want almal van ons het nie net dinge soos skootrekenaars en desktops, 996 00:55:56,110 --> 00:55:58,700 baie van ons het selfone, baie van ons het ander toestelle 997 00:55:58,700 --> 00:56:01,600 soos TiVo en die soos wat IP-adresse self. 998 00:56:01,600 --> 00:56:03,720 Harvard self het tien duisende van rekenaars. 999 00:56:03,720 --> 00:56:07,970 Sodat die wêreld is werklik besig om uit te loop van IP-adresse, ten minste van hierdie vorm. 1000 00:56:07,970 --> 00:56:10,340 So oor die volgende paar jaar, gaan jy die adresse te sien 1001 00:56:10,340 --> 00:56:12,870 op jou eie rekenaars waarskynlik stadig verander 1002 00:56:12,870 --> 00:56:16,740 soos meer en meer maatskappye en universiteite begin om die nuwer weergawe te ondersteun. 1003 00:56:16,740 --> 00:56:22,770 Maar 'n IP-adres is nie voldoende vir die rekenaar 'n data van die rekenaar b aan te vra. 1004 00:56:22,770 --> 00:56:24,950 Omdat rekenaar b 'n bediener kon wees, 1005 00:56:24,950 --> 00:56:27,600 en 'n bediener, soos ek vroeër genoem het, kan trosse van dinge doen. 1006 00:56:27,600 --> 00:56:29,940 Dit webblaaie kan aanbied, kan dit 'n e-pos bediener, 1007 00:56:29,940 --> 00:56:32,310 dit kan 'n Skype-bediener, kan dit 'n G-chat server. 1008 00:56:32,310 --> 00:56:35,870 >> Al hierdie verskillende dienste wat voorsien word op 'n bediener 1009 00:56:35,870 --> 00:56:38,330 kon al, fisies, op dieselfde masjien. 1010 00:56:38,330 --> 00:56:40,380 Dus, in Benewens IP-adresse, 1011 00:56:40,380 --> 00:56:43,250 die wêreld het die dinge wat ons hawens op die Internet genoem. 1012 00:56:43,250 --> 00:56:47,830 'N hawe is net 'n nommer nie, so daar is 'n unieke nommer vir HTTP. 1013 00:56:47,830 --> 00:56:50,280 Sy getal is 80. 1014 00:56:50,280 --> 00:56:55,870 HTTP gebruik ook nommer 443, maar meer spesifiek, vir geïnkripteer HTTPS. 1015 00:56:55,870 --> 00:57:00,030 Wanneer jy sien die s, vir 'n veilige, dat die gebruik van 'n ander getal. 1016 00:57:00,030 --> 00:57:06,580 Daar is ander getalle soos 25, wat gebruik word vir iets genoem SMTP, andersins bekend as e-pos. 1017 00:57:06,580 --> 00:57:09,620 Daar is iets genaamd 22 vir SSH, 1018 00:57:09,620 --> 00:57:11,850 en daar is 'n hele klomp van die ander hawens daar buite. 1019 00:57:11,850 --> 00:57:14,460 Nou, ons mense selde sien hierdie getalle. 1020 00:57:14,460 --> 00:57:21,970 Maar, wanneer jy tik in 'n adres soos http://www.facebook.com 1021 00:57:21,970 --> 00:57:26,560 die leser is die geheim invoeging 80, omdat jy met behulp van HTTP. 1022 00:57:26,560 --> 00:57:30,630 As jy, in plaas tipe HTTPS, dit is die geheim die invoeging van 443. 1023 00:57:30,630 --> 00:57:35,180 En ons kan soort van sien dit handmatig as ek trek 'n Brower 1024 00:57:35,180 --> 00:57:41,850 en gaan tot http://www.facebook.com:80. 1025 00:57:41,850 --> 00:57:44,550 Daarom uitdruklik met verwysing na nie net die naam van die webwerf 1026 00:57:44,550 --> 00:57:47,650 maar die poort wat ek wil om te praat, en druk enter. 1027 00:57:47,650 --> 00:57:50,170 Let op dit verdwyn, omdat die leser aanvaar, 1028 00:57:50,170 --> 00:57:53,360 oh, 80, ek nie eens gaan om te pla toon dat jy. 1029 00:57:53,360 --> 00:57:56,400 Maar die rede hiervoor is dat as ek eintlik wou iemand 'n e-pos te stuur, 1030 00:57:56,400 --> 00:58:02,340 Ek sou regtig stuur dit aan hulle op poort 25, dat SMTP. 1031 00:58:02,340 --> 00:58:04,890 'N bietjie van 'n oorvereenvoudiging, maar sommige van julle het vriende 1032 00:58:04,890 --> 00:58:09,290 wat eintlik werk op Facebook, en hulle, op soortgelyke wyse, het bedieners wat e-pos ontvang. 1033 00:58:09,290 --> 00:58:12,610 >> Enige tyd wat jy stuur 'n e-pos, wat is gmail vir jou doen 1034 00:58:12,610 --> 00:58:14,960 of Outlook of wat ookal program wat jy gebruik, 1035 00:58:14,960 --> 00:58:19,270 dit is soort van die geheim invoeging dat die getal, asook, 25, in daardie geval. 1036 00:58:19,270 --> 00:58:24,490 Dit is hierdie kombinasie van 'n IP-adres en uniek nommer wat identifiseer 1037 00:58:24,490 --> 00:58:29,190 'n rekenaar op die internet en 'n spesifieke diens op die rekenaar. 1038 00:58:29,190 --> 00:58:33,460 Nou, natuurlik, die meeste van ons waarskynlik nooit getik handmatig 'n IP-adres. 1039 00:58:33,460 --> 00:58:37,340 Miskien het jy in die toestel, maar in die werklike wêreld, nie so erg. 1040 00:58:37,340 --> 00:58:42,750 Waarom sou ons geen IP-adresse in die blaaier te tik? 1041 00:58:42,750 --> 00:58:45,860 Dit sou werk, in werklikheid, kan ons sien, laat ek jou wys 1042 00:58:45,860 --> 00:58:50,000 'n ander bevel wat enige plek werk op Harvard se kampus op 'n Mac of 'n rekenaar. 1043 00:58:50,000 --> 00:58:53,970 Daar is hierdie bevel genoem nslookup, name server lookup. 1044 00:58:53,970 --> 00:58:59,960 As ek opkyk www.cnn.com, dit blyk dat CNN het - oh, interessante. 1045 00:58:59,960 --> 00:59:03,180 CNN het begin met behulp van Amazon Web Services. 1046 00:59:03,180 --> 00:59:06,380 Jy dalk weet van Wolk Computing, Amazon is een van die groot spelers in die wolk rekenaar. 1047 00:59:06,380 --> 00:59:10,240 Wat ek nou net gedoen het, was, het ek gesê, "Gee my die adres van CNN se web-bediener, 1048 00:59:10,240 --> 00:59:14,090 maar dit blyk dat CNN se web-bediener word bestuur deur Amazon, 1049 00:59:14,090 --> 00:59:16,030 Amazon Web Services, dit dui daarop. 1050 00:59:16,030 --> 00:59:19,680 En die adres van die bediener is dit hier. 1051 00:59:19,680 --> 00:59:22,350 So ek is nie seker of dit sal werk, want hulle het nie gebruik Amazon te gebruik. 1052 00:59:22,350 --> 00:59:32,830 Maar laat ons probeer om hierdie; http://, IP-adres, betree, en - 1053 00:59:32,830 --> 00:59:35,690 dit gaan om te werk? 1054 00:59:35,690 --> 00:59:39,280 Ja. Dit gaan om te werk. Internet is super-stadige vandag. 1055 00:59:39,280 --> 00:59:43,680 Maar, in 'n oomblik, sal jy sien 'n paar nuus storie. 1056 00:59:43,680 --> 00:59:48,360 Daar gaan ons. Bank van Amerika se gedagvaar word. Alles reg. 1057 00:59:48,360 --> 00:59:54,000 >> Dit is omdat hierdie IP-adres net gebeur deur sinoniem met www.cnn.com. 1058 00:59:54,000 --> 00:59:59,920 Natuurlik, sou dit verskriklik bemarking wees om te sê, besoek ons ​​op die web by 50.112.94.127. 1059 00:59:59,920 --> 01:00:02,370 Jy sou nooit onthou nie. So selfs hierdie dae wat jy kan onthou dinge 1060 01:00:02,370 --> 01:00:07,210 die wêreld het soos 1-800-COLLECT of geheue hulpjes vir telefoonnommers. 1061 01:00:07,210 --> 01:00:09,540 Wat voor selfone, was nogal moeilik om te onthou 1062 01:00:09,540 --> 01:00:11,800 totdat jy kan net tik dit in en vergeet oor dit. 1063 01:00:11,800 --> 01:00:15,730 So het die Web, ook, het hierdie konvensie van name en IP-adresse, 1064 01:00:15,730 --> 01:00:17,770 en daar is hierdie dinge daar buite het DNS-bedieners, 1065 01:00:17,770 --> 01:00:23,870 domein naam bedieners, wat vertaal IP-adresse in name en vice versa. 1066 01:00:23,870 --> 01:00:26,340 So dit is wat gaan aan onder die enjinkap. 1067 01:00:26,340 --> 01:00:29,540 Op die ou end, het ons TCP / IP, wat is hierdie 'n baie lae vlak protokol 1068 01:00:29,540 --> 01:00:32,570 dat, regtig, kry net 0 en 1's oor die internet, 1069 01:00:32,570 --> 01:00:36,030 en dit doen dit deur hulle in 'n virtuele koevert, 1070 01:00:36,030 --> 01:00:38,820 as jy wil, en skryf op die buitekant van die koevert 1071 01:00:38,820 --> 01:00:43,930 die IP-adres van die bestemming, asook die numeriese poort nommer 1072 01:00:43,930 --> 01:00:47,520 van die diens op die bestemming wat dit wil om te praat met. 1073 01:00:47,520 --> 01:00:51,060 Intussen, op die koevert daar is ook iets wat bekend staan ​​as 'n terugkeer adres, 1074 01:00:51,060 --> 01:00:55,600 wat is jou IP-adres, sodat wanneer CNN kry 'n pakkie van die inligting van jou, 1075 01:00:55,600 --> 01:00:58,710 hierdie virtuele koevert oopmaak, sien dat jy wil hê dat die home page, 1076 01:00:58,710 --> 01:01:04,630 hy weet van die sender deel van hierdie virtuele koevert wie die HTML terug te stuur. 1077 01:01:04,630 --> 01:01:07,470 So laat ons neem 'n blik op hierdie in 'n bietjie meer detail. 1078 01:01:07,470 --> 01:01:11,370 Dit is van 'n maatskappy genaamd Ericson, van 'n paar jaar terug. 1079 01:01:11,370 --> 01:01:14,780 En hulle het 'n paar vryhede met hoe die Internet werk, 1080 01:01:14,780 --> 01:01:18,920 maar dit verf 'n veel meer visuele prentjie as net kryt hier. 1081 01:01:18,920 --> 01:01:26,690 So EK gee julle "'n bietjie van die internet." 1082 01:02:26,660 --> 01:02:29,840 >> [Verteller] Vir die eerste keer in die geskiedenis, 1083 01:02:29,840 --> 01:02:35,260 mense en masjinerie werk saam, die verwesenliking van 'n droom. 1084 01:02:35,260 --> 01:02:38,910 'N verenigende krag wat ken geen geografiese grense. 1085 01:02:38,910 --> 01:02:43,230 Sonder inagneming van ras, geloof, of kleur. 1086 01:02:43,230 --> 01:02:47,770 'N nuwe era waar kommunikasie werklik mense saam bring. 1087 01:02:47,770 --> 01:02:50,070 Dit is 1088 01:02:50,070 --> 01:02:54,980 Die aanbreek van die Net. 1089 01:02:54,980 --> 01:03:04,640 Wil jy om te weet hoe dit werk? Kliek hier om jou reis om te begin in die Net. 1090 01:03:04,640 --> 01:03:07,890 Nou, presies wat gebeur wanneer jy op die skakel gekliek? 1091 01:03:07,890 --> 01:03:10,150 Jy begin met 'n vloei van inligting. 1092 01:03:10,150 --> 01:03:13,310 Hierdie inligting reis in jou eie persoonlike postkamer 1093 01:03:13,310 --> 01:03:18,500 waar mnr. IP pakkette, etikette, en stuur dit op sy manier. 1094 01:03:18,500 --> 01:03:20,960 Elke pakkie is beperk in sy grootte. 1095 01:03:20,960 --> 01:03:23,880 Die e-pos-kamer moet besluit hoe om die inligting te verdeel 1096 01:03:23,880 --> 01:03:26,070 en hoe om dit te verpak. 1097 01:03:26,070 --> 01:03:29,550 Nou, die pakket moet 'n etiket wat belangrike inligting bevat 1098 01:03:29,550 --> 01:03:35,570 soos afsender se adres, die ontvanger se adres, en die tipe van die pakkie is dit. 1099 01:03:51,700 --> 01:03:54,980 Omdat hierdie spesifieke pakkie gaan uit op die Internet, 1100 01:03:54,980 --> 01:03:57,720 dit kry ook 'n adres vir die proxy server, 1101 01:03:57,720 --> 01:04:01,520 wat het 'n spesiale funksie, soos ons later sal sien. 1102 01:04:01,520 --> 01:04:06,650 Die pakkie is nou van stapel gestuur op jou plaaslike area netwerk of LAN. 1103 01:04:06,650 --> 01:04:10,160 Hierdie netwerk word gebruik om al die plaaslike rekenaars aan te sluit ' 1104 01:04:10,160 --> 01:04:15,900 routers, drukkers, ensovoorts, vir die uitruil van inligting binne die fisiese mure van die gebou. 1105 01:04:15,900 --> 01:04:20,290 Die LAN is 'n mooi onbeheerde plek, en ongelukkig, 1106 01:04:20,290 --> 01:04:23,950 ongelukke kan gebeur. 1107 01:04:31,190 --> 01:04:34,710 Die grootpad van die LAN is gepak met alle vorme van inligting. 1108 01:04:34,710 --> 01:04:38,900 Dit is IP pakkies, Novell pakkies, Apple Talk pakkies. 1109 01:04:38,900 --> 01:04:41,270 Hulle gaan teen die verkeer, soos gewoonlik. 1110 01:04:41,270 --> 01:04:44,260 Die plaaslike router lees die adres en, indien nodig, 1111 01:04:44,260 --> 01:04:48,520 lig die pakkie na 'n ander netwerk. 1112 01:04:48,520 --> 01:04:54,270 Ag, die router. 'N simbool van beheer in 'n oënskynlik ongeorganiseerd wêreld. 1113 01:04:54,270 --> 01:05:05,480 [Router gemompel en praat vir homself] 1114 01:05:05,480 --> 01:05:10,030 >> [Verteller] Daar is hy, sistematiese, liefdeloos, metodiese, 1115 01:05:10,030 --> 01:05:14,150 konserwatief, en soms nie heeltemal te bespoedig. 1116 01:05:14,150 --> 01:05:17,680 Maar ten minste het hy is presies, vir die grootste deel. 1117 01:05:32,270 --> 01:05:36,820 As die pakkies die router verlaat, hulle maak hul pad in die korporatiewe Internet 1118 01:05:36,820 --> 01:05:40,830 en hoof vir die router skakelaar. 1119 01:05:40,830 --> 01:05:46,250 'N bietjie meer doeltreffend as die router, die router skakelaar speel vinnig en los met 'n IP pakkies, 1120 01:05:46,250 --> 01:05:48,920 behendig routing hulle langs die pad. 1121 01:05:48,920 --> 01:05:52,130 'N digitale Pinball Wizard, "as jy wil. 1122 01:05:52,130 --> 01:06:04,270 [Router skakelaar vir homself praat] 1123 01:06:09,830 --> 01:06:12,150 [Verteller] As pakkies op hul bestemming aankom, 1124 01:06:12,150 --> 01:06:14,740 hulle is opgetel deur die netwerk koppelvlak, 1125 01:06:14,740 --> 01:06:18,040 gereed om te gestuur word na die volgende vlak. 1126 01:06:18,040 --> 01:06:21,010 In hierdie geval, die gevolmagtigde. 1127 01:06:21,010 --> 01:06:25,040 Die volmag deur baie maatskappye gebruik as 'n soort van 'n middeljarige man 1128 01:06:25,040 --> 01:06:27,630 ten einde die las op die Internet verbinding te verminder 1129 01:06:27,630 --> 01:06:32,240 en vir sekuriteit redes, as well. 1130 01:06:32,240 --> 01:06:38,750 Soos jy kan sien, die pakkies is al van verskillende groottes, afhangende van die inhoud daarvan. 1131 01:06:55,210 --> 01:07:01,890 Die gevolmagtigde maak die pakkie oop en kyk vir die web adres of URL. 1132 01:07:01,890 --> 01:07:04,950 Afhangende van of die adres aanvaarbaar is, 1133 01:07:04,950 --> 01:07:08,000 die pakkie is gestuur op die Internet. 1134 01:07:13,890 --> 01:07:19,630 Daar is egter 'n paar adresse wat nie voldoen aan met die goedkeuring van die volmag. 1135 01:07:19,630 --> 01:07:25,680 Dit is om te sê, korporatiewe of bestuur riglyne. 1136 01:07:25,680 --> 01:07:30,580 Dit word summier behandel. 1137 01:07:30,580 --> 01:07:32,410 Ons sal nie een van daardie. 1138 01:07:32,410 --> 01:07:36,350 Vir diegene wat dit maak, dit is weer op die pad. 1139 01:07:46,850 --> 01:07:53,310 >> Next up, die firewall. 1140 01:07:53,310 --> 01:07:57,410 Die korporatiewe firewall dien twee doeleindes. 1141 01:07:57,410 --> 01:08:02,420 Dit verhoed dat sommige eerder nare dinge van die Internet kom in die Intranet, 1142 01:08:02,420 --> 01:08:10,280 en dit kan ook verhoed dat sensitiewe korporatiewe inligting gestuur word op die Internet. 1143 01:08:10,280 --> 01:08:12,980 Sodra deur die firewall, 'n router die pakkie optel 1144 01:08:12,980 --> 01:08:18,180 en plaas dit op 'n veel nouer pad, of bandwydte, as ons sê. 1145 01:08:18,180 --> 01:08:23,720 Natuurlik, die pad is nie breed genoeg is om hulle almal te neem. 1146 01:08:23,720 --> 01:08:29,319 Nou, kan jy dalk wonder wat gebeur met al die pakkies wat dit nie maak langs die pad. 1147 01:08:29,319 --> 01:08:32,270 Wel, wanneer mnr. IP nie 'n erkenning ontvang nie 1148 01:08:32,270 --> 01:08:35,000 dat 'n pakkie op die regte tyd ontvang is, 1149 01:08:35,000 --> 01:08:39,890 stuur hy net 'n plaasvervanger pakkie. 1150 01:08:39,890 --> 01:08:44,760 Ons is nou gereed om die wêreld van die Internet in te voer. 1151 01:08:44,760 --> 01:08:49,370 'N spinnerak van onderling netwerke wat ons hele wêreld strek. 1152 01:08:49,370 --> 01:08:56,050 Hier, routers en switches skakels tussen netwerke. 1153 01:08:56,050 --> 01:08:59,200 Nou, die Net is 'n heeltemal ander omgewing as wat jy sal vind 1154 01:08:59,200 --> 01:09:01,569 binne die beskermende mure van jou LAN. 1155 01:09:01,569 --> 01:09:04,060 Hier, dis die Wilde Weste. 1156 01:09:04,060 --> 01:09:06,359 Baie van die ruimte, baie geleenthede, 1157 01:09:06,359 --> 01:09:09,760 baie van die dinge om te verken en plekke om te gaan. 1158 01:09:09,760 --> 01:09:12,760 Te danke aan baie min beheer en regulering, 1159 01:09:12,760 --> 01:09:18,300 nuwe idees vrugbare grond om die koevert te stoot van hul moontlikhede. 1160 01:09:18,300 --> 01:09:22,330 Maar as gevolg van hierdie vryheid, ook sekere gevare loer. 1161 01:09:22,330 --> 01:09:27,000 Jy weet nooit wanneer jy voldoen aan die gevreesde ping van die dood, 1162 01:09:27,000 --> 01:09:29,890 'n spesiale weergawe van 'n normale versoek ping, 1163 01:09:29,890 --> 01:09:35,720 wat 'n idioot het gedink tot gemors niksvermoedende die leërskare. 1164 01:09:35,720 --> 01:09:39,130 Die pad wat ons pakkies neem kan via satelliet, 1165 01:09:39,130 --> 01:09:43,090 telefoonlyne, draadloos, of selfs oceaan kabel. 1166 01:09:43,090 --> 01:09:46,520 Hulle nie altyd die vinnigste of kortste roetes moontlik, 1167 01:09:46,520 --> 01:09:50,290 maar hulle sal daar uiteindelik kry. 1168 01:09:50,290 --> 01:09:55,230 Miskien is dit waarom dit soms genoem "The World Wide Wag." 1169 01:09:55,230 --> 01:09:57,980 Maar wanneer alles vlot, 1170 01:09:57,980 --> 01:10:03,800 jy die wêreld kan vyf keer oor omseil by die druppel van 'n hoed, letterlik. 1171 01:10:03,800 --> 01:10:08,230 En vir die koste van 'n plaaslike oproep of minder. 1172 01:10:08,230 --> 01:10:15,070 Naby die einde van ons bestemming, ons kry nog 'n firewall. 1173 01:10:15,070 --> 01:10:18,420 >> Afhangende van jou perspektief as 'n data pakkie, 1174 01:10:18,420 --> 01:10:23,730 die firewall kan 'n bastion van sekuriteit of 'n gevreesde teenstander wees. 1175 01:10:23,730 --> 01:10:28,530 Dit hang alles af van watter kant jy is en wat jou bedoelings is. 1176 01:10:28,530 --> 01:10:34,990 Die firewall is ontwerp om jou te laat in slegs daardie pakkies wat voldoen aan die kriteria. 1177 01:10:34,990 --> 01:10:39,360 Hierdie firewall poorte 80 en 25. 1178 01:10:39,360 --> 01:10:46,630 Alle pogings om in te gaan deur die ander hawens gesluit is vir besigheidsdoeleindes. 1179 01:10:57,660 --> 01:11:03,480 Port 25 is wat gebruik word vir die pos pakkies, 1180 01:11:03,480 --> 01:11:10,720 terwyl poort 80 is die ingang vir pakkies van die Internet die webbediener. 1181 01:11:10,720 --> 01:11:15,080 Binne die firewall, word pakkies meer deeglik gekeur. 1182 01:11:15,080 --> 01:11:17,970 Sommige pakkies maak dit maklik deur die doeane, 1183 01:11:17,970 --> 01:11:21,420 terwyl ander kyk net 'n bietjie twyfelagtige. 1184 01:11:21,420 --> 01:11:24,060 Nou, is die firewall beampte nie maklik geflous, 1185 01:11:24,060 --> 01:11:32,120 soos wanneer hierdie ping van die dood pakkie probeer om homself te vermom as 'n normale ping pakkie. 1186 01:11:32,120 --> 01:11:37,520 [Firewall beampte te praat pakkies] 1187 01:11:37,520 --> 01:11:40,510 [Verteller] Vir diegene pakkies gelukkig genoeg is om dit so ver, 1188 01:11:40,510 --> 01:11:45,730 die reis is byna verby. 1189 01:11:45,730 --> 01:11:52,130 Dit is net 'n lyn op die koppelvlak om opgeneem te word in die web-bediener. 1190 01:11:52,130 --> 01:11:55,440 Vandag, kan 'n web bediener hardloop oor baie dinge, 1191 01:11:55,440 --> 01:11:59,230 van 'n mainframe na 'n web cam op die rekenaar op jou lessenaar. 1192 01:11:59,230 --> 01:12:01,720 Waarom nie jou yskas? 1193 01:12:01,720 --> 01:12:04,870 Met die regte setup, kan jy vind uit of jy het ' 1194 01:12:04,870 --> 01:12:08,390 vir Chicken Cacciatore, of as jy het om te gaan inkopies doen. 1195 01:12:08,390 --> 01:12:11,760 Onthou, dit is die begin van die Net. 1196 01:12:11,760 --> 01:12:17,310 Byna enigiets is moontlik. 1197 01:12:17,310 --> 01:12:20,440 Een vir een, is die pakkies ontvang, 1198 01:12:20,440 --> 01:12:26,320 oopgemaak word, en uitgepak. 1199 01:12:26,320 --> 01:12:31,200 Die inligting wat hulle bevat, dit is jou versoek vir inligting, 1200 01:12:31,200 --> 01:12:34,830 gestuur word na die web bediener aansoek. 1201 01:12:41,540 --> 01:12:47,140 Die pakkie self herwin, 1202 01:12:47,140 --> 01:12:57,570 gereed om weer te gebruik, en gevul met jou gevraagde inligting, 1203 01:12:57,570 --> 01:13:03,340 aangespreek is, en uitgestuur op sy pad terug na jou. 1204 01:13:03,340 --> 01:13:13,250 Terug verby die firewall, routers, en deur tot die Internet. 1205 01:13:13,250 --> 01:13:21,020 Terug deur jou korporatiewe firewall 1206 01:13:21,020 --> 01:13:24,180 en op jou interface, 1207 01:13:24,180 --> 01:13:31,180 gereed om jou webblaaier met die inligting wat u versoek het, te voorsien. 1208 01:13:31,180 --> 01:13:39,840 Dit is hierdie film. 1209 01:13:39,840 --> 01:13:43,550 Tevrede met hul pogings, en vertrou die beter wêreld, 1210 01:13:43,550 --> 01:13:50,250 ons betroubare data pakkies ry salig in die sonsondergang van 'n ander dag, 1211 01:13:50,250 --> 01:13:56,880 wetende dat ten volle hulle hul meesters gedien het goed. 1212 01:13:56,880 --> 01:14:02,560 Nou, is dit nie 'n gelukkige einde? 1213 01:14:02,560 --> 01:14:07,040 [Malan] Okay, dis genoeg. Ons sal jou volgende week sien. 1214 01:14:07,040 --> 01:14:10,040 [CS50.TV]