1 00:00:00,000 --> 00:00:02,620 [Powered by Google Translate] [7. týden, pokračování] 2 00:00:02,620 --> 00:00:05,090 [David J. Malan, Harvard University] 3 00:00:05,090 --> 00:00:07,780 [To je CS50.] [CS50.TV] 4 00:00:07,780 --> 00:00:09,810 Dobrá. Vítejte zpět. To je CS50, 5 00:00:09,810 --> 00:00:12,100 a to je konec 7. týdnu. 6 00:00:12,100 --> 00:00:15,460 Takže jeden z těchto hloupých malých věcí, které jdou kolem internetu 7 00:00:15,460 --> 00:00:24,080 a my usrkával se, a to by měl nyní učinit trochu podivínský smysl. 8 00:00:24,080 --> 00:00:28,330 No, to bylo zábavnější s tímhle chlapem, než to bylo na vás. 9 00:00:28,330 --> 00:00:32,619 Když už mluvíme o, dobře, kluci, 10 00:00:32,619 --> 00:00:42,550 dnes je Nate narozeniny. 11 00:00:42,550 --> 00:00:46,630 Chcete-li dát vám pocit, jak dobré Nate a já jsme 12 00:00:46,630 --> 00:00:50,140 na vývoj webových aplikací na základě třídy pondělní a na základě nyní na to, 13 00:00:50,140 --> 00:00:53,170 Myslel jsem, že vytáhnout Nate domovskou stránku, pokud jste ho ještě neviděli ještě. 14 00:00:53,170 --> 00:00:57,020 Tohle HTML IA Nate. 15 00:00:57,020 --> 00:00:59,380 Takže vidět jeho zdrojové kódy, pokud chcete vidět, jak to udělat, a Nate, 16 00:00:59,380 --> 00:01:02,250 kdybychom mohli embarass vám jen krátce, personál jsem ti něco 17 00:01:02,250 --> 00:01:06,080 Pokud bych se podělil o některé dezert s některými dětmi ve třídě zde. 18 00:01:06,080 --> 00:01:10,150 Pokud byste se chtěli přijít dolů. 19 00:01:10,150 --> 00:01:14,350 Vy všichni tleskají a jsou velmi pěkné, ale nikdo sedí někde poblíž Nate, 20 00:01:14,350 --> 00:01:17,560 z nějakého důvodu, v tomto zadní zóně. 21 00:01:17,560 --> 00:01:24,020 Tak snad můžete najít nějaké lidi, aby si tyto s. 22 00:01:24,020 --> 00:01:33,380 Happy Birthday, Nate. 23 00:01:33,380 --> 00:01:37,660 >> Další pozdravy: Ukázali jsme, že pár ukázek z našich CS50x studentů. 24 00:01:37,660 --> 00:01:39,710 Pokud chcete zjistit, kdo další je na světě 25 00:01:39,710 --> 00:01:41,850 že se po dobu, můžete vyrazit na tuto adresu URL, 26 00:01:41,850 --> 00:01:45,780 kde Joseph, jeden z našich TFS, dal dohromady sestřih druhů 27 00:01:45,780 --> 00:01:50,290 každého, kdo byl předkládání těchto videí, mezi nimi Rick Astley. 28 00:01:50,290 --> 00:01:53,010 A pokud se vám procházet tyto, je to opravdu docela inspirativní 29 00:01:53,010 --> 00:01:56,890 vidět rozmanitost zemí a měst, z nichž lidé ohlašovacích. 30 00:01:56,890 --> 00:02:00,830 Takže pokud byste chtěli, aby se na to podívat, to bude až do konce semestru. 31 00:02:00,830 --> 00:02:05,370 Dnes budeme pokračovat v náš pohled na web, webové programování, HTML a podobně, 32 00:02:05,370 --> 00:02:08,280 a my jsme také oběd přijde již tento pátek 33 00:02:08,280 --> 00:02:11,360 pokud byste chtěli, a to zejména, tak ještě neučinili dříve. 34 00:02:11,360 --> 00:02:13,630 Tento pátek se bude téma Nate narozeniny, 35 00:02:13,630 --> 00:02:15,700 takže pokud chcete mít narozeniny oběd s Natem 36 00:02:15,700 --> 00:02:17,500 a jiní, někteří z našich přátel z průmyslu, 37 00:02:17,500 --> 00:02:19,300 prosím, hlavu této URL tam. 38 00:02:19,300 --> 00:02:22,510 Space, jako vždy, je omezená. Také, pokud jste zapomněli, 39 00:02:22,510 --> 00:02:26,460 si uvědomit, že příští týden je termín pro problém nastavit 4 je lov, 40 00:02:26,460 --> 00:02:30,070 kdy po obnovení všech těch obrázků ve formátu JPEG z card.raw, 41 00:02:30,070 --> 00:02:32,880 vy a vaši kamarádi sekce, pokud byste chtěli, můžete vyzkoušet fotografování 42 00:02:32,880 --> 00:02:36,100 tolik počítačových vědců z této paměťové karty jak je to možné, 43 00:02:36,100 --> 00:02:39,070 a vy a vaše část bude pak vyhraje pohádkové cenu. 44 00:02:39,070 --> 00:02:44,470 Vrátit zpět k PSet 4 specifikace, pokud jde o to, co se předložit a kdy. 45 00:02:44,470 --> 00:02:47,650 Také, pokud byste chtěli mít své dílo zvěčněný 46 00:02:47,650 --> 00:02:51,400 na hřišti webových stránkách a jeho historii oděvů, 47 00:02:51,400 --> 00:02:54,010 vědět, že jste vítáni nyní začít předložením návrhů 48 00:02:54,010 --> 00:02:57,180 pro letošní trička a mikiny a jako. 49 00:02:57,180 --> 00:02:59,200 My se budeme snažit zahrnout tolik, jak můžeme, 50 00:02:59,200 --> 00:03:01,440 ale budeme mít některé členy štábu přezkumu všech návrhů 51 00:03:01,440 --> 00:03:04,180 aby se ujistil, že jsou v souladu se specifikacemi, 52 00:03:04,180 --> 00:03:07,500 a my jsme pak vybrat obecně hrstka z nich být vystaven. 53 00:03:07,500 --> 00:03:10,620 Takže pokud jste je konstrukční typ, jen vím, že požadavky 54 00:03:10,620 --> 00:03:14,030 pro grafiky jsou PNG, alespoň 200 DPI, 55 00:03:14,030 --> 00:03:16,520 by neměly být větší než 4000 x 4000 pixelů, 56 00:03:16,520 --> 00:03:19,010 a ne více než 10 MB, ale vy jste vítáni věci jako 57 00:03:19,010 --> 00:03:22,430 Photoshop nebo GIMP nebo různé programy Graphic, 58 00:03:22,430 --> 00:03:24,590 co máte k dispozici. 59 00:03:24,590 --> 00:03:28,280 >> Na obzoru je konečný projekt. Konečný projekt je opravdu vrchol 50, 60 00:03:28,280 --> 00:03:30,560 přičemž všech úkolů v průběhu, 61 00:03:30,560 --> 00:03:33,170 je to vaše příležitost opravdu dělat svou vlastní věc. 62 00:03:33,170 --> 00:03:35,280 A to může být prostě udělat něco pro zábavu, 63 00:03:35,280 --> 00:03:38,160 to může být vyřešit nějaký palčivý problém si student skupina má, 64 00:03:38,160 --> 00:03:40,980 pro některé nové webové stránky, některé nové kolekce mechanismus pro data. 65 00:03:40,980 --> 00:03:43,420 To může být mobilní aplikace pro Android, pro iOS. 66 00:03:43,420 --> 00:03:46,030 Opravdu, nebe je limit, a během příštích několika týdnů, 67 00:03:46,030 --> 00:03:50,900 jak jsme přechod z C na tyto vyšší úrovně jazyků, jako je PHP a JavaScriptu, 68 00:03:50,900 --> 00:03:55,150 ocitnete se stále seznámeni s některými real-svět techniky, 69 00:03:55,150 --> 00:03:57,800 Některé real-svět nástroje, a doplnit, že, 70 00:03:57,800 --> 00:04:00,170 vím, že kurz má historii seminářů, 71 00:04:00,170 --> 00:04:02,880 přičemž v průběhu příštích několika týdnů, některé z pedagogických pracovníků 72 00:04:02,880 --> 00:04:06,160 a přátelé naše z areálu školy nabídne volitelné semináře 73 00:04:06,160 --> 00:04:08,540 které jdou nad rámec toho, co je obvykle provádí v sekci 74 00:04:08,540 --> 00:04:11,090 představit vám věci, jako je programování pro Android, 75 00:04:11,090 --> 00:04:13,450 představit vám věci, jako je iOS programování 76 00:04:13,450 --> 00:04:15,950 nebo více pokročilé web-vývoj techniky. 77 00:04:15,950 --> 00:04:17,970 Tam je celá historie z nich již online. 78 00:04:17,970 --> 00:04:25,000 Pokud půjdete do cs50.net/seminars, jsme dělali to pro docela několik let, 79 00:04:25,000 --> 00:04:28,740 a uvidíte, že archivované zde s PDF a videa a podobně 80 00:04:28,740 --> 00:04:33,090 několik desítek videa seminářů. 81 00:04:33,090 --> 00:04:37,380 V loňském roce, například, měli jsme seminář o ELIT své technické rozhovory, 82 00:04:37,380 --> 00:04:40,980 pokud jste opravdu hledáte jít pryč a dělat stáž nebo na plný úvazek vystupují. 83 00:04:40,980 --> 00:04:43,450 Windows mobile vývoj, Android rozvoj, Google Maps, 84 00:04:43,450 --> 00:04:47,700 API, CSS, rozvoj pro BlackBerry, Emacs. 85 00:04:47,700 --> 00:04:52,610 Opravdu, jste vítáni, aby se podívat na některý z těchto seminářů na vaše pohodlí. 86 00:04:52,610 --> 00:04:57,080 A budeme se držet nějaké nové tomto semestru, stejně. 87 00:04:57,080 --> 00:04:59,020 >> Takže to, co je před námi s konečným projektem? 88 00:04:59,020 --> 00:05:01,090 No, v první, i když toto datum je poněkud bezprostřední, 89 00:05:01,090 --> 00:05:06,460 je to opravdu jen příležitost začít přemýšlet o konečném projektu zcela realisticky. 90 00:05:06,460 --> 00:05:10,550 Víme, že jen začátky některých z toho, co budeme stále pokrývá v průběhu, 91 00:05:10,550 --> 00:05:13,470 HTML, PHP a podobně, ale jste všichni obeznámeni s Web, 92 00:05:13,470 --> 00:05:16,270 a já bias tento rozhovor k webu pouze proto, že 93 00:05:16,270 --> 00:05:18,380 většina lidí skončí dělá webové závěrečných prací, 94 00:05:18,380 --> 00:05:20,260 ale to není v žádném případě podmínkou. 95 00:05:20,260 --> 00:05:22,260 Použití C je v pořádku, objektivní C, Java, 96 00:05:22,260 --> 00:05:25,350 v jiném jazyce, které možná znáte nebo chcete vědět, je docela v pořádku. 97 00:05:25,350 --> 00:05:29,370 Ale dostat se tekoucí šťávy původně, budeme očekávat, že předložení preproposal 98 00:05:29,370 --> 00:05:33,520 které, dle formátu PDF na stránkách, které jsou nyní v cs50.net, 99 00:05:33,520 --> 00:05:36,080 a v levé horní části uvidíte závěrečný projekt 100 00:05:36,080 --> 00:05:38,920 je specifikace pro konečného projektu, 101 00:05:38,920 --> 00:05:41,470 a tam jsou podrobnosti o preproposal a podobně. 102 00:05:41,470 --> 00:05:44,760 Má docela hodně scvrkává na e-mailu do vašeho výuky kolegy 103 00:05:44,760 --> 00:05:48,450 Jen navázat rozhovor s ním nebo jí o tom, co si myslíš. 104 00:05:48,450 --> 00:05:52,510 Na projects.cs50.net je pramen nápadů od lidí, na akademické půdě 105 00:05:52,510 --> 00:05:54,480 pokud jste snaží přijít s nějakým nápadem, 106 00:05:54,480 --> 00:06:01,140 a manual.cs50.net/APIs je seznam odkazů na API. 107 00:06:01,140 --> 00:06:06,710 >> Co když je API? 108 00:06:06,710 --> 00:06:09,790 Co je to API? Řekl jsem to nejméně dvakrát, 109 00:06:09,790 --> 00:06:12,640 podle přepisů posledních několika týdnů. 110 00:06:12,640 --> 00:06:17,050 Co je to? [Student, nesrozumitelným] 111 00:06:17,050 --> 00:06:19,340 >> Dobře, dobře. Takže něco programovací rozhraní. 112 00:06:19,340 --> 00:06:22,710 Rozhraní pro programování aplikací, a to může mít několik forem, 113 00:06:22,710 --> 00:06:25,850 ale co to opravdu scvrkává na je kód 114 00:06:25,850 --> 00:06:29,660 že někdo jiný hs písemných či datových, že někdo jiný shromážděné 115 00:06:29,660 --> 00:06:33,670 , který je vám k dispozici v některých programovou cestou. 116 00:06:33,670 --> 00:06:36,630 Můžete psát kód v C, PHP, Python, Ruby, 117 00:06:36,630 --> 00:06:38,760 jaký je váš jazyk výběru je obvykle, 118 00:06:38,760 --> 00:06:42,240 a můžete nějak stavět na někoho jiného funkčnosti 119 00:06:42,240 --> 00:06:44,440 nebo někdo jiný je datový soubor. 120 00:06:44,440 --> 00:06:47,210 Například, když půjdu na tento odkaz zde, 121 00:06:47,210 --> 00:06:50,750 a uvidíte pár odkazů na další stránce 122 00:06:50,750 --> 00:06:56,093 kdy máme CS50 vlastní API, které jsou velmi Harvard-centric, a pak třetí strany API. 123 00:06:56,930 --> 00:06:59,300 Mezi třetí strany API jsou opravdu užitečné věci 124 00:06:59,300 --> 00:07:01,780 jako bytí schopné posílat SMS na lidi, 125 00:07:01,780 --> 00:07:04,690 je schopen přijímat textové zprávy SMS z lidí. 126 00:07:04,690 --> 00:07:08,160 A takové věci, že byste mohli mít tušení, jak provádět sami, 127 00:07:08,160 --> 00:07:10,440 ale díky službám, některé zdarma a některé komerční, 128 00:07:10,440 --> 00:07:14,000 můžete vytvořit na vrcholu ty a dělat něco zajímavého pro vás. 129 00:07:14,000 --> 00:07:16,990 Mezi API CS50 tyto jsou tyto kampus-centric věci jako 130 00:07:16,990 --> 00:07:21,480 Harvard kurzy, energie, akce, jídlo, mapy, zprávy, tweety a Shuttleboy vlastní, 131 00:07:21,480 --> 00:07:23,940 a to jsou API, které vypadají trochu něco takového. 132 00:07:23,940 --> 00:07:26,990 >> Dovolte mi, abych vytáhnout API HarvardFood. 133 00:07:26,990 --> 00:07:30,620 Pokud jste někdy byli na webové stránky HUD je, pravděpodobně jste tam 134 00:07:30,620 --> 00:07:35,410 jen co bude k večeři, nebo aby viděli, co hodiny jsou pro některé d-haly. 135 00:07:35,410 --> 00:07:38,000 No, to není příliš přehledná, 136 00:07:38,000 --> 00:07:41,100 a tak to, co jsme si před nějakým časem byla jsme psali software, 137 00:07:41,100 --> 00:07:47,270 to se stane být v PHP, které skutečně obrazovky škrabe celistvost webu HUD je. 138 00:07:47,270 --> 00:07:51,400 Pro screening Scrape něco znamená napsat program v jazyce jako PHP 139 00:07:51,400 --> 00:07:55,270 která předstírá, že je prohlížeč, i když jste možná spustit na příkazovém řádku, 140 00:07:55,270 --> 00:07:58,180 která předstírá, že je prohlížeč, připojí na webové stránky, 141 00:07:58,180 --> 00:08:01,480 stáhne svůj HTML, jazyk, ve kterém je napsáno, 142 00:08:01,480 --> 00:08:04,300 a pak se čte, nebo více specificky, rozebere je 143 00:08:04,300 --> 00:08:06,140 shora dolů, zleva doprava. 144 00:08:06,140 --> 00:08:08,870 A to, co jsme udělali, bylo jsme psali náš kód takovým způsobem, že 145 00:08:08,870 --> 00:08:12,910 kdykoli jsme viděli něco, co v tomto formátu HTML, který vypadal jako něco, co v nabídce, 146 00:08:12,910 --> 00:08:16,470 jako hamburger, bychom pak importovat, že do naší databáze. 147 00:08:16,470 --> 00:08:20,410 A kdykoliv jsme viděli nutriční obsah, bychom importovat, že do naší vlastní databáze. 148 00:08:20,410 --> 00:08:23,090 A to, co jsme udělali, bylo využít skutečnost, že HUD web, 149 00:08:23,090 --> 00:08:27,280 i když by to mohlo být trochu problém pro nás, lidi na navigaci 150 00:08:27,280 --> 00:08:32,559 pod pokličku, je vše v HTML generované jejich vlastní počítačové programy. 151 00:08:32,559 --> 00:08:35,159 Takže všechny jejich HTML, i když to může vypadat chaotický, 152 00:08:35,159 --> 00:08:38,026 stejně jako většina webových stránek pod pokličku toho vyplývá, vzor. 153 00:08:38,260 --> 00:08:40,799 Takže jsme strávili pár hodin přijít na to, že vzor 154 00:08:40,799 --> 00:08:44,240 tak, že na konci, vyhodíme všechny chaotický HTML, 155 00:08:44,240 --> 00:08:47,340 všechny estetiky tučným obložení a kurzívy a podobně, 156 00:08:47,340 --> 00:08:52,350 a to, co jsme pak schopni udělat, je vystavit, aby stejné údaje. 157 00:08:52,350 --> 00:08:54,870 Například, v tomto způsobu. 158 00:08:54,870 --> 00:08:56,840 Takže my, podle dokumentace zde, 159 00:08:56,840 --> 00:08:59,190 informovaly svět, že pokud budete žádat o adresu URL 160 00:08:59,190 --> 00:09:03,310 , který vypadá takto, food.cs50.net / něco, 161 00:09:03,310 --> 00:09:07,220 a poskytují určité parametry, které budeme hovořit dnes, 162 00:09:07,220 --> 00:09:11,780 jako end-datum, čas, start-datum, čas, jídlo a tak dále, 163 00:09:11,780 --> 00:09:14,090 co naše servery se navrátím k vám, například, 164 00:09:14,090 --> 00:09:18,740 je soubor CSV, čárka členěna hodnoty, jako je soubor aplikace Excel, 165 00:09:18,740 --> 00:09:23,140 obsahující vše, co k snídani v této konkrétní den v březnu loňského roku 166 00:09:23,140 --> 00:09:25,450 když jsem se náhodou sepsat tuto dokumentaci. 167 00:09:25,450 --> 00:09:27,870 >> Pro ty, kteří znají, CSV není jen soubor ve formátu. 168 00:09:27,870 --> 00:09:30,610 Tam je jiný formát, že je to všechno mnohem všestrannější 169 00:09:30,610 --> 00:09:32,670 volal JSON, JavaScript Object Notation. 170 00:09:32,670 --> 00:09:34,770 Data mohou vrátit v tomto formátu. 171 00:09:34,770 --> 00:09:38,110 Takže stánek s jídlem je, že ať už se ponoříte do této API 172 00:09:38,110 --> 00:09:41,170 nebo jakéhokoliv jiného CS50 je nebo tak něco tam na internetu, 173 00:09:41,170 --> 00:09:45,560 nebo vůbec ne, si uvědomit, že svět stále začala standardizovat 174 00:09:45,560 --> 00:09:47,670 jak stroje propojeny. 175 00:09:47,670 --> 00:09:50,660 Používáme standardní datové formáty jako je CSV nebo JSON. 176 00:09:50,660 --> 00:09:54,320 A co to znamená pro vás je, můžete napsat zajímavou část programu 177 00:09:54,320 --> 00:09:56,580 , který umožňuje váš uživatel vyhledávat jídelního sálu nabídky, 178 00:09:56,580 --> 00:10:00,010 že jim umožňuje vytvářet seznamy oblíbených, které jim umožňuje získat textové upozornění 179 00:10:00,010 --> 00:10:02,480 když jejich oblíbené jídlo má být podávána v některých d-haly 180 00:10:02,480 --> 00:10:07,090 pomocí někoho jiného dat a budování na vrcholu své API. 181 00:10:07,090 --> 00:10:13,600 Takže o tom více v podobě seminářů a dokumentaci, které máte zde online. 182 00:10:13,600 --> 00:10:16,450 Takže ty, pak jsou API. 183 00:10:16,450 --> 00:10:18,900 >> To nás přivádí zpět do HTML. Rychlá rekapitulace. 184 00:10:18,900 --> 00:10:22,920 Co je to HTML? 185 00:10:22,920 --> 00:10:25,000 [Student, nesrozumitelné] >> Good. HyperText Markup Language. 186 00:10:25,000 --> 00:10:31,300 Někdo jiný, co 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 Dobře. Takže HTML, HyperText. 189 00:10:40,330 --> 00:10:43,100 HyperText jen odkazuje na web, pro nejvíce se rozdělit. 190 00:10:43,100 --> 00:10:45,730 Markup znamená, že to není ve skutečnosti programovací jazyk, HTML. 191 00:10:45,730 --> 00:10:48,120 Není to jazyk, který se můžete vyjádřit logiku a. 192 00:10:48,120 --> 00:10:50,710 To nemá smyčky. To nemá podmínky. 193 00:10:50,710 --> 00:10:52,820 To nemá funkce, samo o sobě. 194 00:10:52,820 --> 00:10:56,680 Spíše má tyto věci zvané značky, nebo přesněji řečeno, prvky. 195 00:10:56,680 --> 00:10:59,970 A tyto prvky mají počáteční a koncové značky značky, 196 00:10:59,970 --> 00:11:04,300 nebo otevřené tagy a uzavřené tagy, a co ty tagy, znamená pro prohlížeč je, 197 00:11:04,300 --> 00:11:09,270 začít něco dělat a pak přestat dělat něco, i když existují výjimky, které. 198 00:11:09,270 --> 00:11:12,480 Někdy je to jen "vložení zalomení řádku tady," například. 199 00:11:12,480 --> 00:11:15,150 A my jsme viděli příklady tohoto druhého dne, mezi tučným obkladem, 200 00:11:15,150 --> 00:11:17,430 řádků, a pak pár dalších značek. 201 00:11:17,430 --> 00:11:19,880 Takže HTML je jazyk, ve kterém jsou napsány webové stránky. 202 00:11:19,880 --> 00:11:23,760 Takže když jdu na něco, jako je Google.com 203 00:11:23,760 --> 00:11:26,180 a vytáhnout jen jejich domovskou stránku, 204 00:11:26,180 --> 00:11:29,690 Připomínám, že pokud klepnete pravým tlačítkem, nebo regulace kliknutím 205 00:11:29,690 --> 00:11:32,140 a podívejte se na zdroje Zobrazit stránku, obvykle 206 00:11:32,140 --> 00:11:34,420 je to kompletní nepořádek v těchto dnech pod kapotou, ale to je proto, že 207 00:11:34,420 --> 00:11:38,170 počítače nezajímá mezerou, takže to nemusí vypadat pěkně. 208 00:11:38,170 --> 00:11:40,240 Ale když se přiblížíte na částech to, 209 00:11:40,240 --> 00:11:43,460 Všimněte si, že Chrome, jen být milá, má barevně odlišeny věci. 210 00:11:43,460 --> 00:11:48,460 Opravdu, toto je první značka, která jsme viděli na webové stránce. 211 00:11:48,460 --> 00:11:51,750 A opět, HTML 5, nejnovější verze tohoto jazyka, 212 00:11:51,750 --> 00:11:53,830 nemá tuto věc na začátku, 213 00:11:53,830 --> 00:11:57,820 00:12:03,580 ale to je jen druh normy, která říká, hej svět, přichází soubor HTML ve verzi 5. 215 00:12:03,580 --> 00:12:08,920 >> Zajímavá část začíná zde. Takže 00:12:11,640 z HTML elementů naposledy. 217 00:12:11,640 --> 00:12:14,630 Jaké byly ty dva hlavní děti? 218 00:12:14,630 --> 00:12:17,170 Hlava a tělo, stejně jako chlap s tetováním před chvílí. 219 00:12:17,170 --> 00:12:19,640 Existují dva části webové stránky, hlavy a těla, 220 00:12:19,640 --> 00:12:23,750 a odvolání, pak, že snad nejjednodušší webovou stránku, kterou by mohl vypadat takto. 221 00:12:23,750 --> 00:12:27,460 A já jsem odsazena to jen proto, aby bylo docela čisté a uklizené s mým kódem, 222 00:12:27,460 --> 00:12:30,710 ale to, co je opravdu důležité, je to, že tam je nějaká hierarchie k tomu. 223 00:12:30,710 --> 00:12:35,420 A každý tag, že jsem otevřel jsem zavřené a že je proto tato symetrie 224 00:12:35,420 --> 00:12:38,300 ke všem značky, které jsem vytvořil. 225 00:12:38,300 --> 00:12:41,620 Takže naposledy, když jsme začali psát webové stránky na vlastní laptop. 226 00:12:41,620 --> 00:12:45,470 Otevřela jsem editace textu, zachránil jsem soubor jako hello.html, 227 00:12:45,470 --> 00:12:50,190 Pak jsem vytáhl soubor na mém prohlížeči, a voila, měl jsem stránky na internetu. 228 00:12:50,190 --> 00:12:53,110 Nyní, to není tak docela pravda, měla jsem stránku, na mém pevném disku, 229 00:12:53,110 --> 00:12:58,260 a já jsem byl doslova jediný člověk na světě, který by viděl, že webovou stránku v prohlížeči. 230 00:12:58,260 --> 00:13:00,670 >> Takže dnes jsme se zavést skutečný webový server 231 00:13:00,670 --> 00:13:02,750 a pojem skutečně poskytování obsahu na internetu 232 00:13:02,750 --> 00:13:04,970 a jak to všechno začíná do sebe zapadat. 233 00:13:04,970 --> 00:13:08,350 Takže se ukázalo, že celou tu dobu v CS50 spotřebiče 234 00:13:08,350 --> 00:13:11,590 jste měli webový server na vašem počítači. 235 00:13:11,590 --> 00:13:16,560 Jsme, ve spravedlnost, pouze použil pro gedit, pro Clang, pro GDB a podobně, 236 00:13:16,560 --> 00:13:21,000 ale také instalovat nás pro vás v přístroji webový server, 237 00:13:21,000 --> 00:13:23,940 a že webový server se stane být volný, open source, 238 00:13:23,940 --> 00:13:26,580 jeden z nejoblíbenějších na světě, tzv. Apache. 239 00:13:26,580 --> 00:13:31,340 Jeho další technický název je httpd, d je pro démona tady, 240 00:13:31,340 --> 00:13:34,110 který je technický výraz pro server. 241 00:13:34,110 --> 00:13:38,690 Takže nainstalován v CS50 spotřebiče je webový server, a co to znamená? 242 00:13:38,690 --> 00:13:43,740 No, webový server, je pojmově, někteří server na internetu, které slouží až webový obsah. 243 00:13:43,740 --> 00:13:48,630 Když byli požádáni o soubor, to vyplivne HTML, které skládají tento soubor, a voila. 244 00:13:48,630 --> 00:13:51,370 Vidíte nějaké webové stránky domovskou stránku. 245 00:13:51,370 --> 00:13:54,970 Ale server je, přesněji, kus softwaru. 246 00:13:54,970 --> 00:13:59,190 To nemusí být na fyzickém stroji, to prostě musí být kus softwaru běží. 247 00:13:59,190 --> 00:14:01,980 Takže CS50 spotřebič, samozřejmě, je kus softwaru 248 00:14:01,980 --> 00:14:04,270 i když je to trochu předstírat, že je stroj. 249 00:14:04,270 --> 00:14:06,960 Je to předstírat, že počítač uvnitř počítače, 250 00:14:06,960 --> 00:14:11,140 ale to jen znamená, že zařízení může jistě běžet věci jako webové servery. 251 00:14:11,140 --> 00:14:13,260 To může skutečně spustit e-mailové servery. 252 00:14:13,260 --> 00:14:16,440 Mohli bychom spustit instant messaging server v přístroji, pokud bychom chtěli, 253 00:14:16,440 --> 00:14:20,780 a opravdu, my spustit jeden jiný typ serveru, známý jako databázový server, MySQL. 254 00:14:20,780 --> 00:14:22,620 Ale o tom až příští týden. 255 00:14:22,620 --> 00:14:26,400 To znamená, že mohu skutečně navštívit webové stránky 256 00:14:26,400 --> 00:14:30,480 uvnitř mé spotřebiče pomocí prohlížeče uvnitř zařízení 257 00:14:30,480 --> 00:14:33,600 nebo dokonce na mém vlastním notebooku, můj Mac nebo moje PC. 258 00:14:33,600 --> 00:14:37,780 Takže co to znamená? Ukazuje se, že pokaždé, když používáte Linux počítač, 259 00:14:37,780 --> 00:14:40,910 Jeho přezdívka je "místního hostitele." 260 00:14:40,910 --> 00:14:43,370 To nemá název domény, protože jsme nekoupili název domény 261 00:14:43,370 --> 00:14:46,590 něco jako zařízení, tak jeho výchozí název je místní hostitel. 262 00:14:46,590 --> 00:14:50,470 >> Aby však bylo možné získat přístroj začít zobrazovat až webových stránek, 263 00:14:50,470 --> 00:14:52,270 musíme vytvořit jako první. 264 00:14:52,270 --> 00:14:55,200 Tak pojďme na to. Nech mě jít do terminálu zde 265 00:14:55,200 --> 00:14:58,190 a všimněte si, že jsem na své typické John Harvard řádku. 266 00:14:58,190 --> 00:15:01,670 Nech mě jít napřed a typ LS, a uvidíme nějaké známé věci z tohoto semestru, 267 00:15:01,670 --> 00:15:04,580 desktop, stahování, dropbox a tak dále, 268 00:15:04,580 --> 00:15:07,540 ale teď začneme otáčet naši pozornost na pár. 269 00:15:07,540 --> 00:15:11,530 Na mnoha linuxových webových serverech tam je to složka s názvem public html, 270 00:15:11,530 --> 00:15:15,630 ale budeme přeskočit, že jeden pro teď a zaměřit se na to, vhostů. 271 00:15:15,630 --> 00:15:18,850 Každý, kdo vědí, co vhost je? 272 00:15:18,850 --> 00:15:21,110 Jen hloupý žargon pro virtuální hostitele, 273 00:15:21,110 --> 00:15:23,850 a co to znamená, že na typické serveru 274 00:15:23,850 --> 00:15:26,810 můžete skutečně hostit více webových stránek. 275 00:15:26,810 --> 00:15:31,500 Můžete si koupit název domény, jako je foo.com, a můžete hostovat na serveru. 276 00:15:31,500 --> 00:15:36,100 Ale můžete si také koupit bar.com a hostovat na stejném serveru. 277 00:15:36,100 --> 00:15:40,250 Důvodem je, že prohlížeče jsou dost chytří na to, aby informoval serveru 278 00:15:40,250 --> 00:15:45,880 pokud uživatel požaduje nějaké webové stránky, jak název domény uživatel chce na domovské. 279 00:15:45,880 --> 00:15:48,760 Takže to, co je hezké o tom se nemusíte jednom fyzickém serveru 280 00:15:48,760 --> 00:15:52,040 nebo jeden CS50 zařízení pro každý web, budete chtít vytvořit. 281 00:15:52,040 --> 00:15:55,520 Můžete použít stejný server a rozvíjet sto různých webových stránek. 282 00:15:55,520 --> 00:15:58,770 A skutečně, pokud jste osoba snaží na začátek stránky, 283 00:15:58,770 --> 00:16:02,100 ať už pro zábavu, nebo pro podnikání, obvykle budete chodit na internetu, 284 00:16:02,100 --> 00:16:04,650 a budete platit někdo deset babek měsíčně, sto dolarů měsíčně 285 00:16:04,650 --> 00:16:06,670 hostit vaše webové stránky pro vás. 286 00:16:06,670 --> 00:16:11,060 A způsob, jakým funguje, je, že se nabíjejí ostatní lidi 287 00:16:11,060 --> 00:16:13,160 deset babek měsíčně nebo sto dolarů měsíčně 288 00:16:13,160 --> 00:16:17,200 hostit webové stránky jiných lidí na jejich stejném serveru. 289 00:16:17,200 --> 00:16:20,740 Důvodem mohou udělat, je kvůli této vlastnosti zvané bhosts, 290 00:16:20,740 --> 00:16:23,790 ale o tom více, když přijde čas na závěrečných prací. 291 00:16:23,790 --> 00:16:28,360 >> Pro tuto chvíli, pojďme ponořit tam. Takže cd vhosts, a když jsem typ LS nyní, 292 00:16:28,360 --> 00:16:31,370 Všimněte si, že je tu složku tam volal místního hostitele. 293 00:16:31,370 --> 00:16:33,440 To proto, že ve výchozím nastavení, spotřebič údaje 294 00:16:33,440 --> 00:16:36,160 jste někdy bude provozovat jednu stránku na zařízení. 295 00:16:36,160 --> 00:16:38,970 To není opravdu skutečný svět, to není real-world web server. 296 00:16:38,970 --> 00:16:41,690 Tak nech mě jít do místního hostitele, a teď uvidíme se tam 297 00:16:41,690 --> 00:16:44,290 jeden poslední adresář nazvaný HTML. 298 00:16:44,290 --> 00:16:47,080 Takže je to trochu hluboko, hierarchie, ale pokud a až 299 00:16:47,080 --> 00:16:51,230 jste se rozhodli začít rozvíjet více webových stránek v průběhu příštích měsíců nebo roků n, 300 00:16:51,230 --> 00:16:54,370 tento druh struktury složek má tendenci být užitečné. 301 00:16:54,370 --> 00:16:56,560 Teď pojďme do HTML, jak jsem právě udělal, 302 00:16:56,560 --> 00:16:59,010 typ ls, a nic je tam. 303 00:16:59,010 --> 00:17:01,390 Takže teď pojďme do toho a udělat to. Dovolte mi, abych otevřít Chrome 304 00:17:01,390 --> 00:17:07,300 uvnitř spotřebiče, a nechte mě jít http://localhost. 305 00:17:07,300 --> 00:17:14,440 Takže doslova jméno pro mé zařízení, zadejte, a já si index /. 306 00:17:14,440 --> 00:17:18,290 To není opravdu mi ukázal něco zajímavého, 307 00:17:18,290 --> 00:17:23,400 ale ukázalo se, že to, co vidíme, je, že složka, HTML. 308 00:17:23,400 --> 00:17:25,770 Na tom není nic uvnitř této složky právě teď, 309 00:17:25,770 --> 00:17:28,750 takže místo, co budu muset udělat, je nejprve vytvořit soubor. 310 00:17:28,750 --> 00:17:33,530 Vytvořit soubor HTML jako jsme to udělali v pondělí, ale tentokrát dát uvnitř spotřebiče. 311 00:17:33,530 --> 00:17:36,830 Pro ty z vás, kteří se snaží sledovat spolu s notebooky nyní, 312 00:17:36,830 --> 00:17:42,040 dovolte mi, abych proveďte jednu stranou, která bude spadat do webové PSet, 313 00:17:42,040 --> 00:17:44,280 ale aby si to do práce za velmi poprvé, 314 00:17:44,280 --> 00:17:49,830 budete muset spustit tento příkaz: sudo service httpd startu. 315 00:17:49,830 --> 00:17:52,670 A to, opět se bude opakovat v posledním Pset, 316 00:17:52,670 --> 00:17:55,460 ale pokud hrajete spolu doma teď, webový server 317 00:17:55,460 --> 00:17:58,660 vypnutí v zařízení, a to tak, že není mízy paměť RAM 318 00:17:58,660 --> 00:18:01,960 a paměť pro 7 týdnů out of semestru, kdy nepotřebujeme ji. 319 00:18:01,960 --> 00:18:05,190 Takže budete muset spustit tento příkaz jednou, a budete mít výstup takového. 320 00:18:05,190 --> 00:18:07,920 Pak byste měli být schopni hrát tudy. 321 00:18:07,920 --> 00:18:10,330 Nyní se vraťme do této složky. 322 00:18:10,330 --> 00:18:12,770 Tato složka je prázdná, tak mi dovolte začít vytvářet soubor, 323 00:18:12,770 --> 00:18:16,360 gedit hello.html. 324 00:18:16,360 --> 00:18:20,930 >> Dobrá. Gedit je otevřený, jako obvykle. Dovolte mi, abych to doctype, html, 325 00:18:20,930 --> 00:18:25,270 html, dovolte mi, abych před sebe a začít zavřela značky předem. 326 00:18:25,270 --> 00:18:28,380 Teď mám hlavu. Nech mě jít dál a zavřete hlavu, 327 00:18:28,380 --> 00:18:32,450 dovolte mi, abych nyní udělat název stránky, hello world jako minule, 328 00:18:32,450 --> 00:18:34,790 zavřít titul, teď mi dovolte to tělo. 329 00:18:34,790 --> 00:18:38,130 V tu řeknu ahoj, svět s některými exclams 330 00:18:38,130 --> 00:18:40,550 aby bylo jasné, že je to jiný řetězec. 331 00:18:40,550 --> 00:18:45,800 Zavřít tělo, a teď mi dovolte pokračovat a soubor uložte. 332 00:18:45,800 --> 00:18:48,470 Nechte mě jít zpátky do mého terminálovém okně, a když jsem typ LS, 333 00:18:48,470 --> 00:18:51,830 Měl bych, pravděpodobně, viz hello.html. A já. 334 00:18:51,830 --> 00:18:55,070 Takže teď se vraťme k mému prohlížeči, klepněte na tlačítko znovu, 335 00:18:55,070 --> 00:18:58,930 a můžete vidět, že jsou opravdu v této HTML složky. 336 00:18:58,930 --> 00:19:02,310 Nevidím na webovou stránku ještě, to je Apache, webový server, 337 00:19:02,310 --> 00:19:04,670 jen ukazovat mi seznam obsah tohoto adresáře. 338 00:19:04,670 --> 00:19:08,260 Stejně jako Mac OS nebo Windows by obvykle na vašem vlastním místním pevném disku. 339 00:19:08,260 --> 00:19:12,730 Takže když chci vidět tuto webovou stránku, mohu klikněte na tento malý odkaz zde, hello.html, 340 00:19:12,730 --> 00:19:15,160 a opravdu, to je to, co jsem očekával, že uvidí. 341 00:19:15,160 --> 00:19:18,080 Nyní, opět, to není URL, že každý z vás může navštívit právě teď, 342 00:19:18,080 --> 00:19:20,760 protože pro tebe, místní hostitel, pokud máte notebook tady, 343 00:19:20,760 --> 00:19:23,050 to se odkazuje na vlastní instanci spotřebiče. 344 00:19:23,050 --> 00:19:25,900 To je na mé vlastní osobní zařízení, 345 00:19:25,900 --> 00:19:29,080 ale toto je druh němý pro mě mít, mít 346 00:19:29,080 --> 00:19:34,480 uživatel jako já klikněte na hello.html skutečně vidět obsah této stránky. 347 00:19:34,480 --> 00:19:42,590 Ukazuje se, že webové servery jako Apache ať máte výchozí soubor pro libovolný webový server. 348 00:19:42,590 --> 00:19:44,640 Všimněte si, máme hello.html. 349 00:19:44,640 --> 00:19:48,410 Co je příkaz v Linuxu přejmenovat soubor? 350 00:19:48,410 --> 00:19:50,870 >> MV, k nastěhování. Tak nech mě to udělat, že, 351 00:19:50,870 --> 00:19:55,870 a dovolte mi, abych přejmenovat hello.html na index.html. 352 00:19:55,870 --> 00:19:58,610 Dovolte mi, abych typ LS potvrdit, že to teď byl přejmenován. 353 00:19:58,610 --> 00:20:03,250 Nyní to bude - pokud se vrátím k místnímu hostiteli, 354 00:20:03,250 --> 00:20:06,710 všimnout, teď, že jsem automaticky viděl, že webové stránky. 355 00:20:06,710 --> 00:20:11,740 To je totožný s mým skutečně dělá / index.html, 356 00:20:11,740 --> 00:20:14,740 ale pěkná věc nyní je, že webový server je přemýšlením, 357 00:20:14,740 --> 00:20:18,830 oh, pokud máte soubor, který, lidskými konvencemi, se nazývá index.html, 358 00:20:18,830 --> 00:20:21,200 dovolte mi ukázat, že je soubor ve výchozím nastavení 359 00:20:21,200 --> 00:20:25,290 spíše než nějaký hloupý výpisu adresáře, který není vůbec uživatelsky příjemný. 360 00:20:25,290 --> 00:20:28,900 Opravdu, většina internetových stránek, které navštívíte na internetu nemají seznam souborů kliknout na, 361 00:20:28,900 --> 00:20:34,040 oni vám ukázat obsah. Tak to je, jak se nám to podaří, index.html. 362 00:20:34,040 --> 00:20:37,000 Takže je to všechno legrace a dobré, ale to je docela jednoduchá webová stránka. 363 00:20:37,000 --> 00:20:41,640 Nech mě jít dál a otevřít soubor index.html v mých vhostů, 364 00:20:41,640 --> 00:20:47,620 pocítacu v lokální síti, html adresář, a pojďme přidat něco většího zájmu. 365 00:20:47,620 --> 00:20:56,120 Takže je tu hello world, pojďme místo říkají "To je CS50, Harvard College je. . . " 366 00:20:56,120 --> 00:21:00,000 Takže na začátku popisu předmětu katalogu nějakého druhu tam. 367 00:21:00,000 --> 00:21:03,780 Nyní, když jsem znovu, měl bych to vidět v mé domovské stránce. 368 00:21:03,780 --> 00:21:09,560 Dobře, a já vidím, že, ale předpokládejme, že chci, aby se seznam některých více obsahu v tomto souboru. 369 00:21:09,560 --> 00:21:15,160 Mohl bych jít sem dolů a říkají, předpoklady none, 370 00:21:15,160 --> 00:21:18,740 ačkoli někteří z vás se možná líbilo, "Ha ha ha, žádné požadavky." 371 00:21:18,740 --> 00:21:24,320 Ale - oficiálně. Takže znovu, a nyní máme stejný vtípek, že jsme viděli minule. 372 00:21:24,320 --> 00:21:26,240 Ale proč je to? Byla to jednoduchá oprava. 373 00:21:26,240 --> 00:21:31,440 Proč je tato stránka rozbité? 374 00:21:31,440 --> 00:21:34,170 [Student, nesrozumitelné] >> Jo, jsme vyřešili to předtím 375 00:21:34,170 --> 00:21:37,440 tím, že explicitně říkat prohlížeči vložení zalomení řádku zde. " 376 00:21:37,440 --> 00:21:39,440 A to proto, že opět, prohlížeč to jen bude dělat 377 00:21:39,440 --> 00:21:42,610 výslovně neuvádí, které značkovací jazyk říká, že k tomu, 378 00:21:42,610 --> 00:21:45,730 takže i když jste mohl zasáhnout zadejte jednou nebo dvakrát nebo dokonce desetkrát, 379 00:21:45,730 --> 00:21:49,870 bude to spojit, že všichni do jednoho prostoru, jen konvencí. 380 00:21:49,870 --> 00:21:52,770 Takže pokud opravdu chcete zalomení řádku, musíte použít tag br, 381 00:21:52,770 --> 00:21:56,840 a teď oznámení, stejně jako pondělí jsem dal / uvnitř tohoto tagu, 382 00:21:56,840 --> 00:22:00,090 jen proto, že to prostě není ono 383 00:22:00,090 --> 00:22:02,990 kdo zalomení řádku a poté zastavte jej nic mezi tím. 384 00:22:02,990 --> 00:22:07,740 >> Takže konvence v HTML je otevřít a zavřít tag současně. 385 00:22:07,740 --> 00:22:11,050 Jak stranou, uvidíte spoustu webových stránek v knihách nedělá, že. 386 00:22:11,050 --> 00:22:14,240 Je správné dělat nebo nedělat to, ale my bychom tvrdit, 387 00:22:14,240 --> 00:22:17,430 že design-moudrý a stylisticky, to je prostě lepší 388 00:22:17,430 --> 00:22:20,540 protože pak každý tag je jak otevírat a zavírat nějak. 389 00:22:20,540 --> 00:22:23,370 Tak teď pojďme zachránit a znovu. Vraťte se zpět do prohlížeče, jo. 390 00:22:23,370 --> 00:22:26,680 Teď děláme nějaký pokrok, ale není to dost. 391 00:22:26,680 --> 00:22:33,210 Pojďme dál a začít psát v nějakém delším část textu. 392 00:22:33,210 --> 00:22:40,610 Takže řekněme, "quick brown fox skáče přes líného psa." 393 00:22:40,610 --> 00:22:42,700 A teď mi dovolte stačí zkopírovat a vložit tento několikrát 394 00:22:42,700 --> 00:22:45,040 takže máme odstavec textu. 395 00:22:45,040 --> 00:22:47,780 Nech mě jít zpátky sem. Takže to nevypadá moc dobře. 396 00:22:47,780 --> 00:22:50,000 Mám zalomení řádku, takže je to v pořádku, 397 00:22:50,000 --> 00:22:52,140 ale teď, jakmile se dostáváme k té míry, že webovou stránku 398 00:22:52,140 --> 00:22:55,640 , který má spoustu obsahu a ne jen jednotlivé řádky, kterými prokáží, HTML, 399 00:22:55,640 --> 00:22:58,570 můžeme začít přemýšlet o těchto věcech jako skutečné odstavců. 400 00:22:58,570 --> 00:23:01,590 A můžeme začít strukturovat naše webové stránky trochu čistěji. 401 00:23:01,590 --> 00:23:05,120 A skutečně, co mohu udělat, je jít tady uvnitř mého těla tagu, 402 00:23:05,120 --> 00:23:09,400 a víte co, kdyby "To je CS50. . . " Opravdu demarks začátek odstavce, 403 00:23:09,400 --> 00:23:11,310 dobře, pojďme označit jej jako takový. 404 00:23:11,310 --> 00:23:13,570 Dovolte mi, abych odsazení textu, jen konvencí, dovolte mi říci, 405 00:23:13,570 --> 00:23:15,710 že tento odstavec zde končí, 406 00:23:15,710 --> 00:23:18,320 a pak spíše než dělat to konec řádku, dovolte mi říci, 407 00:23:18,320 --> 00:23:23,300 , že tato tam patří a jako nový odstavec, 408 00:23:23,300 --> 00:23:27,610 a já jen rychle odrážka jen o přepisování všechny tyto věci. 409 00:23:27,610 --> 00:23:30,660 >> Takže teď máme odsazení tam, 410 00:23:30,660 --> 00:23:33,510 a nyní naše značky začíná být trochu více 411 00:23:33,510 --> 00:23:37,070 sémanticky v souladu s tím, co se snažíme dělat. 412 00:23:37,070 --> 00:23:40,130 Máme bod, takže řekněme, že bod s tagem p. 413 00:23:40,130 --> 00:23:43,370 Máme druhý odstavec, tak řekněme, že bod s tagem p. 414 00:23:43,370 --> 00:23:45,850 A teď, co prohlížeč typicky dělat 415 00:23:45,850 --> 00:23:48,490 je stejně jako v anglické knize nebo esej, 416 00:23:48,490 --> 00:23:51,280 kde se obvykle vidět některé řádků mezi odstavci. 417 00:23:51,280 --> 00:23:53,720 Prohlížeče bude to pro vás automaticky. 418 00:23:53,720 --> 00:23:56,680 Takže teď máme dva body a můžeme pokračovat v tomto. 419 00:23:56,680 --> 00:23:58,770 Ale, samozřejmě, na webu, když máte těla textu 420 00:23:58,770 --> 00:24:01,370 není to obvykle jen velké kuličky textu. 421 00:24:01,370 --> 00:24:04,040 Tam jsou často hypertextové odkazy tam. 422 00:24:04,040 --> 00:24:07,250 Takže pokud chceme, například, obsahovat některé odkazy tam, 423 00:24:07,250 --> 00:24:10,760 Předpokládám, že to, co by mohlo být zajímavé v jakékoli webové stránky jsem vytvořit zde - 424 00:24:10,760 --> 00:24:12,780 nechte mě jít na Google.com, 425 00:24:12,780 --> 00:24:16,540 a dovolte mi, abych vyhledat quick brown fox. 426 00:24:16,540 --> 00:24:22,150 Přejít na Google obrázků, a, jak o tom - to je roztomilé. 427 00:24:22,150 --> 00:24:27,420 Půjdeme s tím. Takže zde máme quick brown fox skákání přes líného psa. 428 00:24:27,420 --> 00:24:30,560 Takže, co budu dělat tady, jen kvůli demonstraci, 429 00:24:30,560 --> 00:24:32,950 Předpokládám, že je tento obraz byl na mém serveru, 430 00:24:32,950 --> 00:24:35,240 a já jsem byl vytvoření těchto snímků. 431 00:24:35,240 --> 00:24:38,720 Co jsem právě udělal, bylo pravým klepnutím nebo kontrolovat klikněte na obrázek, 432 00:24:38,720 --> 00:24:42,370 a to, co uvidíte ve většině prohlížečů je trochu menu - 433 00:24:42,370 --> 00:24:48,800 přestaň s tím, že - trochu menu, které vám umožní vybrat si Kopírovat adresu odkazu nebo Kopírovat adresu URL. 434 00:24:48,800 --> 00:24:52,750 Tak nech mě jít zpátky do mého HTML, a předpokládejme, že chci 435 00:24:52,750 --> 00:24:56,420 na příkaz Hypertextový odkaz tohoto na jinou webovou stránku. 436 00:24:56,420 --> 00:24:58,640 >> Jaký byl tag volal, že? 437 00:24:58,640 --> 00:25:01,650 [Student, nesrozumitelné] >> Jo. Takže href pro hyper odkaz. 438 00:25:01,650 --> 00:25:04,660 Nech mě jít dopředu a vložte že dovnitř 439 00:25:04,660 --> 00:25:07,290 Je to docela dlouhá URL, tak mi dovolte přiblížit zpět. 440 00:25:07,290 --> 00:25:09,950 Zavřít držáky, takže teď nevšiml jsem cestu sem 441 00:25:09,950 --> 00:25:11,960 proto, že URL se stalo, že je docela dlouhá. 442 00:25:11,960 --> 00:25:15,180 Dovolte mi, abych projděte odtud až do konce roku quick brown fox, 443 00:25:15,180 --> 00:25:18,830 a pak mě zavřete tuto značku s 00:25:21,280 kde jsem jen zavřel jméno tagu. 445 00:25:21,280 --> 00:25:24,470 Nyní mi dovolte pokračovat a kromě toho, že soubor, načíst webovou stránku, 446 00:25:24,470 --> 00:25:27,880 a nyní, ve výchozím nastavení, že to bude třeba zdůraznit modře pro mě, 447 00:25:27,880 --> 00:25:31,980 ale opravdu, mohu nyní klikněte na tento a je to. Tam je to image. 448 00:25:31,980 --> 00:25:33,990 A to neměl být obrázek, mohla spojené 449 00:25:33,990 --> 00:25:36,270 na nějakou jinou náhodné webové stránky na Internetu. 450 00:25:36,270 --> 00:25:39,610 Mohl bych to, například, s CS50, tak jeden poslední příklad zde. 451 00:25:39,610 --> 00:25:42,730 "To je CS50" mohlo mít smysl jít, href = 452 00:25:42,730 --> 00:25:50,340 http://www.cs50.net, úzkým citace, úzkým kotva. 453 00:25:50,340 --> 00:25:53,990 Takže teď, že to ještě kratší URL, a tentokrát nebudeme se na takový obrázek odkaz. 454 00:25:53,990 --> 00:25:57,880 Jsme místo bude odkaz na jinou stránku. 455 00:25:57,880 --> 00:25:59,840 Nyní máme obrázek zde. 456 00:25:59,840 --> 00:26:02,970 Mám pocit, že to můžeme udělat trochu lépe než jen propojení na obrázek. 457 00:26:02,970 --> 00:26:05,760 Co když budeme chtít, aby skutečně ztělesňují v našem vlastním webové stránky? 458 00:26:05,760 --> 00:26:09,290 >> No, co se dá udělat je, spíše než odkaz na tuto grafiku, 459 00:26:09,290 --> 00:26:14,690 dovolte mi, abych místo toho snížit URL, a budeme se zbavit tohoto odkazu a vyčistěte toto nahoru. 460 00:26:14,690 --> 00:26:17,190 A půjdeme dolů a zbavit tohoto. 461 00:26:17,190 --> 00:26:20,910 Nemáme opravdu potřebujete všechny tyto věty, takže mi dovolte zkrátit stránku trochu. 462 00:26:20,910 --> 00:26:24,530 A pak tady dole, nechte mě jít napřed v novém odstavci, 463 00:26:24,530 --> 00:26:30,100 říct, že jsem si to chcete text teď, chci si obraz, jehož zdrojem bude, že URL. 464 00:26:30,100 --> 00:26:33,100 Obrázek, jako konec řádku, je buď tam, nebo to není. 465 00:26:33,100 --> 00:26:35,900 Tak ať mi okamžitě ukončit tuto značku. 466 00:26:35,900 --> 00:26:39,440 Nech mě jít napřed nyní a zavřete odstavec, že ​​jsem uvnitř, 467 00:26:39,440 --> 00:26:43,010 a pokud vše půjde dobře s hello, world, když jsem znovu teď, 468 00:26:43,010 --> 00:26:45,520 I, opravdu, viz obrázek vpravo uvnitř mé vlastní webové stránky obrázek. 469 00:26:45,520 --> 00:26:48,570 Takže teď máme značku obrázku, kotevní značku a podobně, 470 00:26:48,570 --> 00:26:51,320 a pro dobrou míru, nech mě to udělat ještě jednu věc, která je často opomíjena 471 00:26:51,320 --> 00:26:55,900 na webových stránkách v těchto dnech: Pojďme poskytnout určité popisný text k tomuto obrázku 472 00:26:55,900 --> 00:26:58,090 pro lidi, kteří jsou na mobilním zařízení 473 00:26:58,090 --> 00:27:00,640 a proto nemusí být schopen stáhnout obrázek velmi rychle, 474 00:27:00,640 --> 00:27:03,310 pro lidi, kteří jsou slepí a nemusí být schopni vidět obraz 475 00:27:03,310 --> 00:27:06,480 ale oni by mohli mít čtečku obrazovky, který může říct, je to, co tento obrázek je. 476 00:27:06,480 --> 00:27:09,100 A k tomu, že tam je další atribut pro image značky 477 00:27:09,100 --> 00:27:11,290 volal alt, pro alternativní text. 478 00:27:11,290 --> 00:27:14,650 A co se dá dělat, je zde říci: "Toto je quick brown fox." 479 00:27:14,650 --> 00:27:17,650 Takže i když člověk nemůže vidět obraz na obrazovce, 480 00:27:17,650 --> 00:27:20,560 on nebo ona může alespoň slyšet, jak s nějakým kusem softwaru, 481 00:27:20,560 --> 00:27:23,080 co vlastně je tam na obrazovce. 482 00:27:23,080 --> 00:27:25,040 >> To se nezmění estetiku stránky, 483 00:27:25,040 --> 00:27:27,640 ale to je jistě dobrá praxe pro uživatele. 484 00:27:27,640 --> 00:27:31,760 Dobře, nechme tuto webovou stránku ve své současné podobě, 485 00:27:31,760 --> 00:27:33,890 ale uvidíme, jestli nemůžeme nyní představuje 486 00:27:33,890 --> 00:27:36,210 nějaký lepší přístupy k psaní těchto webových stránek, 487 00:27:36,210 --> 00:27:39,980 Některé lekce, které se chystáte, aby nám sloužili stejně jako naše stránky stále více a více složitější. 488 00:27:39,980 --> 00:27:42,220 Co my nebudeme dělat v průběhu příštích několika týdnů 489 00:27:42,220 --> 00:27:46,810 je vás provede všemi několika desítek značek HTML, které tam jsou. 490 00:27:46,810 --> 00:27:49,800 Stejně jako v začátku v roce týdnu 0, to asi bude stačit 491 00:27:49,800 --> 00:27:52,120 aby na vysoké úrovni přehled některých pojmů, 492 00:27:52,120 --> 00:27:54,530 rychlé prohlídka některých bloky, které byly pravděpodobně schopné, 493 00:27:54,530 --> 00:27:58,240 pěkný pohodlně, přejděte na vlastní pěst, různé skládačky. 494 00:27:58,240 --> 00:28:00,460 A že se to stane znovu v HTML, s největší pravděpodobností, 495 00:28:00,460 --> 00:28:04,320 kdy tu dostatek zdrojů na webu, že budeme ukazovat vás na, 496 00:28:04,320 --> 00:28:06,920 různé učebnice, pokud dáváte přednost přečíst učebnici, 497 00:28:06,920 --> 00:28:10,560 že vás provede všemi různé věci, které můžete udělat s HTML, 498 00:28:10,560 --> 00:28:16,100 ale opravdu, viděli jsme tak daleko v HTML většině základních pojmů. 499 00:28:16,100 --> 00:28:19,900 Máme představu tagů bude otevřen, v zavřené tagy. 500 00:28:19,900 --> 00:28:22,100 Některé značky, které jsou oba otevřené a uzavřené 501 00:28:22,100 --> 00:28:24,620 v tom smyslu, že jsou prázdné, tam by měla být nic uvnitř nich 502 00:28:24,620 --> 00:28:27,490 jako obrazu značky nebo konec řádku, které jsou právě tam. 503 00:28:27,490 --> 00:28:32,330 Také jsme se podívali už na pojmu atributu, jako alt nebo zdroje. 504 00:28:32,330 --> 00:28:36,410 Všimněte si, že tato slova mají tendenci, podle konvence, být krátký a stručné. 505 00:28:36,410 --> 00:28:39,140 >> Nemáme prostor pro uvážení o tom, co tyto věci jsou povoláni, 506 00:28:39,140 --> 00:28:42,060 někdo jiný, kdo vynalezl HTML přišel s těmito jmény. 507 00:28:42,060 --> 00:28:44,710 Takže stačí začít vědět, nebo vyhledat, kdykoli je potřebujete, 508 00:28:44,710 --> 00:28:47,160 jaké názvy jsou pro tyto tagy a atributy. 509 00:28:47,160 --> 00:28:49,510 V případě těchto vlastností, připisuje obecně 510 00:28:49,510 --> 00:28:52,900 změnit chování některých tagu. 511 00:28:52,900 --> 00:28:55,710 V tomto případě, je zdrojem atribut říká značku obrázku 512 00:28:55,710 --> 00:28:57,940 Co je zdrojem obrazu by měly být. 513 00:28:57,940 --> 00:29:04,460 Atribut href říká kotevní tag to, co by měl vlastně být propojení na. 514 00:29:04,460 --> 00:29:06,800 Ale pokud jde o strukturu webové stránky, i když Facebook 515 00:29:06,800 --> 00:29:09,680 a Google a jako vypadat jako úplný nepořádek 516 00:29:09,680 --> 00:29:12,560 pod pokličku na první pohled, pokud začnete číst přes to 517 00:29:12,560 --> 00:29:16,950 více metodicky, všichni následovat tento základní, základní strukturu. 518 00:29:16,950 --> 00:29:19,660 Ale můžeme zlepšit stylizaci těchto věcí. 519 00:29:19,660 --> 00:29:24,180 Tak nech mě jít na některé příklady, které jsem předem připravených. 520 00:29:24,180 --> 00:29:27,280 Nech mě jít napřed a zkopírujte je z jiné složky zde 521 00:29:27,280 --> 00:29:29,380 a dát je do tohoto adresáře. 522 00:29:29,380 --> 00:29:32,210 V předstihu, co jsem udělal, bylo připravit několik souborů: 523 00:29:32,210 --> 00:29:35,670 search0, search1, search2, a search3 a 4. 524 00:29:35,670 --> 00:29:38,740 Nech mě jít dopředu a otevřít první z těchto souborů, 525 00:29:38,740 --> 00:29:42,570 a uvidíme, jestli nemůžeme začít vytvářet vlastní vyhledávač. 526 00:29:42,570 --> 00:29:46,530 V horní části tohoto souboru, jako je tomu v případě obvykle ve třídě, jen banda komentáře. 527 00:29:46,530 --> 00:29:49,760 V HTML, i když, prostředky, které kdo komentář 528 00:29:49,760 --> 00:29:55,640 je <-! a pak jsi uvnitř komentář, multi-line komentář. 529 00:29:55,640 --> 00:29:59,800 Když jste připraveni zastavit ten komentář, můžete tak učinit ->. 530 00:29:59,800 --> 00:30:02,380 Takže všechno, co na vrcholu v modré barvě je jen komentář. 531 00:30:02,380 --> 00:30:04,620 >> To je můj deklarace DOCTYPE, která opět, 532 00:30:04,620 --> 00:30:07,080 stačí zkopírovat a vložit na víře, pro teď. 533 00:30:07,080 --> 00:30:10,410 To jen řekne prohlížeči, Here Comes některé HTML 5. " 534 00:30:10,410 --> 00:30:13,600 Pod tímto, na řádku 14, je první z mých skutečných značek, 535 00:30:13,600 --> 00:30:16,900 a to jen říká, jako dříve, přichází nějaký HTML, 536 00:30:16,900 --> 00:30:19,460 Zde přichází hlavu mé stránky, zde přichází titul, 537 00:30:19,460 --> 00:30:23,900 a pak, naopak, že je to o titul, tak je to na hlavu. 538 00:30:23,900 --> 00:30:26,460 Zde nyní přichází tělo mé straně. 539 00:30:26,460 --> 00:30:31,040 Takže pár nových značek nyní: h1 je zkratka pro okruh 1. 540 00:30:31,040 --> 00:30:33,850 Tam je tradice v HTML pro mnoho let zpět 541 00:30:33,850 --> 00:30:37,990 mít různé velikosti textu. 542 00:30:37,990 --> 00:30:41,980 A zpět v den, každý z nich znamená, obecně, jen velké a tučné. 543 00:30:41,980 --> 00:30:45,860 Ale je tu také h2, což je velká, ale ne tak velký a odvážný. 544 00:30:45,860 --> 00:30:49,320 Je tu h3, který je tak trochu velká, ale není zdaleka tak velký a odvážný, 545 00:30:49,320 --> 00:30:52,380 a tak dále, celou cestu až do h6. 546 00:30:52,380 --> 00:30:55,550 V těchto dnech, i když jsou h1, h2 a h3 opravdu na mysli 547 00:30:55,550 --> 00:30:57,980 mít více sémantický význam pro ně, 548 00:30:57,980 --> 00:31:01,100 přičemž h1 je opravdu nadpis: záhlaví webové stránky, 549 00:31:01,100 --> 00:31:04,210 záhlaví sloupce nebo něco podobného textu. 550 00:31:04,210 --> 00:31:09,030 Tak jsem schválně řekl h1 CS50 Vyhledávání> h1 551 00:31:09,030 --> 00:31:12,640 na specifikujte, že to je opravdu čísla, název mé straně. 552 00:31:12,640 --> 00:31:14,850 Není názvu v tom smyslu, záhlaví, 553 00:31:14,850 --> 00:31:18,960 ale titul, který jste skutečně vidět v samotné webové stránky, v těle. 554 00:31:18,960 --> 00:31:20,990 Nyní to můžete asi tušíte, co to je, 555 00:31:20,990 --> 00:31:23,110 i když máme pár nových kousků syntaxe. 556 00:31:23,110 --> 00:31:25,930 Jedná se o formu. Takže web opravdu začíná být zajímavé 557 00:31:25,930 --> 00:31:28,770 když webové stránky se vstup od uživatele. 558 00:31:28,770 --> 00:31:31,700 V této třídy, v problému nastaveným na programování webových, 559 00:31:31,700 --> 00:31:33,880 nebudeme dělat webové stránky, sama o sobě, 560 00:31:33,880 --> 00:31:37,570 se statickým obsahem, který ukazuje fotografie, které jste přijata, 561 00:31:37,570 --> 00:31:40,010 nebo je to můj životopis, a věci, o mně, 562 00:31:40,010 --> 00:31:42,450 protože ty věci jsou relativně snadné dát dohromady. 563 00:31:42,450 --> 00:31:44,400 Je těžké, aby se věci krásné na webu, 564 00:31:44,400 --> 00:31:46,390 ale alespoň uvedení do obsahu je docela triviální. 565 00:31:46,390 --> 00:31:49,380 Ale věci se opravdu zajímavé, když někdo může navštívit vaše webové stránky 566 00:31:49,380 --> 00:31:52,260 a poskytnout vstupní a mohou vyplňovat formuláře, 567 00:31:52,260 --> 00:31:55,800 může zaškrtnout políčka a může komunikovat s vaší webové stránky. 568 00:31:55,800 --> 00:31:57,780 A skutečně, asi každý web na kterých vám záleží 569 00:31:57,780 --> 00:32:00,710 v těchto dnech, v každém detailu, je nějak interaktivní. 570 00:32:00,710 --> 00:32:03,110 Facebook, Google a podobně, že se vstup uživatele 571 00:32:03,110 --> 00:32:05,100 a produkovat vlastní výstup. 572 00:32:05,100 --> 00:32:07,780 >> Tak začněme k tomu, že teď. Pojďme Přechod nyní 573 00:32:07,780 --> 00:32:11,150 z jen pomocí HTML pro značky statického obsahu 574 00:32:11,150 --> 00:32:14,790 jako místo dodání mechanismus pro dynamický obsah. 575 00:32:14,790 --> 00:32:17,350 A k tomuto účelu, pojďme zavést vlastní vyhledávač. 576 00:32:17,350 --> 00:32:20,820 Pojďme to udělat takto. Zde je formulář tag. 577 00:32:20,820 --> 00:32:24,090 Akční atribut určuje, že když uživatel vyplňuje tento formulář 578 00:32:24,090 --> 00:32:28,400 s jejich klávesnicí, bude předložena na tuto adresu URL zde. 579 00:32:28,400 --> 00:32:31,230 Takže jsem trochu podvádění. Bude to trvat nás trochu déle 580 00:32:31,230 --> 00:32:33,780 než jeden druh provedení celé vyhledávač, 581 00:32:33,780 --> 00:32:35,880 takže prostě budeme dělat front-end, abych tak řekl. 582 00:32:35,880 --> 00:32:38,650 Uděláme tu část, která uživateli umožňuje vyhledávání, a budeme tak nějak pramice na Google 583 00:32:38,650 --> 00:32:40,950 Nejtěžší najít výsledky vyhledávání, 584 00:32:40,950 --> 00:32:43,520 ale konkrétně, budu mluvit na webový server společnosti Google 585 00:32:43,520 --> 00:32:46,710 pomocí jedné z dvou velmi populárních metod. 586 00:32:46,710 --> 00:32:50,000 Jeden se dostat, další, že budeme nakonec vidět, že pošta, 587 00:32:50,000 --> 00:32:52,660 ačkoli tam jsou jiní, že jsou méně často používané. 588 00:32:52,660 --> 00:32:56,440 Tak se prostě vyvolává představu, já se chci dostat nějaký obsah, získat nějaké výsledky vyhledávání. 589 00:32:56,440 --> 00:32:58,440 To, můžete snad hádat, co to dělá. 590 00:32:58,440 --> 00:33:01,900 To je nějaký vstup, je to ve skutečnosti, bude vypadat jako textové pole, 591 00:33:01,900 --> 00:33:05,200 a název tohoto vstupu, jméno té proměnné, abych tak řekl, 592 00:33:05,200 --> 00:33:08,610 se bude q na dotaz konvencí. 593 00:33:08,610 --> 00:33:11,700 A opět, typ tohoto vstupu se nebude políčko; 594 00:33:11,700 --> 00:33:13,890 to nebude menu; to bude textové pole 595 00:33:13,890 --> 00:33:18,060 jak označil tento atribut zde, a tohoto textového pole, 596 00:33:18,060 --> 00:33:20,680 jako konec řádku, je buď tam, nebo ne. 597 00:33:20,680 --> 00:33:24,480 Takže máme prázdný element s lomítkem uvnitř tohoto tagu. 598 00:33:24,480 --> 00:33:28,050 Pak jdu dát zalomení řádku, a můžete, možná, asi, co to bude dělat. 599 00:33:28,050 --> 00:33:30,210 To je jiný druh formuláře vstupu. 600 00:33:30,210 --> 00:33:32,350 >> Tahle bude použit pro odeslání formuláře. 601 00:33:32,350 --> 00:33:36,140 Tak to bude velký tlačítko, které může uživatel klepnout odeslat formulář, 602 00:33:36,140 --> 00:33:40,800 a štítek na toto tlačítko bude "CS50 hledat." 603 00:33:40,800 --> 00:33:44,170 Zavřít formulář, úzkým tělo, úzkým HTML. 604 00:33:44,170 --> 00:33:46,280 Pojďme se podívat, co máme ve formě této webové stránce. 605 00:33:46,280 --> 00:33:48,260 Tak nech mě jít do svého prohlížeče, 606 00:33:48,260 --> 00:33:50,360 nech mě jít, ještě k místní hostitele. 607 00:33:50,360 --> 00:33:54,650 To je stále index.html, takže pokud chci vidět tento soubor s názvem search0, 608 00:33:54,650 --> 00:33:59,710 Já si prostě udělat / search0.html, zadejte - 609 00:33:59,710 --> 00:34:01,880 a první z mých chyb. 610 00:34:01,880 --> 00:34:04,400 Co se děje? Jasně jsem Nemáte oprávnění 611 00:34:04,400 --> 00:34:06,430 přístup k tomuto souboru, z nějakého důvodu. 612 00:34:06,430 --> 00:34:10,170 Ale to je proto, že na rozdíl od práce, kterou jsme udělali tak daleko v C, 613 00:34:10,170 --> 00:34:14,340 kde jsou programy, které napsat Předpokládá se, že runable vámi, 614 00:34:14,340 --> 00:34:17,590 vámi spustitelný, že to není opravdu tak na webu, 615 00:34:17,590 --> 00:34:21,010 , kterým se někdy budete chtít vytvořit soubory na serveru, 616 00:34:21,010 --> 00:34:23,310 ale nechcete celý svět, aby mohli vidět. 617 00:34:23,310 --> 00:34:25,469 Spíše, chcete, aby se svět vidět některé soubory 618 00:34:25,469 --> 00:34:27,730 ale ne jiní, jen kvůli Ochrana osobních údajů na. 619 00:34:27,730 --> 00:34:30,730 Takže je to spíš opt-in základě když děláte věci na webu. 620 00:34:30,730 --> 00:34:32,810 A tak mi dovolte vlastně napište ls zde, 621 00:34:32,810 --> 00:34:37,440 a uvidíte soubory, které mám, ale připomenout, že když to udělám ls-l pro dlouhé, 622 00:34:37,440 --> 00:34:41,520 Seženu delší záznam, který mi dává nějaké další informace o těchto souborech 623 00:34:41,520 --> 00:34:45,139 které jsou nyní, opravdu, poprvé relevantními pro nás. 624 00:34:45,139 --> 00:34:47,840 Všimněte si, že na pravé jsou jména mých souborů, 625 00:34:47,840 --> 00:34:50,690 a pak čas, kdy byly naposledy změněny nebo kopírovat. 626 00:34:50,690 --> 00:34:54,370 Toto číslo je zde to, co? Vzpomínáte si? 627 00:34:54,370 --> 00:34:56,400 Velikost v bajtech, jak velký soubor. 628 00:34:56,400 --> 00:34:59,520 >> Tak se mi zdá, mít nějaký loga v tu, která je větší než všechny ostatní soubory. 629 00:34:59,520 --> 00:35:03,610 To je, kdo jsem, to je to, co jsem a co skupina jsem dovnitř 630 00:35:03,610 --> 00:35:07,430 Ale pak, tady vlevo je trochu mystické pořadí, 631 00:35:07,430 --> 00:35:10,040 a mluvili jsme, myslím, stručně o tom v minulosti, 632 00:35:10,040 --> 00:35:12,050 ale to má co do činění s oprávněními. 633 00:35:12,050 --> 00:35:14,020 A i když je to trochu nejasné, 634 00:35:14,020 --> 00:35:17,270 RW pravděpodobně znamená, čtení a zápis. 635 00:35:17,270 --> 00:35:22,560 Tak to dopadá, že tyto pomlčky označují různé sady oprávnění pro různé lidi. 636 00:35:22,560 --> 00:35:24,730 A vzor je, v podstatě, následujícím způsobem. 637 00:35:24,730 --> 00:35:27,650 Když vidíte posloupnost čárek zde, vypadají takto. 638 00:35:27,650 --> 00:35:30,450 Tam je pomlčka, pak je tu další tři pomlčky, 639 00:35:30,450 --> 00:35:33,390 pak je tu další tři, pak je tu další tři. 640 00:35:33,390 --> 00:35:36,800 První z nich je buď pomlčka, nebo je to reklama na adresář. 641 00:35:36,800 --> 00:35:40,220 Tak že jeden je docela snadné. Pokud je to složka, říká d, jinak je to pomlčka. 642 00:35:40,220 --> 00:35:44,080 Je tu pár dalších případech, ale teď prostě budeme starat o souborech a adresářích. 643 00:35:44,080 --> 00:35:48,090 Tyto další tři pomlčky - a já jsem uměle vkládá mezery. 644 00:35:48,090 --> 00:35:50,490 Byli samozřejmě, ne tam, když jsme je viděli před chvílí. 645 00:35:50,490 --> 00:35:52,900 Jedná se o vlastníka souboru je oprávnění, 646 00:35:52,900 --> 00:35:55,840 a odvolává z druhé dávno, že to bylo čtení a zápis. 647 00:35:55,840 --> 00:35:58,560 To bylo proto, že já, jako osoba, která vytvořila tento soubor před chvílí, 648 00:35:58,560 --> 00:36:01,250 I jen tím, že ve výchozím nastavení, v počítači se systémem Linux, 649 00:36:01,250 --> 00:36:03,910 mají schopnost pokračovat ve čtení a psaní, že soubor. 650 00:36:03,910 --> 00:36:07,170 >> Takže operační systém prostě mi dává RW automaticky. 651 00:36:07,170 --> 00:36:10,840 Prostřední z nich se vztahují k mé skupině, že studentů, 652 00:36:10,840 --> 00:36:14,590 což je druh smysl na přístroji, protože jsem jediný člověk, používání spotřebiče. 653 00:36:14,590 --> 00:36:16,620 Takže mi dovolte mávat rukama na to pro tuto chvíli. 654 00:36:16,620 --> 00:36:19,190 Ale ty poslední jsou nejdůležitější pro web. 655 00:36:19,190 --> 00:36:21,580 To je každý jinde na světě, a skutečnost, 656 00:36:21,580 --> 00:36:24,600 , že je to --- znamená, že nikdo jiný na světě 657 00:36:24,600 --> 00:36:26,680 má nějaké oprávnění k tomuto souboru. 658 00:36:26,680 --> 00:36:29,180 Je zřejmé problém, tak musím opravit 659 00:36:29,180 --> 00:36:33,830 by nějak dávat světu, co? Číst a psát? 660 00:36:33,830 --> 00:36:35,850 To je asi hloupé, ne? Já nechci, aby někdo na webu 661 00:36:35,850 --> 00:36:38,530 jít navštívit mé stránky a nějak změnit tento soubor, 662 00:36:38,530 --> 00:36:40,800 i když opravdu nemohli s HTML souboru, 663 00:36:40,800 --> 00:36:44,110 ale jen v zásadě, pravděpodobně jen chci, aby byli schopni číst. 664 00:36:44,110 --> 00:36:47,910 Co to znamená číst? To neznamená, že budeš se starat o skutečné HTML, 665 00:36:47,910 --> 00:36:51,820 ale prohlížeč musí být schopen analyzovat tento značkovací jazyk, 666 00:36:51,820 --> 00:36:53,720 shora dolů, zleva doprava. 667 00:36:53,720 --> 00:36:57,990 Takže někdo na webu musí být schopen číst, tak jsem minimálně dát jí r. 668 00:36:57,990 --> 00:37:00,240 Udělám to v několika různými způsoby, ale snad 669 00:37:00,240 --> 00:37:03,080 nejjednodušší je spustit tento příkaz zde. 670 00:37:03,080 --> 00:37:10,860 Chmod, změna režimu, pak + r, takže všechny, všichni na světě + číst, 671 00:37:10,860 --> 00:37:13,830 a pak název souboru, search0.html. 672 00:37:13,830 --> 00:37:18,310 >> Nyní, když jsem to ls-l znovu, zjistíte, že soubor byl změněn, 673 00:37:18,310 --> 00:37:21,440 a opravdu, jsem se obrátil na r pro každého. 674 00:37:21,440 --> 00:37:23,350 Také jsem zapnul ji za svou skupinu, ale to je v pořádku, 675 00:37:23,350 --> 00:37:27,150 , protože když jsem se obrátil v na pro každého, moje skupina je podmnožinou toho. 676 00:37:27,150 --> 00:37:31,480 Tak to je taky v pohodě. To prostě znamená, že počítač nyní dělal to čitelné. 677 00:37:31,480 --> 00:37:34,430 Nyní mi dovolte vrátit se k mému prohlížeči, klepněte na tlačítko znovu. 678 00:37:34,430 --> 00:37:36,330 Ah-ha. V současné době máme CS50 Hledat. 679 00:37:36,330 --> 00:37:39,830 Jsem přiblížení v malém uměle - dost příšernou vyhledávače. 680 00:37:39,830 --> 00:37:41,930 Ale uvidíme, jestli to skutečně funguje. 681 00:37:41,930 --> 00:37:45,880 Nejprve mi dovolte, abych to rychle zdravý rozum kontrolu, dovolte mi, abych ovládat tlačítkem myši a zobrazit zdrojový kód stránky. 682 00:37:45,880 --> 00:37:50,780 Všimněte si, že v rámci Chrome jsme dnes svědky stejné HTML, který jsem sám vytvořil. 683 00:37:50,780 --> 00:37:55,420 Nenechte se zmást tady, ačkoli. Nemohu začít se změnou kód zde, 684 00:37:55,420 --> 00:37:59,420 protože prohlížeč má jen pro čtení pohled na tohoto kódu. 685 00:37:59,420 --> 00:38:06,060 V prohlížeči se jen ptal místního hostitele pro soubor s názvem search0.html. 686 00:38:06,060 --> 00:38:09,490 Nyní je čistá náhoda, že spotřebič 687 00:38:09,490 --> 00:38:13,480 se stane, že na stejném počítači jako svém prohlížeči. 688 00:38:13,480 --> 00:38:20,470 Mohl bych mít, equivalently, zadali v www.facebook.com/search0.html, 689 00:38:20,470 --> 00:38:23,830 a pokud Facebook měl soubor s názvem, který bych pak vidět jejich HTML. 690 00:38:23,830 --> 00:38:27,360 A, samozřejmě, nemohu změnit soubor, který se vrátí z Facebooku, a to buď. 691 00:38:27,360 --> 00:38:29,360 Takže teď jsme trochu rozostřování hranic. 692 00:38:29,360 --> 00:38:32,130 Přístroj je jak server, servírují stránky, 693 00:38:32,130 --> 00:38:34,870 ale je to také klient v tom smyslu, že jsem pomocí prohlížeče 694 00:38:34,870 --> 00:38:37,630 se skutečně mluvit k tomuto serveru. 695 00:38:37,630 --> 00:38:39,610 Tak uvidíme, jestli můj Google search engine funguje. 696 00:38:39,610 --> 00:38:44,930 Nech mě jít dopředu a hledat quick brown fox, zadejte. 697 00:38:44,930 --> 00:38:47,540 A voila, mám teď svůj vlastní vyhledávač. 698 00:38:47,540 --> 00:38:51,460 >> Ale jak to funguje? 699 00:38:51,460 --> 00:38:55,380 Trochu přitažené za vlasy, ale - a teď nemůžete vidět, přesně, část, která je v zájmu. 700 00:38:55,380 --> 00:38:57,370 Všimněte si, co se stane. 701 00:38:57,370 --> 00:39:00,430 Všimněte si, že URL. Ukazuje se, že tato metoda, 702 00:39:00,430 --> 00:39:02,780 volal dostat, je super-jednoduchý. 703 00:39:02,780 --> 00:39:10,270 Když zadáte do formuláře, který chcete "dostat" výsledky z nějakého serveru, 704 00:39:10,270 --> 00:39:13,200 co to bude dělat, je vzít, co jste zadali do formuláře 705 00:39:13,200 --> 00:39:15,290 a vložte jej do URL. 706 00:39:15,290 --> 00:39:18,580 Bude to pro standardizaci, jak dostane to dát do URL takto. 707 00:39:18,580 --> 00:39:22,290 Všimněte si, že toto je URL, která byla hodnota mého atributu action. 708 00:39:22,290 --> 00:39:24,730 To je, kde jsem chtěl forma skončit. 709 00:39:24,730 --> 00:39:26,950 Ale pak zaznamenáte tento otazník. 710 00:39:26,950 --> 00:39:30,230 Toto je smlouva o webu, kterým poskytnout vstup uživatele 711 00:39:30,230 --> 00:39:35,320 na webové stránky, můžete přidat do URL otazník, 712 00:39:35,320 --> 00:39:38,330 a pak máte spoustu párů klíč-hodnota. 713 00:39:38,330 --> 00:39:42,380 Název klíče, jinak známý jako parametr na webu, 714 00:39:42,380 --> 00:39:46,380 pak máte rovnítko, pak máte hodnotu tohoto parametru. 715 00:39:46,380 --> 00:39:49,810 Takže je to v podstatě název proměnné a hodnota proměnné, 716 00:39:49,810 --> 00:39:54,250 ale ty proměnné názvy a hodnoty pochází z HTML formuláře. 717 00:39:54,250 --> 00:39:56,250 Proč jsou plusy tam, myslíš? 718 00:39:56,250 --> 00:39:59,340 Protože jsem neměl psát + mezi mými slovy. 719 00:39:59,340 --> 00:40:01,430 [Student, nesrozumitelným] 720 00:40:01,430 --> 00:40:05,080 >> Jo, je to jen pro rozteče. Kurzy jsou, když jste viděli URL, 721 00:40:05,080 --> 00:40:07,320 tam nikdy žádné mezery v tom, i kdyby jen proto, že 722 00:40:07,320 --> 00:40:09,440 jestliže tam byly, nemohli jste opravdu zkopírovat a vložit 723 00:40:09,440 --> 00:40:12,700 do infrastruktury nebo do e-mailu, protože to by porušilo. 724 00:40:12,700 --> 00:40:15,420 Chcete-celá věc být jeden souvislý řetězec znaků. 725 00:40:15,450 --> 00:40:18,450 >> Takže prohlížeč je dost chytrý, aby si uvědomit, uh-uh. 726 00:40:18,450 --> 00:40:22,610 Nepoužívejte jen dát prostor tam. Dovolte mi, abych kódovat prostor v nějaké standardním způsobem. 727 00:40:22,610 --> 00:40:25,170 Jeden z konvencí na tom je, že má prohlížeč 728 00:40:25,170 --> 00:40:29,350 automaticky umístí +, kde byste jinak mezeru. 729 00:40:29,350 --> 00:40:32,140 Takže teď, upozornění Google byl trochu user-friendly. 730 00:40:32,140 --> 00:40:34,380 Určitě jsem vytvořit tuto webovou stránku, 731 00:40:34,380 --> 00:40:37,200 ale oni předem vyplněna vlastní textové pole 732 00:40:37,200 --> 00:40:39,490 s tím, co, přesně, jsem napsal dovnitř 733 00:40:39,490 --> 00:40:43,090 Dejme tomu, že chcete vyhledávat něco jiného, ​​jako líného psa. 734 00:40:43,090 --> 00:40:45,340 Můžu jen napsat to tady, re-search. 735 00:40:45,340 --> 00:40:47,730 Všimněte si, že URL změní tady, 736 00:40:47,730 --> 00:40:51,390 ale všimněte si pak, že jsem si skutečně hledat cokoliv chci 737 00:40:51,390 --> 00:40:53,610 jen tím, že pochopení toho, jak adresy URL práci. 738 00:40:53,610 --> 00:40:56,840 Já jsem mohl dělat línou kočku, zadejte, 739 00:40:56,840 --> 00:41:01,370 a všimněte si, teď jsem stále velmi líný - měli bychom? Mám pocit, že bychom měli. 740 00:41:01,370 --> 00:41:09,900 Mám velmi líný kočku. 741 00:41:09,900 --> 00:41:11,930 Dobrá. To je jeden z nejhloupější věcí, které jsme udělali. 742 00:41:11,930 --> 00:41:17,160 Ale to je líný kocour. 743 00:41:17,160 --> 00:41:19,730 Tak či onak, co je klíčem takeaway tady? 744 00:41:19,730 --> 00:41:22,830 Teď jsme trochu hrát ve světě HTTP. 745 00:41:22,830 --> 00:41:26,050 HTML je právě tento značkovací jazyk, open tag, zavřít tag, 746 00:41:26,050 --> 00:41:29,490 která vypráví prohlížeč, jak vykreslení obsahu na webové stránce. 747 00:41:29,490 --> 00:41:32,850 Ale když začnete přenášet data v internetu 748 00:41:32,850 --> 00:41:36,290 mezi webovým prohlížečem a serverem, že je-li tento protokol 749 00:41:36,290 --> 00:41:39,370 známý jako HyperText Transfer Protocol převezme. 750 00:41:39,370 --> 00:41:42,630 To je ten druh člověka úmluvy; když Sam a já si potřásli rukama v pondělí, 751 00:41:42,630 --> 00:41:48,300 výchozí připojení a pak zavření připojení, stejný nápad sem. 752 00:41:48,300 --> 00:41:53,100 Jak se na Google výsledky vrátí ke mně? 753 00:41:53,100 --> 00:41:55,290 Jak se moje forma podání bude Google? 754 00:41:55,290 --> 00:41:58,160 No, vzpomínám z druhý den, že to, co se opravdu děje 755 00:41:58,160 --> 00:42:02,150 pod pokličku, když požádat o webové stránky, je, 756 00:42:02,150 --> 00:42:04,860 Váš prohlížeč posílá poněkud záhadný, zprávu jako 757 00:42:04,860 --> 00:42:09,510 GET / HTTP/1.1 pro výchozí domovskou stránku. 758 00:42:09,510 --> 00:42:13,000 >> Nebo, v tomto případě, protože zejména požadováno dříve 759 00:42:13,000 --> 00:42:17,340 search0.html, to by pak bylo něco, mystické zprávu 760 00:42:17,340 --> 00:42:20,040 že můj prohlížeč posílá spotřebiče. 761 00:42:20,040 --> 00:42:23,090 Nebo, v tomto případě Google, co se vlastně poslán 762 00:42:23,090 --> 00:42:33,740 je požadavek na / vyhledávání, a pak? q = líný kočka, s navíc tam. 763 00:42:33,740 --> 00:42:36,790 Takže tato zpráva, že já, člověk, jsem nikdy psát, 764 00:42:36,790 --> 00:42:40,620 ale potom je poslán do prohlížeče, je to, jak HTTP stane. 765 00:42:40,620 --> 00:42:43,240 To je ekvivalentní našich mít potřásl rukou. 766 00:42:43,240 --> 00:42:46,320 To je požadavek, a server to asi poslat odpověď. 767 00:42:46,320 --> 00:42:48,560 Takže pojďme se podívat na to pod kapotou. 768 00:42:48,560 --> 00:42:55,320 Stejně jako dříve, můžeme otevřít tuto speciální pole v prohlížeči. 769 00:42:55,320 --> 00:42:58,720 Zobrazit stránku, zkontrolujte prvky. 770 00:42:58,720 --> 00:43:01,550 Takže podle prohlédnout prvek, zjistíte, že to, co se stalo v prohlížeči Chrome, 771 00:43:01,550 --> 00:43:04,160 a IE a Firefox mají podobné mechanismy, 772 00:43:04,160 --> 00:43:07,370 máme tyto nástroje pro vývojáře, které jsou přístupné na nás. 773 00:43:07,370 --> 00:43:09,630 Normální lidé nemají používat tyto karty. 774 00:43:09,630 --> 00:43:11,940 Ale my, teď, zajímá, co se děje 775 00:43:11,940 --> 00:43:13,890 pod pokličku na úrovni sítě. 776 00:43:13,890 --> 00:43:16,130 Takže pokud jsem vytáhnout síťovou úroveň tady, 777 00:43:16,130 --> 00:43:18,510 nech mě jít napřed a rozšířit toto okno, 778 00:43:18,510 --> 00:43:21,840 otevřít tuto položku zde, a podívejte se na záhlaví. 779 00:43:21,840 --> 00:43:26,010 Takže co se stane, když jsem požádat o soubor z webového serveru 780 00:43:26,010 --> 00:43:29,410 je můj prohlížeč posílá spoustu věcí. 781 00:43:29,410 --> 00:43:32,390 A dovolte mi, abych zobrazit zdrojový kód. Takže podle hlaviček, 782 00:43:32,390 --> 00:43:35,250 a to je jen Chrome a ukazoval mi nějaké diagnostické výstup, 783 00:43:35,250 --> 00:43:37,340 něco jako ladicí nějakého druhu, 784 00:43:37,340 --> 00:43:40,500 Všimněte si, že to, co jsem zdůraznil tady je přesně to, co 785 00:43:40,500 --> 00:43:47,060 Chrome odesílá na server, aby požádalo o soubor s názvem search0.html. 786 00:43:47,060 --> 00:43:50,160 To říká server, co si myslí, že jeho jméno je, 787 00:43:50,160 --> 00:43:52,210 díky této oblasti hostitelského tlustého střeva, pak je tu nějaký 788 00:43:52,210 --> 00:43:56,950 pěkný esoterické věci sem, jako něco, co dělat s daty a časy, 789 00:43:56,950 --> 00:43:59,720 něco společného s jazyky, které prohlížeč nerozumí, 790 00:43:59,720 --> 00:44:02,850 ale opravdu důležité linky jsou tyto první dvě zde. 791 00:44:02,850 --> 00:44:05,490 >> Co server odpoví? No, pokud bychom přejděte sem 792 00:44:05,490 --> 00:44:08,510 a zobrazit zdrojový kód této věci, zjistíte, že server 793 00:44:08,510 --> 00:44:13,700 odpověděl s poněkud tajemnou zprávu stejně, 304 nemění. 794 00:44:13,700 --> 00:44:16,030 To je trochu divné, dovolte mi, abych se skutečně snaží to napravit. 795 00:44:16,030 --> 00:44:18,670 Dovolte mi, abych podržte stisknutou klávesu Shift a klepněte na tlačítko znovu tady 796 00:44:18,670 --> 00:44:22,460 donutit prohlížeč, aby skutečně tuto žádost poprvé. 797 00:44:22,460 --> 00:44:25,700 Pak mi dovolte přiblížit, a uvidíme, teď, že odezva serveru, 798 00:44:25,700 --> 00:44:28,950 protože jsem držel posun, je 200 OK. 799 00:44:28,950 --> 00:44:31,170 Takže jste asi nikdy neviděl číslo 200 800 00:44:31,170 --> 00:44:33,300 V souvislosti s webu, ale co čísel 801 00:44:33,300 --> 00:44:36,760 jste někdy viděli neočekávaně ze serveru? 802 00:44:36,760 --> 00:44:42,010 404, soubor nebyl nalezen, 403, zakázána, 500, chyba serveru. 803 00:44:42,010 --> 00:44:44,890 Takže tam jsou tyto číselné kódy, které svět používá na webu 804 00:44:44,890 --> 00:44:47,870 znamenat chyby, stejně jako funkce C 805 00:44:47,870 --> 00:44:51,030 může vrátit chyby a hlavní může vrátit návratový kód. 806 00:44:51,030 --> 00:44:54,160 200, i když, můžete vidět jen zřídka, protože to znamená, je vše v pořádku. 807 00:44:54,160 --> 00:44:59,000 A 304 budete pravděpodobně nikdy vidět, protože to, co je to znamenat? 808 00:44:59,000 --> 00:45:03,330 Že nic nemá - uvidíme, jestli můžeme simulovat to znovu - 809 00:45:03,330 --> 00:45:07,170 Oh, teď to není spolupracující. 304 řekl nemění, 810 00:45:07,170 --> 00:45:09,170 tak proč byl server ještě reagovat? 811 00:45:09,170 --> 00:45:12,550 No, pro efektivitu, webový server automaticky za vás, 812 00:45:12,550 --> 00:45:16,570 pokud soubor nebyl změněn, nebude přenášet celý soubor HTML. 813 00:45:16,570 --> 00:45:19,150 Je to jen říct, že prohlížeč se nezměnil. 814 00:45:19,150 --> 00:45:21,220 Stačí použít kopii již máte. 815 00:45:21,220 --> 00:45:22,650 Takže tam je to představa ukládání do mezipaměti na webu 816 00:45:22,650 --> 00:45:25,840 pro výkon, takže nemusíte ztrácet čas a odpadní šířku pásma 817 00:45:25,840 --> 00:45:29,160 stahování souborů znovu a znovu zbytečně. 818 00:45:29,160 --> 00:45:31,460 >> But tato webová stránka, teď, byl super-jednoduchý, 819 00:45:31,460 --> 00:45:34,980 a to pouze tehdy ukázal mi HTML, který se vrátila. 820 00:45:34,980 --> 00:45:40,940 Pojďme vlastně používat sítě kartu nyní udělat vyhledávání na Google jako quick brown fox. 821 00:45:40,940 --> 00:45:43,010 Dovolte mi, abych potom klepněte na tlačítko CS50 vyhledávání, 822 00:45:43,010 --> 00:45:46,950 a teď, zjistíte v dolní zde celá parta věcí vrátil 823 00:45:46,950 --> 00:45:49,900 protože když jsem navštívit skutečný webové stránky, jako Google.com, 824 00:45:49,900 --> 00:45:53,520 mají obrázky, které mají textu, mají jazyk zvaný JavaScript tam. 825 00:45:53,520 --> 00:45:55,940 Takže každý řádek v této tabulce dole 826 00:45:55,940 --> 00:46:01,490 představuje něco, co Google plivat v reakci na můj jednu žádost. 827 00:46:01,490 --> 00:46:04,160 Ten mi záleží, i když, je to první. 828 00:46:04,160 --> 00:46:08,420 A když půjdu na hledání, žádost, klikněte na volbu Zobrazit zdroj zde, 829 00:46:08,420 --> 00:46:11,300 Všimněte si, že, skutečně, mystické poselství, že můj prohlížeč poslal 830 00:46:11,300 --> 00:46:15,010 to Google Právě tyto dvě řádky zde, 831 00:46:15,010 --> 00:46:18,420 následuje nějaký tajemný informací tady dole, které budeme ignorovat nyní. 832 00:46:18,420 --> 00:46:20,890 Ale upozornění, taky, co Chrome je docela šikovný s, 833 00:46:20,890 --> 00:46:24,540 je to také ukazuje mi řetězec dotazu, který byl odeslán dovnitř 834 00:46:24,540 --> 00:46:27,410 Takže spíše než Ukaž mi to, který byl doslova poslán, 835 00:46:27,410 --> 00:46:30,800 pokud ji mohu prohlédnout dekódovány, Chrome, jen pro účely ladění, 836 00:46:30,800 --> 00:46:34,270 pro vývojáře, jako jsme my, je to jen ukazuje mi fotky verze - 837 00:46:34,270 --> 00:46:36,390 to není jak se to píše Fox, zřejmě. 838 00:46:36,390 --> 00:46:40,520 Jen jsem si všiml, to nyní - ale je to, že vám ukazuje, co jsem, zdá se, zadali. 839 00:46:40,520 --> 00:46:45,340 Mezitím, odpověď, která přišla zpět ze serveru je opět 200 OK. 840 00:46:45,340 --> 00:46:47,930 Ale zahrnuty do této reakci, samozřejmě, 841 00:46:47,930 --> 00:46:51,920 pokud bychom skutečně mohli HTML stránky - 842 00:46:51,920 --> 00:46:55,440 líto, je to trochu klávesová zkratka pryč nakřivo dnes. 843 00:46:55,440 --> 00:46:59,020 >> Postarám se o to později. Takže pokud jsme vlastně zobrazení stránky je zdroj, 844 00:46:59,020 --> 00:47:02,990 které mohu dělat tady dole kliknutím odpověď, 845 00:47:02,990 --> 00:47:10,080 To je to, co bylo vlastně plivat zpět, navíc k tomuto kryptické 200 OK zprávy ze serveru. 846 00:47:10,080 --> 00:47:12,520 Trochu záhadné, ale kde je to všechno pochází? 847 00:47:12,520 --> 00:47:15,570 No, pojďme udělat jednu věc zde. Dalším poněkud-Cryptic Command, 848 00:47:15,570 --> 00:47:20,530 Ale tohle je trochu úhledné v tom, že nám ukazuje přesně to, co se děje pod kapotou. 849 00:47:20,530 --> 00:47:22,530 Takže jsem zpátky na mém Macu tady, jsem připojen 850 00:47:22,530 --> 00:47:25,980 prostřednictvím programu nazvaného SSH, Secure Shell, na jiném serveru 851 00:47:25,980 --> 00:47:28,940 protože většina počítačů Harvardu zablokovat příkaz se chystáme spustit 852 00:47:28,940 --> 00:47:31,640 protože tam je to příkaz na některých serverech nazýván traceroute 853 00:47:31,640 --> 00:47:34,810 , který vám umožní sledovat trasu mezi body A a B, 854 00:47:34,810 --> 00:47:37,020 a tak daleko jsme se brát zcela za samozřejmost 855 00:47:37,020 --> 00:47:40,170 že mohu psát Google.com a nějak získat data zpět 856 00:47:40,170 --> 00:47:43,530 z poloviny celé země nebo přes půl světa. 857 00:47:43,530 --> 00:47:45,810 S traceroute můžeme skutečně ponořit se trochu hlouběji 858 00:47:45,810 --> 00:47:49,370 jak funguje internet, a uvidíme, co se děje pod kapotou. 859 00:47:49,370 --> 00:47:54,440 Tak pojďme do toho a libovolně sledovat trasu, řekněme, Stanford.edu, 860 00:47:54,440 --> 00:47:57,150 která je po celé zemi, a stiskněte klávesu Enter. 861 00:47:57,150 --> 00:47:59,380 Tento příkaz může být super-rychlý a super-pomalé, 862 00:47:59,380 --> 00:48:02,010 ale to, co vidíme dnes, řádek po řádku, 863 00:48:02,010 --> 00:48:08,060 je každý jeden z kroků nebo poskoků mezi námi a Palo Alto, nebo Stanfordu, 864 00:48:08,060 --> 00:48:11,010 kde mají své webový server. 865 00:48:11,010 --> 00:48:16,600 Takže to, co má každý z těchto řádků představují konkrétněji, i když? 866 00:48:16,600 --> 00:48:19,100 Kus žargonu z internetu? [Student, nesrozumitelným] 867 00:48:19,100 --> 00:48:21,570 >> Co je to? [Student, nesrozumitelným] 868 00:48:21,570 --> 00:48:25,390 >> Oh, tak tam jsou časy, ale co každý řádek - co tím chci říct hop? 869 00:48:25,390 --> 00:48:29,140 >> No, jsou tyto věci na internetu tzv. směrovače. 870 00:48:29,140 --> 00:48:33,020 A směrovače, jak název napovídá, cesta informace z bodu a do bodu b. 871 00:48:33,020 --> 00:48:36,920 Ale existuje několik bodů, mimo a a b. 872 00:48:36,920 --> 00:48:40,010 Tam je c a d, e, f mezi řádku 1, 873 00:48:40,010 --> 00:48:43,480 který se stane být můj počítač IP adresu, 874 00:48:43,480 --> 00:48:46,890 nebo můj číselná adresa, která jedinečně identifikuje počítač, 875 00:48:46,890 --> 00:48:50,300 a krok 15, což je vlastně šestý webový server, 876 00:48:50,300 --> 00:48:54,640 zřejmě, které jsem vyvodil z toho, nebo verze 6 jejich webového serveru na Stanfordu. 877 00:48:54,640 --> 00:48:56,680 Ale co je to druh čistý je, můžeme vidět cestu 878 00:48:56,680 --> 00:49:00,480 že můj 0 a 1 je berou z mého počítače na Stanford. 879 00:49:00,480 --> 00:49:02,500 Takže krok 1 vlastní počítač adresa. 880 00:49:02,500 --> 00:49:05,760 Každý počítač na Internetu má jedinečný identifikátor, který vypadá takto. 881 00:49:05,760 --> 00:49:08,150 Number.number.number.number. 882 00:49:08,150 --> 00:49:10,370 Někde na této půdě, pravděpodobně v oblasti vědy centru, 883 00:49:10,370 --> 00:49:16,780 je router nazývá jádro Brána 2-te83, ať to znamená cokoliv, 884 00:49:16,780 --> 00:49:20,590 takže to je jeden z velkých Harvardu fantazie směrovače, který směruje hodně jejich provoz. 885 00:49:20,590 --> 00:49:24,640 Tady je další z routerů Harvardu, tohle je Border Gateway, 886 00:49:24,640 --> 00:49:28,310 přeshraniční význam, že je to pravděpodobně na okraji areálu někde. 887 00:49:28,480 --> 00:49:32,790 Pak je tu nox jeden, řádek 4, který je severní křižovatky, 888 00:49:32,790 --> 00:49:35,070 což je velký ISP, poskytovatel internetových služeb, 889 00:49:35,070 --> 00:49:37,740 že místa jako Harvard připojit až. 890 00:49:37,740 --> 00:49:40,760 Ale pak to trochu zajímavý v souladu 6. 891 00:49:40,760 --> 00:49:45,960 Kde jsou moje kousky najednou? Kansas. 892 00:49:45,960 --> 00:49:49,300 Svět má ve zvyku používat letištní kódy v mnoha z těchto věcí, 893 00:49:49,300 --> 00:49:52,900 nebo alespoň zkratek států nebo měst, 894 00:49:52,900 --> 00:49:56,490 tak to vypadá, jen v 60 ms, 895 00:49:56,490 --> 00:49:59,420 balíček informací, 0 a 1 je z mého notebooku 896 00:49:59,420 --> 00:50:03,210 dostal až do Kansasu, a znovu, v 60 ms. 897 00:50:03,210 --> 00:50:08,180 >> Navíc, po Kansasu, vzali zájezd přes Houston, pravděpodobně, 898 00:50:08,180 --> 00:50:10,140 jak vyplývá již z názvu tohoto serveru. 899 00:50:10,140 --> 00:50:13,310 Takže stejně jako server na internetu, musí mít číselnou adresu, 900 00:50:13,310 --> 00:50:18,360 to může také volitelně, mají mírně více člověka-friendly adresu, na kterou lidé vymysleli. 901 00:50:18,360 --> 00:50:20,510 Nyní, v kroku 8, nevíme, co to je. 902 00:50:20,510 --> 00:50:22,550 Někdy routery tak nějak ignorovat, 903 00:50:22,550 --> 00:50:25,010 a oni prostě nemají odpovědět na otázky, takže je to v pořádku. 904 00:50:25,010 --> 00:50:29,290 Jeden po kroku 8 je zřejmě kde? L.A. 905 00:50:29,290 --> 00:50:35,290 Všimněte si, jen 78 ms, to, co se nám lidi, jako je 6 + hodin udělat fyzicky, 906 00:50:35,290 --> 00:50:40,110 bere pakety informací na internetu 78 ms cestovat tak daleko. 907 00:50:40,110 --> 00:50:45,890 Krok 10 je v LA také, a krok 11 se zdá k šli na sever, do blízkosti Stanfordu. 908 00:50:45,890 --> 00:50:48,750 To je jejich hranice router, nebo hraniční směrovač. 909 00:50:48,750 --> 00:50:51,240 Pár kroků na Stanfordu, které jsou ignoruji nás, 910 00:50:51,240 --> 00:50:55,610 a konečně se dostáváme k webovému serveru za pouhých 87 ms. 911 00:50:55,610 --> 00:50:57,760 Nyní, všechny z těchto čísel, jako stranou, 912 00:50:57,760 --> 00:51:00,640 jen říct, jak dlouho to trvá, údaje se dostat ode mě 913 00:51:00,640 --> 00:51:03,530 na každou z těchto směrovačů, a to nesčítají. 914 00:51:03,530 --> 00:51:06,960 Co tento program je, že nejprve odešle zprávu, v podstatě na první routeru. 915 00:51:06,960 --> 00:51:09,490 Pak se jeden do druhého routeru; pak jeden na třetí routeru, 916 00:51:09,490 --> 00:51:12,610 měření pokaždé. Takže teoreticky, budou tyto časy se stále 917 00:51:12,610 --> 00:51:14,860 nebo alespoň velmi blízko sebe, 918 00:51:14,860 --> 00:51:18,090 a, opravdu, ty, které jsou tady na akademické půdě jsou super-small. 919 00:51:18,090 --> 00:51:20,820 Jakmile začnete jít po celé zemi, trvá dat 920 00:51:20,820 --> 00:51:24,830 trochu déle cestovat, blíže k 100 ms, dávat nebo brát. 921 00:51:24,830 --> 00:51:28,330 Ale pojďme opačným směrem teď. Jak o Cambridge University ve Velké Británii? 922 00:51:28,330 --> 00:51:32,540 Dovolte mi, abych místo toho použít traceroute z www.cam pro Cambridge, 923 00:51:32,540 --> 00:51:36,710 . Ac pro akademické,. Uk, a stiskněte klávesu Enter zde. 924 00:51:36,710 --> 00:51:38,830 To bylo zatraceně rychle. 925 00:51:38,830 --> 00:51:43,300 Moje údaje doslova šel do Cambridge, Anglie, v tomto zlomku vteřiny času. 926 00:51:43,300 --> 00:51:45,340 >> Tak uvidíme, na cestu, která to trvalo. 927 00:51:45,340 --> 00:51:47,520 Harvard, Harvard, Harvard, Severní Crossroads, 928 00:51:47,520 --> 00:51:52,690 který je ISP, a pak je severní křižovatky, a pak bum. 929 00:51:52,690 --> 00:51:58,320 Co je mezi kroky 6 a 7, router 6 a 7? 930 00:51:58,320 --> 00:52:02,040 Atlantský oceán. A my jsme vyvodila to z toho, že 931 00:52:02,040 --> 00:52:06,530 Jdeme od 20 ms zde 80 ms zde. 932 00:52:06,530 --> 00:52:10,050 Takže něco vzal 60 ms, dávat nebo brát, překonat. 933 00:52:10,050 --> 00:52:12,910 A to byl pravděpodobně velký vodní útvar. 934 00:52:12,910 --> 00:52:15,250 Co se děje potom? No, tady jsme v Londýně, 935 00:52:15,250 --> 00:52:18,860 Jen 88 ms později. Více London, více London, 936 00:52:18,860 --> 00:52:21,730 nevíte, kde to je, ale budeme předpokládat, že je to mimo Londýn, 937 00:52:21,730 --> 00:52:26,390 Cambridge tady, a nakonec jsme - doslova, University of Cambridge 938 00:52:26,390 --> 00:52:29,500 . Something.net, a pak, nakonec, v řádku 16, 939 00:52:29,500 --> 00:52:31,720 jejich web server je zřejmě nazývá Scorpius 940 00:52:31,720 --> 00:52:35,500 pod pokličku, i když víme, jako www. 941 00:52:35,500 --> 00:52:38,790 Druh mysli-vyfukování, myslím. Poprvé, co jsem to udělal, to úplně mi vyrazil dech. 942 00:52:38,790 --> 00:52:41,670 Bohužel, Harvard blokuje tento druh dopravy, obvykle, v síti. 943 00:52:41,670 --> 00:52:44,340 Takže nemůžete dělat to super snadno. 944 00:52:44,340 --> 00:52:48,500 Uvědomte si, i když, tohle je možné. 945 00:52:48,500 --> 00:52:53,630 Dobrá. Pojďme vzít naši 5-minut přestávku zde. Vrátíme se a ponořit hlouběji. 946 00:52:53,630 --> 00:53:00,850 Takže jsme zpátky, a my jsme trochu loudal kolem v několika různých směrech zde. 947 00:53:00,850 --> 00:53:03,700 Takže pojďme shrnout, co přesně se děje. 948 00:53:03,700 --> 00:53:07,990 Začali jsme rozhovor o tom mluvit jazykem volal HTML. 949 00:53:07,990 --> 00:53:10,680 Opět, není programovací jazyk. Je to jen značkovací jazyk 950 00:53:10,680 --> 00:53:15,490 že je z velké části o estetice a strukturování obsahu ve formě webové stránky. 951 00:53:15,490 --> 00:53:19,220 Ale HTML, proto je třeba nějaký mechanismus 952 00:53:19,220 --> 00:53:22,870 pro cestování mezi webovým prohlížečem a serverem. 953 00:53:22,870 --> 00:53:28,360 HTML tedy druh jízd na vrcholu této jiném jazyce, 954 00:53:28,360 --> 00:53:31,280 nebo více vhodně, protokol, známý jako HTTP. 955 00:53:31,280 --> 00:53:33,730 >> A HTTP, jak jsme viděli doposud, 956 00:53:33,730 --> 00:53:37,140 je tak trochu analogické této lidské konvence třesoucíma se rukama. 957 00:53:37,140 --> 00:53:39,940 Když prohlížeč chce požádat o stránku ze serveru, 958 00:53:39,940 --> 00:53:43,450 pošle, že "se" požadavek z prohlížeče na server, 959 00:53:43,450 --> 00:53:48,040 a pak server odpoví číslo jako 200, je vše v pořádku, 960 00:53:48,040 --> 00:53:53,290 stejně jako HTML nebo nějakou špatnou číslo jako 404, soubor nebyl nalezen. 961 00:53:53,290 --> 00:53:58,220 Ale mezitím, HTTP sama o sobě není Internet sám o sobě. 962 00:53:58,220 --> 00:54:01,550 HTTP je jen služba, rys internetu 963 00:54:01,550 --> 00:54:05,530 podobně jako G chatu je další služba, podobně jako e-mail je další služba. 964 00:54:05,530 --> 00:54:09,180 Je tu všechny druhy věcí, které můžeme udělat na internetu. 965 00:54:09,180 --> 00:54:12,670 HTTP je jen jedním z těchto aplikací. 966 00:54:12,670 --> 00:54:17,210 Tak na vrcholu - HTTP je v horní části něco jiného 967 00:54:17,210 --> 00:54:21,750 které jsme nezmínili podle názvu, možná jste slyšeli o podle názvu, TCP / IP. 968 00:54:21,750 --> 00:54:25,160 Takže příběh jsme prostě řekli, že je vše kolem 969 00:54:25,160 --> 00:54:28,720 jak data cestuje z bodu a do bodu b. 970 00:54:28,720 --> 00:54:30,950 A v tomto případě, jsme viděli na velmi nízké úrovni 971 00:54:30,950 --> 00:54:33,060 router na router na router k routeru, 972 00:54:33,060 --> 00:54:35,390 jak jsou data skutečně přenášena. 973 00:54:35,390 --> 00:54:40,510 Ale po cestě, bude to zaznamenáte různé překážky. 974 00:54:40,510 --> 00:54:43,770 Kromě těchto směrovačů, tam jsou věci, zvané firewall na internetu, 975 00:54:43,770 --> 00:54:46,680 a tak údaje, jako například, že jsme právě vysílá 976 00:54:46,680 --> 00:54:49,720 ode mě na Stanford, ode mě do Cambridge, 977 00:54:49,720 --> 00:54:54,560 je poslán k, na této úrovni, něco, co nazývá IP adresu. 978 00:54:54,560 --> 00:54:57,340 Viděli jsme to před chvílí, a IP adresa 979 00:54:57,340 --> 00:55:02,480 je jen číselná adresa ve tvaru w.x.y.z, 980 00:55:02,480 --> 00:55:08,070 kde každý z nich je mezi, dávat nebo brát, 0 a 255, 981 00:55:08,070 --> 00:55:10,080 když nemůžete úplně používat všechny z těchto čísel. 982 00:55:10,080 --> 00:55:14,220 Ale každý z těchto místo držáků je číslo v rozmezí od 0 do 255. 983 00:55:14,220 --> 00:55:16,820 Takže IP adresy v těchto dnech je 32 bitů. 984 00:55:16,820 --> 00:55:20,780 >> Nyní, že nám dává, kolik je to možné IP adresy na světě? 985 00:55:20,780 --> 00:55:24,420 Zhruba 4 mld. Kč, protože kdykoliv jsme počítání v pravomoci 2 986 00:55:24,420 --> 00:55:27,760 celou cestu až do 32 něčeho, že obvykle nám 4000000000. 987 00:55:27,760 --> 00:55:30,160 Takže je to hodně IP adres, ale můžete si přečíst, 988 00:55:30,160 --> 00:55:32,410 nebo můžete nyní zaznamenat v populárním tisku, 989 00:55:32,410 --> 00:55:36,020 tlak směrem k nové verzi IP názvem IPv6. 990 00:55:36,020 --> 00:55:38,290 Právě teď jsme použili verzi 4. 991 00:55:38,290 --> 00:55:41,060 Tam opravdu nebyl verze 5, jsme jen skákání právo 6. 992 00:55:41,060 --> 00:55:46,760 Verze 6 je bude používat 128 bitů pro adresy IP, která je podivínský obrovský. 993 00:55:46,760 --> 00:55:49,430 Neměli bychom dojdou pro docela nějaký čas, 994 00:55:49,430 --> 00:55:52,980 ale my jsme začali běžet z verze 4 IP adresy, 995 00:55:52,980 --> 00:55:56,110 protože každý z nás má nejen věci, jako jsou notebooky a stolní počítače, 996 00:55:56,110 --> 00:55:58,700 Mnoho z nás má mobilní telefony, mnoho z nás má jiná zařízení 997 00:55:58,700 --> 00:56:01,600 jako TiVo a podobně, které mají IP adres sami. 998 00:56:01,600 --> 00:56:03,720 Harvard sám má desítky tisíc počítačů. 999 00:56:03,720 --> 00:56:07,970 Takže svět je skutečně dochází IP adres, alespoň v této podobě. 1000 00:56:07,970 --> 00:56:10,340 Takže v průběhu několika příštích let, budete vidět adresy 1001 00:56:10,340 --> 00:56:12,870 na svých vlastních počítačích pravděpodobně pomalu měnit 1002 00:56:12,870 --> 00:56:16,740 jak více a více společností a univerzit začne podporovat novější verzi. 1003 00:56:16,740 --> 00:56:22,770 Ale IP adresa není dostatečná pro připojení k počítači a požadovat data z počítače b.. 1004 00:56:22,770 --> 00:56:24,950 Vzhledem k tomu, počítač b může být server, 1005 00:56:24,950 --> 00:56:27,600 a server, jak jsem již zmínil, je to hrozny věcí. 1006 00:56:27,600 --> 00:56:29,940 To může hostit webové stránky, může to být e-mailový server, 1007 00:56:29,940 --> 00:56:32,310 to může být Skype server, může to být povídání G server. 1008 00:56:32,310 --> 00:56:35,870 >> Všechny tyto různé služby, které mohou být poskytovány na serveru 1009 00:56:35,870 --> 00:56:38,330 mohli všichni, fyzicky, být na stejném stroji. 1010 00:56:38,330 --> 00:56:40,380 Takže kromě IP adresy, 1011 00:56:40,380 --> 00:56:43,250 svět má věci zvané porty na internetu. 1012 00:56:43,250 --> 00:56:47,830 Port je jen číslo, takže tam je jedinečné číslo pro HTTP. 1013 00:56:47,830 --> 00:56:50,280 Jeho číslo je 80. 1014 00:56:50,280 --> 00:56:55,870 HTTP také používá číslo 443, ale konkrétně u kódovaných HTTPS. 1015 00:56:55,870 --> 00:57:00,030 Když vidíte s, pro bezpečný, že je s použitím jiné číslo. 1016 00:57:00,030 --> 00:57:06,580 Existují i ​​další čísla, jako 25, používané pro něco, co nazývá SMTP, jinak známý jako e-mail. 1017 00:57:06,580 --> 00:57:09,620 Je tu něco, co nazývá 22 pro SSH, 1018 00:57:09,620 --> 00:57:11,850 a tam je celá parta dalších přístavů tam. 1019 00:57:11,850 --> 00:57:14,460 Nyní, my lidé jen zřídka vidět tyto čísla. 1020 00:57:14,460 --> 00:57:21,970 Nicméně, když napíšete adresu jako http://www.facebook.com, 1021 00:57:21,970 --> 00:57:26,560 prohlížeč tajně vkládání 80, protože jste pomocí protokolu HTTP. 1022 00:57:26,560 --> 00:57:30,630 Pokud místo toho, zadejte HTTPS, je to tajně vložení 443. 1023 00:57:30,630 --> 00:57:35,180 A můžeme trochu vidět ručně, pokud jsem vytáhnout Brower 1024 00:57:35,180 --> 00:57:41,850 a přejděte na http://www.facebook.com:80. 1025 00:57:41,850 --> 00:57:44,550 Proto výslovně citovat nejen název webové stránky 1026 00:57:44,550 --> 00:57:47,650 ale port, který chci mluvit, a stiskněte klávesu Enter. 1027 00:57:47,650 --> 00:57:50,170 Všimněte si, že zmizí, protože prohlížeč předpokládá, 1028 00:57:50,170 --> 00:57:53,360 oh, 80, nejsem dokonce jít obtěžovat o tom, že na vás. 1029 00:57:53,360 --> 00:57:56,400 Ale důvod, proč je to, že když jsem vlastně chtěl poslat někoho e-mail, 1030 00:57:56,400 --> 00:58:02,340 Já bych vlastně posílat jim to na portu 25, který je SMTP. 1031 00:58:02,340 --> 00:58:04,890 Trochu oversimplification, ale někteří z vás mají přátele 1032 00:58:04,890 --> 00:58:09,290 kteří skutečně pracují na Facebooku, a oni, podobně, mají servery, které obdrží e-mail. 1033 00:58:09,290 --> 00:58:12,610 >> Pokaždé, když pošlete e-mail, co gmail dělá pro vás 1034 00:58:12,610 --> 00:58:14,960 nebo Outlook nebo cokoliv program, který používáte, 1035 00:58:14,960 --> 00:58:19,270 je to trochu tajně vložení toto číslo také, 25, v tomto případě. 1036 00:58:19,270 --> 00:58:24,490 Je to tato kombinace IP adresy a čísla, které jednoznačně identifikuje 1037 00:58:24,490 --> 00:58:29,190 počítač na internetu a konkrétní službu na tomto počítači. 1038 00:58:29,190 --> 00:58:33,460 Teď, samozřejmě, většina z nás pravděpodobně nikdy zadali ručně IP adresu. 1039 00:58:33,460 --> 00:58:37,340 Možná máte v zařízení, ale v reálném světě, ne tolik. 1040 00:58:37,340 --> 00:58:42,750 Proč bychom zadejte IP adresy do prohlížeče? 1041 00:58:42,750 --> 00:58:45,860 To bude fungovat, ve skutečnosti, můžeme vidět, dovolte mi ukázat vám 1042 00:58:45,860 --> 00:58:50,000 jeden další příkaz, který by měl fungovat většina kdekoliv na akademické půdě Harvardu na Mac nebo PC. 1043 00:58:50,000 --> 00:58:53,970 Tam je to příkaz nazývá nslookup, jmenný server vyhledávání. 1044 00:58:53,970 --> 00:58:59,960 Když se podívám do www.cnn.com, ukázalo se, že CNN má - oh, zajímavé. 1045 00:58:59,960 --> 00:59:03,180 CNN začala používat Amazon Web Services. 1046 00:59:03,180 --> 00:59:06,380 Možná víte o cloud computingu, Amazon je jedním z velkých hráčů v cloud computingu. 1047 00:59:06,380 --> 00:59:10,240 Co jsem právě udělal, bylo, řekl jsem, "Dej mi adresu webového serveru CNN," 1048 00:59:10,240 --> 00:59:14,090 ale ukazuje se, že CNN webový server je řízena Amazon, 1049 00:59:14,090 --> 00:59:16,030 Amazon Web Services, což naznačuje,. 1050 00:59:16,030 --> 00:59:19,680 A adresa tohoto serveru je to tady. 1051 00:59:19,680 --> 00:59:22,350 Takže jsem si jistý, jestli to bude fungovat, protože oni nejsou zvyklí používat Amazon. 1052 00:59:22,350 --> 00:59:32,830 Ale zkusme tuto; http://, IP adresu, zadejte, a - 1053 00:59:32,830 --> 00:59:35,690 to bude fungovat? 1054 00:59:35,690 --> 00:59:39,280 Ano. To bude fungovat. Internet je super-pomalé dnes. 1055 00:59:39,280 --> 00:59:43,680 Ale ve chvíli, uvidíte nějaké reportáž. 1056 00:59:43,680 --> 00:59:48,360 Tam jdeme. Bank of America je žalován. Dobrá. 1057 00:59:48,360 --> 00:59:54,000 >> To proto, že tato IP adresa náhodou tím synonymem www.cnn.com. 1058 00:59:54,000 --> 00:59:59,920 Samozřejmě, že by bylo strašné marketing říct, navštivte nás na webu v 50.112.94.127. 1059 00:59:59,920 --> 01:00:02,370 Ty nikdy zapamatovat. Takže i v těchto dnech můžete připomenout věci 1060 01:00:02,370 --> 01:00:07,210 jako 1-800-COLLECT nebo mnemotechnické pomůcky svět přišel s telefonních čísel. 1061 01:00:07,210 --> 01:00:09,540 Což, před mobilních telefonů, byly spíše těžké si vzpomenout, 1062 01:00:09,540 --> 01:00:11,800 dokud mohl jen zadejte jej a zapomenout na to. 1063 01:00:11,800 --> 01:00:15,730 Takže na webu, má i tuto konvenci jmen a IP adres, 1064 01:00:15,730 --> 01:00:17,770 a tam jsou tyto věci tam volal servery DNS, 1065 01:00:17,770 --> 01:00:23,870 doménových jmen systémy serverů, které překládají IP adresy do jména a naopak. 1066 01:00:23,870 --> 01:00:26,340 Takže to je to, co se děje na pod pokličku. 1067 01:00:26,340 --> 01:00:29,540 Na konci, máme TCP / IP, který je tento velmi nízké úrovni protokolu 1068 01:00:29,540 --> 01:00:32,570 že opravdu, prostě dostane 0 a 1 je přes internet, 1069 01:00:32,570 --> 01:00:36,030 a činí tak tím, že je do virtuální obálky, 1070 01:00:36,030 --> 01:00:38,820 chcete-li, a psaní na vnější straně obálky 1071 01:00:38,820 --> 01:00:43,930 IP adresa cíle, stejně jako číselná číslo portu 1072 01:00:43,930 --> 01:00:47,520 poskytování služby na tomto určení, že chce mluvit. 1073 01:00:47,520 --> 01:00:51,060 Mezitím, na obálce je tu také něco známý jako zpáteční adresy, 1074 01:00:51,060 --> 01:00:55,600 které je vaše IP adresa, takže když CNN dostane paket informací od vás, 1075 01:00:55,600 --> 01:00:58,710 otevře se tento virtuální obálku, vidí, že chcete domovskou stránku, 1076 01:00:58,710 --> 01:01:04,630 ví od odesílatele části tohoto virtuálního obálky komu zaslat HTML zpět na. 1077 01:01:04,630 --> 01:01:07,470 Takže pojďme se podívat na to v trochu podrobněji. 1078 01:01:07,470 --> 01:01:11,370 To je od společnosti s názvem Ericson, od několika let zpět. 1079 01:01:11,370 --> 01:01:14,780 A vzali některé svobody s tím, jak vlastně funguje Internet, 1080 01:01:14,780 --> 01:01:18,920 ale maluje mnohem vizuální obraz než pouhé křídy až zde. 1081 01:01:18,920 --> 01:01:26,690 Tak jsem vám "trochu internetu." 1082 01:02:26,660 --> 01:02:29,840 >> [Narrator] Poprvé v historii, 1083 01:02:29,840 --> 01:02:35,260 lidé a stroje pracují společně, splnění snu. 1084 01:02:35,260 --> 01:02:38,910 Sjednocení síla, která nezná geografické hranice. 1085 01:02:38,910 --> 01:02:43,230 Bez ohledu na rasu, vyznání nebo barvu. 1086 01:02:43,230 --> 01:02:47,770 Nová éra, kde komunikace skutečně spojuje lidi dohromady. 1087 01:02:47,770 --> 01:02:50,070 To je 1088 01:02:50,070 --> 01:02:54,980 Na úsvitu internetu. 1089 01:02:54,980 --> 01:03:04,640 Chcete vědět, jak to funguje? Klikněte zde pro začít svou cestu do sítě. 1090 01:03:04,640 --> 01:03:07,890 Nyní, přesně to, co se stalo, když jste klikli na tento odkaz? 1091 01:03:07,890 --> 01:03:10,150 Vy jste začali tok informací. 1092 01:03:10,150 --> 01:03:13,310 Tyto informace putuje do vašeho osobního podatelny 1093 01:03:13,310 --> 01:03:18,500 kde Mr. IP balíčků, označí ji, a odešle ji na své cestě. 1094 01:03:18,500 --> 01:03:20,960 Každý paket je omezen ve své velikosti. 1095 01:03:20,960 --> 01:03:23,880 Podatelny musí rozhodnout, jak rozdělit informací 1096 01:03:23,880 --> 01:03:26,070 a jak zabalit. 1097 01:03:26,070 --> 01:03:29,550 Nyní, balíček potřebuje štítek obsahující důležité informace 1098 01:03:29,550 --> 01:03:35,570 jako adresa odesílatele, příjemce je adresa, a typu paketu to je. 1099 01:03:51,700 --> 01:03:54,980 Vzhledem k tomu, tento konkrétní paket jde ven na internet, 1100 01:03:54,980 --> 01:03:57,720 to také dostane adresu proxy serveru, 1101 01:03:57,720 --> 01:04:01,520 která má speciální funkci, jak uvidíme později. 1102 01:04:01,520 --> 01:04:06,650 Paket je nyní zahájila na vaší lokální síti, nebo LAN. 1103 01:04:06,650 --> 01:04:10,160 Tato síť se používá pro připojení všech lokálních počítačů " 1104 01:04:10,160 --> 01:04:15,900 routery, tiskárny, etcetera, pro výměnu informací v rámci fyzické stěn budovy. 1105 01:04:15,900 --> 01:04:20,290 LAN je docela nekontrolované místo, a, bohužel, 1106 01:04:20,290 --> 01:04:23,950 nehody se může stát. 1107 01:04:31,190 --> 01:04:34,710 Dálnice z LAN je vybaven všemi typy informací. 1108 01:04:34,710 --> 01:04:38,900 Jedná se o IP pakety, Novell pakety, AppleTalk pakety. 1109 01:04:38,900 --> 01:04:41,270 Jdou proti dopravy, jako obvykle. 1110 01:04:41,270 --> 01:04:44,260 Místní router čte adresy a, pokud je to nutné, 1111 01:04:44,260 --> 01:04:48,520 zvedne paket do jiné sítě. 1112 01:04:48,520 --> 01:04:54,270 Ah, router. Symbol kontroly v zdánlivě zmateného světa. 1113 01:04:54,270 --> 01:05:05,480 [Router mumlal a mluvit k sobě] 1114 01:05:05,480 --> 01:05:10,030 >> [Narrator] Tady je, systematické, bezcitný, metodické, 1115 01:05:10,030 --> 01:05:14,150 konzervativní, a někdy není úplně až na rychlost. 1116 01:05:14,150 --> 01:05:17,680 Ale aspoň je přesný, z větší části. 1117 01:05:32,270 --> 01:05:36,820 Vzhledem k tomu, pakety opustí router, oni dělají jejich cestu do podnikové internetu 1118 01:05:36,820 --> 01:05:40,830 a hlava pro router přepínače. 1119 01:05:40,830 --> 01:05:46,250 Bit účinnější než router, router switch hraje velmi jednoduché a volné s IP pakety, 1120 01:05:46,250 --> 01:05:48,920 obratně směrování je po cestě. 1121 01:05:48,920 --> 01:05:52,130 Digitální "pinball wizard," chcete-li. 1122 01:05:52,130 --> 01:06:04,270 [Router switch mluvit k sobě] 1123 01:06:09,830 --> 01:06:12,150 [Narrator] Jak pakety dorazí na místo určení, 1124 01:06:12,150 --> 01:06:14,740 oni jsou vyzvednuta síťové rozhraní, 1125 01:06:14,740 --> 01:06:18,040 připraveny k odeslání do další úrovně. 1126 01:06:18,040 --> 01:06:21,010 V tomto případě, zástupce. 1127 01:06:21,010 --> 01:06:25,040 Server proxy je mnoho společností používá jako jakýsi prostředník člověka 1128 01:06:25,040 --> 01:06:27,630 aby se ulehčila zatížení internetového připojení 1129 01:06:27,630 --> 01:06:32,240 a z bezpečnostních důvodů, stejně. 1130 01:06:32,240 --> 01:06:38,750 Jak můžete vidět, pakety jsou různých velikostí v závislosti na jejich obsahu. 1131 01:06:55,210 --> 01:07:01,890 Proxy otevře paket a hledá webové adresy nebo URL. 1132 01:07:01,890 --> 01:07:04,950 V závislosti na tom, zda je adresa je přijatelné, 1133 01:07:04,950 --> 01:07:08,000 paket je poslán k internetu. 1134 01:07:13,890 --> 01:07:19,630 Existují však některé adresy, které nesplňují se souhlasem odpovědného zástupce. 1135 01:07:19,630 --> 01:07:25,680 To znamená, firemní nebo řízení pokyny. 1136 01:07:25,680 --> 01:07:30,580 Ty jsou souhrnně zabývá. 1137 01:07:30,580 --> 01:07:32,410 Budeme mít nic z toho. 1138 01:07:32,410 --> 01:07:36,350 Pro ty, kdo si to, je to opět na cestě. 1139 01:07:46,850 --> 01:07:53,310 >> Další na řadě, firewall. 1140 01:07:53,310 --> 01:07:57,410 Firemní firewall slouží dvěma účelům. 1141 01:07:57,410 --> 01:08:02,420 Zabraňuje některé poněkud ošklivé věci z internetu od příchodu do intranetu, 1142 01:08:02,420 --> 01:08:10,280 a to může také zabránit citlivé firemní informace před rozesláno na internetu. 1143 01:08:10,280 --> 01:08:12,980 Jakmile přes bránu firewall, router vyzvedne balíček 1144 01:08:12,980 --> 01:08:18,180 a umístí ji na mnohem užší silnici, nebo šířku pásma, jak říkáme. 1145 01:08:18,180 --> 01:08:23,720 Je zřejmé, že silnice není dostatečně široká, aby je všechny. 1146 01:08:23,720 --> 01:08:29,319 Nyní by vás zajímalo, co se stane se všemi těmi pakety, které nechcete, aby se po cestě. 1147 01:08:29,319 --> 01:08:32,270 No, když pan IP neobdrží potvrzení 1148 01:08:32,270 --> 01:08:35,000 že paket byl přijat včas, 1149 01:08:35,000 --> 01:08:39,890 prostě pošle náhradní paket. 1150 01:08:39,890 --> 01:08:44,760 Nyní jsme připraveni vstoupit do světa internetu. 1151 01:08:44,760 --> 01:08:49,370 Pavučiny propojených sítí, které pokrývají celou naši planetu. 1152 01:08:49,370 --> 01:08:56,050 Zde, směrovače a přepínače navázat spojení mezi sítěmi. 1153 01:08:56,050 --> 01:08:59,200 Nyní, Net je zcela odlišné prostředí, než najdete 1154 01:08:59,200 --> 01:09:01,569 v rámci ochranných zdí vaší LAN. 1155 01:09:01,569 --> 01:09:04,060 Tady, to je Divoký západ. 1156 01:09:04,060 --> 01:09:06,359 Dostatek prostoru, spousta příležitostí, 1157 01:09:06,359 --> 01:09:09,760 spousta věcí k prozkoumání a místa odejít. 1158 01:09:09,760 --> 01:09:12,760 Díky velmi malou kontrolu a regulaci, 1159 01:09:12,760 --> 01:09:18,300 nové myšlenky najít úrodnou půdu, aby se zasadila obálku svých možností. 1160 01:09:18,300 --> 01:09:22,330 Ale kvůli této svobody, určité nebezpečí i číhají. 1161 01:09:22,330 --> 01:09:27,000 Už nikdy nebudete vědět, kdy se setkáte s obávaný ping smrti, 1162 01:09:27,000 --> 01:09:29,890 speciální verze normálního požadavku ping, 1163 01:09:29,890 --> 01:09:35,720 které nějaký idiot vymyslel zkazit nic netušící hostitelů. 1164 01:09:35,720 --> 01:09:39,130 Cesta naše pakety se mohou přes satelit, 1165 01:09:39,130 --> 01:09:43,090 telefonní linky, bezdrátové, nebo dokonce zaoceánský kabel. 1166 01:09:43,090 --> 01:09:46,520 Oni nejsou vždy nejrychlejší nebo nejkratší trasy je to možné, 1167 01:09:46,520 --> 01:09:50,290 ale budou tam nakonec. 1168 01:09:50,290 --> 01:09:55,230 Možná, že je to důvod, proč se někdy nazývá "World Wide Wait." 1169 01:09:55,230 --> 01:09:57,980 Ale když vše funguje bez problémů, 1170 01:09:57,980 --> 01:10:03,800 můžete obejít zeměkouli pětkrát více než na pokles z klobouku, doslova. 1171 01:10:03,800 --> 01:10:08,230 A to vše za cenu místního hovoru nebo méně. 1172 01:10:08,230 --> 01:10:15,070 Téměř na konci naší cesty, najdeme jinou bránu firewall. 1173 01:10:15,070 --> 01:10:18,420 >> V závislosti na úhlu pohledu jako datový paket, 1174 01:10:18,420 --> 01:10:23,730 firewall může být baštou bezpečnosti nebo obávaný protivník. 1175 01:10:23,730 --> 01:10:28,530 To vše závisí na tom, na které straně jste a co vaše úmysly. 1176 01:10:28,530 --> 01:10:34,990 Brána firewall je navržen tak, aby pouze ty pakety, které splňují jeho kritéria. 1177 01:10:34,990 --> 01:10:39,360 Tento firewall pracuje na portech 80 a 25. 1178 01:10:39,360 --> 01:10:46,630 Všechny pokusy o vstup přes jiné porty jsou uzavřeny pro podnikání. 1179 01:10:57,660 --> 01:11:03,480 Port 25 je používán pro poštovní paketů, 1180 01:11:03,480 --> 01:11:10,720 zatímco port 80 je vstupem pro pakety z internetu na webovém serveru. 1181 01:11:10,720 --> 01:11:15,080 Uvnitř firewall, pakety jsou promítány více důkladně. 1182 01:11:15,080 --> 01:11:17,970 Některé pakety, aby to snadno přes celnici, 1183 01:11:17,970 --> 01:11:21,420 zatímco jiní vypadají trochu pochybné. 1184 01:11:21,420 --> 01:11:24,060 Nyní je firewall důstojník není snadno oklamat, 1185 01:11:24,060 --> 01:11:32,120 jako když to ping of death paketu se snaží zamaskovat sebe jako normální ping paketu. 1186 01:11:32,120 --> 01:11:37,520 [Firewall důstojník mluvil paketů] 1187 01:11:37,520 --> 01:11:40,510 [Narrator] Z těchto paketů to štěstí, aby se to tak daleko, 1188 01:11:40,510 --> 01:11:45,730 cesta je téměř u konce. 1189 01:11:45,730 --> 01:11:52,130 Je to jen linie až na rozhraní, aby byly přijaty do webového serveru. 1190 01:11:52,130 --> 01:11:55,440 V současné době, může webový server běžet na mnoha věcech, 1191 01:11:55,440 --> 01:11:59,230 ze sálového počítače na webovou kameru k počítači na vašem stole. 1192 01:11:59,230 --> 01:12:01,720 Proč ne vaše lednička? 1193 01:12:01,720 --> 01:12:04,870 Pomocí vhodného nastavení, můžete zjistit, zda máte předpoklady stát 1194 01:12:04,870 --> 01:12:08,390 pro Chicken Cacciatore, nebo máte-li jít nakupovat. 1195 01:12:08,390 --> 01:12:11,760 Pamatujte, že toto je úsvit Net. 1196 01:12:11,760 --> 01:12:17,310 Téměř vše je možné. 1197 01:12:17,310 --> 01:12:20,440 Jeden po druhém, jsou přijímány pakety, 1198 01:12:20,440 --> 01:12:26,320 otevřel, a rozbalen. 1199 01:12:26,320 --> 01:12:31,200 Informace, které obsahují, to znamená, že si žádost o informace, 1200 01:12:31,200 --> 01:12:34,830 je poslán do aplikace webového serveru. 1201 01:12:41,540 --> 01:12:47,140 Paket sám je recyklovaný, 1202 01:12:47,140 --> 01:12:57,570 připraven k opětovnému použití, a naplní vaše požadované informace, 1203 01:12:57,570 --> 01:13:03,340 řešit, a vyslal na své cestě zpět k vám. 1204 01:13:03,340 --> 01:13:13,250 Zpět minulosti firewall, směrovače, a na přes k internetu. 1205 01:13:13,250 --> 01:13:21,020 Zpět přes firemní firewall 1206 01:13:21,020 --> 01:13:24,180 a na své rozhraní, 1207 01:13:24,180 --> 01:13:31,180 připraveni dodávat svůj webový prohlížeč s informacemi, které jste požádali. 1208 01:13:31,180 --> 01:13:39,840 To znamená, že tento film. 1209 01:13:39,840 --> 01:13:43,550 Potěšený jejich úsilí, a důvěřovat lepší svět, 1210 01:13:43,550 --> 01:13:50,250 naše pakety Trusty údaje odjet blaženě do západu slunce jiný den, 1211 01:13:50,250 --> 01:13:56,880 žebříček plně posloužila své pány dobře. 1212 01:13:56,880 --> 01:14:02,560 Teď, není to šťastný konec? 1213 01:14:02,560 --> 01:14:07,040 [Malan] Dobře, to stačí. Uvidíme se příští týden. 1214 01:14:07,040 --> 01:14:10,040 [CS50.TV]