1 00:00:00,000 --> 00:00:02,620 [Powered by Google Translate] [Tjedan 7, Nastavak] 2 00:00:02,620 --> 00:00:05,090 [David J. Malan, Sveučilište Harvard] 3 00:00:05,090 --> 00:00:07,780 [Ovo je CS50.] [CS50.TV] 4 00:00:07,780 --> 00:00:09,810 U redu. Dobrodošli natrag. Ovo je CS50, 5 00:00:09,810 --> 00:00:12,100 i to je kraj tjedna 7. 6 00:00:12,100 --> 00:00:15,460 Dakle, jedan od tih glupih sitnica koja ide oko interneta 7 00:00:15,460 --> 00:00:24,080 i mi slurped gore, a sada bi trebao malo geeky smisla za vas. 8 00:00:24,080 --> 00:00:28,330 Pa, to je smješnije s ovim tipom nego što je bio na vama. 9 00:00:28,330 --> 00:00:32,619 Govoreći o, dobro, dečki, 10 00:00:32,619 --> 00:00:42,550 danas je Nate rođendan. 11 00:00:42,550 --> 00:00:46,630 Da vam dati osjećaj koliko dobre Nate i ja smo 12 00:00:46,630 --> 00:00:50,140 na web razvoj temelji se na ponedjeljak u razredu, a temelji se sada na to, 13 00:00:50,140 --> 00:00:53,170 Mislila sam da ću podići Nate početnu stranicu, ako niste ga vidjeli još. 14 00:00:53,170 --> 00:00:57,020 Ovo ovdje IA Nate je HTML. 15 00:00:57,020 --> 00:00:59,380 Pa vidi svoju izvornog koda, ako želite vidjeti kako to učiniti, a Nate, 16 00:00:59,380 --> 00:01:02,250 ako vam možemo zabuniti samo kratko, osoblje je dobio vam malo nešto 17 00:01:02,250 --> 00:01:06,080 ako želite podijeliti neke desert s nekim od djece u razredu ovdje. 18 00:01:06,080 --> 00:01:10,150 Ako želite doći na dolje. 19 00:01:10,150 --> 00:01:14,350 Vi ste svi plješću i vrlo lijepo, ali nitko ne sjedi negdje u blizini Natea, 20 00:01:14,350 --> 00:01:17,560 iz nekog razloga, u tom leđa zoni. 21 00:01:17,560 --> 00:01:24,020 Pa možda možete pronaći neki ljudi uživati ​​ove s. 22 00:01:24,020 --> 00:01:33,380 Sretan rođendan, Nate. 23 00:01:33,380 --> 00:01:37,660 >> Dodatne hellos: Pokazali smo par isječaka iz naših CS50x studenata. 24 00:01:37,660 --> 00:01:39,710 Ako želite vidjeti tko je u svijetu 25 00:01:39,710 --> 00:01:41,850 koji je nakon zajedno, možete krenuti na ovaj URL, 26 00:01:41,850 --> 00:01:45,780 gdje je Joseph, jedan od naših TFS, stavio zajedno montaža vrsta 27 00:01:45,780 --> 00:01:50,290 svakoga tko je sastavlja ove videozapise, Rick Astley među njima. 28 00:01:50,290 --> 00:01:53,010 A ako ste se kretali kroz njih, to je stvarno vrlo inspirativan 29 00:01:53,010 --> 00:01:56,890 vidjeti raznolikost zemalja i gradova iz kojih su ljudi Pozdravljajući. 30 00:01:56,890 --> 00:02:00,830 Dakle, ako želite pogledati da, da će biti gore do kraja semestra. 31 00:02:00,830 --> 00:02:05,370 Danas ćemo nastaviti naš pogled na webu, web programiranje, HTML i slično, 32 00:02:05,370 --> 00:02:08,280 a imamo i ručak dolazi ovaj petak 33 00:02:08,280 --> 00:02:11,360 ako želite, a posebno, nisu to učinili prije. 34 00:02:11,360 --> 00:02:13,630 Ovaj petak je tema će biti Nate rođendan, 35 00:02:13,630 --> 00:02:15,700 pa ako želite imati rođendanski ručak sa Natea 36 00:02:15,700 --> 00:02:17,500 i drugi, neki od naših prijatelja iz industrije, 37 00:02:17,500 --> 00:02:19,300 molimo glavu taj URL tamo. 38 00:02:19,300 --> 00:02:22,510 Prostor, kao i uvijek, je ograničen. Također, ako ste zaboravili, 39 00:02:22,510 --> 00:02:26,460 shvatiti da sljedeći tjedan je rok za problemom set 4 je smetlar lov, 40 00:02:26,460 --> 00:02:30,070 čemu nakon oporavka svih tih JPEG iz card.raw, 41 00:02:30,070 --> 00:02:32,880 ti i tvoji kolege sekcija, ako želite, možete pokušati fotografiranje 42 00:02:32,880 --> 00:02:36,100 kao i mnogi od računalnih znanstvenika iz tog memorijske kartice što je više moguće, 43 00:02:36,100 --> 00:02:39,070 i ti i tvoj dio onda će osvojiti nagradu nevjerojatan. 44 00:02:39,070 --> 00:02:44,470 Pogledajte povratak na pset 4 specifikaciji čemu bi poslali i do kada. 45 00:02:44,470 --> 00:02:47,650 Također, ako želite da se vaš ručni rad ovjekovječen 46 00:02:47,650 --> 00:02:51,400 na stazi stranicama i njegovoj povijesti odjeće, 47 00:02:51,400 --> 00:02:54,010 znam da ste dobrodošli sada početi podnošenja dizajna 48 00:02:54,010 --> 00:02:57,180 za ovogodišnje majice i veste i poput. 49 00:02:57,180 --> 00:02:59,200 Mi ćemo se potruditi da su onoliko koliko možemo, 50 00:02:59,200 --> 00:03:01,440 ali ćemo morati neke članove osoblja pregled svih dizajna 51 00:03:01,440 --> 00:03:04,180 kako bi bili sigurni da su u skladu sa specifikacijama, 52 00:03:04,180 --> 00:03:07,500 i onda ćemo pokupiti općenito šačica njih biti izložena. 53 00:03:07,500 --> 00:03:10,620 Dakle, ako ste dizajn tipa, samo znam da su zahtjevi 54 00:03:10,620 --> 00:03:14,030 u grafički su PNG, barem 200 DPI, 55 00:03:14,030 --> 00:03:16,520 oni ne bi trebali biti veći od 4000 x 4000 piksela, 56 00:03:16,520 --> 00:03:19,010 i ne više od 10 MB, ali ste dobrodošli da koristite stvari poput 57 00:03:19,010 --> 00:03:22,430 Photoshop ili GIMP ili raznovrsne grafičke programima, 58 00:03:22,430 --> 00:03:24,590 god imate na raspolaganju. 59 00:03:24,590 --> 00:03:28,280 >> Također, na obzoru je konačni projekt. Konačni projekt je stvarno vrhunac 50, 60 00:03:28,280 --> 00:03:30,560 pri čemu svih zadataka u tijeku, 61 00:03:30,560 --> 00:03:33,170 to je vaša prilika da stvarno napraviti svoj vlastiti stvar. 62 00:03:33,170 --> 00:03:35,280 I to može biti jednostavno za napraviti nešto za zabavu, 63 00:03:35,280 --> 00:03:38,160 to može biti da se riješi neki pritiskom problema vaš student grupa ima, 64 00:03:38,160 --> 00:03:40,980 za neke nove web stranice, neki novi mehanizam za prikupljanje podataka. 65 00:03:40,980 --> 00:03:43,420 To može biti mobilna aplikacija za Android, za iOS. 66 00:03:43,420 --> 00:03:46,030 Stvarno, nebo je granica, a tijekom sljedećih nekoliko tjedana, 67 00:03:46,030 --> 00:03:50,900 kao što smo prijelaz iz C do tih viših razina jezika poput PHP i JavaScript, 68 00:03:50,900 --> 00:03:55,150 ćete naći sve upoznao s nekim stvarnim tehnikama, 69 00:03:55,150 --> 00:03:57,800 neke stvarne alati i dopuniti da, 70 00:03:57,800 --> 00:04:00,170 znam da tečaj ima povijest seminara, 71 00:04:00,170 --> 00:04:02,880 pri čemu u idućih nekoliko tjedana, neki od nastavnog osoblja 72 00:04:02,880 --> 00:04:06,160 i naši prijatelji iz na kampusu će ponuditi dodatne seminare 73 00:04:06,160 --> 00:04:08,540 koja ide iznad i izvan onoga što obično je učinjeno u poglavlju 74 00:04:08,540 --> 00:04:11,090 da vam predstaviti stvari kao što su Android programiranje, 75 00:04:11,090 --> 00:04:13,450 da vam predstaviti stvari poput iOS programiranje 76 00:04:13,450 --> 00:04:15,950 ili više naprednih web development tehnike. 77 00:04:15,950 --> 00:04:17,970 Tu je cijela povijest tih već online. 78 00:04:17,970 --> 00:04:25,000 Ako idete na cs50.net/seminars, mi smo bili to dosta za nekoliko godina, 79 00:04:25,000 --> 00:04:28,740 i vidjet ćete da je arhiviran ovdje s PDF i video i slično 80 00:04:28,740 --> 00:04:33,090 nekoliko desetaka videa seminara. 81 00:04:33,090 --> 00:04:37,380 Prošle godine, na primjer, imali smo seminar na acing svoje tehničke razgovore, 82 00:04:37,380 --> 00:04:40,980 ako ste zapravo u potrazi za otići i učiniti staž ili puno radno vrijeme kočija. 83 00:04:40,980 --> 00:04:43,450 Windows Mobile razvoj, razvoj Android, Google Maps, 84 00:04:43,450 --> 00:04:47,700 API, CSS, razvoj za BlackBerry, Emacs. 85 00:04:47,700 --> 00:04:52,610 Stvarno, vi ste dobrodošli pogledati bilo koji od ovih seminara na vaše udobnosti. 86 00:04:52,610 --> 00:04:57,080 A mi ćemo se drži neke nove ovu semestar, kao dobro. 87 00:04:57,080 --> 00:04:59,020 >> Dakle, ono što je ispred s konačnim projekta? 88 00:04:59,020 --> 00:05:01,090 Pa, prvo, iako taj datum je nešto predstoji, 89 00:05:01,090 --> 00:05:06,460 ovo je stvarno samo prilika za početi razmišljati o konačnom projektu sasvim realno. 90 00:05:06,460 --> 00:05:10,550 Znamo samo početak nešto od onoga što mi još uvijek ćemo biti pokrivanje u tijeku, 91 00:05:10,550 --> 00:05:13,470 HTML, PHP i slično, ali svi ste upoznati s weba, 92 00:05:13,470 --> 00:05:16,270 i ja pristranost ovaj razgovor prema Webu samo zato 93 00:05:16,270 --> 00:05:18,380 većina ljudi završiti radiš web-based završne projekte, 94 00:05:18,380 --> 00:05:20,260 ali to nipošto nije uvjet. 95 00:05:20,260 --> 00:05:22,260 Korištenje C je u redu, cilj C, Java, 96 00:05:22,260 --> 00:05:25,350 bilo koji drugi jezik možda znate ili želite znati je sasvim u redu. 97 00:05:25,350 --> 00:05:29,370 No, da biste dobili sokova teče u početku, mi ćemo očekivati ​​podnošenje preproposal 98 00:05:29,370 --> 00:05:33,520 koji, po PDF na web stranici, koja je sada na cs50.net, 99 00:05:33,520 --> 00:05:36,080 i na gornjem lijevom kutu vidjet ćete konačno projekt 100 00:05:36,080 --> 00:05:38,920 je specifikacija za konačni projekt 101 00:05:38,920 --> 00:05:41,470 i tamo su detalji o preproposal i slično. 102 00:05:41,470 --> 00:05:44,760 To je prilično puno svodi na e-mail na vaš demonstrator 103 00:05:44,760 --> 00:05:48,450 samo zasvirati razgovor s njim ili njom o tome što ste mislili. 104 00:05:48,450 --> 00:05:52,510 Na projects.cs50.net je riznica ideja od ljudi na kampusu 105 00:05:52,510 --> 00:05:54,480 ako ste bore da dođu do nekih ideja, 106 00:05:54,480 --> 00:06:01,140 i manual.cs50.net/APIs je repozitorij linkova na API. 107 00:06:01,140 --> 00:06:06,710 >> Što je, međutim, API? 108 00:06:06,710 --> 00:06:09,790 Što je API? Ja sam to rekao najmanje dva puta, 109 00:06:09,790 --> 00:06:12,640 prema transkriptima u posljednjih nekoliko tjedana. 110 00:06:12,640 --> 00:06:17,050 Što je to? [Student, nerazumljivo] 111 00:06:17,050 --> 00:06:19,340 >> Dobro, dobro. Tako nešto sučelje za programiranje. 112 00:06:19,340 --> 00:06:22,710 Sučelje za programiranje aplikacija, a to može potrajati nekoliko oblika, 113 00:06:22,710 --> 00:06:25,850 ali što to zapravo svodi na je kod 114 00:06:25,850 --> 00:06:29,660 da je netko napisao HS ili podatak koji je netko drugi prikupljeni 115 00:06:29,660 --> 00:06:33,670 koji je dostupan za vas u nekom programatski način. 116 00:06:33,670 --> 00:06:36,630 Možete pisati kod u C, PHP, Python, Ruby, 117 00:06:36,630 --> 00:06:38,760 bez obzira na vaš jezik izboru obično je, 118 00:06:38,760 --> 00:06:42,240 i nekako može graditi na tuđoj funkcionalnosti 119 00:06:42,240 --> 00:06:44,440 ili netko drugi skup podataka. 120 00:06:44,440 --> 00:06:47,210 Na primjer, ako odem na ovom linku ovdje, 121 00:06:47,210 --> 00:06:50,750 i vidjet ćete par linkova na sljedeću stranicu 122 00:06:50,750 --> 00:06:56,093 pri čemu imamo CS50 vlastiti API, koji su vrlo Harvard-centric, a zatim third-party API. 123 00:06:56,930 --> 00:06:59,300 Među third-party API su stvarno korisne stvari 124 00:06:59,300 --> 00:07:01,780 kao da ste u mogućnosti poslati SMS-a na ljude, 125 00:07:01,780 --> 00:07:04,690 biti u mogućnosti primati SMS poruke od ljudi. 126 00:07:04,690 --> 00:07:08,160 A slične stvari koje možda nemaju pojma kako se provodi, 127 00:07:08,160 --> 00:07:10,440 ali zahvaljujući uslugama, neki besplatni, a neke komercijalne, 128 00:07:10,440 --> 00:07:14,000 možete graditi na vrhu one i učiniti nešto od interesa za vas. 129 00:07:14,000 --> 00:07:16,990 Među CS50 API-ja su ti kampus-centric stvari poput 130 00:07:16,990 --> 00:07:21,480 Harvard tečajevi, energije, događanja, hrane, karte, vijesti, tweetovi i Shuttleboy vlastite, 131 00:07:21,480 --> 00:07:23,940 a to su API koji izgledaju malo nešto ovako. 132 00:07:23,940 --> 00:07:26,990 >> Dopustite mi podići HarvardFood API. 133 00:07:26,990 --> 00:07:30,620 Ako ste ikada bili na HUD web stranici, vjerojatno ste bili tamo 134 00:07:30,620 --> 00:07:35,410 samo vidjeti što je za večeru ili da se vidi što su radno vrijeme za neke d-dvorani. 135 00:07:35,410 --> 00:07:38,000 Pa, to nije osobito jednostavan za navigaciju, 136 00:07:38,000 --> 00:07:41,100 i tako što nismo prije nekog vremena bio mi je napisao softver, 137 00:07:41,100 --> 00:07:47,270 to se događa da se u PHP, koji zapravo ekran ogrebotina cjelinu HPD web stranici. 138 00:07:47,270 --> 00:07:51,400 Da zaslon struže nešto znači napisati program u jeziku poput PHP 139 00:07:51,400 --> 00:07:55,270 da se pretvara da je preglednik, iako možda ga pokrenuti u naredbeni redak, 140 00:07:55,270 --> 00:07:58,180 da se pretvara da je preglednik, spaja na web stranicu, 141 00:07:58,180 --> 00:08:01,480 preuzima svoj HTML, jezik u kojem je napisan, 142 00:08:01,480 --> 00:08:04,300 , a zatim ga čita, ili točnije, to parses 143 00:08:04,300 --> 00:08:06,140 vrha do dna, s lijeva na desno. 144 00:08:06,140 --> 00:08:08,870 A ono što mi je bilo što smo pisali našu kôda na takav način da 145 00:08:08,870 --> 00:08:12,910 svaki put smo vidjeli nešto u tom HTML-a koji je izgledao kao nešto na izborniku, 146 00:08:12,910 --> 00:08:16,470 kao hamburger, mi bi onda uvesti da u našoj vlastitoj bazi podataka. 147 00:08:16,470 --> 00:08:20,410 I svaki put smo vidjeli prehrambene sadržaj, mi bi uvesti da u našoj vlastitoj bazi podataka. 148 00:08:20,410 --> 00:08:23,090 A ono što smo učinili je iskoristiti činjenicu da HUD na web stranici, 149 00:08:23,090 --> 00:08:27,280 iako to može biti malo izazov za nas ljudi za navigaciju 150 00:08:27,280 --> 00:08:32,559 ispod haube, sve HTML se generira iz vlastitih računalnih programa. 151 00:08:32,559 --> 00:08:35,159 Dakle, sve svoje HTML, iako bi to moglo izgledati neuredno, 152 00:08:35,159 --> 00:08:38,026 kao i većina web stranice ispod haube slijedi uzorak. 153 00:08:38,260 --> 00:08:40,799 Dakle, samo smo proveli par sati figuring out da uzorak 154 00:08:40,799 --> 00:08:44,240 tako da na kraju, mi bacaju sve neredu HTML, 155 00:08:44,240 --> 00:08:47,340 sve estetici podebljano okrenut i kurzivom i slično, 156 00:08:47,340 --> 00:08:52,350 i ono što smo tada u mogućnosti učiniti je izlagati da iste podatke. 157 00:08:52,350 --> 00:08:54,870 Na primjer, na ovaj način. 158 00:08:54,870 --> 00:08:56,840 Tako smo, prema dokumentaciji ovdje, 159 00:08:56,840 --> 00:08:59,190 su informirani svijet da ako zatražite URL 160 00:08:59,190 --> 00:09:03,310 da izgleda ovako, food.cs50.net / nešto, 161 00:09:03,310 --> 00:09:07,220 i vam dati određene parametre, koje ćemo danas pričati, 162 00:09:07,220 --> 00:09:11,780 kao krajnji datum vrijeme, start-date vremena, jela i tako dalje, 163 00:09:11,780 --> 00:09:14,090 ono što naši poslužitelji će se vratiti na vas, na primjer, 164 00:09:14,090 --> 00:09:18,740 je CSV datoteka, zarez separted vrijednosti kao što su Excel datoteci, 165 00:09:18,740 --> 00:09:23,140 sadrži sve za doručak, na ovom konkretnom datumu ožujka prošle godine 166 00:09:23,140 --> 00:09:25,450 kad sam se dogodilo da napisati tu dokumentaciju. 167 00:09:25,450 --> 00:09:27,870 >> Za one koji poznaju, CSV nije jedini format. 168 00:09:27,870 --> 00:09:30,610 Tu je još jedan format koji je sve više svestran 169 00:09:30,610 --> 00:09:32,670 zove JSON, JavaScript Objekt notacija. 170 00:09:32,670 --> 00:09:34,770 Ti podaci mogu vratiti u tom formatu. 171 00:09:34,770 --> 00:09:38,110 Dakle takeaway ovdje je da li zaroniti u ovaj API 172 00:09:38,110 --> 00:09:41,170 ili bilo koji drugi CS50-a ili bilo vani na Internetu, 173 00:09:41,170 --> 00:09:45,560 ili uopće ne, shvatite da je svijet sve više je počeo standardizirati 174 00:09:45,560 --> 00:09:47,670 kako strojevi komunicirati. 175 00:09:47,670 --> 00:09:50,660 Mi koristimo standardne formate podataka kao što su CSV ili JSON. 176 00:09:50,660 --> 00:09:54,320 A što to znači za vas je možete napisati zanimljiv dio programa 177 00:09:54,320 --> 00:09:56,580 koji vam vaš korisnički traži blagovaonica dvoranu izbornik, 178 00:09:56,580 --> 00:10:00,010 koji omogućuje im stvoriti popise favorite koji vam omogućuje im da tekstualnih upozorenja 179 00:10:00,010 --> 00:10:02,480 kad im je omiljeno jelo je o biti poslužen u nekom d-dvorani 180 00:10:02,480 --> 00:10:07,090 pomoću tuđe skupove podataka i izgradnjom na vrhu svoje API-ja. 181 00:10:07,090 --> 00:10:13,600 Dakle, više o tome u obliku seminara i dokumentaciju koju imate ovdje online. 182 00:10:13,600 --> 00:10:16,450 Dakle, oni su, dakle, API. 183 00:10:16,450 --> 00:10:18,900 >> To nas vraća u HTML. Brza rekapitulacija. 184 00:10:18,900 --> 00:10:22,920 Što je HTML? 185 00:10:22,920 --> 00:10:25,000 [Student, nerazumljivo] >> Dobro. HyperText Markup Language. 186 00:10:25,000 --> 00:10:31,300 Netko drugi, što je Hypertext Markup Language? 187 00:10:31,300 --> 00:10:37,340 HyperText Markup Language. 188 00:10:37,340 --> 00:10:40,330 Ok. Dakle, HTML, HyperText. 189 00:10:40,330 --> 00:10:43,100 HyperText samo odnosi na webu, za najveći dio. 190 00:10:43,100 --> 00:10:45,730 Marža znači da to nije zapravo programski jezik, HTML. 191 00:10:45,730 --> 00:10:48,120 To nije jezik koji možete izraziti logiku u. 192 00:10:48,120 --> 00:10:50,710 To ne mora petlje. To ne imaju uvjete. 193 00:10:50,710 --> 00:10:52,820 To ne mora funkcije po sebi. 194 00:10:52,820 --> 00:10:56,680 Umjesto toga, ona ima ove stvari zove oznake, ili više ispravno, elementi. 195 00:10:56,680 --> 00:10:59,970 A ti elementi imaju start oznake i kraj oznake, 196 00:10:59,970 --> 00:11:04,300 ili otvorenih i zatvorenih oznake oznake, a što te oznake općenito znači za preglednik je, 197 00:11:04,300 --> 00:11:09,270 početi raditi nešto i onda prestati raditi nešto, iako postoje iznimke koje. 198 00:11:09,270 --> 00:11:12,480 Ponekad je to samo 'staviti prijelom retka ovdje ", na primjer. 199 00:11:12,480 --> 00:11:15,150 A vidjeli smo primjere tog drugog dana, između podebljano suočavaju, 200 00:11:15,150 --> 00:11:17,430 redaka, a zatim par drugih oznaka. 201 00:11:17,430 --> 00:11:19,880 Dakle, HTML je jezik u kojem su napisane web stranice. 202 00:11:19,880 --> 00:11:23,760 Dakle, ako sam ići na nešto poput Google.com 203 00:11:23,760 --> 00:11:26,180 i podići samo svoju početnu stranicu, 204 00:11:26,180 --> 00:11:29,690 Podsjetimo da ako desni klik ili kontrolirati kliknite 205 00:11:29,690 --> 00:11:32,140 i pogled na more izvoru stranice, obično 206 00:11:32,140 --> 00:11:34,420 to je potpuna zbrka ovih dana ispod haube, ali to je zato 207 00:11:34,420 --> 00:11:38,170 računala nije stalo do bijelog prostora, tako da to ne mora izgledati lijepo. 208 00:11:38,170 --> 00:11:40,240 No, ako smo povećali na dijelove, 209 00:11:40,240 --> 00:11:43,460 primijetiti da Chrome, samo da bude lijepo, je po boji stvari. 210 00:11:43,460 --> 00:11:48,460 Doista, ovo je prvi tag koji smo vidjeli na web-stranici. 211 00:11:48,460 --> 00:11:51,750 I opet, HTML 5, najnovija verzija ovog jezika, 212 00:11:51,750 --> 00:11:53,830 nema tu stvar na početku, 213 00:11:53,830 --> 00:11:57,820 00:12:03,580 ali to je samo neka vrsta standarda koji kaže, hej svijet, ovdje dolazi HTML datoteke u verziji 5. 215 00:12:03,580 --> 00:12:08,920 >> Zanimljiv dio počinje ovdje. Dakle 00:12:11,640 od HTML elemenata zadnji put. 217 00:12:11,640 --> 00:12:14,630 Što su one dvije glavne djeca? 218 00:12:14,630 --> 00:12:17,170 Glava i tijelo, baš kao i čovjek s tetovažom trenutak prije. 219 00:12:17,170 --> 00:12:19,640 Ima dvije porcije web stranici, glave i tijela, 220 00:12:19,640 --> 00:12:23,750 i podsjetiti, onda, da je možda najjednostavnije web stranice možemo napraviti izgleda ovako. 221 00:12:23,750 --> 00:12:27,460 I ja sam ga razvedena samo da se vrsta uredan i uredan s mojim kodom, 222 00:12:27,460 --> 00:12:30,710 ali ono što je doista važno je da postoji neki hijerarhija na to. 223 00:12:30,710 --> 00:12:35,420 I bilo oznaka koje sam otvorio sam zatvorena i da je stoga ova simetrija 224 00:12:35,420 --> 00:12:38,300 za sve oznake koje sam stvorio. 225 00:12:38,300 --> 00:12:41,620 Dakle, zadnji put kad smo počeli pisati web stranice na svoj laptop. 226 00:12:41,620 --> 00:12:45,470 Ja otvorio tekst uredi, ja spremili datoteku kao hello.html, 227 00:12:45,470 --> 00:12:50,190 I onda vukao datoteku na moj preglednik, i voila, imao sam stranicu na internetu. 228 00:12:50,190 --> 00:12:53,110 Sada, to nije sasvim slučaj, imao sam stranicu na moj hard disk, 229 00:12:53,110 --> 00:12:58,260 a ja sam bio doslovno jedina osoba na svijetu koja bi vidjeti taj web-stranicu u pregledniku. 230 00:12:58,260 --> 00:13:00,670 >> Dakle, danas smo predstaviti stvarnu web poslužitelj 231 00:13:00,670 --> 00:13:02,750 i pojam zapravo služe sadržaja na Internetu 232 00:13:02,750 --> 00:13:04,970 i kako to sve počinje da stane zajedno. 233 00:13:04,970 --> 00:13:08,350 Tako ispada da je svo ovo vrijeme u CS50 aparata 234 00:13:08,350 --> 00:13:11,590 ste imali web server na vašem računalu. 235 00:13:11,590 --> 00:13:16,560 Mi smo, u pravednosti, samo ga koristiti za gedit, za zveka, za GDB i slično, 236 00:13:16,560 --> 00:13:21,000 ali također instaliran kod nas za vas u aparatu je web poslužitelj, 237 00:13:21,000 --> 00:13:23,940 i da web server dogodi da bude slobodan, open source, 238 00:13:23,940 --> 00:13:26,580 jedan od najpopularnijih one u svijetu, pozvao Apache. 239 00:13:26,580 --> 00:13:31,340 Njegova više tehničko ime je httpd, d se za daemon ovdje, 240 00:13:31,340 --> 00:13:34,110 koji je tehnička riječ za server. 241 00:13:34,110 --> 00:13:38,690 Dakle, instaliran u CS50 aparata je web server, i što to znači? 242 00:13:38,690 --> 00:13:43,740 Pa, web server je, konceptualno, neki server na Internetu koja služi do web sadržaja. 243 00:13:43,740 --> 00:13:48,630 Kad su ga pitali za datoteku, to ispljune HTML koji sastavlja tu datoteku, i voila. 244 00:13:48,630 --> 00:13:51,370 Vidite neke web stranice početnu stranicu. 245 00:13:51,370 --> 00:13:54,970 No, poslužitelj, točnije, komad softvera. 246 00:13:54,970 --> 00:13:59,190 To ne mora biti na fizičkom stroju, to jednostavno mora biti komad softvera trčanje. 247 00:13:59,190 --> 00:14:01,980 Dakle CS50 aparata, naravno, je komad softvera 248 00:14:01,980 --> 00:14:04,270 iako je to vrsta pretvarajući se da stroj. 249 00:14:04,270 --> 00:14:06,960 To je da se pretvara računalo unutar računala, 250 00:14:06,960 --> 00:14:11,140 ali to samo znači da uređaj može sigurno pokrenuti stvari kao što su web poslužitelja. 251 00:14:11,140 --> 00:14:13,260 To zapravo može pokrenuti e-poslužiteljima. 252 00:14:13,260 --> 00:14:16,440 Mogli bismo pokrenuti instant messaging server u aparatu, ako smo htjeli, 253 00:14:16,440 --> 00:14:20,780 i doista, mi ne odvijaju jedna drugu vrstu poslužitelja, poznat kao poslužitelj baze podataka, MySQL. 254 00:14:20,780 --> 00:14:22,620 Ali više o tom sljedeći tjedan. 255 00:14:22,620 --> 00:14:26,400 To znači da ja zapravo mogu posjetiti web stranice 256 00:14:26,400 --> 00:14:30,480 unutar mog aparata pomoću preglednika unutar uređaja 257 00:14:30,480 --> 00:14:33,600 ili čak na svoj laptop, moj Mac ili moj PC. 258 00:14:33,600 --> 00:14:37,780 Dakle, što to znači? Ispada da je bilo vrijeme da radite s Linux računalo, 259 00:14:37,780 --> 00:14:40,910 njegov nadimak je "lokalni domaćin." 260 00:14:40,910 --> 00:14:43,370 To ne imati naziv domene, jer nismo kupili naziv domene 261 00:14:43,370 --> 00:14:46,590 za nešto poput aparata, tako da je njegova Zadani naziv je lokalni domaćin. 262 00:14:46,590 --> 00:14:50,470 >> No, kako bi se uređaj za pokretanje služeći se web stranice, 263 00:14:50,470 --> 00:14:52,270 moramo ih stvoriti prvi. 264 00:14:52,270 --> 00:14:55,200 Tako ćemo učiniti. Pusti me u terminal prozoru ovdje 265 00:14:55,200 --> 00:14:58,190 i primijetiti da sam na mom tipičnom John Harvard redak. 266 00:14:58,190 --> 00:15:01,670 Pusti me naprijed i upišite ls, pa ćemo vidjeti neke poznate stvari iz ovog semestra, 267 00:15:01,670 --> 00:15:04,580 desktop, preuzimanja, dropbox i tako dalje, 268 00:15:04,580 --> 00:15:07,540 ali sada ćemo početi okreće svoju pozornost na nekoliko. 269 00:15:07,540 --> 00:15:11,530 Na mnogim Linux web servera tu je ovo mapa zove javni html, 270 00:15:11,530 --> 00:15:15,630 ali ćemo preskočiti taj jedan za sada i usredotočiti se na to, vhosts. 271 00:15:15,630 --> 00:15:18,850 Svatko zna što je vhost? 272 00:15:18,850 --> 00:15:21,110 Samo glupi žargon za virtualni host, 273 00:15:21,110 --> 00:15:23,850 i što to znači da je na tipičnim poslužitelju 274 00:15:23,850 --> 00:15:26,810 zapravo može ugostiti više web stranica. 275 00:15:26,810 --> 00:15:31,500 Možete kupiti naziv domene poput foo.com, a možete ga domaćin na poslužitelju. 276 00:15:31,500 --> 00:15:36,100 Ali, također možete kupiti bar.com i domaćin na istom poslužitelju. 277 00:15:36,100 --> 00:15:40,250 Razlog je, preglednici su dovoljno pametni da obavijeste poslužitelj 278 00:15:40,250 --> 00:15:45,880 kada korisnik traži neku web stranicu, što ime domene korisnik želi početnu stranicu za. 279 00:15:45,880 --> 00:15:48,760 Dakle, ono što je lijepo o tome se ne trebate jedan fizički poslužitelj 280 00:15:48,760 --> 00:15:52,040 ili jedan CS50 aparat za svaku web stranicu možda želite stvoriti. 281 00:15:52,040 --> 00:15:55,520 Možete koristiti isti server i razviti sto različitih web stranica. 282 00:15:55,520 --> 00:15:58,770 I doista, ako ste osoba koja pokušava pokrenuti web stranicu, 283 00:15:58,770 --> 00:16:02,100 bilo za zabavu ili za posao, obično ćete izaći na Internetu, 284 00:16:02,100 --> 00:16:04,650 i vi ćete platiti netko deset dolara mjesečno, a sto dolara mjesečno 285 00:16:04,650 --> 00:16:06,670 domaćin svoje web stranice za vas. 286 00:16:06,670 --> 00:16:11,060 I način na koji radi je da su puni druge ljude 287 00:16:11,060 --> 00:16:13,160 deset dolara mjesečno ili sto dolara mjesečno 288 00:16:13,160 --> 00:16:17,200 ugostiti tuđe web stranice na njihovu istom poslužitelju. 289 00:16:17,200 --> 00:16:20,740 Razlog što mogu učiniti da je zbog toga značajkom naziva bhosts, 290 00:16:20,740 --> 00:16:23,790 ali više o tome kada dođe vrijeme za konačnih projekata. 291 00:16:23,790 --> 00:16:28,360 >> Za sada, hajdemo samo roniti tamo. Dakle, cd vhosts, a ako sam upisati ls sada, 292 00:16:28,360 --> 00:16:31,370 primijetiti da je mapa u koje se zove lokalni domaćin. 293 00:16:31,370 --> 00:16:33,440 To je zato što, po defaultu, aparat figure 294 00:16:33,440 --> 00:16:36,160 li ikada idući u trčanje jedan website na aparatu. 295 00:16:36,160 --> 00:16:38,970 To zapravo i nije stvarni svijet, to nije u stvarnom svijetu web server. 296 00:16:38,970 --> 00:16:41,690 Tako da me pusti u lokalni domaćin, a sada ćemo vidjeti tamo 297 00:16:41,690 --> 00:16:44,290 posljednji katalog zove HTML. 298 00:16:44,290 --> 00:16:47,080 Dakle, to je nešto duboko, hijerarhija, ali ako i kada 299 00:16:47,080 --> 00:16:51,230 što se odlučite za početak razvoja više web idućih n mjeseci ili godina, 300 00:16:51,230 --> 00:16:54,370 ova vrsta strukture mape teži da bude korisno. 301 00:16:54,370 --> 00:16:56,560 Sada idemo u HTML kao što sam učinio, 302 00:16:56,560 --> 00:16:59,010 Vrsta li, i ništa nije bilo. 303 00:16:59,010 --> 00:17:01,390 Dakle, sada idemo naprijed i to učiniti. Dopustite mi otvoriti Chrome 304 00:17:01,390 --> 00:17:07,300 unutar uređaja, i pusti me da http://localhost. 305 00:17:07,300 --> 00:17:14,440 Dakle, doslovno naziv za moj aparat, ući, a ja dobiti indeks /. 306 00:17:14,440 --> 00:17:18,290 To nije stvarno pokazuje mi ništa od interesa, 307 00:17:18,290 --> 00:17:23,400 ali ispada da je ono što smo vidjeli je da mape, HTML. 308 00:17:23,400 --> 00:17:25,770 Nema ništa u toj mapi upravo sada, 309 00:17:25,770 --> 00:17:28,750 pa umjesto toga, ono što ću učiniti je prvo stvoriti datoteku. 310 00:17:28,750 --> 00:17:33,530 Stvaranje HTML datoteku kao što smo učinili u ponedjeljak, ali ovaj put ga staviti unutar uređaja. 311 00:17:33,530 --> 00:17:36,830 Za one od vas koji pokušavaju slijediti uz laptop sada, 312 00:17:36,830 --> 00:17:42,040 neka mi napraviti jedan stranu da ćete biti pokrivena u web-based pset, 313 00:17:42,040 --> 00:17:44,280 ali kako bi se to raditi za vrlo prvi put, 314 00:17:44,280 --> 00:17:49,830 ćete morati pokrenuti ovu naredbu: sudo service httpd start. 315 00:17:49,830 --> 00:17:52,670 A to, opet, ponovit će se u posljednjem pset, 316 00:17:52,670 --> 00:17:55,460 ali ako igrate zajedno kod kuće sada, web server 317 00:17:55,460 --> 00:17:58,660 isključen u aparatu, a to je tako da se ne crpiti RAM 318 00:17:58,660 --> 00:18:01,960 i memoriju za 7 tjedna iz semestra kada mi to ne treba. 319 00:18:01,960 --> 00:18:05,190 Dakle, trebate pokrenuti ovu naredbu jednom, a vi ćete dobiti izlaz kao što je to. 320 00:18:05,190 --> 00:18:07,920 Tada bi trebao biti u mogućnosti igrati zajedno ovdje. 321 00:18:07,920 --> 00:18:10,330 Sada idemo natrag u ovu mapu. 322 00:18:10,330 --> 00:18:12,770 Ova mapa je prazna, pa neka mi početi stvarati datoteke, 323 00:18:12,770 --> 00:18:16,360 gedit hello.html. 324 00:18:16,360 --> 00:18:20,930 >> U redu. Gedit je otvoren, kao i obično. Pusti me učiniti vrstu dokumenata, HTML, 325 00:18:20,930 --> 00:18:25,270 html, dopustite mi da se ispred sebe i početi zatvaranje moje oznaka unaprijed. 326 00:18:25,270 --> 00:18:28,380 Sada imam glavu. Pusti me naprijed i zatvoriti glavu, 327 00:18:28,380 --> 00:18:32,450 neka mi sada napraviti titulu stranice, halo svijet kao i zadnji put, 328 00:18:32,450 --> 00:18:34,790 bliski naslov, sada neka mi učiniti tijelo. 329 00:18:34,790 --> 00:18:38,130 Ovdje ću pozdraviti, svijet s nekim exclams 330 00:18:38,130 --> 00:18:40,550 jasno dati do znanja da je to drugačije niz. 331 00:18:40,550 --> 00:18:45,800 Zatvori tijelo, a sada pusti me naprijed i podnijeti spasiti. 332 00:18:45,800 --> 00:18:48,470 Pusti me natrag u moj prozor terminala, a ako sam upisati ls, 333 00:18:48,470 --> 00:18:51,830 Ja bi, valjda, vidi hello.html. I ja. 334 00:18:51,830 --> 00:18:55,070 Dakle, sad idemo nazad na moj preglednik, kliknite reload, 335 00:18:55,070 --> 00:18:58,930 i možete vidjeti da smo doista unutar ove HTML mape. 336 00:18:58,930 --> 00:19:02,310 Ne vidim web-stranicu, ali, to je Apache, web server, 337 00:19:02,310 --> 00:19:04,670 samo pokazuje mi popis sadržaja ovaj direktorij. 338 00:19:04,670 --> 00:19:08,260 Baš kao i Mac OS ili Windows obično će učiniti na svoj lokalni tvrdi disk. 339 00:19:08,260 --> 00:19:12,730 Dakle, ako želim vidjeti ovu web-stranicu, ja mogu kliknite ovaj mali link ovdje, hello.html, 340 00:19:12,730 --> 00:19:15,160 i doista, to je ono što sam očekivao vidjeti. 341 00:19:15,160 --> 00:19:18,080 Sada, opet, to nije URL koji bilo tko od vas može posjetiti upravo sada, 342 00:19:18,080 --> 00:19:20,760 jer za tebe, lokalni domaćin, ako imate laptop ovdje, 343 00:19:20,760 --> 00:19:23,050 to se odnosi na svoj primjerak uređaja. 344 00:19:23,050 --> 00:19:25,900 Ovo je na moju osobnu aparata, 345 00:19:25,900 --> 00:19:29,080 ali to je vrsta glupo za mene imati, imati 346 00:19:29,080 --> 00:19:34,480 Korisnik poput mene kliknite na hello.html zapravo vidjeti sadržaj ove stranice. 347 00:19:34,480 --> 00:19:42,590 Ispada da web poslužitelji poput Apache neka imate zadanu datoteku za bilo koju web poslužitelj. 348 00:19:42,590 --> 00:19:44,640 Obavijest ovdje imamo hello.html. 349 00:19:44,640 --> 00:19:48,410 Što je naredba u Linuxu preimenovati datoteku? 350 00:19:48,410 --> 00:19:50,870 >> MV, za potez. Pa neka mi to učiniti, 351 00:19:50,870 --> 00:19:55,870 i neka mi preimenovati hello.html na index.html. 352 00:19:55,870 --> 00:19:58,610 Dopustite mi upišite ls potvrditi da je sada preimenovan. 353 00:19:58,610 --> 00:20:03,250 Sada će se to - ako se vratim u lokalni domaćin, 354 00:20:03,250 --> 00:20:06,710 primijetiti da sada sam automatski vidim tu web stranicu. 355 00:20:06,710 --> 00:20:11,740 To je identičan mom zapravo radi / index.html, 356 00:20:11,740 --> 00:20:14,740 ali lijepa stvar sada je da web poslužitelj je figuring, 357 00:20:14,740 --> 00:20:18,830 oh, ako imate datoteku koja, po ljudskim konvencijama, zove index.html, 358 00:20:18,830 --> 00:20:21,200 neka mi pokazati korisniku da datoteka po defaultu 359 00:20:21,200 --> 00:20:25,290 nego neke glupe imeniku koji uopće nije razumljiv. 360 00:20:25,290 --> 00:20:28,900 Doista, većina web stranice koje posjećuju na internetu nemaju popis datoteka da kliknete na, 361 00:20:28,900 --> 00:20:34,040 oni samo vam pokazati sadržaja. Dakle, to je kako možemo učiniti da index.html. 362 00:20:34,040 --> 00:20:37,000 Dakle, ovo je sve zabava i dobar, ali to je prilično jednostavna web stranica. 363 00:20:37,000 --> 00:20:41,640 Pusti me naprijed i otvoriti index.html u mojim vhosts, 364 00:20:41,640 --> 00:20:47,620 lokalni domaćini, HTML katalog, i neka je dodati nešto većeg interesa. 365 00:20:47,620 --> 00:20:56,120 Dakle, tu je halo svijet, neka je umjesto toga reći: 'Ovo je CS50, Harvard College-a. . '. 366 00:20:56,120 --> 00:21:00,000 Dakle, početak opisu kolegija katalog kakvog tamo. 367 00:21:00,000 --> 00:21:03,780 Sada, ako sam reload, trebao bih vidjeti to u mojoj početnoj stranici. 368 00:21:03,780 --> 00:21:09,560 Ok, i ja ne vidim da je, ali pretpostavljam da želim sada navesti neke više sadržaja u ovoj datoteci. 369 00:21:09,560 --> 00:21:15,160 Mogao sam ići dolje i reći, nitko preduvjeti, 370 00:21:15,160 --> 00:21:18,740 iako su neki od vas vjerojatno su željeli, "Ha ha ha, nema preduvjeta. ' 371 00:21:18,740 --> 00:21:24,320 Ali - službeno. Dakle, ponovno učitati, a sada imamo isti hira koje smo vidjeli zadnji put. 372 00:21:24,320 --> 00:21:26,240 No, zašto je to? To je jednostavan škripac. 373 00:21:26,240 --> 00:21:31,440 Zašto je ova stranica slomljena? 374 00:21:31,440 --> 00:21:34,170 [Student, nerazumljivo] >> Da, mi smo riješiti ovaj prije 375 00:21:34,170 --> 00:21:37,440 eksplicitno govori preglednika staviti prijelom retka ovdje. " 376 00:21:37,440 --> 00:21:39,440 I to zato što je, opet, preglednik je samo da će učiniti 377 00:21:39,440 --> 00:21:42,610 izričito ono Označni jezik govori ga učiniti, 378 00:21:42,610 --> 00:21:45,730 pa iako ste možda pogoditi unesite jedanput ili dvaput ili čak deset puta, 379 00:21:45,730 --> 00:21:49,870 to će kombinirati da sve u jednom prostoru, samo po konvenciji. 380 00:21:49,870 --> 00:21:52,770 Dakle, ako stvarno želite prijelom retka, morate koristiti br oznaku, 381 00:21:52,770 --> 00:21:56,840 a sada obavijest, kao u ponedjeljak, stavim / unutrašnjost ove oznake, 382 00:21:56,840 --> 00:22:00,090 samo zato jer to jednostavno ne osjećaju dobro 383 00:22:00,090 --> 00:22:02,990 za početak prijelom retka onda ga prestati s ništa između. 384 00:22:02,990 --> 00:22:07,740 >> Dakle konvencija u HTML je za otvaranje i zatvaranje oznaku istovremeno. 385 00:22:07,740 --> 00:22:11,050 Kao na stranu, vidjet ćete puno web stranica u knjigama ne radi to. 386 00:22:11,050 --> 00:22:14,240 To je točno to učiniti ili ne to učiniti, ali mi bi se raspravljati 387 00:22:14,240 --> 00:22:17,430 da je dizajn-mudar i stilski, to je samo bolje 388 00:22:17,430 --> 00:22:20,540 jer tada svaki tag je i otvorena i zatvorena nekako. 389 00:22:20,540 --> 00:22:23,370 Dakle, sada idemo spremiti i učitati. Idi natrag na pregledniku, ok. 390 00:22:23,370 --> 00:22:26,680 Sada činimo neki napredak, ali to nije sasvim dovoljno. 391 00:22:26,680 --> 00:22:33,210 Idemo naprijed i početi pisati u nekom dužem tijelu teksta. 392 00:22:33,210 --> 00:22:40,610 Dakle, ajmo reći, "brzo smeđa lisica skoči preko lijeni pas. ' 393 00:22:40,610 --> 00:22:42,700 I sad neka mi samo kopirati i zalijepiti ovaj nekoliko puta 394 00:22:42,700 --> 00:22:45,040 tako da imamo odlomak teksta. 395 00:22:45,040 --> 00:22:47,780 Pusti me natrag ovamo. Dakle, to nije izgleda vrlo dobro. 396 00:22:47,780 --> 00:22:50,000 Ja nemam prijelom retka, tako da je to ok, 397 00:22:50,000 --> 00:22:52,140 ali sada, kada smo došli do točke s web-stranice 398 00:22:52,140 --> 00:22:55,640 da ima puno sadržaja, a ne samo jednu linije kako bi pokazali HTML, 399 00:22:55,640 --> 00:22:58,570 možemo početi razmišljati o tim stvarima kao što su stvarne stavaka. 400 00:22:58,570 --> 00:23:01,590 I možemo početi strukturirati našu web stranicu malo više čisto. 401 00:23:01,590 --> 00:23:05,120 I doista, ono što ja mogu učiniti je otići do ovdje unutar mog tijela tag, 402 00:23:05,120 --> 00:23:09,400 i znate što, ako "Ovo je CS50. . '. stvarno demarks početak stavka, 403 00:23:09,400 --> 00:23:11,310 dobro, ajmo označiti ga kao takvog. 404 00:23:11,310 --> 00:23:13,570 Dopustite mi alineji tekst, samo po konvenciji, dopustite mi da kažem 405 00:23:13,570 --> 00:23:15,710 da je to stav završava ovdje, 406 00:23:15,710 --> 00:23:18,320 i onda umjesto da taj prekid linije, reći ću samo 407 00:23:18,320 --> 00:23:23,300 da to pripada tamo i kao novi stavka, 408 00:23:23,300 --> 00:23:27,610 a ja ću samo brzo alineje od samo clobbering sve ove stvari. 409 00:23:27,610 --> 00:23:30,660 >> Tako sada imamo razvedenu stavak postoji, 410 00:23:30,660 --> 00:23:33,510 i sada naša oznake počinju da se malo više 411 00:23:33,510 --> 00:23:37,070 semantički skladu s onim što mi pokušavamo učiniti. 412 00:23:37,070 --> 00:23:40,130 Imamo točku, pa ajmo to nazvati stav s p oznaku. 413 00:23:40,130 --> 00:23:43,370 Imamo drugi stavak, pa ajmo to nazvati stav s p oznaku. 414 00:23:43,370 --> 00:23:45,850 A sada, što preglednik obično će učiniti 415 00:23:45,850 --> 00:23:48,490 je baš kao u engleskom knjige ili esej, 416 00:23:48,490 --> 00:23:51,280 gdje se obično vidjeti neke prijelome redaka između stavaka. 417 00:23:51,280 --> 00:23:53,720 Preglednici će to učiniti za vas automatski. 418 00:23:53,720 --> 00:23:56,680 Dakle, sada imamo dvije točke i možemo nastaviti ovo. 419 00:23:56,680 --> 00:23:58,770 Ali, naravno, na webu, kada imate tijela teksta 420 00:23:58,770 --> 00:24:01,370 to nije tipično samo ogromne mrljica teksta. 421 00:24:01,370 --> 00:24:04,040 Tu su često hiperveze u tamo. 422 00:24:04,040 --> 00:24:07,250 Dakle, ako želimo, na primjer, uključiti neke veze tamo, 423 00:24:07,250 --> 00:24:10,760 Pretpostavljam da ono što bi moglo biti od interesa za sve što web stranica Izrađujem ovdje - 424 00:24:10,760 --> 00:24:12,780 pusti me na Google.com, 425 00:24:12,780 --> 00:24:16,540 i neka mi tražiti brzo smeđa lisica. 426 00:24:16,540 --> 00:24:22,150 Idite na Google slike, i kako se o - ovo je slatka. 427 00:24:22,150 --> 00:24:27,420 Mi ćemo ići s tim. Dakle, ovdje imamo brzi smeđa lisica skokom preko lijeni pas. 428 00:24:27,420 --> 00:24:30,560 Dakle, ono što ću učiniti ovdje, samo radi demonstracije, 429 00:24:30,560 --> 00:24:32,950 Pretpostavljam da je to slika bila na mom poslužitelju, 430 00:24:32,950 --> 00:24:35,240 i ja sam bio stvaranje ove slike. 431 00:24:35,240 --> 00:24:38,720 Što sam učinio je pravo kliknite ili kontrolirati klik na sliku, 432 00:24:38,720 --> 00:24:42,370 i ono što ćete vidjeti u većini preglednicima je malo izbornik - 433 00:24:42,370 --> 00:24:48,800 prestati raditi to - malo izbornik koji vam omogućuje da odaberete lokaciju kopiranja vezi ili Kopiraj URL. 434 00:24:48,800 --> 00:24:52,750 Dakle, neka mi se sada vratiti na moj HTML, i pretpostavimo da želim 435 00:24:52,750 --> 00:24:56,420 na hipervezu ove na drugu web stranicu. 436 00:24:56,420 --> 00:24:58,640 >> Što je oznaka naziva za to? 437 00:24:58,640 --> 00:25:01,650 [Student, nerazumljivo] >> Da. Dakle href za hiper referencu. 438 00:25:01,650 --> 00:25:04,660 Pusti me naprijed i zalijepiti da u. 439 00:25:04,660 --> 00:25:07,290 To je prilično dugo URL, pa neka mi povećali natrag. 440 00:25:07,290 --> 00:25:09,950 Zatvori nosači, tako da sada primjetiti sam put ovdje 441 00:25:09,950 --> 00:25:11,960 jer taj URL dogodilo da se prilično dugo. 442 00:25:11,960 --> 00:25:15,180 Dopustite mi dođite ovamo na kraju brzo smeđa lisica, 443 00:25:15,180 --> 00:25:18,830 i onda neka mi zatvoriti ovu oznaku s 00:25:21,280 gdje sam zatvoren samo ime oznake. 445 00:25:21,280 --> 00:25:24,470 Sada me pusti naprijed i spremite tu datoteku, ponovno učitati web-stranicu, 446 00:25:24,470 --> 00:25:27,880 i sada, po defaultu, to će biti podcrtana u plavom za mene, 447 00:25:27,880 --> 00:25:31,980 ali doista, ja sada mogu kliknite na to i voila. Tu je ta slika. 448 00:25:31,980 --> 00:25:33,990 I to ne moraju biti slika, to bi mogao povezati 449 00:25:33,990 --> 00:25:36,270 na nekom drugom slučajnom web stranice na internetu. 450 00:25:36,270 --> 00:25:39,610 Ja mogu to učiniti, na primjer, s CS50, tako da jedan posljednji primjer ovdje. 451 00:25:39,610 --> 00:25:42,730 'Ovo je CS50' možda smisla ići, href = 452 00:25:42,730 --> 00:25:50,340 http://www.cs50.net, blizu citat, blizu sidro. 453 00:25:50,340 --> 00:25:53,990 Tako da sada je još kraći URL, i ovaj put nećemo povezati na sliku. 454 00:25:53,990 --> 00:25:57,880 Mi umjesto ćemo povezati na drugu stranicu. 455 00:25:57,880 --> 00:25:59,840 Sada imamo sliku ovdje. 456 00:25:59,840 --> 00:26:02,970 Osjećam se kao da mi možemo učiniti malo bolje nego samo povezivanje na slici. 457 00:26:02,970 --> 00:26:05,760 Što ako želimo da se zapravo ga utjeloviti u našem web stranici? 458 00:26:05,760 --> 00:26:09,290 >> Pa, što mogu učiniti je ovdje, a ne link na ovaj grafički, 459 00:26:09,290 --> 00:26:14,690 neka mi umjesto rezati URL, a mi ćemo se riješiti tog hipervezu i očistiti ovaj gore. 460 00:26:14,690 --> 00:26:17,190 I ići ćemo ovdje dolje i riješi to. 461 00:26:17,190 --> 00:26:20,910 Mi stvarno ne trebaju sve ove rečenice sada, pa neka mi skratiti stranici malo. 462 00:26:20,910 --> 00:26:24,530 I onda ovdje dolje pusti me naprijed u novom stavku, 463 00:26:24,530 --> 00:26:30,100 kažu ne želim tekst sada, želim sliku čiji izvor će biti taj URL. 464 00:26:30,100 --> 00:26:33,100 Slika, poput retka, ili je tu ili nije. 465 00:26:33,100 --> 00:26:35,900 Pa neka mi odmah zatvoriti tu oznaku. 466 00:26:35,900 --> 00:26:39,440 Dopustite mi da ide naprijed i sada zatvoriti stavak da sam unutra, 467 00:26:39,440 --> 00:26:43,010 i ako sve ide dobro s Hello, svijet, ako sam učitati sada, 468 00:26:43,010 --> 00:26:45,520 Ja, uistinu, vidi desno unutar moje vlastite web stranice sliku. 469 00:26:45,520 --> 00:26:48,570 Tako sada imamo oznaku slike, sidro oznaku i slično, 470 00:26:48,570 --> 00:26:51,320 a za dobru mjeru, neka mi napraviti jednu drugu stvar koja se često zanemaruju 471 00:26:51,320 --> 00:26:55,900 na web stranicama ovih dana: Idemo dati neki opisni tekst za ovu sliku 472 00:26:55,900 --> 00:26:58,090 za ljude koji su na mobilnom uređaju 473 00:26:58,090 --> 00:27:00,640 te stoga ne može biti u mogućnosti preuzeti ovu sliku vrlo brzo, 474 00:27:00,640 --> 00:27:03,310 za ljude koji su slijepi i ne može biti u mogućnosti vidjeti sliku 475 00:27:03,310 --> 00:27:06,480 ali oni mogu imati čitač zaslona koji ih može reći što je ova slika od. 476 00:27:06,480 --> 00:27:09,100 A za to, tu je još jedan atribut za slike oznake 477 00:27:09,100 --> 00:27:11,290 zove alt, za alternativni tekst. 478 00:27:11,290 --> 00:27:14,650 A što ja mogu učiniti ovdje je reći: 'Ovo je brz smeđa lisica. " 479 00:27:14,650 --> 00:27:17,650 Tako da, čak i ako čovjek ne može vidjeti sliku na ekranu, 480 00:27:17,650 --> 00:27:20,560 on ili ona može barem čuti, kao s nekim komad softvera, 481 00:27:20,560 --> 00:27:23,080 ono što je zapravo tamo na zaslonu. 482 00:27:23,080 --> 00:27:25,040 >> To se neće promijeniti estetiku stranice, 483 00:27:25,040 --> 00:27:27,640 ali to je svakako dobra praksa za korisnike. 484 00:27:27,640 --> 00:27:31,760 U redu, pustimo ovu web-stranicu u svom sadašnjem obliku, 485 00:27:31,760 --> 00:27:33,890 ali neka je vidjeti ako mi sada ne može uvesti 486 00:27:33,890 --> 00:27:36,210 neki bolji pristupi pisanju ove web stranice, 487 00:27:36,210 --> 00:27:39,980 neke lekcije koje će nam poslužiti i kao naše stranice dobiti više i složenije. 488 00:27:39,980 --> 00:27:42,220 Ono što mi ne ide to učiniti u idućih nekoliko tjedana 489 00:27:42,220 --> 00:27:46,810 vas provesti kroz sve nekoliko desetaka HTML oznake da postoje. 490 00:27:46,810 --> 00:27:49,800 Baš kao u nule natrag u tjednu 0, to će vjerojatno biti dovoljan 491 00:27:49,800 --> 00:27:52,120 dati visoku razinu pregled nekih od pojmova, 492 00:27:52,120 --> 00:27:54,530 brzo obilazak nekih od blokova što su vjerojatno moći, 493 00:27:54,530 --> 00:27:58,240 prilično udobno, za navigaciju na svoje, različite dijelove slagalice. 494 00:27:58,240 --> 00:28:00,460 I da će se to dogoditi ponovno u HTML, najvjerojatnije, 495 00:28:00,460 --> 00:28:04,320 pri čemu postoji dovoljno resursa na webu da ćemo vas uputiti na, 496 00:28:04,320 --> 00:28:06,920 razni udžbenici, ako vam je draže pročitati udžbenik, 497 00:28:06,920 --> 00:28:10,560 koje će vas provesti kroz sve različite stvari koje možete učiniti s HTML, 498 00:28:10,560 --> 00:28:16,100 ali stvarno, vidjeli smo do sada u HTML većina od temeljnih pojmova. 499 00:28:16,100 --> 00:28:19,900 Imamo pojam oznaka otvaraju, oznake se zatvorio. 500 00:28:19,900 --> 00:28:22,100 Neke oznake koje su obje otvorene i zatvorene 501 00:28:22,100 --> 00:28:24,620 u smislu da su oni prazna, tu bi trebalo biti ništa unutar njih 502 00:28:24,620 --> 00:28:27,490 kao slike tag ili prijelom retka, koji su upravo tamo. 503 00:28:27,490 --> 00:28:32,330 Također smo gledali već od pomisli na atribut, kao što su alt ili izvor. 504 00:28:32,330 --> 00:28:36,410 Obavijest da ove riječi imaju tendenciju, prema konvenciji, treba biti kratak i jezgrovit. 505 00:28:36,410 --> 00:28:39,140 >> Mi nemamo diskrecijsko pravo nad onim što su te stvari su pozvani, 506 00:28:39,140 --> 00:28:42,060 netko tko je izmislio HTML došao s tim imenima. 507 00:28:42,060 --> 00:28:44,710 Dakle, samo trebate za početak znati ili gledati, svaki put kad ih trebate, 508 00:28:44,710 --> 00:28:47,160 što su imena za ove oznake i atributa. 509 00:28:47,160 --> 00:28:49,510 U slučaju ovih atributa, pripisuje uglavnom 510 00:28:49,510 --> 00:28:52,900 mijenjati ponašanje nekih krpa. 511 00:28:52,900 --> 00:28:55,710 U ovom slučaju, izvor atribut govori oznaku slike 512 00:28:55,710 --> 00:28:57,940 što je izvor slike bi trebao biti. 513 00:28:57,940 --> 00:29:04,460 Href atribut govori sidro oznaku što to zapravo treba povezuje s. 514 00:29:04,460 --> 00:29:06,800 No, u pogledu strukture web stranice, iako Facebook 515 00:29:06,800 --> 00:29:09,680 i Google i slično izgleda kao potpuni nered 516 00:29:09,680 --> 00:29:12,560 ispod haube na prvi pogled, ako počnete čitati kroz njega 517 00:29:12,560 --> 00:29:16,950 više sustavno, svi oni slijede tu osnovnu, osnovnu strukturu. 518 00:29:16,950 --> 00:29:19,660 Ali možemo poboljšati stilizaciju tih stvari. 519 00:29:19,660 --> 00:29:24,180 Tako da me pusti na nekim primjerima koje sam unaprijed pripremljenih. 520 00:29:24,180 --> 00:29:27,280 Pusti me naprijed te ih kopirati iz drugu mapu ovdje 521 00:29:27,280 --> 00:29:29,380 i stavite ih u ovaj direktorij. 522 00:29:29,380 --> 00:29:32,210 U unaprijed, što sam učinio je pripremiti nekoliko datoteka: 523 00:29:32,210 --> 00:29:35,670 search0, search1, search2 i search3 i 4. 524 00:29:35,670 --> 00:29:38,740 Pusti me naprijed i otvoriti prvi od tih datoteka, 525 00:29:38,740 --> 00:29:42,570 i neka je vidjeti ako ne možemo početi stvarati vlastitu tražilicu. 526 00:29:42,570 --> 00:29:46,530 Na vrhu ove datoteke, kao što je to obično slučaj u razredu, samo hrpa komentara. 527 00:29:46,530 --> 00:29:49,760 U HTML-u, ipak, način na koji ćete početi komentar 528 00:29:49,760 --> 00:29:55,640 je <- i onda si unutar komentaru, multi-line komentar. 529 00:29:55,640 --> 00:29:59,800 Kada ste spremni da se zaustavi taj komentar, možete to učiniti ->. 530 00:29:59,800 --> 00:30:02,380 Dakle, sve na vrhu u plavom je samo komentar. 531 00:30:02,380 --> 00:30:04,620 >> Ovo je moj DOCTYPE deklaracije, što opet, 532 00:30:04,620 --> 00:30:07,080 možete jednostavno kopirati i zalijepiti na vjeri, za sada. 533 00:30:07,080 --> 00:30:10,410 To samo govori preglednik, 'Ovdje dolazi neki HTML 5 ". 534 00:30:10,410 --> 00:30:13,600 Ispod toga, na liniji 14, je prvi od mojih stvarnih oznaka, 535 00:30:13,600 --> 00:30:16,900 i to samo kaže, kao i prije, ovdje dolazi neki HTML, 536 00:30:16,900 --> 00:30:19,460 ovdje dolazi glavu mojoj stranici, ovdje dolazi naslov, 537 00:30:19,460 --> 00:30:23,900 a onda, s druge strane, to je to za naslov, to je to za glavu. 538 00:30:23,900 --> 00:30:26,460 Ovdje sada dolazi tijelo moje stranice. 539 00:30:26,460 --> 00:30:31,040 Dakle, nekoliko novih tagova sada: h1 zalaže za tarifni jedan. 540 00:30:31,040 --> 00:30:33,850 Tu je tradicija u HTML dugi niz godina unatrag 541 00:30:33,850 --> 00:30:37,990 vlasništvo različitih veličina teksta. 542 00:30:37,990 --> 00:30:41,980 I natrag u dan, svatko je značilo, uglavnom, samo veliki i hrabar. 543 00:30:41,980 --> 00:30:45,860 No, tu je i h2, koja je velika, ali ne sasvim kao veliki i hrabar. 544 00:30:45,860 --> 00:30:49,320 Tu je h3, koja je vrsta velika, ali nije gotovo kao veliki i hrabar, 545 00:30:49,320 --> 00:30:52,380 i tako dalje, sve do H6. 546 00:30:52,380 --> 00:30:55,550 Ovih dana, međutim, H1, H2 i H3 stvarno značilo 547 00:30:55,550 --> 00:30:57,980 imati više semantički smisao za njih, 548 00:30:57,980 --> 00:31:01,100 pri čemu h1 je stvarno naslov: pojmom web stranici, 549 00:31:01,100 --> 00:31:04,210 naslov stupca ili nešto slično teksta. 550 00:31:04,210 --> 00:31:09,030 Tako sam namjerno sam rekao h1 CS50 pretraga> h1 551 00:31:09,030 --> 00:31:12,640 da specifiy da je to stvarno naslov, naslov moje stranice. 552 00:31:12,640 --> 00:31:14,850 Nije naslov u smislu naslovnoj traci, 553 00:31:14,850 --> 00:31:18,960 ali naslov da ste zapravo vidjeli u samoj web stranici, u tijelu. 554 00:31:18,960 --> 00:31:20,990 Sada je to, vjerojatno možete pogoditi što je to, 555 00:31:20,990 --> 00:31:23,110 iako imamo nekoliko novih komada sintakse. 556 00:31:23,110 --> 00:31:25,930 To je oblik. Tako je web stvarno dobiva zanimljiv 557 00:31:25,930 --> 00:31:28,770 kada web stranice uzeti ulaz s korisnicima. 558 00:31:28,770 --> 00:31:31,700 U ovoj klasi, u problemu postavljen na web programiranje, 559 00:31:31,700 --> 00:31:33,880 nećemo napraviti web stranicu, sami po sebi, 560 00:31:33,880 --> 00:31:37,570 statični sadržaj koji prikazuje fotografije koje ste poduzeti, 561 00:31:37,570 --> 00:31:40,010 ili je to moj životopis, a stvari o meni, 562 00:31:40,010 --> 00:31:42,450 jer su te stvari relativno lako staviti zajedno. 563 00:31:42,450 --> 00:31:44,400 Teško da bi se stvari lijepe na webu, 564 00:31:44,400 --> 00:31:46,390 ali barem stavljajući sadržaj je prilično trivijalan. 565 00:31:46,390 --> 00:31:49,380 No, stvari se jako zanimljivo kada netko može posjetiti Vašu web stranicu 566 00:31:49,380 --> 00:31:52,260 i osigurati ulaz i može ispuniti obrasce, 567 00:31:52,260 --> 00:31:55,800 možete provjeriti off okvire i mogu komunicirati s Vaše web stranice. 568 00:31:55,800 --> 00:31:57,780 I doista, vjerojatno svaka web stranica vam je stalo 569 00:31:57,780 --> 00:32:00,710 ovih dana, u svakom detalju, nekako interaktivni. 570 00:32:00,710 --> 00:32:03,110 Facebook, Google i slično, to trajati korisničkog unosa 571 00:32:03,110 --> 00:32:05,100 i proizvode prilagođene izlaz. 572 00:32:05,100 --> 00:32:07,780 >> Pa krenimo da to sada. Idemo sada tranzicija 573 00:32:07,780 --> 00:32:11,150 od samo pomoću HTML-a za maržu od statičkog sadržaja 574 00:32:11,150 --> 00:32:14,790 kao umjesto mehanizam za dinamički sadržaj. 575 00:32:14,790 --> 00:32:17,350 I prema tom cilju, ajmo provesti vlastitu tražilicu. 576 00:32:17,350 --> 00:32:20,820 Ajmo to učiniti na sljedeći način. Evo oblik oznaka. 577 00:32:20,820 --> 00:32:24,090 Radnja atribut određuje da kada korisnik ispuni obrazac 578 00:32:24,090 --> 00:32:28,400 sa svojim tipkovnici, to će biti podnesen na ovaj URL ovdje. 579 00:32:28,400 --> 00:32:31,230 Dakle, ja sam vrsta varanja. To će nam trebati malo dulje 580 00:32:31,230 --> 00:32:33,780 od jedne klase provesti cijeli tražilicu, 581 00:32:33,780 --> 00:32:35,880 pa ćemo samo napraviti prednji kraj, da se tako izrazim. 582 00:32:35,880 --> 00:32:38,650 Učinit ćemo dio koji omogućuje korisniku pretraživanje, a mi ćemo izdvojiti od udaranje lopte na Googleu 583 00:32:38,650 --> 00:32:40,950 Teži dio pronalaženja rezultate pretraživanja, 584 00:32:40,950 --> 00:32:43,520 ali, konkretno, ja ću razgovarati s Googleovim web server 585 00:32:43,520 --> 00:32:46,710 koristeći jedan od dva vrlo popularnih metoda. 586 00:32:46,710 --> 00:32:50,000 Jedan se dobiti, drugo, da smo na kraju ćemo vidjeti, što poslije, 587 00:32:50,000 --> 00:32:52,660 iako postoje drugi koji su manje često koriste. 588 00:32:52,660 --> 00:32:56,440 Tako se samo dočarava ideju, želim da se neki sadržaj, dobiti neke rezultate pretraživanja. 589 00:32:56,440 --> 00:32:58,440 To, možda možete pogoditi što to znači. 590 00:32:58,440 --> 00:33:01,900 To je neka vrsta ulaza, to je, u stvari, će izgledati tekstualnom polju, 591 00:33:01,900 --> 00:33:05,200 i ime tog ulaza, naziv te varijable, da tako kažemo, 592 00:33:05,200 --> 00:33:08,610 će se Q za upitu po konvenciji. 593 00:33:08,610 --> 00:33:11,700 I opet, tip ovaj ulaz neće biti kućicu; 594 00:33:11,700 --> 00:33:13,890 to neće biti izbornik, to će biti tekst polje 595 00:33:13,890 --> 00:33:18,060 kao obilježeni ovaj atribut ovdje, a ovaj tekstni okvir, 596 00:33:18,060 --> 00:33:20,680 poput retka, ili je tu ili ne. 597 00:33:20,680 --> 00:33:24,480 Dakle, imamo prazan element s crtom unutar tom oznakom. 598 00:33:24,480 --> 00:33:28,050 Onda ću staviti prijelom retka, a možete, možda, pogodite što će to učiniti. 599 00:33:28,050 --> 00:33:30,210 Ovo je još jedna vrsta obrasca ulaz. 600 00:33:30,210 --> 00:33:32,350 >> Ovaj će se koristiti za slanje obrasca. 601 00:33:32,350 --> 00:33:36,140 Dakle, ovo će biti veliki gumb koji korisnik može kliknuti dostaviti obrazac, 602 00:33:36,140 --> 00:33:40,800 i natpis na taj gumb će biti 'CS50 Traži'. 603 00:33:40,800 --> 00:33:44,170 Zatvori obrazac, blizu tijela, u neposrednoj blizini HTML. 604 00:33:44,170 --> 00:33:46,280 Pogledajmo što imamo u obliku ovoj web stranici. 605 00:33:46,280 --> 00:33:48,260 Dakle, pusti me na moj preglednik, 606 00:33:48,260 --> 00:33:50,360 pusti me, još uvijek, na lokalnom računalu. 607 00:33:50,360 --> 00:33:54,650 To je još uvijek index.html, pa ako želim vidjeti ovu datoteku pod nazivom search0, 608 00:33:54,650 --> 00:33:59,710 Ja jednostavno mogu učiniti / search0.html, unesite - 609 00:33:59,710 --> 00:34:01,880 i prvi moje greške. 610 00:34:01,880 --> 00:34:04,400 Što se događa? Ja očito nemaju dozvolu 611 00:34:04,400 --> 00:34:06,430 pristupiti ovu sliku, iz nekog razloga. 612 00:34:06,430 --> 00:34:10,170 Ali to je zato što, za razliku od rada smo učinili do sada u C, 613 00:34:10,170 --> 00:34:14,340 gdje programi koje pišu Pretpostavlja se da su runable po vama, 614 00:34:14,340 --> 00:34:17,590 izvršna prema vama, to nije stvarno slučaj na webu, 615 00:34:17,590 --> 00:34:21,010 čemu ponekad možda želite stvoriti datoteke na poslužitelju, 616 00:34:21,010 --> 00:34:23,310 ali ne želite cijeli svijet biti u mogućnosti da ih vidjeti. 617 00:34:23,310 --> 00:34:25,469 Umjesto toga, želite svijet vidjeti neke datoteke 618 00:34:25,469 --> 00:34:27,730 ali ne drugi, samo za privatnost miloga. 619 00:34:27,730 --> 00:34:30,730 Dakle, to je više od opt-u osnovi, kada radite stvari na webu. 620 00:34:30,730 --> 00:34:32,810 I tako neka mi zapravo upišite ls ovdje, 621 00:34:32,810 --> 00:34:37,440 i vidjeti datoteke koje imam, ali sjećam da sam to ls-l dugo, 622 00:34:37,440 --> 00:34:41,520 Ja ću dobiti duži popis koji daje mi neki više detalja o tim datotekama 623 00:34:41,520 --> 00:34:45,139 da su sada, zapravo, prvi put relevantne za nas. 624 00:34:45,139 --> 00:34:47,840 Primijetit ćete da se na desnoj strani su imena mojih datoteka, 625 00:34:47,840 --> 00:34:50,690 a onda vrijeme u kojem je posljednji put promijenjena ili kopirati. 626 00:34:50,690 --> 00:34:54,370 Ovaj broj ovdje je ono? Sjećate li se? 627 00:34:54,370 --> 00:34:56,400 Veličina u bajtovima, kako je velika datoteka. 628 00:34:56,400 --> 00:34:59,520 >> Dakle, čini mi se da imaju nekakav logo u ovdje koja je veća od svih drugih datoteka. 629 00:34:59,520 --> 00:35:03,610 To je tko sam ja, to je ono što sam i što grupa sam u. 630 00:35:03,610 --> 00:35:07,430 Ali onda, ovdje na lijevoj strani je malo grobni slijedu, 631 00:35:07,430 --> 00:35:10,040 i razgovarali smo, mislim, ukratko o tome u prošlosti, 632 00:35:10,040 --> 00:35:12,050 ali to ima veze s dozvolama. 633 00:35:12,050 --> 00:35:14,020 A čak i ako je to malo mutno, 634 00:35:14,020 --> 00:35:17,270 RW vjerojatno znači čitati i pisati. 635 00:35:17,270 --> 00:35:22,560 Tako ispada da su ove crtice označavaju različite skupove dozvolama za različite ljude. 636 00:35:22,560 --> 00:35:24,730 A uzorak je, u suštini, kako slijedi. 637 00:35:24,730 --> 00:35:27,650 Kada vidite niz crtica ovdje, oni izgledaju kao što slijedi. 638 00:35:27,650 --> 00:35:30,450 Tu je crtica, zatim tu je još tri crtice, 639 00:35:30,450 --> 00:35:33,390 zatim tu je još tri, onda je tu još tri. 640 00:35:33,390 --> 00:35:36,800 Prvi je bilo crtica ili je oglas za imeniku. 641 00:35:36,800 --> 00:35:40,220 Tako da je jedna je prilično jednostavan. Ako je mapa, ona kaže d, inače to je minus. 642 00:35:40,220 --> 00:35:44,080 Postoji nekoliko drugih slučajeva, ali za sada ćemo samo stalo datoteke i direktorije. 643 00:35:44,080 --> 00:35:48,090 Ove sljedeća tri crtice - i ja sam umjetno umetnuti prostore. 644 00:35:48,090 --> 00:35:50,490 Oni su, očito, ne postoji kada smo ih vidjeli trenutak prije. 645 00:35:50,490 --> 00:35:52,900 To su spisu vlasnika dozvole, 646 00:35:52,900 --> 00:35:55,840 i podsjetiti na drugi prije da je pročitao i pisati. 647 00:35:55,840 --> 00:35:58,560 To je zato što sam, kao osoba koja je stvorila ovu sliku trenutak prije, 648 00:35:58,560 --> 00:36:01,250 Ja, jednostavno po defaultu, na Linux računalu, 649 00:36:01,250 --> 00:36:03,910 imaju sposobnost da nastavi čitanja i pisanja tu datoteku. 650 00:36:03,910 --> 00:36:07,170 >> Dakle, operativni sustav samo mi daje RW automatski. 651 00:36:07,170 --> 00:36:10,840 Srednji one se odnose na moje grupe, koji od studenata, 652 00:36:10,840 --> 00:36:14,590 koja je vrsta besmisleno na aparatu jer sam jedina osoba pomoću aparata. 653 00:36:14,590 --> 00:36:16,620 Pa neka mi samo mahati moje ruke na to za sada. 654 00:36:16,620 --> 00:36:19,190 No, posljednjih su one najvažnije za web. 655 00:36:19,190 --> 00:36:21,580 To je svatko drugi u svijetu, kao i činjenica 656 00:36:21,580 --> 00:36:24,600 da to je --- znači da nitko drugi u svijetu 657 00:36:24,600 --> 00:36:26,680 ima sve dozvole za ovu datoteku. 658 00:36:26,680 --> 00:36:29,180 Jasno je problem, pa moram to popraviti 659 00:36:29,180 --> 00:36:33,830 a nekako daje svijetu ono? Pročitajte i pisati? 660 00:36:33,830 --> 00:36:35,850 To je vjerojatno glupo, zar ne? Ne želim nikoga na webu 661 00:36:35,850 --> 00:36:38,530 ići posjetiti moju stranicu i nekako promijeniti tu datoteku, 662 00:36:38,530 --> 00:36:40,800 iako oni stvarno nije mogao s HTML datoteke, 663 00:36:40,800 --> 00:36:44,110 ali samo u načelu, vjerojatno samo žele da budu u mogućnosti da ga pročitate. 664 00:36:44,110 --> 00:36:47,910 Što to znači da ga čitati? To ne znači da ćeš brinuti o stvarnoj HTML, 665 00:36:47,910 --> 00:36:51,820 ali preglednik mora biti u mogućnosti da izdvoji taj označni jezik, 666 00:36:51,820 --> 00:36:53,720 vrha do dna, s lijeva na desno. 667 00:36:53,720 --> 00:36:57,990 Dakle, netko na webu treba biti u mogućnosti to čitanje, tako da sam minimalno treba dati r. 668 00:36:57,990 --> 00:37:00,240 Ja mogu to učiniti u nekoliko različitih načina, ali možda 669 00:37:00,240 --> 00:37:03,080 Najjednostavnije je pokrenuti ovu naredbu ovdje. 670 00:37:03,080 --> 00:37:10,860 Chmod, promjena načina, onda + r pa sve, svi u svijetu + pročitati, 671 00:37:10,860 --> 00:37:13,830 , a zatim je ime datoteke, search0.html. 672 00:37:13,830 --> 00:37:18,310 >> Sada, ako sam to ls-l opet, primijetit da je datoteka se promijenila, 673 00:37:18,310 --> 00:37:21,440 i doista, ja sam se okrenuo na r za svakoga. 674 00:37:21,440 --> 00:37:23,350 Također sam ga okrenuo na za moju grupu, ali to je u redu, 675 00:37:23,350 --> 00:37:27,150 jer ako sam okrenuo se na svima, moja grupa je podskup toga. 676 00:37:27,150 --> 00:37:31,480 Dakle, to je u redu previše. To samo znači da računalo sada je napravio to čitati. 677 00:37:31,480 --> 00:37:34,430 Sada me pusti natrag u svom pregledniku, kliknite na reload. 678 00:37:34,430 --> 00:37:36,330 Ah-ha. Mi sada imamo CS50 pretraživanje. 679 00:37:36,330 --> 00:37:39,830 Ja sam zumirana u malo umjetno - prilično strašan tražilici. 680 00:37:39,830 --> 00:37:41,930 Ali neka je vidjeti ako to zapravo radi. 681 00:37:41,930 --> 00:37:45,880 Prvo, neka mi učiniti brzo razum ček, dopustite mi da kontroliraju kliknite i pogledajte stranicu izvor. 682 00:37:45,880 --> 00:37:50,780 Primijetit ćete da u roku Chrome mi sada gledamo istu HTML da sam ja stvorio. 683 00:37:50,780 --> 00:37:55,420 Nemojte se zbuniti ovdje, ipak. Ja ne mogu početi mijenjati kod ovdje 684 00:37:55,420 --> 00:37:59,420 jer preglednik ima samo za čitanje pogled ovog koda. 685 00:37:59,420 --> 00:38:06,060 Preglednik samo je pitao lokalni host za datoteke zove search0.html. 686 00:38:06,060 --> 00:38:09,490 To je sada čista slučajnost da aparat 687 00:38:09,490 --> 00:38:13,480 se događa da se na istom računalu kao i moj pregledniku. 688 00:38:13,480 --> 00:38:20,470 Upravo sam mogao imati, ravnopravno, upisali u www.facebook.com/search0.html, 689 00:38:20,470 --> 00:38:23,830 a ako Facebook je imao datoteku pod nazivom, ja bi se onda vidjeti svoju HTML. 690 00:38:23,830 --> 00:38:27,360 I, naravno, ne mogu promijeniti datoteku koja dolazi natrag iz Facebooka, bilo. 691 00:38:27,360 --> 00:38:29,360 Dakle, sada smo vrsta zamućivanje linije. 692 00:38:29,360 --> 00:38:32,130 Uređaj je kako poslužitelj, služeći se web stranice, 693 00:38:32,130 --> 00:38:34,870 ali to je također klijent u smislu da sam koristeći preglednik 694 00:38:34,870 --> 00:38:37,630 da zapravo razgovarati s tom poslužitelju. 695 00:38:37,630 --> 00:38:39,610 Dakle, neka je vidjeti ako moj Google tražilica funkcionira. 696 00:38:39,610 --> 00:38:44,930 Pusti me naprijed i tražiti brzo smeđa lisica, ući. 697 00:38:44,930 --> 00:38:47,540 I voila, sada imam svoju tražilicu. 698 00:38:47,540 --> 00:38:51,460 >> No, kako to funkcionira? 699 00:38:51,460 --> 00:38:55,380 Malo protežu, ali - i sada ne možete vidjeti, točnije, dio koji je od interesa. 700 00:38:55,380 --> 00:38:57,370 Obavijest što se događa. 701 00:38:57,370 --> 00:39:00,430 Obavijest URL. Ispada da tu metodu, 702 00:39:00,430 --> 00:39:02,780 zove se, iznimno je jednostavno. 703 00:39:02,780 --> 00:39:10,270 Kada odredite u obliku koji želite 'dobiti' rezultate od nekog servera, 704 00:39:10,270 --> 00:39:13,200 ono što će učiniti je poduzeti sve što ste upisali u obliku 705 00:39:13,200 --> 00:39:15,290 i staviti ga u URL. 706 00:39:15,290 --> 00:39:18,580 To će se standardizirati kako dobiva staviti u URL kako slijedi. 707 00:39:18,580 --> 00:39:22,290 Primijetit ćete da je to URL da je vrijednost mog djelovanja atributa. 708 00:39:22,290 --> 00:39:24,730 To je mjesto gdje sam htio oblik završiti. 709 00:39:24,730 --> 00:39:26,950 Ali onda primijetite ovu upitnika. 710 00:39:26,950 --> 00:39:30,230 To je konvencija na webu pri čemu pružiti korisničkog unosa 711 00:39:30,230 --> 00:39:35,320 na web stranici, možete dodati na URL upitnikom, 712 00:39:35,320 --> 00:39:38,330 i onda imate hrpu ključ-vrijednost parova. 713 00:39:38,330 --> 00:39:42,380 Naziv ključa, inače poznat kao parametar u web, 714 00:39:42,380 --> 00:39:46,380 onda imate znak jednakosti, onda imate vrijednost tog parametra. 715 00:39:46,380 --> 00:39:49,810 Dakle, to je bitno ime varijable, a vrijednost varijable, 716 00:39:49,810 --> 00:39:54,250 No, one varijable imena i vrijednosti došao iz HTML obliku. 717 00:39:54,250 --> 00:39:56,250 Zašto su pluses postoji, što mislite? 718 00:39:56,250 --> 00:39:59,340 Jer nisam upišite + između mojih riječi. 719 00:39:59,340 --> 00:40:01,430 [Student, nerazumljivo] 720 00:40:01,430 --> 00:40:05,080 >> Da, to je samo za razmak. Tečajevi su, kad ste vidjeli URL, 721 00:40:05,080 --> 00:40:07,320 tamo nikada nije bilo mjesta u njoj, ako je samo zato 722 00:40:07,320 --> 00:40:09,440 ako je bilo, vi stvarno ne mogu kopirati i zalijepiti 723 00:40:09,440 --> 00:40:12,700 u IM ili u email jer bi to break. 724 00:40:12,700 --> 00:40:15,420 Želite cijela stvar biti jedan neprekinut niz znakova. 725 00:40:15,450 --> 00:40:18,450 >> Dakle preglednik je dovoljno pametan da shvatite, uh-uh. 726 00:40:18,450 --> 00:40:22,610 Ne samo stavi razmak tamo. Dopustite mi da kodirati prostor u nekom standardnom način. 727 00:40:22,610 --> 00:40:25,170 Jedan od konvencija za to je da imaju preglednik 728 00:40:25,170 --> 00:40:29,350 automatski staviti + gdje bi inače imaju prostor. 729 00:40:29,350 --> 00:40:32,140 Tako sada, obavijest Google je vrsta razumljiv. 730 00:40:32,140 --> 00:40:34,380 Ja sigurno nije stvorio ovu web stranicu, 731 00:40:34,380 --> 00:40:37,200 ali oni su prepopulated vlastitu tekstualno polje 732 00:40:37,200 --> 00:40:39,490 s tim što, točno, ja upisali u. 733 00:40:39,490 --> 00:40:43,090 Pretpostavimo da želim tražiti nešto drugo, kao što su lijeni pas. 734 00:40:43,090 --> 00:40:45,340 Ja mogu samo pisati ovo ovdje, ponovno pretraživanje. 735 00:40:45,340 --> 00:40:47,730 Obavijest da URL mijenja se ovdje, 736 00:40:47,730 --> 00:40:51,390 ali onda primijetiti da ja zapravo mogu tražiti ništa želim 737 00:40:51,390 --> 00:40:53,610 samo razumijevanje kako URL-ove radove. 738 00:40:53,610 --> 00:40:56,840 Mogao sam napraviti lijeni mačka, unesite, 739 00:40:56,840 --> 00:41:01,370 i primijetiti sada sam uzimajući vrlo lijeni - treba mi? Osjećam se kao da smo trebali. 740 00:41:01,370 --> 00:41:09,900 Ja se vrlo lijen mačku. 741 00:41:09,900 --> 00:41:11,930 U redu. To je jedna od stvari najgluplji smo učinili. 742 00:41:11,930 --> 00:41:17,160 No, da je lijen mačka. 743 00:41:17,160 --> 00:41:19,730 U svakom slučaju, ono što je ključno takeaway ovdje? 744 00:41:19,730 --> 00:41:22,830 Sada smo vrsta igranja u svijetu HTTP. 745 00:41:22,830 --> 00:41:26,050 HTML je samo ovaj jezik za označavanje, otvoren oznaka, u blizini oznaka, 746 00:41:26,050 --> 00:41:29,490 koji govori preglednik kako pružanje sadržaja na web stranici. 747 00:41:29,490 --> 00:41:32,850 Ali kad počnete prijenos podataka preko Interneta 748 00:41:32,850 --> 00:41:36,290 između web preglednika i poslužitelja, to je gdje je taj protokol 749 00:41:36,290 --> 00:41:39,370 poznat kao HyperText Transfer Protocol preuzima. 750 00:41:39,370 --> 00:41:42,630 To je vrsta ljudskog konvencije, kada Sam i Rukovao sam se u ponedjeljak, 751 00:41:42,630 --> 00:41:48,300 počinju vezu, a zatim zatvaranje veze, istu ideju ovdje. 752 00:41:48,300 --> 00:41:53,100 Kako su Googleovi rezultati dolaze k meni? 753 00:41:53,100 --> 00:41:55,290 Kako je moj oblik podnošenje ide na Googleu? 754 00:41:55,290 --> 00:41:58,160 Pa, sjećam od neki dan da je ono što se stvarno događa 755 00:41:58,160 --> 00:42:02,150 ispod haube kad zatraži web-stranica, 756 00:42:02,150 --> 00:42:04,860 Vaš preglednik šalje nešto-grobni poruku poput 757 00:42:04,860 --> 00:42:09,510 GET / HTTP/1.1 za zadane početne stranice. 758 00:42:09,510 --> 00:42:13,000 >> Ili, u ovom slučaju, jer sam posebno zatražio ranije 759 00:42:13,000 --> 00:42:17,340 search0.html, to bi onda biti nešto-zagonetna poruka 760 00:42:17,340 --> 00:42:20,040 da moj preglednik šalje na aparat. 761 00:42:20,040 --> 00:42:23,090 Ili, u ovom slučaju Googlea, što se zapravo šalju 762 00:42:23,090 --> 00:42:33,740 je zahtjev za / potragu, i onda? q = lijenog mačka, s plus tu. 763 00:42:33,740 --> 00:42:36,790 Dakle, ovu poruku, da sam, ljudski, nikad sam tipkati, 764 00:42:36,790 --> 00:42:40,620 ali se šalje pregledniku, ovo je kako HTTP događa. 765 00:42:40,620 --> 00:42:43,240 Ovo je ekvivalent od naših što potresen ruke. 766 00:42:43,240 --> 00:42:46,320 To je zahtjev, a poslužitelj je oko poslati odgovor. 767 00:42:46,320 --> 00:42:48,560 Dakle, neka je pogledati ovo ispod haube. 768 00:42:48,560 --> 00:42:55,320 Kao i prije, možemo otvoriti ovaj posebni polje u pregledniku. 769 00:42:55,320 --> 00:42:58,720 Pogledajte stranicu, pregledajte elemente. 770 00:42:58,720 --> 00:43:01,550 Dakle, pod pregledati element, primijetiti da je ono što se dogodilo u Chrome, 771 00:43:01,550 --> 00:43:04,160 i IE i Firefox imaju slične mehanizme, 772 00:43:04,160 --> 00:43:07,370 imamo ove razvojne alate dostupne za nas. 773 00:43:07,370 --> 00:43:09,630 Normalni ljudi ne koriste ove kartice. 774 00:43:09,630 --> 00:43:11,940 Ali mi, sada su zainteresirani za ono što se događa 775 00:43:11,940 --> 00:43:13,890 ispod haube na mrežnoj razini. 776 00:43:13,890 --> 00:43:16,130 Dakle, ako sam podići razinu mrežnog ovdje, 777 00:43:16,130 --> 00:43:18,510 pusti me naprijed i proširiti ovaj prozor, 778 00:43:18,510 --> 00:43:21,840 otvoriti ovaj ulaz ovdje, i pogledajte zaglavlja. 779 00:43:21,840 --> 00:43:26,010 Dakle, što se događa kad sam zatražiti datoteku s web-poslužitelja 780 00:43:26,010 --> 00:43:29,410 je moj preglednik šalje hrpu stvari. 781 00:43:29,410 --> 00:43:32,390 I neka mi vidjeti izvor. Dakle, pod zaglavljima zahtjeva, 782 00:43:32,390 --> 00:43:35,250 i to je samo Krom pokazujući mi neki dijagnostički izlaz, 783 00:43:35,250 --> 00:43:37,340 nešto kao debugger neke vrste, 784 00:43:37,340 --> 00:43:40,500 primijetiti da je ono što sam istaknuo ovdje je upravo ono što 785 00:43:40,500 --> 00:43:47,060 Chrome šalje na server kako bi zatražili datoteku pod nazivom search0.html. 786 00:43:47,060 --> 00:43:50,160 To govori server ono što misli da njegovo ime je, 787 00:43:50,160 --> 00:43:52,210 zahvaljujući ovom području domaćina debelog, onda postoji neki 788 00:43:52,210 --> 00:43:56,950 prilično ezoterične stvari ovdje, kao nešto učiniti s datumima i vremenima, 789 00:43:56,950 --> 00:43:59,720 nešto učiniti s jezika koji preglednik razumije, 790 00:43:59,720 --> 00:44:02,850 ali stvarno važne linije su to prva dva ovdje. 791 00:44:02,850 --> 00:44:05,490 >> Što je poslužitelj odgovoriti? Pa, ako smo dođite ovamo 792 00:44:05,490 --> 00:44:08,510 i pogledati izvor ove stvari, primijetiti da je poslužitelj 793 00:44:08,510 --> 00:44:13,700 je odgovorila nešto grobni poruku, kao, 304 nije promijenjena. 794 00:44:13,700 --> 00:44:16,030 To je malo čudno, neka mi zapravo pokušati popraviti. 795 00:44:16,030 --> 00:44:18,670 Dopustite mi da držite shift i kliknite učitati ovdje 796 00:44:18,670 --> 00:44:22,460 natjerati preglednik da zapravo čine ovaj zahtjev za prvi put. 797 00:44:22,460 --> 00:44:25,700 Onda neka mi povećali, pa ćemo vidjeti sada da poslužitelj odgovor, 798 00:44:25,700 --> 00:44:28,950 jer sam imao smjenu, je 200 OK. 799 00:44:28,950 --> 00:44:31,170 Dakle, vjerojatno ste nikada nije vidio broj 200 800 00:44:31,170 --> 00:44:33,300 U kontekstu Weba, ali ono što brojeva 801 00:44:33,300 --> 00:44:36,760 ste ponekad vidjeli neočekivano s poslužitelja? 802 00:44:36,760 --> 00:44:42,010 404, datoteka nije pronađena, 403, zabranjeno, 500, pogreška poslužitelja. 803 00:44:42,010 --> 00:44:44,890 Dakle, tu su ti numeričke oznake da je svijet koristi na webu 804 00:44:44,890 --> 00:44:47,870 da označi pogreške, baš kao i C funkcija 805 00:44:47,870 --> 00:44:51,030 mogu vratiti pogreške i glavna mogu vratiti izlazne kodove. 806 00:44:51,030 --> 00:44:54,160 200, iako se rijetko vidi jer to znači da je sve dobro. 807 00:44:54,160 --> 00:44:59,000 A 304 vjerojatno nikada neće vidjeti, jer ono što je ona označava? 808 00:44:59,000 --> 00:45:03,330 Kako se ništa nije - neka je vidjeti ako možemo simulirati to opet - 809 00:45:03,330 --> 00:45:07,170 Oh, sad je ne surađuje. 304 rekao ne mijenjati, 810 00:45:07,170 --> 00:45:09,170 pa zašto je server čak reagirati? 811 00:45:09,170 --> 00:45:12,550 Pa, za učinkovitost, server automatski za vas, 812 00:45:12,550 --> 00:45:16,570 ako datoteka nije promijenilo, to neće prenosimo cijeli HTML datoteku. 813 00:45:16,570 --> 00:45:19,150 To ću samo reći preglednik nije promijenilo. 814 00:45:19,150 --> 00:45:21,220 Dovoljno je koristiti kopiju već imate. 815 00:45:21,220 --> 00:45:22,650 Dakle, tu je taj pojam caching na webu 816 00:45:22,650 --> 00:45:25,840 za izvedbu, tako da ne gubiti vrijeme i otpada propusnost 817 00:45:25,840 --> 00:45:29,160 preuzimanje datoteka opet i opet nepotrebno. 818 00:45:29,160 --> 00:45:31,460 >> No, ova web stranica, sada je super-jednostavan, 819 00:45:31,460 --> 00:45:34,980 i to samo mi je pokazao HTML koji ste dobili natrag. 820 00:45:34,980 --> 00:45:40,940 Ajmo zapravo koristiti mrežni tab sada napraviti Google pretraživanje poput brzog smeđe lisice. 821 00:45:40,940 --> 00:45:43,010 Dopustite mi zatim CS50 pretraživanje, 822 00:45:43,010 --> 00:45:46,950 i sada, primijetiti na dnu ovdje cijela hrpa stvari vratio 823 00:45:46,950 --> 00:45:49,900 jer kad sam posjetiti pravi web stranice poput Google.com, 824 00:45:49,900 --> 00:45:53,520 imaju slike, oni imaju tekst, imaju jezik zove JavaScript tamo. 825 00:45:53,520 --> 00:45:55,940 Dakle, svaki redak u ovoj tablici dolje 826 00:45:55,940 --> 00:46:01,490 predstavlja nešto što Google ispljunuti odgovor na moj jednom zahtjevu. 827 00:46:01,490 --> 00:46:04,160 Onaj mi je stalo, iako je ovo prvi. 828 00:46:04,160 --> 00:46:08,420 A ako idem na pretrage, zahtjev, kliknite ovdje vidite izvor, 829 00:46:08,420 --> 00:46:11,300 primijetiti da, doista, zagonetna poruka da je moj preglednik poslao 830 00:46:11,300 --> 00:46:15,010 za Google je ove dvije linije ovdje, 831 00:46:15,010 --> 00:46:18,420 nakon nekog kompliciranih informacija ovdje koje ćemo ignorirati za sada. 832 00:46:18,420 --> 00:46:20,890 Ali primijetite, previše, što Chrome je prilično zgodan s, 833 00:46:20,890 --> 00:46:24,540 to je također prikazuje mi niz upita koji je poslan u. 834 00:46:24,540 --> 00:46:27,410 Dakle, umjesto da mi pokaže ovo, što doslovno je poslana, 835 00:46:27,410 --> 00:46:30,800 ako sam ga vidjeli dekodirani, Chrome, samo za ispravljanje pogrešaka svrhe, 836 00:46:30,800 --> 00:46:34,270 za programere poput nas, to je samo pokazuje mi ljudsko-friendly verziju - 837 00:46:34,270 --> 00:46:36,390 da nije kako se piše lisica, očito. 838 00:46:36,390 --> 00:46:40,520 Samo sam primjećujem to sada - ali to vam pokazuje ono što sam, očito, upisali. 839 00:46:40,520 --> 00:46:45,340 U međuvremenu, odgovor koji se vratio s poslužitelja je opet 200 OK. 840 00:46:45,340 --> 00:46:47,930 Ali uključeni u taj odgovor, naravno, 841 00:46:47,930 --> 00:46:51,920 ako smo zapravo vidjeli stranici je HTML - 842 00:46:51,920 --> 00:46:55,440 Žao nam je, ovo je malo tipkovnica prečac otišao naopako danas. 843 00:46:55,440 --> 00:46:59,020 >> Ja ću se baviti kasnije. Dakle, ako smo zapravo vidjeli stranici je izvor, 844 00:46:59,020 --> 00:47:02,990 što mogu učiniti ovdje klikom odgovor, 845 00:47:02,990 --> 00:47:10,080 to je ono što je zapravo pljuje natrag, uz taj skroviti 200 OK poruku s poslužitelja. 846 00:47:10,080 --> 00:47:12,520 Malo zagonetan, ali gdje je sve to dolazi iz? 847 00:47:12,520 --> 00:47:15,570 Pa, hajdemo napraviti jednu drugu stvar ovdje. Još nešto-grobni command, 848 00:47:15,570 --> 00:47:20,530 ali ova je vrsta uredan u smislu da nam otkriva upravo ono što se događa ispod haube. 849 00:47:20,530 --> 00:47:22,530 Tako sam se vratio na moj Mac ovdje, ja sam spojen 850 00:47:22,530 --> 00:47:25,980 putem programa pod nazivom SSH, Secure Shell, na drugom poslužitelju 851 00:47:25,980 --> 00:47:28,940 jer je većina Harvarda računala blokirati naredbu da smo o tome kako pokrenuti 852 00:47:28,940 --> 00:47:31,640 jer je to naredba o nekim serverima zove traceroute 853 00:47:31,640 --> 00:47:34,810 koji vam omogućuje da trag put između točaka A i B, 854 00:47:34,810 --> 00:47:37,020 i do sada smo uzimali zdravo za gotovo u potpunosti 855 00:47:37,020 --> 00:47:40,170 da mogu upisati u Google.com i nekako doći do podataka natrag 856 00:47:40,170 --> 00:47:43,530 od pola u cijeloj zemlji ili na pola puta širom svijeta. 857 00:47:43,530 --> 00:47:45,810 S traceroute zapravo možemo zaroniti malo dublje u 858 00:47:45,810 --> 00:47:49,370 o tome kako je internet radi, i vidjeti što se događa ispod haube. 859 00:47:49,370 --> 00:47:54,440 Dakle, idemo naprijed i samovoljno trag put, recimo, Stanford.edu, 860 00:47:54,440 --> 00:47:57,150 što je u cijeloj zemlji, i pogodak ulaziti. 861 00:47:57,150 --> 00:47:59,380 Ova naredba može biti iznimno brz ili super-sporo, 862 00:47:59,380 --> 00:48:02,010 ali ono što smo vidjeli danas, liniju po liniju, 863 00:48:02,010 --> 00:48:08,060 je svaki od koraka ili hmelja između nas i Palo Alto, ili Stanford, 864 00:48:08,060 --> 00:48:11,010 gdje imaju svoj web poslužitelj. 865 00:48:11,010 --> 00:48:16,600 Dakle, što svaki od tih redaka predstavljaju više konkretno, iako? 866 00:48:16,600 --> 00:48:19,100 Komad žargon s interneta? [Student, nerazumljivo] 867 00:48:19,100 --> 00:48:21,570 >> Što je to? [Student, nerazumljivo] 868 00:48:21,570 --> 00:48:25,390 >> Oh, tako postoje trenuci, ali što svaki red - što mi znači hop? 869 00:48:25,390 --> 00:48:29,140 >> Pa, postoje ove stvari na internetu pod nazivom routera. 870 00:48:29,140 --> 00:48:33,020 I routera, kao što ime sugerira, put informacije od točke A do točke B. 871 00:48:33,020 --> 00:48:36,920 No, postoji nekoliko točaka izvan A i B. 872 00:48:36,920 --> 00:48:40,010 Postoji C i D i E i F između retku 1, 873 00:48:40,010 --> 00:48:43,480 što se događa da se moje računalo IP adresa, 874 00:48:43,480 --> 00:48:46,890 ili moja numerička adresa, koja jedinstveno identificira moje računalo, 875 00:48:46,890 --> 00:48:50,300 i korak 15, koji je zapravo šesti web server, 876 00:48:50,300 --> 00:48:54,640 očito, što sam iz toga zaključi, ili verzija 6 od svog web server na Stanfordu. 877 00:48:54,640 --> 00:48:56,680 No, ono što je vrsta uredan je, možemo vidjeti put 878 00:48:56,680 --> 00:49:00,480 da se moj 0-a i jedan je uzimanje iz mog računala na Stanfordu. 879 00:49:00,480 --> 00:49:02,500 Dakle korak 1 je moja vlastita računala adresu. 880 00:49:02,500 --> 00:49:05,760 Svako računalo na Internetu ima jedinstveni identifikator koji izgleda ovako. 881 00:49:05,760 --> 00:49:08,150 Number.number.number.number. 882 00:49:08,150 --> 00:49:10,370 Negdje na ovom kampusu, vjerojatno u znanstvenom centru, 883 00:49:10,370 --> 00:49:16,780 je usmjerivač naziva jezgra Gateway 2-te83, što god to značilo, 884 00:49:16,780 --> 00:49:20,590 tako da je ovo jedna od Harvarda velikih fantazija usmjerivač koji ruta puno svog prometa. 885 00:49:20,590 --> 00:49:24,640 Evo još jedan od Harvarda routera, ovo je granica Gateway, 886 00:49:24,640 --> 00:49:28,310 granični značenje, to je vjerojatno na periferiji kampusu negdje. 887 00:49:28,480 --> 00:49:32,790 Zatim tu je nox jedan, red 4, što je Sjeverna Crossroads 888 00:49:32,790 --> 00:49:35,070 što je veliki ISP, Internet usluga, 889 00:49:35,070 --> 00:49:37,740 da mjesta poput Harvarda spojiti do. 890 00:49:37,740 --> 00:49:40,760 Ali onda se stvari malo zanimljivo u skladu šest. 891 00:49:40,760 --> 00:49:45,960 Gdje su moji bita odjednom? Kansas. 892 00:49:45,960 --> 00:49:49,300 Svijet ima naviku korištenja aerodrom kodove u puno tih stvari, 893 00:49:49,300 --> 00:49:52,900 ili barem kratica za države ili gradova, 894 00:49:52,900 --> 00:49:56,490 tako to izgleda, u samo 60 ms, 895 00:49:56,490 --> 00:49:59,420 paket informacija, 0-ih i jedan je od moj laptop 896 00:49:59,420 --> 00:50:03,210 dobio sve do Kansasu, a opet, u 60 ms. 897 00:50:03,210 --> 00:50:08,180 >> Štoviše, nakon što je Kansas, oni su turneju kroz Houston, vjerojatno, 898 00:50:08,180 --> 00:50:10,140 kao što samo ime ovog poslužitelja. 899 00:50:10,140 --> 00:50:13,310 Dakle, baš kao poslužitelj na Internetu mora imati numeričku adresu, 900 00:50:13,310 --> 00:50:18,360 to također može, opcionalno, imaju nešto više ljudsko-friendly adresu da ljudi došao gore sa. 901 00:50:18,360 --> 00:50:20,510 Sada, u koraku 8, ne znamo što je to. 902 00:50:20,510 --> 00:50:22,550 Ponekad routera samo vrsta vas ignorirati, 903 00:50:22,550 --> 00:50:25,010 i oni jednostavno ne odgovara na pitanja, tako da je u redu. 904 00:50:25,010 --> 00:50:29,290 Onaj nakon koraka 8 je očito gdje? L.A. 905 00:50:29,290 --> 00:50:35,290 Obavijest u samo 78 ms, što nas vodi ljude poput 6 + sati raditi fizički, 906 00:50:35,290 --> 00:50:40,110 Potrebno pakete informacija na internetu 78 ms putovati tako daleko. 907 00:50:40,110 --> 00:50:45,890 Korak 10 je u LA-u, kao i, i korak 11 Čini se da su otišli na sjever, do blizu Stanfordu. 908 00:50:45,890 --> 00:50:48,750 To je njihova granica usmjerivač ili granični usmjerivač. 909 00:50:48,750 --> 00:50:51,240 Prije nekoliko koraka na Stanfordu koji su nam ignoriranje, 910 00:50:51,240 --> 00:50:55,610 i na kraju, dolazimo do web-poslužitelj u samo 87 ms. 911 00:50:55,610 --> 00:50:57,760 Sada, svi od tih brojeva, kao stranu, 912 00:50:57,760 --> 00:51:00,640 Samo vam reći koliko dugo to traje za podatke kako bi dobili od mene 913 00:51:00,640 --> 00:51:03,530 za svaki od tih routera, i to ne akumulativna. 914 00:51:03,530 --> 00:51:06,960 Ono što ovaj program se je, da je prvi šalje poruku, u suštini, na prvi usmjerivač. 915 00:51:06,960 --> 00:51:09,490 Zatim jedan na drugi ruter, a zatim jedan treći ruter, 916 00:51:09,490 --> 00:51:12,610 mjerenje svaki put. Dakle, u teoriji, ova vremena će se raste 917 00:51:12,610 --> 00:51:14,860 ili barem prilično blizu jedan drugome, 918 00:51:14,860 --> 00:51:18,090 i, štoviše, one koje su upravo ovdje na kampusu su super-male. 919 00:51:18,090 --> 00:51:20,820 Čim počnete ide u cijeloj zemlji, to traje podatke 920 00:51:20,820 --> 00:51:24,830 malo dulje putovati, bliže 100 ms, dati ili uzeti. 921 00:51:24,830 --> 00:51:28,330 Ali idemo u drugom smjeru sada. Kako o sveučilištu Cambridge u Velikoj Britaniji? 922 00:51:28,330 --> 00:51:32,540 Dopustite mi da umjesto pokrenuti traceroute od www.cam za Cambridge, 923 00:51:32,540 --> 00:51:36,710 . Ac za akademsku,. Uk, i pogodak ulaziti ovdje. 924 00:51:36,710 --> 00:51:38,830 To je prilično prokleto brzo. 925 00:51:38,830 --> 00:51:43,300 Moji podaci doslovno otišao u Cambridgeu, Engleskoj, u tom djeliću sekunde vremena. 926 00:51:43,300 --> 00:51:45,340 >> Dakle, neka je vidjeti put koji ga je uzeo. 927 00:51:45,340 --> 00:51:47,520 Harvard, Harvard, Harvard, Northern Crossroads 928 00:51:47,520 --> 00:51:52,690 što je ISP, a onda je to Northern Crossroads, i onda bam. 929 00:51:52,690 --> 00:51:58,320 Što je između koraka 6 i 7, router 6 i 7? 930 00:51:58,320 --> 00:52:02,040 Atlantski ocean. I mi smo zaključiti ovaj iz činjenice da 931 00:52:02,040 --> 00:52:06,530 idemo od 20 ms ovdje za 80 ms ovdje. 932 00:52:06,530 --> 00:52:10,050 Tako nešto je 60 ms, dati ili uzeti, da bi dobili više. 933 00:52:10,050 --> 00:52:12,910 I to je vjerojatno bio veliki tijelo vodom. 934 00:52:12,910 --> 00:52:15,250 Što se događa nakon toga? Pa, ovdje smo u Londonu, 935 00:52:15,250 --> 00:52:18,860 samo 88 ms kasnije. Više London, London više, 936 00:52:18,860 --> 00:52:21,730 Nisam siguran gdje je to, ali mi ćemo pretpostaviti da je izvan Londona, 937 00:52:21,730 --> 00:52:26,390 Cambridge ovdje, a na kraju smo - doslovno, Sveučilište u Cambridgeu 938 00:52:26,390 --> 00:52:29,500 . Something.net, a onda, konačno, u skladu 16, 939 00:52:29,500 --> 00:52:31,720 njihov web server je navodno nazvao Scorpius 940 00:52:31,720 --> 00:52:35,500 ispod haube, iako smo ga znali kao www. 941 00:52:35,500 --> 00:52:38,790 Vrsta uma-puše, mislim. Prvi put sam ikada to učinio, ona je posve puhnuo moj um. 942 00:52:38,790 --> 00:52:41,670 Nažalost, Harvard blokira ovu vrstu prometa, u pravilu, na mreži. 943 00:52:41,670 --> 00:52:44,340 Dakle, ne možete to učiniti super lako. 944 00:52:44,340 --> 00:52:48,500 Shvatite, ipak, to je ovdje moguće. 945 00:52:48,500 --> 00:52:53,630 U redu. Uzmimo naš 5-minutni predah ovdje. Mi ćemo se vratiti i zaroniti u dublje. 946 00:52:53,630 --> 00:53:00,850 Dakle, mi smo se, a mi smo vrsta odšetao oko u nekoliko različitih smjerova ovdje. 947 00:53:00,850 --> 00:53:03,700 Tako ćemo rezimirati što se točno se ovdje događa. 948 00:53:03,700 --> 00:53:07,990 Počeli smo razgovor govori o tom jeziku zove HTML. 949 00:53:07,990 --> 00:53:10,680 Opet, ne programski jezik. To je samo Označni jezik 950 00:53:10,680 --> 00:53:15,490 koji je u velikoj mjeri o estetici i strukturiranje sadržaja u obliku web-stranice. 951 00:53:15,490 --> 00:53:19,220 No, HTML, stoga, treba nekakav mehanizam 952 00:53:19,220 --> 00:53:22,870 za putovanje između web preglednika i poslužitelja. 953 00:53:22,870 --> 00:53:28,360 HTML stoga vrsta vožnje na vrhu tom drugom jeziku, 954 00:53:28,360 --> 00:53:31,280 ili više ispravno, protokol, poznat kao HTTP. 955 00:53:31,280 --> 00:53:33,730 >> I HTTP, kao što smo to vidjeli dosad, 956 00:53:33,730 --> 00:53:37,140 je vrsta analogan ovom ljudskom konvenciji rukujući se. 957 00:53:37,140 --> 00:53:39,940 Kad preglednik želi zatražiti stranicu s poslužitelja, 958 00:53:39,940 --> 00:53:43,450 on šalje da "dobiti" zahtjev iz preglednika na poslužitelj, 959 00:53:43,450 --> 00:53:48,040 i onda server odgovara s brojem poput 200, sve je u redu, 960 00:53:48,040 --> 00:53:53,290 kao HTML ili nekog lošeg broj poput 404, datoteka nije pronađena. 961 00:53:53,290 --> 00:53:58,220 No, u međuvremenu, HTTP sama po sebi nije internetu, sama po sebi. 962 00:53:58,220 --> 00:54:01,550 HTTP je samo servis, značajka Interneta 963 00:54:01,550 --> 00:54:05,530 baš kao G chatu je drugi servis, baš kao i e-mail je drugi servis. 964 00:54:05,530 --> 00:54:09,180 Tu je sve vrste stvari koje možemo učiniti na internetu. 965 00:54:09,180 --> 00:54:12,670 HTTP je samo jedan od tih aplikacija. 966 00:54:12,670 --> 00:54:17,210 Dakle, na vrhu - HTTP je na vrhu nešto drugo 967 00:54:17,210 --> 00:54:21,750 koji mi nije spomenuo imenom, možda ste čuli, po imenu, TCP / IP. 968 00:54:21,750 --> 00:54:25,160 Dakle, priča mi samo rekli da je sve o 969 00:54:25,160 --> 00:54:28,720 kako se podaci putuje od točke A do točke B. 970 00:54:28,720 --> 00:54:30,950 I u ovom slučaju, vidjeli smo na vrlo niskoj razini 971 00:54:30,950 --> 00:54:33,060 usmjerivač usmjerivač usmjerivač na ruter, 972 00:54:33,060 --> 00:54:35,390 kako podaci zapravo se prenosi. 973 00:54:35,390 --> 00:54:40,510 No, na tom putu, to će se susresti razne prepreke. 974 00:54:40,510 --> 00:54:43,770 Osim tih routera, postoje stvari koje se nazivaju firewall na Internetu, 975 00:54:43,770 --> 00:54:46,680 i tako podataka, kao što je da smo bili samo prenošenje 976 00:54:46,680 --> 00:54:49,720 od mene na Stanfordu, od mene na Cambridge, 977 00:54:49,720 --> 00:54:54,560 je poslan, na ovoj razini, nešto što se zove IP adresu. 978 00:54:54,560 --> 00:54:57,340 Vidjeli smo to maloprije, i IP adresa 979 00:54:57,340 --> 00:55:02,480 je samo brojčana adresa obrasca w.x.y.z, 980 00:55:02,480 --> 00:55:08,070 gdje je svaki od njih je između njih, dati ili uzeti, 0 i 255, 981 00:55:08,070 --> 00:55:10,080 iako ne sasvim mogu koristiti svi od tih brojeva. 982 00:55:10,080 --> 00:55:14,220 No, svaki od tih mjesta nositelja je broj između 0 i 255. 983 00:55:14,220 --> 00:55:16,820 Dakle, IP adrese ovih dana je 32 bita. 984 00:55:16,820 --> 00:55:20,780 >> Sada, koji nam daje koliko je moguće IP adrese u svijetu? 985 00:55:20,780 --> 00:55:24,420 Oko četiri milijarde, jer svaki put kad smo računajući u ovlasti 2 986 00:55:24,420 --> 00:55:27,760 sve do 32 nečega, koji se obično daje nam 4000000000. 987 00:55:27,760 --> 00:55:30,160 Tako da je puno IP adresa, ali možda ste pročitali, 988 00:55:30,160 --> 00:55:32,410 ili ste sada primijetiti u popularnom tisku, 989 00:55:32,410 --> 00:55:36,020 guranje prema novom verzijom IP zove IPv6. 990 00:55:36,020 --> 00:55:38,290 Upravo sada smo koristeći inačicu 4. 991 00:55:38,290 --> 00:55:41,060 Tu stvarno nije verzija 5, mi smo samo skakanje pravo na šest. 992 00:55:41,060 --> 00:55:46,760 Verzija 6 će se koristiti 128 bita za IP adrese, što je mušičav ogroman. 993 00:55:46,760 --> 00:55:49,430 Mi ne bi trebali istrčati za neko vrijeme sada, 994 00:55:49,430 --> 00:55:52,980 ali mi smo počeli ponestane verzija 4 IP adrese, 995 00:55:52,980 --> 00:55:56,110 jer svi od nas imaju ne samo stvari poput prijenosnih i stolnih računala, 996 00:55:56,110 --> 00:55:58,700 Mnogi od nas imaju telefone, puno od nas imaju i druge uređaje 997 00:55:58,700 --> 00:56:01,600 poput TiVo i kao da imaju IP adrese sebe. 998 00:56:01,600 --> 00:56:03,720 Harvard sebi ima nekoliko desetaka tisuća računala. 999 00:56:03,720 --> 00:56:07,970 Dakle, svijet zaista ponestaje IP adresa, barem ovog obrasca. 1000 00:56:07,970 --> 00:56:10,340 Dakle, u idućih nekoliko godina, ti si idući u vidjeti adrese 1001 00:56:10,340 --> 00:56:12,870 na svojim računalima vjerojatno polako promijeniti 1002 00:56:12,870 --> 00:56:16,740 kao sve više i više tvrtki i sveučilišta početi podržavati noviju verziju. 1003 00:56:16,740 --> 00:56:22,770 No, IP adresa nije dostatna za računalo na zatražiti podatke iz računalnog b. 1004 00:56:22,770 --> 00:56:24,950 Budući da računalo b mogao biti poslužitelj, 1005 00:56:24,950 --> 00:56:27,600 i poslužitelja, kao što sam spomenuo ranije, može učiniti grozdovima stvari. 1006 00:56:27,600 --> 00:56:29,940 To može ugostiti web stranice, to može biti poslužitelja e-pošte, 1007 00:56:29,940 --> 00:56:32,310 to može biti Skype poslužitelj, to može biti poslužitelj G chat. 1008 00:56:32,310 --> 00:56:35,870 >> Sve ove različite usluge koje može pružiti na poslužitelju 1009 00:56:35,870 --> 00:56:38,330 sve može, fizički, biti na istom stroju. 1010 00:56:38,330 --> 00:56:40,380 Dakle, osim IP adrese, 1011 00:56:40,380 --> 00:56:43,250 svijet ima stvari zove portovi na internetu. 1012 00:56:43,250 --> 00:56:47,830 Luka je samo broj, tako da je jedinstveni broj za HTTP. 1013 00:56:47,830 --> 00:56:50,280 Njegov broj je 80. 1014 00:56:50,280 --> 00:56:55,870 HTTP također koristi broj 443, ali točnije, za šifrirane HTTPS. 1015 00:56:55,870 --> 00:57:00,030 Kada vidite s., za siguran, da je koristeći drugi broj. 1016 00:57:00,030 --> 00:57:06,580 Tu su i drugi brojevi, poput 25, koji se koriste za nešto što se zove SMTP, inače poznat kao e-mail. 1017 00:57:06,580 --> 00:57:09,620 Postoji nešto što se zove 22 za SSH, 1018 00:57:09,620 --> 00:57:11,850 i tu je cijela hrpa drugim lukama vani. 1019 00:57:11,850 --> 00:57:14,460 Sada, mi ljudi rijetko vidjeti ove brojeve. 1020 00:57:14,460 --> 00:57:21,970 Međutim, kada se upisati adresu kao http://www.facebook.com, 1021 00:57:21,970 --> 00:57:26,560 preglednik potajno se umetanjem 80, jer ste pomoću HTTP. 1022 00:57:26,560 --> 00:57:30,630 Ako, umjesto toga, tipa HTTPS, to potajno se umetanjem 443. 1023 00:57:30,630 --> 00:57:35,180 I možemo vrsta vidjeti ručno ako sam podići Brower 1024 00:57:35,180 --> 00:57:41,850 i ići na http://www.facebook.com:80. 1025 00:57:41,850 --> 00:57:44,550 Stoga izričito navodeći ne samo naziv web stranice 1026 00:57:44,550 --> 00:57:47,650 ali luka da želim razgovarati, i pogodak ulaziti. 1027 00:57:47,650 --> 00:57:50,170 Obavijest nestaje, jer preglednik pretpostavlja, 1028 00:57:50,170 --> 00:57:53,360 oh, 80, nisam čak ide zamarati pokazuje da za vas. 1029 00:57:53,360 --> 00:57:56,400 No, razlog za to je da ako sam zapravo htio poslati nekoga na e-mail, 1030 00:57:56,400 --> 00:58:02,340 Stvarno bih se šalje ga na njih na portu 25, a to je SMTP. 1031 00:58:02,340 --> 00:58:04,890 Malo je pojednostavljivanje, ali neki od vas imaju prijatelje 1032 00:58:04,890 --> 00:58:09,290 koji zapravo rade na Facebooku, a oni, slično, imaju servere koji primaju e-mail. 1033 00:58:09,290 --> 00:58:12,610 >> Svaki put kada poslati e-mail, što je Gmail radi za vas 1034 00:58:12,610 --> 00:58:14,960 ili Outlook ili što god program koji koristite, 1035 00:58:14,960 --> 00:58:19,270 to je vrsta potajno umetanja taj broj, kao i, 25, u tom slučaju. 1036 00:58:19,270 --> 00:58:24,490 To je ova kombinacija IP adresu i broj koji jedinstveno identificira 1037 00:58:24,490 --> 00:58:29,190 računalo na internetu i određenu uslugu na tom računalu. 1038 00:58:29,190 --> 00:58:33,460 Sada, naravno, većina nas vjerojatno nikada upisali ručno IP adresu. 1039 00:58:33,460 --> 00:58:37,340 Možda imate u aparatu, ali u stvarnom svijetu, ne toliko. 1040 00:58:37,340 --> 00:58:42,750 Zašto ne bismo upišite IP adrese u preglednicima? 1041 00:58:42,750 --> 00:58:45,860 To će raditi, u stvari, možemo vidjeti ovo, neka mi vam pokazati 1042 00:58:45,860 --> 00:58:50,000 jedna druga naredba da treba raditi najviše bilo gdje na Harvardu kampusu na Mac ili PC. 1043 00:58:50,000 --> 00:58:53,970 Tu je ta naredba zove nslookup, ime poslužitelja pretraživanja. 1044 00:58:53,970 --> 00:58:59,960 Ako sam pogledati www.cnn.com, ispada da je CNN ima - Oh, zanimljivo. 1045 00:58:59,960 --> 00:59:03,180 CNN je počeo koristiti Amazon Web Services. 1046 00:59:03,180 --> 00:59:06,380 Možda znate cloud computing, Amazon jedan od velikih igrača u cloud computing. 1047 00:59:06,380 --> 00:59:10,240 Ono što sam upravo učinio je, rekao sam, "Daj mi adresu CNN-web server, ' 1048 00:59:10,240 --> 00:59:14,090 ali ispada da je CNN-ov web poslužitelj upravlja Amazon, 1049 00:59:14,090 --> 00:59:16,030 Amazon Web Services, to sugerira. 1050 00:59:16,030 --> 00:59:19,680 I adresu tom poslužitelju je ovo ovdje. 1051 00:59:19,680 --> 00:59:22,350 Dakle, ja sam ne siguran ako ovaj će raditi, jer nije koristila Amazon. 1052 00:59:22,350 --> 00:59:32,830 No, pokušajmo to, http://, IP adresu, unesite, i - 1053 00:59:32,830 --> 00:59:35,690 će to raditi? 1054 00:59:35,690 --> 00:59:39,280 Da. To ide na posao. Internet je super sporo danas. 1055 00:59:39,280 --> 00:59:43,680 No, u jednom trenutku, vidjet ćete neke vijesti priču. 1056 00:59:43,680 --> 00:59:48,360 Tu ćemo ići. Bank of America je tužio. U redu. 1057 00:59:48,360 --> 00:59:54,000 >> To je zato što je ovo IP adresa se događa samo od strane sinonim www.cnn.com. 1058 00:59:54,000 --> 00:59:59,920 Naravno, to bi bilo strašno marketinga reći, posjetite nas na webu na 50.112.94.127. 1059 00:59:59,920 --> 01:00:02,370 Vi nikada ne bih sjetiti. Dakle, čak i ovih dana možda podsjetiti stvari 1060 01:00:02,370 --> 01:00:07,210 kao 1-800-COLLECT ili mnemotehnika svijet je došao gore sa za telefonske brojeve. 1061 01:00:07,210 --> 01:00:09,540 Koji, prije mobitela, bili su prilično teško zapamtiti 1062 01:00:09,540 --> 01:00:11,800 dok vi samo mogli upisati i zaboraviti na njega. 1063 01:00:11,800 --> 01:00:15,730 Dakle webu, također, ima ovu Konvenciju o imenima i IP adrese, 1064 01:00:15,730 --> 01:00:17,770 i tamo su te stvari vani zove DNS poslužitelji, 1065 01:00:17,770 --> 01:00:23,870 domene sustava poslužitelja, koji prevode IP adrese u imena i obrnuto. 1066 01:00:23,870 --> 01:00:26,340 Dakle, to je ono što se događa ispod haube. 1067 01:00:26,340 --> 01:00:29,540 Na kraju, moramo TCP / IP, što je to vrlo niska razina protokol 1068 01:00:29,540 --> 01:00:32,570 da, stvarno, samo dobiva 0-a i jedan je preko Interneta, 1069 01:00:32,570 --> 01:00:36,030 i to ne tako stavljajući ih u virtualni omotnici, 1070 01:00:36,030 --> 01:00:38,820 ako hoćete, i pisanje na vanjskoj omotnici 1071 01:00:38,820 --> 01:00:43,930 IP adresa odredišta, kao i numerički broj porta 1072 01:00:43,930 --> 01:00:47,520 službe na tom mjestu da želi razgovarati. 1073 01:00:47,520 --> 01:00:51,060 U međuvremenu, na omotnici, tu je i nešto poznat kao povratnu adresu, 1074 01:00:51,060 --> 01:00:55,600 koja je vaša IP adresa, tako da kada je CNN dobiva paket informacija od vas, 1075 01:00:55,600 --> 01:00:58,710 Otvara se ovaj virtualni omotnicu, vidi da želite početnu stranicu, 1076 01:00:58,710 --> 01:01:04,630 to zna od pošiljatelja dijelu ovom virtualnom omotnici koga poslati HTML natrag. 1077 01:01:04,630 --> 01:01:07,470 Dakle, neka je pogledati ovo u malo više detalja. 1078 01:01:07,470 --> 01:01:11,370 Ovo je iz tvrtke koja se zove Ericson, od nekoliko godina unatrag. 1079 01:01:11,370 --> 01:01:14,780 I oni su neke slobode s koliko internet zapravo radi, 1080 01:01:14,780 --> 01:01:18,920 ali to oslikava puno više vizualni sliku od puke krede ovdje. 1081 01:01:18,920 --> 01:01:26,690 Tako sam vam dati "malo interneta." 1082 01:02:26,660 --> 01:02:29,840 >> [Pripovjedač] Po prvi put u povijesti, 1083 01:02:29,840 --> 01:02:35,260 ljudi i strojevi rade zajedno, ostvaruje san. 1084 01:02:35,260 --> 01:02:38,910 Ujedinjenja sila koja ne poznaje zemljopisne granice. 1085 01:02:38,910 --> 01:02:43,230 Bez obzira na rasu, vjeru ili boju. 1086 01:02:43,230 --> 01:02:47,770 Nova era gdje je komunikacija doista povezuje ljude. 1087 01:02:47,770 --> 01:02:50,070 To je 1088 01:02:50,070 --> 01:02:54,980 Zoru Net. 1089 01:02:54,980 --> 01:03:04,640 Želite znati kako se to radi? Kliknite ovdje za početak svoje putovanje u mrežu. 1090 01:03:04,640 --> 01:03:07,890 Sada, što se točno dogodilo kad ste kliknuli na taj link? 1091 01:03:07,890 --> 01:03:10,150 Počeli ste protok informacija. 1092 01:03:10,150 --> 01:03:13,310 Ova informacija putuje dolje u svoje osobne mailroom 1093 01:03:13,310 --> 01:03:18,500 gdje je gospodin IP paketa ga, naljepnice, te ga šalje na putu. 1094 01:03:18,500 --> 01:03:20,960 Svaki paket je ograničen u svojoj veličini. 1095 01:03:20,960 --> 01:03:23,880 Soba mail mora odlučiti kako podijeliti informacije 1096 01:03:23,880 --> 01:03:26,070 i kako ga pakirati. 1097 01:03:26,070 --> 01:03:29,550 Sada, paket treba naljepnicu koja sadrži važne informacije 1098 01:03:29,550 --> 01:03:35,570 kao pošiljatelja adresu, adresu primatelja, te vrsti paketa je to. 1099 01:03:51,700 --> 01:03:54,980 Budući da je ovo posebno paket je izlazak na internet, 1100 01:03:54,980 --> 01:03:57,720 ona također dobiva adresu proxy poslužitelja, 1101 01:03:57,720 --> 01:04:01,520 koja ima posebnu funkciju, kao što ćemo kasnije vidjeti. 1102 01:04:01,520 --> 01:04:06,650 Paket sada je pokrenut na vašem lokalnom mrežom, ili LAN. 1103 01:04:06,650 --> 01:04:10,160 Ova mreža se koristi za povezivanje svih lokalnih računala ' 1104 01:04:10,160 --> 01:04:15,900 usmjerivači, pisača, etcetera, za razmjenu informacija unutar fizičkih zidova zgrade. 1105 01:04:15,900 --> 01:04:20,290 LAN je prilično nekontrolirano mjesto, a, na žalost, 1106 01:04:20,290 --> 01:04:23,950 nesreća se može dogoditi. 1107 01:04:31,190 --> 01:04:34,710 Autocesta od LAN je pakiran sa svim vrstama informacija. 1108 01:04:34,710 --> 01:04:38,900 To su IP paketi, Novell pakete, AppleTalk paketa. 1109 01:04:38,900 --> 01:04:41,270 Oni će protiv prometa, kao i obično. 1110 01:04:41,270 --> 01:04:44,260 Lokalni usmjerivač čita adresu i, ako je potrebno, 1111 01:04:44,260 --> 01:04:48,520 podiže paket na drugu mrežu. 1112 01:04:48,520 --> 01:04:54,270 Ah, usmjerivač. Simbol kontrole u naizgled neorganiziranog svijeta. 1113 01:04:54,270 --> 01:05:05,480 [Router mrmlja i govori za sebe] 1114 01:05:05,480 --> 01:05:10,030 >> [Pripovjedač] Tamo je, sustavno, nemilosrdan, metodičan, 1115 01:05:10,030 --> 01:05:14,150 konzervativna, a ponekad i ne sasvim do brzine. 1116 01:05:14,150 --> 01:05:17,680 Ali barem je točno, za najveći dio. 1117 01:05:32,270 --> 01:05:36,820 Kao paketi napustiti ruter, oni čine svoj put u korporativnom Interneta 1118 01:05:36,820 --> 01:05:40,830 i glava za router switch. 1119 01:05:40,830 --> 01:05:46,250 Malo učinkovitiji od rutera, ruter prekidač igra brz i labav s IP paketa, 1120 01:05:46,250 --> 01:05:48,920 vješto ih usmjeravanje na njihovom putu. 1121 01:05:48,920 --> 01:05:52,130 Digitalnog 'fliper čarobnjak ", ako hoćete. 1122 01:05:52,130 --> 01:06:04,270 [Router prekidač govori za sebe] 1123 01:06:09,830 --> 01:06:12,150 [Pripovjedač] Kao paketi stići na svoje odredište, 1124 01:06:12,150 --> 01:06:14,740 oni pokupila mrežnog sučelja, 1125 01:06:14,740 --> 01:06:18,040 spreman da bude poslan na sljedeću razinu. 1126 01:06:18,040 --> 01:06:21,010 U tom slučaju, proxy. 1127 01:06:21,010 --> 01:06:25,040 Proxy se koristi od strane mnogih tvrtki kao svojevrsni srednji čovjek 1128 01:06:25,040 --> 01:06:27,630 kako bi se umanjio teret na internetskom vezom 1129 01:06:27,630 --> 01:06:32,240 i iz sigurnosnih razloga, kao dobro. 1130 01:06:32,240 --> 01:06:38,750 Kao što možete vidjeti, paketi su sve različitih veličina, ovisno o njihovom sadržaju. 1131 01:06:55,210 --> 01:07:01,890 Punomoćnik otvara paket i izgleda za web adresu ili URL. 1132 01:07:01,890 --> 01:07:04,950 Ovisno o tome da li je adresa prihvatljiva, 1133 01:07:04,950 --> 01:07:08,000 paket je poslan na internetu. 1134 01:07:13,890 --> 01:07:19,630 Postoje, međutim, neke adrese koje ne ispunjavaju uz suglasnost punomoćnika. 1135 01:07:19,630 --> 01:07:25,680 To je za reći, korporativne ili upravljanje smjernice. 1136 01:07:25,680 --> 01:07:30,580 Ovo prijekom se bavila. 1137 01:07:30,580 --> 01:07:32,410 Mi ćemo imati ništa od toga. 1138 01:07:32,410 --> 01:07:36,350 Za one koji ga čine, to je na cestu. 1139 01:07:46,850 --> 01:07:53,310 >> Dalje, firewall. 1140 01:07:53,310 --> 01:07:57,410 Korporativni firewall služi u dvije svrhe. 1141 01:07:57,410 --> 01:08:02,420 To sprječava neke prilično neugodne stvari s Interneta iz koje dolaze u Intranet, 1142 01:08:02,420 --> 01:08:10,280 i to također može spriječiti osjetljive korporativne informacije od toga da bude poslan na internetu. 1143 01:08:10,280 --> 01:08:12,980 Nakon kroz firewall, router pokupi paket 1144 01:08:12,980 --> 01:08:18,180 i stavlja ga na mnogo užem ceste, ili propusnost, kao što smo rekli. 1145 01:08:18,180 --> 01:08:23,720 Očito, cesta nije dovoljno široka da se ih sve. 1146 01:08:23,720 --> 01:08:29,319 Sada, možete se zapitati što se događa na sve one pakete koji to ne čine na putu. 1147 01:08:29,319 --> 01:08:32,270 Pa, kada je gospodin IP ne dobivaju potvrdu 1148 01:08:32,270 --> 01:08:35,000 da paket je primljen u dogledno vrijeme, 1149 01:08:35,000 --> 01:08:39,890 on je jednostavno šalje zamjensku paket. 1150 01:08:39,890 --> 01:08:44,760 Sada smo spremni ući u svijet Interneta. 1151 01:08:44,760 --> 01:08:49,370 Paučina međusobno povezanih mreža koje obuhvaćaju cijelu našu globus. 1152 01:08:49,370 --> 01:08:56,050 Evo, usmjerivači i preklopnici uspostaviti veze između mreža. 1153 01:08:56,050 --> 01:08:59,200 Sada, Net je potpuno drugačiji okoliš od naći ćete 1154 01:08:59,200 --> 01:09:01,569 unutar zaštitnih zidova LAN. 1155 01:09:01,569 --> 01:09:04,060 Od ovdje, to je Divlji zapad. 1156 01:09:04,060 --> 01:09:06,359 Obilje prostora, puno mogućnosti, 1157 01:09:06,359 --> 01:09:09,760 dosta stvari koje treba istražiti i mjesta za izlazak. 1158 01:09:09,760 --> 01:09:12,760 Zahvaljujući vrlo malo kontrole i regulacije, 1159 01:09:12,760 --> 01:09:18,300 nove ideje naći plodno tlo za guranje omotnicu svojih mogućnosti. 1160 01:09:18,300 --> 01:09:22,330 No, zbog ove slobode, određene opasnosti vrebaju također. 1161 01:09:22,330 --> 01:09:27,000 Vi nikada nećete znati kada ćete susresti zastrašujuća ping smrti, 1162 01:09:27,000 --> 01:09:29,890 posebna verzija normalan zahtjev ping, 1163 01:09:29,890 --> 01:09:35,720 koje neki idiot smislio da zabrljati bezazlen domaćine. 1164 01:09:35,720 --> 01:09:39,130 Put naši paketi uzeti možda preko satelita, 1165 01:09:39,130 --> 01:09:43,090 telefonske linije, bežični, ili čak i prekooceanski kabel. 1166 01:09:43,090 --> 01:09:46,520 Oni ne uvijek uzeti najbrži ili najkraći putevi moguće, 1167 01:09:46,520 --> 01:09:50,290 ali oni će doći s vremenom. 1168 01:09:50,290 --> 01:09:55,230 Možda je to razlog zašto se ponekad zove "World Wide Čekaj." 1169 01:09:55,230 --> 01:09:57,980 No, kada se sve radi glatko, 1170 01:09:57,980 --> 01:10:03,800 možete zaobići globus pet puta više na pad šešir, doslovno. 1171 01:10:03,800 --> 01:10:08,230 A sve po cijeni mjesnog poziva ili manje. 1172 01:10:08,230 --> 01:10:15,070 Potkraj naše odredište, mi ćemo pronaći drugi vatrozid. 1173 01:10:15,070 --> 01:10:18,420 >> Ovisno o vašem perspektive kao paket podataka, 1174 01:10:18,420 --> 01:10:23,730 Vatrozid može biti bastion sigurnosti ili zastrašujuća protivnika. 1175 01:10:23,730 --> 01:10:28,530 To sve ovisi o tome s koje strane ste i što vaše namjere. 1176 01:10:28,530 --> 01:10:34,990 Firewall je dizajniran za pustiti samo one pakete koji ispunjavaju svoje kriterije. 1177 01:10:34,990 --> 01:10:39,360 Ovaj firewall radi o lukama 80 i 25 godina. 1178 01:10:39,360 --> 01:10:46,630 Svi pokušaji da uđe kroz drugim lukama su zatvorena za posao. 1179 01:10:57,660 --> 01:11:03,480 Luka 25 se koristi za mail paketa, 1180 01:11:03,480 --> 01:11:10,720 dok luka 80 je ulaz za pakete s Interneta na web poslužitelju. 1181 01:11:10,720 --> 01:11:15,080 Unutar firewall, paketi su pratili više temeljito. 1182 01:11:15,080 --> 01:11:17,970 Neki paketi čine ga lako kroz carinu, 1183 01:11:17,970 --> 01:11:21,420 dok drugi izgledaju malo sumnjivo. 1184 01:11:21,420 --> 01:11:24,060 Sada, firewall službenik nije lako prevariti, 1185 01:11:24,060 --> 01:11:32,120 kao kada se to ping smrti paketa pokušava se prikriti kao normalan ping paketa. 1186 01:11:32,120 --> 01:11:37,520 [Vatrozid časnik u razgovoru s paketima] 1187 01:11:37,520 --> 01:11:40,510 [Pripovjedač] Za one pakete dovoljno sretan da bi ga ovako daleko, 1188 01:11:40,510 --> 01:11:45,730 Putovanje je gotovo preko. 1189 01:11:45,730 --> 01:11:52,130 To je samo redati na sučelju se digao na web poslužitelju. 1190 01:11:52,130 --> 01:11:55,440 Danas, web poslužitelj može izvoditi na mnoge stvari, 1191 01:11:55,440 --> 01:11:59,230 iz mainframe na web cam na računalu na vašem stolu. 1192 01:11:59,230 --> 01:12:01,720 Zašto nije vaš hladnjak? 1193 01:12:01,720 --> 01:12:04,870 Uz pravilno postavljanje, možete saznati ako imate profit 1194 01:12:04,870 --> 01:12:08,390 Piletina Cacciatore za, ili ako morate ići u kupovinu. 1195 01:12:08,390 --> 01:12:11,760 Zapamtite, ovo je zora Net. 1196 01:12:11,760 --> 01:12:17,310 Gotovo sve je moguće. 1197 01:12:17,310 --> 01:12:20,440 Jedan po jedan, paketi su primili, 1198 01:12:20,440 --> 01:12:26,320 otvorena i raspakirati. 1199 01:12:26,320 --> 01:12:31,200 Informacije oni sadrže, da je, vaš zahtjev za informacijom, 1200 01:12:31,200 --> 01:12:34,830 je poslan na primjeni web poslužitelja. 1201 01:12:41,540 --> 01:12:47,140 Paket je sama po sebi reciklirati, 1202 01:12:47,140 --> 01:12:57,570 spremno da se ponovno koristiti, i napuni sa svojim tražene informacije, 1203 01:12:57,570 --> 01:13:03,340 obratio i poslao na putu natrag na vas. 1204 01:13:03,340 --> 01:13:13,250 Natrag prošlosti firewall, usmjerivači, te na do interneta. 1205 01:13:13,250 --> 01:13:21,020 Povratak kroz korporativne firewall 1206 01:13:21,020 --> 01:13:24,180 i na vašem sučelju, 1207 01:13:24,180 --> 01:13:31,180 spremni dostaviti Vaš web preglednik s informacijama koje ste tražili. 1208 01:13:31,180 --> 01:13:39,840 To je, ovaj film. 1209 01:13:39,840 --> 01:13:43,550 Zadovoljan sa svojim naporima, i vjerujući bolji svijet, 1210 01:13:43,550 --> 01:13:50,250 naši vjerni paketa podataka vožnja off blaženo u suton drugoga dana, 1211 01:13:50,250 --> 01:13:56,880 znajući u potpunosti su služili svojim gospodarima dobro. 1212 01:13:56,880 --> 01:14:02,560 Sada, nije da je sretan završetak? 1213 01:14:02,560 --> 01:14:07,040 [Malan] Ok, to je dovoljno. Vidimo se sljedeći tjedan. 1214 01:14:07,040 --> 01:14:10,040 [CS50.TV]