1 00:00:00,000 --> 00:00:02,620 [Powered by Google Translate] [Тыдзень 7, працяг] 2 00:00:02,620 --> 00:00:05,090 [David J. малая, Гарвардскі універсітэт] 3 00:00:05,090 --> 00:00:07,780 [Гэта CS50.] [CS50.TV] 4 00:00:07,780 --> 00:00:09,810 Добра. Welcome Back. Гэта CS50, 5 00:00:09,810 --> 00:00:12,100 і гэта ў канцы тыдня 7. 6 00:00:12,100 --> 00:00:15,460 Таму адной з гэтых дурных дробязях, якая ідзе па ўсім Інтэрнэту 7 00:00:15,460 --> 00:00:24,080 і мы сёрбаць, і цяпер яно павінна зрабіць трохі выклікаюць сэнс для вас. 8 00:00:24,080 --> 00:00:28,330 Ну, гэта было смяшней гэтага хлопца, чым гэта было да вас, хлопцы. 9 00:00:28,330 --> 00:00:32,619 Гаворачы аб, добра, хлопцы, 10 00:00:32,619 --> 00:00:42,550 Сёння дзень нараджэння Нейт. 11 00:00:42,550 --> 00:00:46,630 Каб даць вам адчуванне таго, наколькі добра Nate і я 12 00:00:46,630 --> 00:00:50,140 на вэб-распрацоўка на аснове класа панядзелак і заснаваныя цяпер на гэтым, 13 00:00:50,140 --> 00:00:53,170 Я думаў, што падцягнуць галоўную старонку Нейт, калі вы яго яшчэ не бачыла. 14 00:00:53,170 --> 00:00:57,020 Гэта тут І.А. Нейт HTML. 15 00:00:57,020 --> 00:00:59,380 Так што ўбачыць яго зыходны код, калі вы хочаце паглядзець, як гэта зрабіць, і Нейт, 16 00:00:59,380 --> 00:01:02,250 калі б мы маглі няёмкае становішча вы проста коратка, супрацоўнікі цябе сёе-тое 17 00:01:02,250 --> 00:01:06,080 Калі вы хацелі б падзяліцца некаторымі дэсерт з некаторымі з дзяцей у класе тут. 18 00:01:06,080 --> 00:01:10,150 Калі вы хацелі б прыехаць ўніз. 19 00:01:10,150 --> 00:01:14,350 Вы ўсё апладыруюць і вельмі добрыя, але ніхто не сядзіць дзе-небудзь каля Nate, 20 00:01:14,350 --> 00:01:17,560 па некаторых прычынах, у тым заднюю зону. 21 00:01:17,560 --> 00:01:24,020 Таму, магчыма, вы можаце знайсці некаторыя людзі, каб атрымліваць асалоду ад гэтага с. 22 00:01:24,020 --> 00:01:33,380 З Днём Нараджэння, Нейт. 23 00:01:33,380 --> 00:01:37,660 >> Дадатковая прывітанняў: Мы паказалі пару кліпаў з нашых CS50x студэнтаў. 24 00:01:37,660 --> 00:01:39,710 Калі вы хацелі б паглядзець, хто яшчэ гэта ў свеце 25 00:01:39,710 --> 00:01:41,850 якая наступных разам, вы можаце адправіцца на гэты адрас, 26 00:01:41,850 --> 00:01:45,780 дзе Джозэф, адзін з нашых ТФ, сабраў мантаж роду 27 00:01:45,780 --> 00:01:50,290 ўсіх, хто быў перадаць гэтыя відэа, у тым ліку Рык Эстлі. 28 00:01:50,290 --> 00:01:53,010 І калі вы пракруціць праз іх, гэта сапраўды вельмі натхняльная 29 00:01:53,010 --> 00:01:56,890 , Каб убачыць разнастайнасць краін і гарадоў, з якіх людзі родам. 30 00:01:56,890 --> 00:02:00,830 Так што, калі вы хочаце, каб зірнуць на тое, што будзе да да канца семестра. 31 00:02:00,830 --> 00:02:05,370 Сёння мы працягваем наш погляд на Web, вэб-праграмаванне, HTML і да т.п., 32 00:02:05,370 --> 00:02:08,280 і мы таксама паабедаць прыдумаць у гэтую пятніцу 33 00:02:08,280 --> 00:02:11,360 Калі вы хочаце, і, у прыватнасці, яшчэ не зрабілі гэтага раней. 34 00:02:11,360 --> 00:02:13,630 Гэтая тэма пятніцу будзе дзень нараджэння Нейт, 35 00:02:13,630 --> 00:02:15,700 так што калі вы хацелі б мець дзень нараджэння абед з Nate 36 00:02:15,700 --> 00:02:17,500 і іншыя, некаторыя з нашых сяброў з прамысловасці, 37 00:02:17,500 --> 00:02:19,300 Калі ласка галаву, што URL там. 38 00:02:19,300 --> 00:02:22,510 Касмічная, як заўсёды, абмежавана. Акрамя таго, калі вы забыліся, 39 00:02:22,510 --> 00:02:26,460 разумею, што на наступным тыдні заканчваецца тэрмін праблемай усталяваны 4 у паляванне зборшчыка смецця, 40 00:02:26,460 --> 00:02:30,070 якім пасля аднаўлення усе гэтыя файлы JPEG з card.raw, 41 00:02:30,070 --> 00:02:32,880 Вы і вашыя таварышы профіль, калі вы хочаце, можаце паспрабаваць фатаграфавання 42 00:02:32,880 --> 00:02:36,100 так як многія з навукоўцаў-кампутарнікаў з гэтай карты памяці наколькі гэта магчыма, 43 00:02:36,100 --> 00:02:39,070 і вы і ваш падзел будзе выйграць казачны прыз. 44 00:02:39,070 --> 00:02:44,470 Калі ласка, вярніцеся да PSET 4 у спецыфікацыі адносна таго, што ўяўляе і калі. 45 00:02:44,470 --> 00:02:47,650 Акрамя таго, калі вы хочаце, каб ваша рук увекавечыў 46 00:02:47,650 --> 00:02:51,400 на вэб-сайце курсу і яго гісторыі адзення, 47 00:02:51,400 --> 00:02:54,010 ведаю, што вы рады цяпер, каб пачаць прадстаўляць канструкцый 48 00:02:54,010 --> 00:02:57,180 на гэты год футболкі і талстоўцы і таму падобнае. 49 00:02:57,180 --> 00:02:59,200 Мы зробім усё магчымае, каб уключыць столькі, колькі мы можам, 50 00:02:59,200 --> 00:03:01,440 але мы будзем мець некаторыя супрацоўнікі агляд ўсіх канструкцый 51 00:03:01,440 --> 00:03:04,180 каб пераканацца, што яны адпавядаюць спецыфікацыям, 52 00:03:04,180 --> 00:03:07,500 і мы тады наогул забраць некалькі з іх будуць выстаўлены. 53 00:03:07,500 --> 00:03:10,620 Так што калі вы тып канструкцыі, проста ведаю, што патрабаванні 54 00:03:10,620 --> 00:03:14,030 для графікі PNG, па меншай меры, 200 DPI, 55 00:03:14,030 --> 00:03:16,520 яны не павінны быць больш, чым 4000 x 4000 пікселяў, 56 00:03:16,520 --> 00:03:19,010 і не больш за 10 Мб, але вы можаце выкарыстоўваць рэчы, як 57 00:03:19,010 --> 00:03:22,430 Photoshop або GIMP або розныя праграмы графічнага аб'екта, 58 00:03:22,430 --> 00:03:24,590 ўсё, што ў вас ёсць у вашым распараджэнні. 59 00:03:24,590 --> 00:03:28,280 >> Акрамя таго, на гарызонце канчатковы праект. Канчатковы праект сапраўды з'яўляецца кульмінацыяй 50, 60 00:03:28,280 --> 00:03:30,560 якому ўсіх заданняў у курсе, 61 00:03:30,560 --> 00:03:33,170 гэта ваша магчымасць рэальна зрабіць сваю ўласную рэч. 62 00:03:33,170 --> 00:03:35,280 І гэта можа быць проста зрабіць нешта для задавальнення, 63 00:03:35,280 --> 00:03:38,160 гэта можа быць, каб вырашыць некаторыя актуальныя праблемы вашай студэнцкай групы мае, 64 00:03:38,160 --> 00:03:40,980 для некаторых новых вэб-сайце, новых механізму збору дадзеных. 65 00:03:40,980 --> 00:03:43,420 Гэта можа быць мабільнае прыкладанне для Android, на IOS. 66 00:03:43,420 --> 00:03:46,030 Сапраўды, неба гэта мяжа, і на працягу наступных некалькіх тыдняў, 67 00:03:46,030 --> 00:03:50,900 як пераход ад C гэтыя мовы высокага ўзроўню, як PHP і JavaScript, 68 00:03:50,900 --> 00:03:55,150 Вы апынецеся больш азнаёміўся з некаторымі рэальнымі метадамі, 69 00:03:55,150 --> 00:03:57,800 некаторыя рэальныя інструменты, і ў дадатак, што, 70 00:03:57,800 --> 00:04:00,170 Вядома, што, вядома, мае гісторыю семінараў, 71 00:04:00,170 --> 00:04:02,880 якіх на працягу наступных некалькіх тыдняў, некаторыя з выкладчыкаў 72 00:04:02,880 --> 00:04:06,160 і нашы сябры з кампуса будзе прапаноўваць дадатковы семінары 73 00:04:06,160 --> 00:04:08,540 якія ідуць вышэй і па-за таго, што звычайна робіцца ў раздзеле 74 00:04:08,540 --> 00:04:11,090 прадставіць вам рэчы, як праграмаванне Android, 75 00:04:11,090 --> 00:04:13,450 прадставіць вам рэчы, як праграмаванне IOS 76 00:04:13,450 --> 00:04:15,950 або больш прасунутых вэб-распрацоўка метадаў. 77 00:04:15,950 --> 00:04:17,970 Там цэлая гісторыя гэтых ужо ў Інтэрнэце. 78 00:04:17,970 --> 00:04:25,000 Калі вы ідзяце ў cs50.net/seminars, мы рабілі гэта на працягу досыць доўгага гадоў, 79 00:04:25,000 --> 00:04:28,740 і вы ўбачыце, што архівах тут з PDF-файламі і відэа і да т.п. 80 00:04:28,740 --> 00:04:33,090 некалькі відэа дзясятка семінараў. 81 00:04:33,090 --> 00:04:37,380 У мінулым годзе, напрыклад, у нас быў семінар па acing вашых тэхнічных інтэрв'ю, 82 00:04:37,380 --> 00:04:40,980 калі вы на самой справе хочаце сысці і прайсці стажыроўку або поўны працоўны дзень канцэрта. 83 00:04:40,980 --> 00:04:43,450 Windows Mobile развіццё, развіццё Android, Google Maps, 84 00:04:43,450 --> 00:04:47,700 API, CSS, распрацоўка для BlackBerry, Emacs. 85 00:04:47,700 --> 00:04:52,610 Сапраўды, дабро запрашаем, каб зірнуць на любы з гэтых семінараў па вашаму меркаванні. 86 00:04:52,610 --> 00:04:57,080 І мы будзем правядзення некаторых новых гэтым семестры, а таксама. 87 00:04:57,080 --> 00:04:59,020 >> Так што наперадзе з канчатковым праектам? 88 00:04:59,020 --> 00:05:01,090 Ну, па-першае, нават калі гэтая дата некалькі непазбежнай, 89 00:05:01,090 --> 00:05:06,460 гэта сапраўды проста магчымасць пачаць думаць пра канчатковы праект цалкам рэальна. 90 00:05:06,460 --> 00:05:10,550 Мы ведаем толькі пачатак частка таго, што мы яшчэ будзем пакрыццё ў курсе, 91 00:05:10,550 --> 00:05:13,470 HTML, PHP і да т.п., але вы ўсё знаёмыя з вэб- 92 00:05:13,470 --> 00:05:16,270 і я прадузятасць гэты размову ў бок толькі таму, што вэб- 93 00:05:16,270 --> 00:05:18,380 большасць людзей у канчатковым выніку робіць вэб-канчатковых праектаў, 94 00:05:18,380 --> 00:05:20,260 Але гэта зусім не неабходнае. 95 00:05:20,260 --> 00:05:22,260 Выкарыстанне C ў парадку, Objective C, Java, 96 00:05:22,260 --> 00:05:25,350 любы іншы мову, які вы, магчыма, ведаеце ці хочаце ведаць досыць добра. 97 00:05:25,350 --> 00:05:29,370 Але каб атрымаць сокаў на пачатковым этапе, мы чакаем прадстаўлення preproposal 98 00:05:29,370 --> 00:05:33,520 якая, у PDF на вэб-сайце, які зараз знаходзіцца на cs50.net, 99 00:05:33,520 --> 00:05:36,080 і ў левым верхнім куце вы ўбачыце канчатковы праект 100 00:05:36,080 --> 00:05:38,920 гэта спецыфікацыя для канчатковага праекта, 101 00:05:38,920 --> 00:05:41,470 і ёсць падрабязная інфармацыя пра preproposal і таму падобнае. 102 00:05:41,470 --> 00:05:44,760 Гэта ў значнай ступені зводзіцца да электроннай пошце ў вучэнне чалавек 103 00:05:44,760 --> 00:05:48,450 проста завязаць размову з ім аб тым, што вы думаеце. 104 00:05:48,450 --> 00:05:52,510 На projects.cs50.net з'яўляецца сховішчам ідэй ад людзей на тэрыторыі кампуса 105 00:05:52,510 --> 00:05:54,480 калі вы змагаецеся, каб прыдумаць нейкую ідэю, 106 00:05:54,480 --> 00:06:01,140 і manual.cs50.net/APIs з'яўляецца сховішчам спасылкі на API. 107 00:06:01,140 --> 00:06:06,710 >> Што, аднак, з'яўляецца API? 108 00:06:06,710 --> 00:06:09,790 Што такое API? Я сказаў, што па крайняй меры ў два разы, 109 00:06:09,790 --> 00:06:12,640 у адпаведнасці з стэнаграм за апошнія некалькі тыдняў. 110 00:06:12,640 --> 00:06:17,050 Што гэта? [Студэнт, неразборліва] 111 00:06:17,050 --> 00:06:19,340 >> Добра, добра. Так что-то інтэрфейсу праграмавання. 112 00:06:19,340 --> 00:06:22,710 Інтэрфейс прыкладнога праграмавання, і гэта можа прымаць розныя формы, 113 00:06:22,710 --> 00:06:25,850 але тое, што гэта сапраўды зводзіцца да таго, код 114 00:06:25,850 --> 00:06:29,660 што хтосьці УГ пісьмовай ці дадзеных, што нехта сабраў 115 00:06:29,660 --> 00:06:33,670 , Якія даступныя для вас у некаторым праграмным шляхам. 116 00:06:33,670 --> 00:06:36,630 Вы можаце пісаць код на C, PHP, Python, Ruby, 117 00:06:36,630 --> 00:06:38,760 незалежна ад абранага мовы звычайна з'яўляецца, 118 00:06:38,760 --> 00:06:42,240 і можна неяк абапірацца на чужую функцыянальнасці 119 00:06:42,240 --> 00:06:44,440 або чужы набор дадзеных. 120 00:06:44,440 --> 00:06:47,210 Напрыклад, калі я іду па гэтай спасылцы тут, 121 00:06:47,210 --> 00:06:50,750 і вы ўбачыце пару спасылак на наступнай старонцы 122 00:06:50,750 --> 00:06:56,093 якіх у нас ёсць уласны API, CS50, які вельмі Гарвард-арыентаванай, а затым іншых API. 123 00:06:56,930 --> 00:06:59,300 Сярод іншых API, сапраўды карысныя рэчы 124 00:06:59,300 --> 00:07:01,780 як магчымасць адпраўкі SMS на людзей, 125 00:07:01,780 --> 00:07:04,690 магчымасць атрымліваць СМС паведамленні ад людзей. 126 00:07:04,690 --> 00:07:08,160 І такія рэчы, якія вы можаце паняцця не маю, як рэалізаваць сябе, 127 00:07:08,160 --> 00:07:10,440 але дзякуючы паслугах, некаторыя бясплатна, а некаторыя камерцыйныя, 128 00:07:10,440 --> 00:07:14,000 Вы можаце пабудаваць на вяршыні тыя, і зрабіць што-то для вас цікавасць. 129 00:07:14,000 --> 00:07:16,990 Сярод інтэрфейсаў API CS50 з'яўляюцца гэтыя кампуса арыентаваныя рэчы, як 130 00:07:16,990 --> 00:07:21,480 Гарвардскі курсы, энергіі, падзеі, ежа, карты, навіны, нататкі ў сацыяльных сетках і Shuttleboy ўласную, 131 00:07:21,480 --> 00:07:23,940 і гэтыя API-інтэрфейсы, якія выглядаюць трохі нешта накшталт гэтага. 132 00:07:23,940 --> 00:07:26,990 >> Дазвольце мне падцягнуць API HarvardFood. 133 00:07:26,990 --> 00:07:30,620 Калі вы калі-небудзь былі на сайце HUD, вы, верагодна, быў там 134 00:07:30,620 --> 00:07:35,410 проста паглядзець, што на вячэру або каб убачыць, што гадзіны для некаторых D-зала. 135 00:07:35,410 --> 00:07:38,000 Ну, гэта не асабліва лёгка арыентавацца, 136 00:07:38,000 --> 00:07:41,100 і так, што мы сапраўды некаторы час таму былі мы пісалі праграмнае забеспячэнне, 137 00:07:41,100 --> 00:07:47,270 яно адбудзецца, будзе ў PHP, што на самой справе экране драпіны сукупнасці сайт HUD,. 138 00:07:47,270 --> 00:07:51,400 На экран соскоб значыць нешта напісаць праграму на мове PHP, як 139 00:07:51,400 --> 00:07:55,270 , Якая прэтэндуе на браўзэры, нават калі вы можаце запусціць яго ў камандным радку, 140 00:07:55,270 --> 00:07:58,180 , Якая прэтэндуе на браўзэр, падключаецца да вэб-сайт, 141 00:07:58,180 --> 00:08:01,480 загружае яе HTML, мовы, на якой яна напісана, 142 00:08:01,480 --> 00:08:04,300 , А затым чытае яго, ці, больш канкрэтна, разбірае яго 143 00:08:04,300 --> 00:08:06,140 зверху ўніз, злева направа. 144 00:08:06,140 --> 00:08:08,870 І тое, што мы зрабілі, мы напісалі код такім чынам, што 145 00:08:08,870 --> 00:08:12,910 любы час, мы ўбачылі нешта ў гэтым HTML, які выглядаў, як нешта ў меню, 146 00:08:12,910 --> 00:08:16,470 як гамбургер, мы хацелі б імпартаваць, што ў нашы ўласныя базы дадзеных. 147 00:08:16,470 --> 00:08:20,410 І ў любы час мы бачылі пажыўнай каштоўнасці, мы хацелі б імпартаваць у свае базы дадзеных. 148 00:08:20,410 --> 00:08:23,090 І тое, што мы рабілі, было выкарыстоўваць той факт, што HUD аўтара, 149 00:08:23,090 --> 00:08:27,280 хоць гэта можа быць трохі складанай задачай для нас, людзей, для навігацыі 150 00:08:27,280 --> 00:08:32,559 пад капотам, усё HTML спараджаецца сваімі кампутарнымі праграмамі. 151 00:08:32,559 --> 00:08:35,159 Так што ўсе свае HTML, хоць гэта можа выглядаць брудным, 152 00:08:35,159 --> 00:08:38,026 Як і большасць вэб-сайтаў пад капотам варта шаблоне. 153 00:08:38,260 --> 00:08:40,799 Такім чынам, мы толькі што правялі пару гадзін высветліць, што мадэль 154 00:08:40,799 --> 00:08:44,240 так што, у рэшце рэшт, мы выкідваем ўсе брудныя HTML, 155 00:08:44,240 --> 00:08:47,340 Усе эстэтыка смелыя абліцоўвання і курсіў і да т.п., 156 00:08:47,340 --> 00:08:52,350 і што мы тады ў стане зрабіць, гэта выставіць тыя ж самыя дадзеныя. 157 00:08:52,350 --> 00:08:54,870 Напрыклад, на гэтым шляху. 158 00:08:54,870 --> 00:08:56,840 Такім чынам, мы, у адпаведнасці з дакументацыяй тут, 159 00:08:56,840 --> 00:08:59,190 паведамілі свету, што, калі вы запытаеце URL 160 00:08:59,190 --> 00:09:03,310 , Што выглядае так, food.cs50.net / нешта, 161 00:09:03,310 --> 00:09:07,220 і вы даць пэўныя параметры, якія мы будзем казаць пра сённяшні дзень, 162 00:09:07,220 --> 00:09:11,780 як дату заканчэння часу, даты пачатку часу, ежы і гэтак далей, 163 00:09:11,780 --> 00:09:14,090 што нашы серверы вернецца да вас, да прыкладу, 164 00:09:14,090 --> 00:09:18,740 ў файл CSV, коска separted каштоўнасці, як файл Excel, 165 00:09:18,740 --> 00:09:23,140 які змяшчае ўсе для сняданку на гэтую канкрэтную дату ў сакавіку мінулага года 166 00:09:23,140 --> 00:09:25,450 калі мне давялося напісаць гэтую дакументацыю. 167 00:09:25,450 --> 00:09:27,870 >> Для тых, хто знаёмы, CSV гэта не адзіны фармат файла. 168 00:09:27,870 --> 00:09:30,610 Там у іншы фармат, які ўсё больш універсальнымі 169 00:09:30,610 --> 00:09:32,670 называецца JSON, JavaScript Object Notation. 170 00:09:32,670 --> 00:09:34,770 Дадзеныя могуць вярнуцца ў гэтым фармаце. 171 00:09:34,770 --> 00:09:38,110 Такім чынам, вынас тут, ці што вы акунуцца ў API 172 00:09:38,110 --> 00:09:41,170 або любы іншы CS50 або што-небудзь там, у Інтэрнэце, 173 00:09:41,170 --> 00:09:45,560 ці не на ўсіх, разумееш, што свет усё больш пачалі стандартызацыі 174 00:09:45,560 --> 00:09:47,670 як машыны паведамляюцца. 175 00:09:47,670 --> 00:09:50,660 Мы выкарыстоўваем стандартныя фарматы дадзеных, такія як CSV або JSON. 176 00:09:50,660 --> 00:09:54,320 А што гэта азначае для вас, што вы можаце напісаць цікавую частка праграмы 177 00:09:54,320 --> 00:09:56,580 , Якая дазваляе карыстальніку шукаць сталовай меню 178 00:09:56,580 --> 00:10:00,010 , Што дазваляе ім ствараць спісы абраных, што дазваляе ім атрымліваць тэкставыя абвесткі 179 00:10:00,010 --> 00:10:02,480 , Калі іх любімая ежа збіраецца быць пададзены ў некаторых D-зала 180 00:10:02,480 --> 00:10:07,090 з выкарыстаннем чужога набораў дадзеных і будынак на вяршыні свайго API. 181 00:10:07,090 --> 00:10:13,600 Так пра гэта ў форме семінараў і дакументацыю, што ў вас тут онлайн. 182 00:10:13,600 --> 00:10:16,450 Так што тыя, то ёсць API. 183 00:10:16,450 --> 00:10:18,900 >> Гэта вяртае нас да HTML. Хуткае рэзюмэ. 184 00:10:18,900 --> 00:10:22,920 Што такое HTML? 185 00:10:22,920 --> 00:10:25,000 [Студэнт, неразборліва] >> Добра. Мова разметкі гіпертэксту. 186 00:10:25,000 --> 00:10:31,300 Хто-небудзь яшчэ, што гэта мова гіпертэкставай разметкі? 187 00:10:31,300 --> 00:10:37,340 Мова разметкі гіпертэксту. 188 00:10:37,340 --> 00:10:40,330 Добра. Такім чынам, HTML, HyperText. 189 00:10:40,330 --> 00:10:43,100 HyperText як раз ставіцца да Web, па большай частцы. 190 00:10:43,100 --> 00:10:45,730 Разметка азначае, што яна на самай справе не мова праграмавання, HTML. 191 00:10:45,730 --> 00:10:48,120 Гэта не мова, які вы можаце выказаць логіку цалі 192 00:10:48,120 --> 00:10:50,710 Ён не мае завес. Ён не мае умоў. 193 00:10:50,710 --> 00:10:52,820 Ён не мае функцыі, як такой. 194 00:10:52,820 --> 00:10:56,680 Хутчэй, яна мае гэтыя рэчы называюцца тэгамі, ці, дакладней, элементаў. 195 00:10:56,680 --> 00:10:59,970 І гэтыя элементы маюць пачатак і канчатковых тэгаў, 196 00:10:59,970 --> 00:11:04,300 або адкрытыя тэгі і закрытыя тэгі, і тое, што гэтыя тэгі наогул азначае для браўзэра, 197 00:11:04,300 --> 00:11:09,270 пачаць нешта рабіць, а затым спыніць рабіць нешта, хоць ёсць і выключэнні з гэтага. 198 00:11:09,270 --> 00:11:12,480 Часам гэта проста "пакласці радкі тут", напрыклад. 199 00:11:12,480 --> 00:11:15,150 І мы бачылі прыклады, што на днях, паміж смелымі абліцоўванне, 200 00:11:15,150 --> 00:11:17,430 радкоў, а затым некалькі іншых тэгаў. 201 00:11:17,430 --> 00:11:19,880 Такім чынам, HTML гэта мова, на якім вэб-старонкі напісаныя. 202 00:11:19,880 --> 00:11:23,760 Так што, калі я іду на нешта накшталт Google.com 203 00:11:23,760 --> 00:11:26,180 і пацягніце ўверх толькі дома іх старонкі, 204 00:11:26,180 --> 00:11:29,690 Нагадаем, што калі вы пстрыкніце правай кнопкай мышы або пстрыкніце кантроль 205 00:11:29,690 --> 00:11:32,140 і паглядзець на выгляд зыходнай старонкі, як правіла, 206 00:11:32,140 --> 00:11:34,420 гэта поўны беспарадак ў гэтыя дні пад капотам, але гэта таму, што 207 00:11:34,420 --> 00:11:38,170 Кампутары не хвалюе прабел, так што гэта не павінна выглядаць прыгожа. 208 00:11:38,170 --> 00:11:40,240 Але калі павялічыць на часткі, 209 00:11:40,240 --> 00:11:43,460 заўважыць, што Chrome, проста каб быць добрым, быў колерам рэчы. 210 00:11:43,460 --> 00:11:48,460 Сапраўды, гэта самы першы тэг, які мы бачылі ў вэб-старонкі. 211 00:11:48,460 --> 00:11:51,750 І зноў, HTML 5, апошняя версія гэтага мовы, 212 00:11:51,750 --> 00:11:53,830 сапраўды ёсць гэтая рэч у пачатку, 213 00:11:53,830 --> 00:11:57,820 00:12:03,580 але гэта ўсяго толькі свайго роду стандарт, які кажа, эй свеце, вось HTML файла ў версіі 5. 215 00:12:03,580 --> 00:12:08,920 >> Самае цікавае пачынаецца тут. Такім чынам, 00:12:11,640 з HTML элементаў у мінулы раз. 217 00:12:11,640 --> 00:12:14,630 Што гэта былі дзве асноўныя дзеці? 218 00:12:14,630 --> 00:12:17,170 Галава і цела, як хлопец з татуіроўкай хвіліну таму. 219 00:12:17,170 --> 00:12:19,640 Там дзве часткі вэб-старонкі, галавы і цела, 220 00:12:19,640 --> 00:12:23,750 і ўспомніць, тое, што, магчыма, найпросты вэб-старонку мы маглі б выглядаць наступным чынам. 221 00:12:23,750 --> 00:12:27,460 І я водступам гэта толькі, каб быць збольшага дагледжаны з маім кодам, 222 00:12:27,460 --> 00:12:30,710 але тое, што сапраўды важна тут тое, што ёсць некаторая іерархія да гэтага. 223 00:12:30,710 --> 00:12:35,420 І любы тэг, які я адкрыў я зачыніў і што няма таму гэтая сіметрыя 224 00:12:35,420 --> 00:12:38,300 для ўсіх разметка, якую я стварыў. 225 00:12:38,300 --> 00:12:41,620 Такім чынам, у мінулы раз мы пачалі пісаць вэб-старонкі на маім ўласным ноўтбуку. 226 00:12:41,620 --> 00:12:45,470 Я адкрыў рэдагавання тэксту, я захаваў файл як hello.html, 227 00:12:45,470 --> 00:12:50,190 Затым я перацягнуў файл на свой браўзэр, і вуаля, у мяне была старонка ў Інтэрнэце. 228 00:12:50,190 --> 00:12:53,110 Дык вось, гэта не зусім так, у мяне была старонка на маім цвёрдым дыску, 229 00:12:53,110 --> 00:12:58,260 і я быў літаральна адзіны чалавек у свеце, хто ўбачыў бы, што вэб-старонкі ў браўзэры. 230 00:12:58,260 --> 00:13:00,670 >> Такім чынам, сёння мы ўяўляем фактычныя вэб-сервер 231 00:13:00,670 --> 00:13:02,750 і паняцце на самай справе выступае кантэнту ў Інтэрнэце 232 00:13:02,750 --> 00:13:04,970 і як гэта ўсё пачынае спалучаюцца адзін з адным. 233 00:13:04,970 --> 00:13:08,350 Вось і атрымліваецца, што ўвесь гэты час у CS50 прыбора 234 00:13:08,350 --> 00:13:11,590 Вы мелі вэб-сервер на сваім кампутары. 235 00:13:11,590 --> 00:13:16,560 Мы, шчыра кажучы, толькі выкарыстаў яго для Gedit, для Clang, для GDB і да т.п., 236 00:13:16,560 --> 00:13:21,000 а таксама ўстаноўлены намі для вас у прыбор з'яўляецца вэб-сервер, 237 00:13:21,000 --> 00:13:23,940 і што вэб-сервер здараецца быць свабодным, адкрытым зыходным кодам, 238 00:13:23,940 --> 00:13:26,580 адна з самых папулярных у свеце, завецца Apache. 239 00:13:26,580 --> 00:13:31,340 Яго больш тэхнічных імя HTTPd, г быццё для дэман тут, 240 00:13:31,340 --> 00:13:34,110 , Якая з'яўляецца тэхнічным слова для сервера. 241 00:13:34,110 --> 00:13:38,690 Такім чынам, устаноўленыя ў CS50 прыбора з'яўляецца вэб-сервер, і што гэта значыць? 242 00:13:38,690 --> 00:13:43,740 Ну, вэб-сервер, канцэптуальна, некаторыя сервера ў Інтэрнэце, які падае вэб-кантэнту. 243 00:13:43,740 --> 00:13:48,630 Калі яго спыталі, для файла, ён выплёўвае HTML, што складае гэты файл, і вуаля. 244 00:13:48,630 --> 00:13:51,370 Вы бачыце галоўную старонку некаторы сайта. 245 00:13:51,370 --> 00:13:54,970 Але сервер, дакладней, частка праграмнага забеспячэння. 246 00:13:54,970 --> 00:13:59,190 Яна не павінна быць на фізічнай машыне, яна проста павінна быць часткай праграмнага забеспячэння ходу. 247 00:13:59,190 --> 00:14:01,980 Так CS50 прыбор, вядома, частку праграмнага забеспячэння 248 00:14:01,980 --> 00:14:04,270 хоць гэта накшталт прыкідваючыся машыны. 249 00:14:04,270 --> 00:14:06,960 Ён выдаваў сябе за кампутар ўнутры кампутара, 250 00:14:06,960 --> 00:14:11,140 але гэта проста азначае, што прыбор можа працаваць, вядома, такія рэчы, як вэб-серверы. 251 00:14:11,140 --> 00:14:13,260 Гэта сапраўды можа запусціць серверы электроннай пошты. 252 00:14:13,260 --> 00:14:16,440 Мы маглі б запусціць сервер абмену імгненнымі паведамленнямі ў прыбор, калі мы хочам, 253 00:14:16,440 --> 00:14:20,780 І сапраўды, мы запусціць адзін іншы тып сервера, вядомы як сервер баз дадзеных MySQL. 254 00:14:20,780 --> 00:14:22,620 Але пра гэта на наступным тыдні. 255 00:14:22,620 --> 00:14:26,400 Гэта азначае, што я магу рэальна наведаць вэб-старонак 256 00:14:26,400 --> 00:14:30,480 Усярэдзіне майго прыбора з дапамогай браўзэра ўнутры прыбора 257 00:14:30,480 --> 00:14:33,600 ці нават на свой уласны ноўтбук, мой Mac ці мой кампутар. 258 00:14:33,600 --> 00:14:37,780 Дык што ж гэта значыць? Аказваецца, што ў любы час вы працуеце ў Linux кампутар, 259 00:14:37,780 --> 00:14:40,910 яе мянушка "лакальны хост". 260 00:14:40,910 --> 00:14:43,370 Гэта не ёсць даменнае імя, таму што мы яшчэ не купілі даменнае імя 261 00:14:43,370 --> 00:14:46,590 за тое, як прыбор, так што яго імя па змаўчанні з'яўляецца лакальны кампутар. 262 00:14:46,590 --> 00:14:50,470 >> Але для таго, каб атрымаць прыбор, каб пачаць абслугоўванні вэб-старонак, 263 00:14:50,470 --> 00:14:52,270 Мы павінны стварыць іх у першую чаргу. 264 00:14:52,270 --> 00:14:55,200 Так давайце зробім гэта. Адпусціце мяне ў акне тэрмінала тут 265 00:14:55,200 --> 00:14:58,190 і заўважыў, што я ў сваім тыповым Джон Гарвард радку. 266 00:14:58,190 --> 00:15:01,670 Дазвольце мне пайсці далей і ўвесці Ls, і мы ўбачым некаторыя знаёмыя рэчы з гэтага семестра, 267 00:15:01,670 --> 00:15:04,580 працоўны стол, запампоўка, Dropbox і гэтак далей, 268 00:15:04,580 --> 00:15:07,540 але зараз мы пачынаем паварот нашу ўвагу на пару. 269 00:15:07,540 --> 00:15:11,530 На многіх вэб-серверах Linux ёсць гэтая тэчка называецца грамадскім HTML, 270 00:15:11,530 --> 00:15:15,630 але мы збіраемся прапусціць, што адна зараз і засяродзіцца на гэтым, віртуальных даменаў. 271 00:15:15,630 --> 00:15:18,850 Кожны ведае, што віртуальны хост ёсць? 272 00:15:18,850 --> 00:15:21,110 Проста дурная жаргон для віртуальнага хаста, 273 00:15:21,110 --> 00:15:23,850 і што гэта азначае, што на тыповым серверы 274 00:15:23,850 --> 00:15:26,810 вы можаце размясціць некалькі вэб-сайтаў. 275 00:15:26,810 --> 00:15:31,500 Вы можаце купіць даменнае імя, як foo.com, і вы можаце размясціць яго на серверы. 276 00:15:31,500 --> 00:15:36,100 Але вы таксама можаце купіць bar.com і размяшчаць яго на тым жа серверы. 277 00:15:36,100 --> 00:15:40,250 Прычына ў тым, браўзэры досыць разумныя, каб паведаміць серверу 278 00:15:40,250 --> 00:15:45,880 калі карыстальнік запытвае некаторыя вэб-старонкі, што даменнае імя карыстальнік хоча хатнюю старонку. 279 00:15:45,880 --> 00:15:48,760 Так у чым жа добры аб гэтым вам не трэба адным фізічным серверы 280 00:15:48,760 --> 00:15:52,040 або адзін CS50 прыбора для кожнага сайта вы можаце стварыць. 281 00:15:52,040 --> 00:15:55,520 Вы можаце выкарыстоўваць той жа сервер і развіццё сотняў розных вэб-сайтах. 282 00:15:55,520 --> 00:15:58,770 І сапраўды, калі вы чалавек спрабуе пачаць вэб-сайт, 283 00:15:58,770 --> 00:16:02,100 Ці для задавальнення або для бізнесу, як правіла, вы будзеце выходзіць у Інтэрнэт, 284 00:16:02,100 --> 00:16:04,650 і вы будзеце плаціць камусьці дзесяць баксаў у месяц, сто долараў у месяц 285 00:16:04,650 --> 00:16:06,670 для размяшчэння вэб-сайта для вас. 286 00:16:06,670 --> 00:16:11,060 І тое, як працуе, яны абвінавачваюць іншых людзей 287 00:16:11,060 --> 00:16:13,160 дзесяць баксаў у месяц ці сто баксаў у месяц 288 00:16:13,160 --> 00:16:17,200 для размяшчэння вэб-сайтаў іншых людзей на іх жа серверы. 289 00:16:17,200 --> 00:16:20,740 Таму яны могуць зрабіць гэта таму, што гэтую функцыю называюць bhosts, 290 00:16:20,740 --> 00:16:23,790 але пра гэта, калі прыйдзе час для канчатковага праекта. 291 00:16:23,790 --> 00:16:28,360 >> А цяпер давайце проста ныраць там. Так кд віртуальных даменаў, і калі я Тып LS зараз, 292 00:16:28,360 --> 00:16:31,370 заўважыце, што ёсць у тэчцы там называецца лакальным хастом. 293 00:16:31,370 --> 00:16:33,440 Гэта таму, што, па змаўчанні, дадзеныя прылады 294 00:16:33,440 --> 00:16:36,160 Вы калі-небудзь збіраецеся запусціць адзін сайт на прыбор. 295 00:16:36,160 --> 00:16:38,970 У рэчаіснасці гэта не рэальны свет, гэта не рэальны вэб-сервер. 296 00:16:38,970 --> 00:16:41,690 Такім чынам, дазвольце мне перайсці ў лакальны хост, і цяпер мы ўбачым там 297 00:16:41,690 --> 00:16:44,290 апошні каталог з імем HTML. 298 00:16:44,290 --> 00:16:47,080 Так што гэта трохі глыбока, іерархіі, але калі і калі 299 00:16:47,080 --> 00:16:51,230 Вы вырашылі прыступіць да распрацоўкі некалькіх вэб-сайтах у працягу бліжэйшых месяцаў ці гадоў п, 300 00:16:51,230 --> 00:16:54,370 такая структура тэчак імкнецца быць карысным. 301 00:16:54,370 --> 00:16:56,560 Зараз давайце ўвойдзем у HTML, як я толькі што зрабіў, 302 00:16:56,560 --> 00:16:59,010 Тып LS, і нічога не ёсць. 303 00:16:59,010 --> 00:17:01,390 А цяпер давайце ісці наперад і рабіць гэта. Дазвольце мне адкрыць Chrome 304 00:17:01,390 --> 00:17:07,300 ўнутры прыбора, і дазвольце мне перайсці да http://localhost. 305 00:17:07,300 --> 00:17:14,440 Такім чынам, літаральна імя для майго прыбора, увесці, і я атрымліваю індэкс /. 306 00:17:14,440 --> 00:17:18,290 Гэта сапраўды не паказваў мне што-небудзь цікавае, 307 00:17:18,290 --> 00:17:23,400 але аказваецца, што тое, што мы бачым у тым, што папка, HTML. 308 00:17:23,400 --> 00:17:25,770 Там няма нічога ўнутры гэтай тэчкі прама зараз, 309 00:17:25,770 --> 00:17:28,750 так што замест таго, што я збіраюся трэба зрабіць, гэта спачатку стварыць файл. 310 00:17:28,750 --> 00:17:33,530 Стварэнне HTML-файла, як мы рабілі ў панядзелак, але на гэты раз пакласці яго ўнутр прыбора. 311 00:17:33,530 --> 00:17:36,830 Для тых з вас, хто спрабуе прытрымлівацца разам з наўтбукамі зараз, 312 00:17:36,830 --> 00:17:42,040 Дазвольце мне зрабіць адзін бок, што будзеце ахоплены ў вэб-PSET, 313 00:17:42,040 --> 00:17:44,280 Але для таго каб атрымаць гэтую працу ў першы раз, 314 00:17:44,280 --> 00:17:49,830 Вы будзеце мець, каб запусціць гэтую каманду: судна пачатку HTTPD службы. 315 00:17:49,830 --> 00:17:52,670 І гэта, зноў жа, будзе паўтарацца ў апошнія PSET, 316 00:17:52,670 --> 00:17:55,460 Але калі вы гуляеце разам зараз дома, вэб-сервер 317 00:17:55,460 --> 00:17:58,660 выключана ў прыбор, і гэта так, што ён не падарваць АЗП 318 00:17:58,660 --> 00:18:01,960 і памяццю на 7 тыдняў у семестры, калі мы не патрэбна. 319 00:18:01,960 --> 00:18:05,190 Такім чынам, вы павінны выканаць гэтую каманду адзін раз, і вы атрымаеце выхад у гэтым родзе. 320 00:18:05,190 --> 00:18:07,920 Тады вы павінны быць у стане гуляць разам тут. 321 00:18:07,920 --> 00:18:10,330 Зараз давайце вернемся ў гэтую тэчку. 322 00:18:10,330 --> 00:18:12,770 Гэтая тэчка пустая, таму дазвольце мне пачаць стварэнне файла, 323 00:18:12,770 --> 00:18:16,360 Gedit hello.html. 324 00:18:16,360 --> 00:18:20,930 >> Добра. Gedit адкрыта, як звычайна. Дазвольце мне зрабіць тып дакумента, HTML, 325 00:18:20,930 --> 00:18:25,270 HTML, дазвольце мне забягаць наперад і пачаць зачыняць мае пазнакі загадзя. 326 00:18:25,270 --> 00:18:28,380 Цяпер у мяне ёсць галава. Дазвольце мне ісці наперад і зачыніць галаву, 327 00:18:28,380 --> 00:18:32,450 Дазвольце мне цяпер рабіць загаловак старонкі, прывітанне свет, як у мінулы раз, 328 00:18:32,450 --> 00:18:34,790 Зачыніць назва, цяпер дазвольце мне зрабіць цела. 329 00:18:34,790 --> 00:18:38,130 У тут я скажу прывітанне, мір з некаторымі exclams 330 00:18:38,130 --> 00:18:40,550 даць зразумець, што гэта зусім іншая радок. 331 00:18:40,550 --> 00:18:45,800 Зачыніць цела, і зараз дазвольце мне ісці наперад і захавання файла. 332 00:18:45,800 --> 00:18:48,470 Дазвольце мне вярнуцца да маёй акно тэрмінала, і калі я тыпу LS, 333 00:18:48,470 --> 00:18:51,830 Я павінен, па-відаць, см. hello.html. І я раблю. 334 00:18:51,830 --> 00:18:55,070 А цяпер давайце вернемся да маёй браўзэра, націсніце перазагрузкі, 335 00:18:55,070 --> 00:18:58,930 і вы можаце бачыць, што мы сапраўды ўнутры гэтай тэчкі HTML. 336 00:18:58,930 --> 00:19:02,310 Я не бачу вэб-старонку яшчэ, гэта Apache, вэб-сервер, 337 00:19:02,310 --> 00:19:04,670 проста паказвае мне спіс змесціва гэтага каталога. 338 00:19:04,670 --> 00:19:08,260 Гэтак жа, як Mac OS або Windows, як правіла, робяць на свой лакальны жорсткі дыск. 339 00:19:08,260 --> 00:19:12,730 Так што, калі я хачу бачыць гэтую вэб-старонку, я магу націснуць гэтую маленькую спасылку тут, hello.html, 340 00:19:12,730 --> 00:19:15,160 І сапраўды, тое, што я чакаў убачыць. 341 00:19:15,160 --> 00:19:18,080 Цяпер, зноў жа, гэта не URL, што любы з вас можа наведаць прама зараз, 342 00:19:18,080 --> 00:19:20,760 таму што для вас, мясцовы гаспадар, калі ў вас ёсць ноўтбук тут, 343 00:19:20,760 --> 00:19:23,050 ён мае на ўвазе вашага ўласнага асобніка прыбора. 344 00:19:23,050 --> 00:19:25,900 Гэта на мой асабісты прыбор, 345 00:19:25,900 --> 00:19:29,080 але гэта накшталт нямы для мяне мець, каб мець 346 00:19:29,080 --> 00:19:34,480 Карыстальнік, як я, націсніце на hello.html на самай справе ўбачыць змесціва гэтай старонкі. 347 00:19:34,480 --> 00:19:42,590 Аказваецца, што вэб-сервераў, такіх як Apache хай у вас ёсць файл па змаўчанні для любога вэб-сервера. 348 00:19:42,590 --> 00:19:44,640 Звярніце ўвагу, тут мы маем hello.html. 349 00:19:44,640 --> 00:19:48,410 Якая каманда ў Linux перайменаваць файл? 350 00:19:48,410 --> 00:19:50,870 >> MV, для руху. Такім чынам, дазвольце мне зрабіць гэта, 351 00:19:50,870 --> 00:19:55,870 і дазвольце мне перайменаваць hello.html ў index.html. 352 00:19:55,870 --> 00:19:58,610 Дазвольце мне Тып LS, каб пацвердзіць, што гэта была названая іначай. 353 00:19:58,610 --> 00:20:03,250 Цяпер гэта будзе - калі я вяртаюся да лакальнага хасту, 354 00:20:03,250 --> 00:20:06,710 Заўважым цяпер, што я аўтаматычна бачачы, што вэб-старонкі. 355 00:20:06,710 --> 00:20:11,740 Гэта супадае з маім самай справе рабіць / index.html, 356 00:20:11,740 --> 00:20:14,740 але добрая рэч цяпер у тым, што вэб-сервер высветліць, 357 00:20:14,740 --> 00:20:18,830 Ах, калі ў вас ёсць файл, які, па чалавечых канвенцыі, з'яўляецца index.html, 358 00:20:18,830 --> 00:20:21,200 Дазвольце мне паказаць карыстачу, што файл па змаўчанні 359 00:20:21,200 --> 00:20:25,290 а не які-небудзь дурны каталогу каталог, які зусім не зручна. 360 00:20:25,290 --> 00:20:28,900 Сапраўды, большасць наведвальных вэб-сайтаў у Інтэрнэце не спіс файлаў, націсніце на, 361 00:20:28,900 --> 00:20:34,040 яны проста паказаць вам змесціва. Дык вось, як мы можам гэта зрабіць, index.html. 362 00:20:34,040 --> 00:20:37,000 Так што гэта ўсё весела і добра, але гэта даволі просты вэб-старонкі. 363 00:20:37,000 --> 00:20:41,640 Дазвольце мне ісці наперад і адкрываць index.html ў маіх віртуальных даменаў, 364 00:20:41,640 --> 00:20:47,620 мясцовыя гаспадары, HTML каталогу, і давайце нешта дадаць большую цікавасць. 365 00:20:47,620 --> 00:20:56,120 Так што прывітанне свет, давайце замест гэтага кажуць: "Гэта CS50, Гарвардскага каледжа. . ». 366 00:20:56,120 --> 00:21:00,000 Такім чынам, пачатак апісання каталог курсаў нейкі там. 367 00:21:00,000 --> 00:21:03,780 Цяпер, калі я перазагрузіць, я павінен бачыць гэта ў маёй хатняй старонцы. 368 00:21:03,780 --> 00:21:09,560 Добра, і я бачу, што, але выкажам здагадку, што я хачу цяпер пералічым некаторыя дадатковыя кантэнту ў дадзеным файле. 369 00:21:09,560 --> 00:21:15,160 Я мог пайсці сюды і сказаць, перадумоў няма, 370 00:21:15,160 --> 00:21:18,740 Нягледзячы на ​​тое, што некаторыя з вас, верагодна, хацеў, «Ха-ха-ха, няма ніякіх перадумоў. 371 00:21:18,740 --> 00:21:24,320 Але - афіцыйна. Такім перазагрузка, і зараз мы маем тое ж дзівацтва, што мы бачылі ў апошні раз. 372 00:21:24,320 --> 00:21:26,240 Але чаму? Гэта было простае выпраўленне. 373 00:21:26,240 --> 00:21:31,440 Чаму гэтая старонка не працуе? 374 00:21:31,440 --> 00:21:34,170 [Студэнт, неразборліва] >> Так, мы вырашылі гэта раней 375 00:21:34,170 --> 00:21:37,440 відавочна кажа браўзэра пакласці радкі тут. 376 00:21:37,440 --> 00:21:39,440 І гэта таму, што, зноў жа, браўзэр толькі збіраецца зрабіць 377 00:21:39,440 --> 00:21:42,610 відавочна, што мова разметкі кажа гэта рабіць, 378 00:21:42,610 --> 00:21:45,730 так што нават калі вы маглі ўдарыць увядзіце адзін ці два разы ці нават у дзесяць разоў, 379 00:21:45,730 --> 00:21:49,870 ён збіраецца аб'яднаць усё ў адной прасторы, проста канвенцыі. 380 00:21:49,870 --> 00:21:52,770 Так што калі вы сапраўды хочаце радкі, вы павінны выкарыстоўваць тэг б-р, 381 00:21:52,770 --> 00:21:56,840 і цяпер апавяшчэнне, як у панядзелак, я паставіў / ўнутры гэтага тэга, 382 00:21:56,840 --> 00:22:00,090 толькі таму, што гэтага проста не адчувае сябе добра 383 00:22:00,090 --> 00:22:02,990 , Каб пачаць новую радок, то спыніць яго ні з чым паміж імі. 384 00:22:02,990 --> 00:22:07,740 >> Такім чынам, канвенцыя ў HTML, каб адкрыць і закрыць тэг адначасова. 385 00:22:07,740 --> 00:22:11,050 Як і ў бок, вы ўбачыце шмат сайтаў, у кнігах не рабіць гэтага. 386 00:22:11,050 --> 00:22:14,240 Гэта правільна рабіць ці не рабіць гэтага, але мы сцвярджаем, 387 00:22:14,240 --> 00:22:17,430 , Што дызайн-мудры і стылістычна, гэта толькі лепш 388 00:22:17,430 --> 00:22:20,540 таму што тады кожны тэг як адкрываюцца і зачыняюцца так ці інакш. 389 00:22:20,540 --> 00:22:23,370 А цяпер давайце захаванне і перазагрузка. Вярнуцца да браўзэра, усё ў парадку. 390 00:22:23,370 --> 00:22:26,680 Цяпер мы дамагліся некаторых поспехаў, але гэта не зусім дастаткова. 391 00:22:26,680 --> 00:22:33,210 Давайце пойдзем далей і пачаць друкаваць у некаторых даўжэй тэкст. 392 00:22:33,210 --> 00:22:40,610 Так скажам, «Хуткая карычневая ліса скача над гультаяватай сабакам". 393 00:22:40,610 --> 00:22:42,700 А цяпер дазвольце мне проста скапіюйце і ўстаўце гэты некалькі разоў 394 00:22:42,700 --> 00:22:45,040 так што ў нас ёсць абзац тэксту. 395 00:22:45,040 --> 00:22:47,780 Дазвольце мне вярнуцца сюды. Так што гэта не выглядае вельмі добра. 396 00:22:47,780 --> 00:22:50,000 У мяне ёсць радкі, так што гэта нармальна, 397 00:22:50,000 --> 00:22:52,140 але цяпер, калі мы становімся на кропку з вэб-старонкі 398 00:22:52,140 --> 00:22:55,640 , Які мае шмат кантэнту, а не толькі адной лініі, каб прадэманстраваць HTML, 399 00:22:55,640 --> 00:22:58,570 мы можам пачаць думаць аб гэтых рэчах, як фактычнае пунктаў. 400 00:22:58,570 --> 00:23:01,590 І мы можам пачаць структураваць нашу вэб-старонку трохі чысцей. 401 00:23:01,590 --> 00:23:05,120 І на самай справе, што я магу зрабіць, гэта зайсці сюды ўнутр майго цела тэга, 402 00:23:05,120 --> 00:23:09,400 і вы ведаеце, што, калі «Гэта CS50. . ». сапраўды demarks пачатку абзаца, 403 00:23:09,400 --> 00:23:11,310 добра, давайце пазначыць яго як такое. 404 00:23:11,310 --> 00:23:13,570 Дазвольце мне абзац тэксту, толькі па пагадненні, дазвольце мне сказаць, 405 00:23:13,570 --> 00:23:15,710 што гэты пункт сканчаецца тут, 406 00:23:15,710 --> 00:23:18,320 , А затым замест таго, рабіць гэта радкі, дазвольце мне сказаць, 407 00:23:18,320 --> 00:23:23,300 што гэта належыць там, і ў якасці новага пункта, 408 00:23:23,300 --> 00:23:27,610 і я проста хутка водступ ад проста выдаліўшы ўсе гэтыя рэчы. 409 00:23:27,610 --> 00:23:30,660 >> Так што цяпер у нас ёсць абзац з водступам там, 410 00:23:30,660 --> 00:23:33,510 і цяпер наша разметка пачынаюць атрымліваць крыху больш 411 00:23:33,510 --> 00:23:37,070 семантычна адпавядае таму, што мы спрабуем зрабіць. 412 00:23:37,070 --> 00:23:40,130 У нас ёсць пункт, так што давайце называць гэта пункт з тэгам р. 413 00:23:40,130 --> 00:23:43,370 У нас ёсць другі пункт, так што давайце называць гэта пункт з тэгам р. 414 00:23:43,370 --> 00:23:45,850 А цяпер, то, што браўзэр, як правіла, робяць 415 00:23:45,850 --> 00:23:48,490 сапраўды гэтак жа як у англійскай кніга альбо артыкул, 416 00:23:48,490 --> 00:23:51,280 дзе вы звычайна бачыце некаторыя радкі паміж абзацамі. 417 00:23:51,280 --> 00:23:53,720 Браўзэр будзе рабіць гэта за вас аўтаматычна. 418 00:23:53,720 --> 00:23:56,680 Так што цяпер у нас ёсць два пункты, і мы можам працягнуць гэта. 419 00:23:56,680 --> 00:23:58,770 Але, вядома, у Інтэрнэце, калі ў вас ёсць органы тэксту 420 00:23:58,770 --> 00:24:01,370 гэта не правіла, проста велізарныя згусткі тэксту. 421 00:24:01,370 --> 00:24:04,040 Ёсць часта гіперспасылак там. 422 00:24:04,040 --> 00:24:07,250 Такім чынам, калі мы хочам, напрыклад, ўключаць у сябе некаторыя спасылкі там, 423 00:24:07,250 --> 00:24:10,760 Выкажам здагадку, што магло б прадстаўляць цікавасць у любы вэб-старонцы Я ствараю тут - 424 00:24:10,760 --> 00:24:12,780 адпусьці мяне да Google.com, 425 00:24:12,780 --> 00:24:16,540 і дазвольце мне шукаць булак. 426 00:24:16,540 --> 00:24:22,150 Перайсці да Google малюнкаў, і, як наконт - гэта міла. 427 00:24:22,150 --> 00:24:27,420 Мы пойдзем з гэтым. Так што тут у нас ёсць хуткая карычневая ліса скача праз лянівых сабаку. 428 00:24:27,420 --> 00:24:30,560 Так што я збіраюся зрабіць тут, толькі дзеля дэманстрацыі, 429 00:24:30,560 --> 00:24:32,950 , Мяркуюць, што гэты вобраз быў на маім серверы, 430 00:24:32,950 --> 00:24:35,240 і я быў стварэння гэтых малюнкаў. 431 00:24:35,240 --> 00:24:38,720 Што я проста быў правай кнопкай мышы або кіраваць націсніце на карцінку, 432 00:24:38,720 --> 00:24:42,370 і тое, што вы ўбачыце ў большасці браўзэраў трохі меню - 433 00:24:42,370 --> 00:24:48,800 спыніць рабіць гэта - невялікае меню, якое дазваляе выбраць копію размяшчэння спасылку або скапіюйце URL. 434 00:24:48,800 --> 00:24:52,750 Такім чынам, дазвольце мне вярнуцца цяпер да майго HTML, і выкажам здагадку, што я хачу 435 00:24:52,750 --> 00:24:56,420 да гіперспасылка на іншую вэб-старонку. 436 00:24:56,420 --> 00:24:58,640 >> Што было тэг з імем для гэтага? 437 00:24:58,640 --> 00:25:01,650 [Студэнт, неразборліва] >> Так. Так HREF для гіпер спасылкі. 438 00:25:01,650 --> 00:25:04,660 Дазвольце мне ісці наперад і ўставіць яго цалі 439 00:25:04,660 --> 00:25:07,290 Гэта даволі доўгі URL, так што дазвольце мне аддаліцца. 440 00:25:07,290 --> 00:25:09,950 Зачыніць дужкі, так што цяпер я заўважыў дарозе сюды 441 00:25:09,950 --> 00:25:11,960 таму што URL апынулася даволі доўга. 442 00:25:11,960 --> 00:25:15,180 Дазвольце мне прагортку тут да канца булак, 443 00:25:15,180 --> 00:25:18,830 , А затым дазвольце мне ў гэты тэг з 00:25:21,280 дзе я толькі закрыў імя тэга. 445 00:25:21,280 --> 00:25:24,470 Цяпер дазвольце мне ісці наперад і захаваць гэты файл, загрузіць вэб-старонку, 446 00:25:24,470 --> 00:25:27,880 і цяпер, па змаўчанні, якая будзе падкрэслена сінім для мяне, 447 00:25:27,880 --> 00:25:31,980 але на самой справе, цяпер я магу націснуць на гэтую і вуаля. Там у гэтым вобразе. 448 00:25:31,980 --> 00:25:33,990 І гэта не павінна быць малюнак, яно магло б звязаныя 449 00:25:33,990 --> 00:25:36,270 некаторыя іншыя выпадковыя сайт у Інтэрнэце. 450 00:25:36,270 --> 00:25:39,610 Я мог бы гэта зрабіць, напрыклад, з CS50, так што апошні прыклад. 451 00:25:39,610 --> 00:25:42,730 "Гэта CS50" магчыма, мае сэнс ісці, HREF = 452 00:25:42,730 --> 00:25:50,340 http://www.cs50.net, недалёка цытаты, недалёка якар. 453 00:25:50,340 --> 00:25:53,990 Такім чынам, цяпер вось яшчэ карацей URL, і на гэты раз мы не збіраемся перайсці па спасылцы малюнкаў. 454 00:25:53,990 --> 00:25:57,880 Мы замест гэтага збіраецца перайсці па спасылцы на іншую старонку. 455 00:25:57,880 --> 00:25:59,840 Цяпер у нас ёсць выява тут. 456 00:25:59,840 --> 00:26:02,970 Я адчуваю, што мы можам рабіць трохі лепш, чым проста спасылкі на малюнкі. 457 00:26:02,970 --> 00:26:05,760 Што рабіць, калі мы сапраўды хочам ўвасобіць яе ў нашу ўласную вэб-старонку? 458 00:26:05,760 --> 00:26:09,290 >> Ну, што я магу зрабіць тут, а не спасылку на гэтую графіку, 459 00:26:09,290 --> 00:26:14,690 Дазвольце мне замест скараціць URL, і мы пазбавімся ад гіперспасылку і ачысціць гэта. 460 00:26:14,690 --> 00:26:17,190 А мы пойдзем сюды і пазбавіцца ад гэтага. 461 00:26:17,190 --> 00:26:20,910 Мы сапраўды не патрэбныя ўсе гэтыя прапановы цяпер, так што дазвольце мне скараціць старонцы няшмат. 462 00:26:20,910 --> 00:26:24,530 А потым сюды, дайце мне ісці наперад у новым пункце, 463 00:26:24,530 --> 00:26:30,100 сказаць, што я не хачу, тэкст цяпер, я хачу, малюнак, крыніцай якога будзе, што URL-адрасы. 464 00:26:30,100 --> 00:26:33,100 Малюнак, як і радкі, альбо ёсць, альбо яе няма. 465 00:26:33,100 --> 00:26:35,900 Такім чынам, дазвольце мне неадкладна зачыніць гэты тэг. 466 00:26:35,900 --> 00:26:39,440 Дазвольце мне зараз ісці наперад і зачыніць пункт, што я ўнутры, 467 00:26:39,440 --> 00:26:43,010 і калі ўсё пойдзе добра з Hello, World, калі я перазагрузіць зараз, 468 00:26:43,010 --> 00:26:45,520 Я, вядома, убачыць прама ў маю ўласную вэб-старонку малюнак. 469 00:26:45,520 --> 00:26:48,570 Так што цяпер у нас ёсць тэг малюнка, тэг прывязкі і да т.п., 470 00:26:48,570 --> 00:26:51,320 і для добрай мерай, дазвольце мне зрабіць яшчэ адну рэч, якая часта грэбуюць 471 00:26:51,320 --> 00:26:55,900 на вэб-сайтах у гэтыя дні: Давайце даць некаторыя апісальны тэкст для гэтага малюнка 472 00:26:55,900 --> 00:26:58,090 для людзей, якія на мабільным прыладзе 473 00:26:58,090 --> 00:27:00,640 і, такім чынам, не маглі б загрузіць малюнак вельмі хутка, 474 00:27:00,640 --> 00:27:03,310 для тых, хто сьляпы і не зможа бачыць малюнак 475 00:27:03,310 --> 00:27:06,480 але яны могуць мець для чытання з экрана, які можа сказаць ім, што гэта малюнак мае. 476 00:27:06,480 --> 00:27:09,100 А для гэтага, ёсць яшчэ адзін атрыбут для малюнкаў тэгі 477 00:27:09,100 --> 00:27:11,290 называецца альт, альтэрнатыўнага тэксту. 478 00:27:11,290 --> 00:27:14,650 А што я магу зрабіць тут кажуць: "Гэта хуткая карычневая ліса. 479 00:27:14,650 --> 00:27:17,650 Так што нават калі чалавек не можа бачыць малюнак на экране, 480 00:27:17,650 --> 00:27:20,560 ён ці яна можа па крайняй меры, чулі, як і некаторыя часткі праграмнага забеспячэння, 481 00:27:20,560 --> 00:27:23,080 што на самой справе ёсць на экране. 482 00:27:23,080 --> 00:27:25,040 >> Гэта не паўплывае на эстэтыку старонкі, 483 00:27:25,040 --> 00:27:27,640 але гэта, безумоўна, добрая практыка для карыстальнікаў. 484 00:27:27,640 --> 00:27:31,760 Добра, давайце пакінем гэтую вэб-старонку ў яе цяперашнім выглядзе, 485 00:27:31,760 --> 00:27:33,890 але давайце паглядзім, калі мы не можам увесці 486 00:27:33,890 --> 00:27:36,210 некаторыя лепшыя падыходы да напісання гэтых вэб-старонках, 487 00:27:36,210 --> 00:27:39,980 некаторыя ўрокі, якія будуць служыць нам і нашым старонках становяцца ўсё больш і больш складанымі. 488 00:27:39,980 --> 00:27:42,220 Тое, што мы не збіраемся рабіць на працягу наступных некалькіх тыдняў 489 00:27:42,220 --> 00:27:46,810 гэта вы пройдзеце праз усе некалькі дзясяткаў тэгі HTML, што ёсць. 490 00:27:46,810 --> 00:27:49,800 Многае, як у спіну нуля ў тыдзень 0, яна, верагодна, будзе дастаткова 491 00:27:49,800 --> 00:27:52,120 даць агульны агляд некаторых паняццяў, 492 00:27:52,120 --> 00:27:54,530 кароткі агляд некаторых з блокаў вы, верагодна, былі ў стане, 493 00:27:54,530 --> 00:27:58,240 вельмі зручна, арыентавацца на свой уласны, розныя часткі галаваломкі. 494 00:27:58,240 --> 00:28:00,460 І гэта здарыцца зноў у HTML, хутчэй за ўсё, 495 00:28:00,460 --> 00:28:04,320 якіх ёсць дастатковыя рэсурсы ў Інтэрнэце, якія мы пакажу вам на, 496 00:28:04,320 --> 00:28:06,920 розныя падручнікі, калі вы аддаеце перавагу чытаць падручнік, 497 00:28:06,920 --> 00:28:10,560 што вы пройдзеце праз усе розныя рэчы, якія вы можаце зрабіць з HTML, 498 00:28:10,560 --> 00:28:16,100 але на самой справе, мы бачылі да гэтага часу ў HTML большасць фундаментальных паняццяў. 499 00:28:16,100 --> 00:28:19,900 У нас ёсць паняцце тэгі адкрываюцца, тэгі зачыненыя. 500 00:28:19,900 --> 00:28:22,100 Некаторыя пазнакі, якія, як адкрываюцца і зачыняюцца 501 00:28:22,100 --> 00:28:24,620 У тым сэнсе, што яны пустыя, не павінна быць нічога ўсярэдзіне іх 502 00:28:24,620 --> 00:28:27,490 як тэг малюнка або радкі, якія толькі існуюць. 503 00:28:27,490 --> 00:28:32,330 Мы таксама разгледзелі ўжо ў паняцці атрыбуту, як альт або крыніцы. 504 00:28:32,330 --> 00:28:36,410 Звярніце ўвагу, што гэтыя словы, як правіла, па дамове, каб быць кароткімі і змястоўнымі. 505 00:28:36,410 --> 00:28:39,140 >> Мы не маем меркаванні над тым, што гэтыя рэчы называюцца, 506 00:28:39,140 --> 00:28:42,060 кто-то яшчэ, хто вынайшаў HTML прыдумаў гэтыя імёны. 507 00:28:42,060 --> 00:28:44,710 Такім чынам, вы проста павінны пачаць, каб даведацца ці паглядзець, у любы час Вы маеце патрэбу ў іх, 508 00:28:44,710 --> 00:28:47,160 што імёны гэтых тэгаў і атрыбутаў. 509 00:28:47,160 --> 00:28:49,510 У выпадку гэтыя атрыбуты, атрыбуты звычайна 510 00:28:49,510 --> 00:28:52,900 змяніць паводзіны некаторых тэгаў. 511 00:28:52,900 --> 00:28:55,710 У гэтым выпадку, крыніца атрыбут паведамляе тэг малюнка 512 00:28:55,710 --> 00:28:57,940 што крыніцай малюнак павінна быць. 513 00:28:57,940 --> 00:29:04,460 HREF атрыбуту кажа тэга, якой яна павінна быць фактычна спасылка. 514 00:29:04,460 --> 00:29:06,800 Але з пункту гледжання структуры вэб-старонкі, нават калі Facebook 515 00:29:06,800 --> 00:29:09,680 і Google, і як выглядаюць як поўны беспарадак 516 00:29:09,680 --> 00:29:12,560 пад капотам, на першы погляд, калі вы пачнеце чытаць праз яе 517 00:29:12,560 --> 00:29:16,950 больш метадычна, усе яны ідуць гэтым асноўны, базавай структурай. 518 00:29:16,950 --> 00:29:19,660 Але мы можам палепшыць стылізацыю гэтых рэчаў. 519 00:29:19,660 --> 00:29:24,180 Такім чынам, дазвольце мне пайсці на некаторыя прыклады, якія я падрыхтаваў загадзя. 520 00:29:24,180 --> 00:29:27,280 Дазвольце мне пайсці далей і скапіяваць іх з іншай тэчкі тут 521 00:29:27,280 --> 00:29:29,380 і паклаў іх у гэты каталог. 522 00:29:29,380 --> 00:29:32,210 Загадзя, тое, што я рабіў, было падрыхтаваць некалькі файлаў: 523 00:29:32,210 --> 00:29:35,670 search0, search1, Search2, і search3 і 4. 524 00:29:35,670 --> 00:29:38,740 Дазвольце мне ісці наперад і адкрывае першы з гэтых файлаў, 525 00:29:38,740 --> 00:29:42,570 і давайце паглядзім, калі мы не можам пачаць ствараць нашу ўласную пошукавую сістэму. 526 00:29:42,570 --> 00:29:46,530 У верхняй часткі гэтага файла, як гэта звычайна бывае ў класе, проста куча каментароў. 527 00:29:46,530 --> 00:29:49,760 У HTML, хоць, з дапамогай якога Вы пачынаеце каментар 528 00:29:49,760 --> 00:29:55,640 з'яўляецца 00:29:59,800 Калі вы будзеце гатовыя, каб спыніць гэты каментар, вы можаце зрабіць ->. 530 00:29:59,800 --> 00:30:02,380 Так што ўсё на верху ў сінім гэта проста каментар. 531 00:30:02,380 --> 00:30:04,620 >> Гэта мая Дэкларацыя DOCTYPE, які зноў, 532 00:30:04,620 --> 00:30:07,080 Вы можаце проста скапіяваць і ўставіць на веру, на дадзены момант. 533 00:30:07,080 --> 00:30:10,410 Гэта проста кажа браўзэру, «Вось ідзе некаторы HTML 5. 534 00:30:10,410 --> 00:30:13,600 Ніжэй гэтага, у радку 14, з'яўляецца першым у маёй фактычнай тэгі 535 00:30:13,600 --> 00:30:16,900 і гэта проста кажа, як і раней, вось некаторыя HTML, 536 00:30:16,900 --> 00:30:19,460 вось ідзе кіраўнік маёй старонцы, вось назоў, 537 00:30:19,460 --> 00:30:23,900 , А затым, наадварот, вось і ўсё за тытул, гэта ўсё на галаву. 538 00:30:23,900 --> 00:30:26,460 Вось цяпер ідзе цела маёй старонцы. 539 00:30:26,460 --> 00:30:31,040 Так што пару новых тэгаў цяпер: h1 выступае за загаловак 1. 540 00:30:31,040 --> 00:30:33,850 Там ёсць традыцыя ў HTML для шмат гадоў назад 541 00:30:33,850 --> 00:30:37,990 наяўнасці розных памераў тэксту. 542 00:30:37,990 --> 00:30:41,980 А яшчэ ў той дзень, кожная з якіх азначала, як правіла, толькі вялікі і тоўсты. 543 00:30:41,980 --> 00:30:45,860 Але ёсць і h2, якая з'яўляецца вялікай, але не такі вялікі і тоўсты. 544 00:30:45,860 --> 00:30:49,320 Там у h3, якая з'яўляецца своеасаблівай вялікі, але не такі вялікі і смелы, 545 00:30:49,320 --> 00:30:52,380 і гэтак далей, аж да h6. 546 00:30:52,380 --> 00:30:55,550 У гэтыя дні, хоць, h1, h2 і h3 сапраўды азначала, 547 00:30:55,550 --> 00:30:57,980 мець больш сэнсавае значэнне для іх, 548 00:30:57,980 --> 00:31:01,100 якой h1 сапраўды загаловак: загаловак вэб-старонкі, 549 00:31:01,100 --> 00:31:04,210 загалоўку слупка ці нешта накшталт гэтага тэксту. 550 00:31:04,210 --> 00:31:09,030 Так што я наўмысна сказаў h1 CS50 пошук> h1 551 00:31:09,030 --> 00:31:12,640 для задання, што гэта сапраўды загаловак, назва маёй старонцы. 552 00:31:12,640 --> 00:31:14,850 Ня тытул у тым сэнсе, загаловак, 553 00:31:14,850 --> 00:31:18,960 але назва, што вы на самой справе бачыце ў самой вэб-старонкі, у целе. 554 00:31:18,960 --> 00:31:20,990 Цяпер гэтага, вы можаце здагадацца, што гэта такое, 555 00:31:20,990 --> 00:31:23,110 хоць у нас ёсць некалькі новых частак сінтаксісу. 556 00:31:23,110 --> 00:31:25,930 Гэта форма. Такім чынам, вэб пачынаецца самае цікавае 557 00:31:25,930 --> 00:31:28,770 , Калі вэб-сайты прымаюць ўваходныя дадзеныя ад карыстальнікаў. 558 00:31:28,770 --> 00:31:31,700 У гэтым класе, у задачы усталяваны на вэб-праграмавання, 559 00:31:31,700 --> 00:31:33,880 Мы не збіраемся рабіць сайт, як такой, 560 00:31:33,880 --> 00:31:37,570 са статычным змесцівам, якое паказвае фатаграфіі, якія вы зрабілі, 561 00:31:37,570 --> 00:31:40,010 ці гэта маё рэзюмэ, і пра мяне, 562 00:31:40,010 --> 00:31:42,450 таму што тыя рэчы, якія адносна лёгка, разам узятыя. 563 00:31:42,450 --> 00:31:44,400 Гэта цяжка зрабіць прыгожыя рэчы ў Інтэрнэце, 564 00:31:44,400 --> 00:31:46,390 але па крайняй меры падымаючы змест даволі трывіяльна. 565 00:31:46,390 --> 00:31:49,380 Але ўсё становіцца сапраўды цікава, калі хто-то можа наведаць ваш сайт 566 00:31:49,380 --> 00:31:52,260 і забяспечыць ўваход і могуць запаўняць формы, 567 00:31:52,260 --> 00:31:55,800 можна праверыць з сцяжкамі і могуць ўзаемадзейнічаць з вашага сайта. 568 00:31:55,800 --> 00:31:57,780 І на самай справе, напэўна, кожны вэб-сайт, вы клапоціцеся аб 569 00:31:57,780 --> 00:32:00,710 у гэтыя дні, ва ўсіх падрабязнасцях, так ці інакш інтэрактыўным. 570 00:32:00,710 --> 00:32:03,110 Facebook, Google, і да таго падобнае, якія прымаюць карыстацкі ўвод 571 00:32:03,110 --> 00:32:05,100 і вырабляем індывідуальныя выхад. 572 00:32:05,100 --> 00:32:07,780 >> Такім чынам, давайце пачнем гэта рабіць цяпер. Давайце зараз пераходзе 573 00:32:07,780 --> 00:32:11,150 з выкарыстаннем толькі HTML для разметкі статычнага кантэнту 574 00:32:11,150 --> 00:32:14,790 як замест механізм дастаўкі для дынамічнага кантэнту. 575 00:32:14,790 --> 00:32:17,350 І ў гэтым кірунку, давайце рэалізуем нашу ўласную пошукавую сістэму. 576 00:32:17,350 --> 00:32:20,820 Давайце зробім гэта наступным чынам. Вось выглядзе тэга. 577 00:32:20,820 --> 00:32:24,090 Дзеянне атрыбут паказвае, што, калі карыстальнік запаўняе гэтую форму 578 00:32:24,090 --> 00:32:28,400 з клавіятурай, ён будзе прадстаўлены на гэты адрас тут. 579 00:32:28,400 --> 00:32:31,230 Так я накшталт падману. Ён збіраецца ўзяць нас трохі даўжэй 580 00:32:31,230 --> 00:32:33,780 аднаго класа, каб рэалізаваць увесь пошукавай сістэмы, 581 00:32:33,780 --> 00:32:35,880 таму мы проста робім пярэднюю частку, так бы мовіць. 582 00:32:35,880 --> 00:32:38,650 Мы будзем рабіць тую частку, якая дазваляе карыстачу пошук, і мы будзем сартаваць Пунт на Google 583 00:32:38,650 --> 00:32:40,950 жорсткая частка пошуку вынікаў пошуку, 584 00:32:40,950 --> 00:32:43,520 але, у прыватнасці, я збіраюся пагаварыць з вэб-сервера ад Google 585 00:32:43,520 --> 00:32:46,710 з дапамогай аднаго з двух вельмі папулярных метадаў. 586 00:32:46,710 --> 00:32:50,000 Адзін час атрымаць іншае, што мы ў канчатковым рахунку бачыць, будучы паведамленне, 587 00:32:50,000 --> 00:32:52,660 хаця ёсць і іншыя, якія радзей выкарыстоўваюцца. 588 00:32:52,660 --> 00:32:56,440 Так што проста выклікае ва ўяўленні ідэю, я хачу, каб атрымаць кантэнт, атрымаць некаторыя вынікі пошуку. 589 00:32:56,440 --> 00:32:58,440 Гэта, мабыць, можна здагадацца, што гэта робіць. 590 00:32:58,440 --> 00:33:01,900 Гэта свайго роду уваходам, ён, па сутнасці, будзе выглядаць як тэкставае поле, 591 00:33:01,900 --> 00:33:05,200 і імя гэтага ўваходу, імя гэтай зменнай, так бы мовіць, 592 00:33:05,200 --> 00:33:08,610 збіраецца быць Q для запыту па дамове. 593 00:33:08,610 --> 00:33:11,700 І зноў, тып гэты ўваход не будзе сцяжок; 594 00:33:11,700 --> 00:33:13,890 ён не будзе меню, яно будзе ў тэкставае поле 595 00:33:13,890 --> 00:33:18,060 як пазначаецца гэты атрыбут тут, і гэта тэкставае поле, 596 00:33:18,060 --> 00:33:20,680 як радкі, альбо ёсць, альбо няма. 597 00:33:20,680 --> 00:33:24,480 Таму ў нас ёсць пусты элемент з касой рысай ўнутры гэтага тэга. 598 00:33:24,480 --> 00:33:28,050 Тады я збіраюся паставіць радкі, і вы можаце, напэўна, здагадацца, што гэта будзе рабіць. 599 00:33:28,050 --> 00:33:30,210 Гэта яшчэ адзін від формы ўводу. 600 00:33:30,210 --> 00:33:32,350 >> Гэты збіраецца быць выкарыстаны для адпраўкі формы. 601 00:33:32,350 --> 00:33:36,140 Такім чынам, гэта будзе вялікая кнопка, якую карыстач можа націснуць, каб адправіць форму, 602 00:33:36,140 --> 00:33:40,800 і пазнака на гэтую кнопку будзе "CS50 Пошук". 603 00:33:40,800 --> 00:33:44,170 Зачыніць форму, недалёка цела, блізкія HTML. 604 00:33:44,170 --> 00:33:46,280 Давайце паглядзім, што мы маем на ўвазе гэтую вэб-старонку. 605 00:33:46,280 --> 00:33:48,260 Такім чынам, дазвольце мне пайсці ў маім браўзэры, 606 00:33:48,260 --> 00:33:50,360 адпусьці мяне, тым не менш, на лакальным хасце. 607 00:33:50,360 --> 00:33:54,650 Гэта па-ранейшаму index.html, так што калі я хачу бачыць гэты файл называецца search0, 608 00:33:54,650 --> 00:33:59,710 Я магу проста зрабіць / search0.html, увядзіце - 609 00:33:59,710 --> 00:34:01,880 і першы з маіх памылак. 610 00:34:01,880 --> 00:34:04,400 Што адбываецца? Я дакладна не маюць дазволу 611 00:34:04,400 --> 00:34:06,430 доступ да гэтага файла, па некаторых прычынах. 612 00:34:06,430 --> 00:34:10,170 Але гэта таму, што, у адрозненне ад працы, якую мы рабілі да гэтага часу ў C, 613 00:34:10,170 --> 00:34:14,340 дзе вы пішаце праграмы мяркуюцца runable вамі, 614 00:34:14,340 --> 00:34:17,590 выкананыя вамі, гэта не зусім так у Інтэрнэце, 615 00:34:17,590 --> 00:34:21,010 якім часам вы можаце ствараць файлы на сервер, 616 00:34:21,010 --> 00:34:23,310 але вы не хочаце, каб увесь свет зможа ўбачыць іх. 617 00:34:23,310 --> 00:34:25,469 Хутчэй за ўсё, вы хочаце, каб свет бачыў некаторыя файлы 618 00:34:25,469 --> 00:34:27,730 але не іншыя, проста дзеля прыватнага жыцця аўтара. 619 00:34:27,730 --> 00:34:30,730 Так што гэта больш выбару ў аснове, калі вы робіце рэчы ў Інтэрнэце. 620 00:34:30,730 --> 00:34:32,810 І таму дазвольце мне на самай справе Тып LS тут, 621 00:34:32,810 --> 00:34:37,440 і вы ўбачыце файлы ў мяне ёсць, але нагадаем, што калі я зраблю LS-л доўгі час, 622 00:34:37,440 --> 00:34:41,520 Я атрымаю больш у каталогу, які дае мне некаторыя падрабязнасці аб гэтых файлах 623 00:34:41,520 --> 00:34:45,139 што ў цяперашні час, сапраўды, у першы раз, якія маюць дачыненне да нас. 624 00:34:45,139 --> 00:34:47,840 Звярніце ўвагу, што на правым імёны мае файлы, 625 00:34:47,840 --> 00:34:50,690 і час, у які яны ў апошні раз былі змененыя або скапіяваныя. 626 00:34:50,690 --> 00:34:54,370 Гэты нумар тут што? Вы памятаеце? 627 00:34:54,370 --> 00:34:56,400 Памер у байтах, наколькі вялікі файл. 628 00:34:56,400 --> 00:34:59,520 >> Так што я, здаецца, ёсць нейкі лагатып тут, гэта больш, чым усе іншыя файлы. 629 00:34:59,520 --> 00:35:03,610 Гэта хто я, гэта тое, што я і што я група цалі 630 00:35:03,610 --> 00:35:07,430 Але потым, тут на левым трохі загадкавыя паслядоўнасці, 631 00:35:07,430 --> 00:35:10,040 і мы пагаварылі, я думаю, коратка пра гэта і ў мінулым, 632 00:35:10,040 --> 00:35:12,050 але гэта не мае агульнага з дазволамі. 633 00:35:12,050 --> 00:35:14,020 І нават калі гэта крыху туманна, 634 00:35:14,020 --> 00:35:17,270 RW, верагодна, азначае чытаць і пісаць. 635 00:35:17,270 --> 00:35:22,560 Вось і атрымліваецца, што гэтыя рыскі абазначаюць розныя наборы дазволаў для розных людзей. 636 00:35:22,560 --> 00:35:24,730 І карціна, па сутнасці, наступным чынам. 637 00:35:24,730 --> 00:35:27,650 Калі вы бачыце паслядоўнасць рысак тут, яны выглядаюць наступным чынам. 638 00:35:27,650 --> 00:35:30,450 Там у працяжнік, то ёсць яшчэ тры працяжнік, 639 00:35:30,450 --> 00:35:33,390 то ёсць яшчэ тры, то ёсць яшчэ тры. 640 00:35:33,390 --> 00:35:36,800 Першы з іх з'яўляецца альбо працяжнік, ці гэта аб'ява для каталога. 641 00:35:36,800 --> 00:35:40,220 Так што даволі лёгка. Калі гэта тэчка, яна кажа д, у адваротным выпадку гэта злучок. 642 00:35:40,220 --> 00:35:44,080 Там у некалькі іншых выпадкаў, але зараз мы проста клапоцімся пра файлы і каталогах. 643 00:35:44,080 --> 00:35:48,090 Наступныя тры працяжнік - і я штучна ўстаўленая прасторы. 644 00:35:48,090 --> 00:35:50,490 Яны былі, відавочна, не было, калі мы іх убачылі хвіліну таму. 645 00:35:50,490 --> 00:35:52,900 Гэтыя дазволу ўладальніка файла, у 646 00:35:52,900 --> 00:35:55,840 і адклікае секунду назад, што яно было прачытана і пісаць. 647 00:35:55,840 --> 00:35:58,560 Гэта таму, што я, як чалавек, які стварыў гэты файл хвіліну назад, 648 00:35:58,560 --> 00:36:01,250 Я, проста па змаўчанні, на кампутар Linux, 649 00:36:01,250 --> 00:36:03,910 маюць магчымасць працягнуць чытанне і запіс гэтага файла. 650 00:36:03,910 --> 00:36:07,170 >> Такім чынам, аперацыйная сістэма проста дае мне RW аўтаматычна. 651 00:36:07,170 --> 00:36:10,840 Сярэдні з іх ставяцца да маёй групе, што і студэнты, 652 00:36:10,840 --> 00:36:14,590 якая з'яўляецца свайго роду бессэнсоўныя на прыборы, таму што я адзіны чалавек, які выкарыстоўвае гэты прыбор. 653 00:36:14,590 --> 00:36:16,620 Такім чынам, дазвольце мне проста махаць рукамі, што на дадзены момант. 654 00:36:16,620 --> 00:36:19,190 Але апошні з іх з'яўляюцца найбольш важнымі для Web. 655 00:36:19,190 --> 00:36:21,580 Гэта ўсё яшчэ ў свеце, і той факт, 656 00:36:21,580 --> 00:36:24,600 тое што --- азначае, што ніхто яшчэ ў свеце 657 00:36:24,600 --> 00:36:26,680 мае ніякіх правоў на гэты файл. 658 00:36:26,680 --> 00:36:29,180 Ясна, што праблема, так што мне трэба, каб выправіць гэта 659 00:36:29,180 --> 00:36:33,830 , Нейкім чынам даць свету тое, што? Чытаць і пісаць? 660 00:36:33,830 --> 00:36:35,850 Гэта, верагодна, нямы, ці не так? Я не хачу, каб нехта на вэб- 661 00:36:35,850 --> 00:36:38,530 пайсці, каб наведаць маю старонку і неяк змяніць гэты файл, 662 00:36:38,530 --> 00:36:40,800 нават калі яны сапраўды не маглі з HTML файл, 663 00:36:40,800 --> 00:36:44,110 але толькі ў прынцыпе, напэўна, проста хочуць, каб яны маглі яго прачытаць. 664 00:36:44,110 --> 00:36:47,910 Што гэта значыць чытаць? Гэта не значыць, што яны збіраюцца клапаціцца аб фактычнай HTML, 665 00:36:47,910 --> 00:36:51,820 але браўзэр павінен быць у стане разабраць, што мова разметкі, 666 00:36:51,820 --> 00:36:53,720 зверху ўніз, злева направа. 667 00:36:53,720 --> 00:36:57,990 Значыць, нехта ў інтэрнэце павінен умець чытаць, так што я мінімальна трэба даць яму р. 668 00:36:57,990 --> 00:37:00,240 Я магу зрабіць гэта ў некалькі розных спосабаў, але, магчыма, 669 00:37:00,240 --> 00:37:03,080 Прасцей за ўсё выканаць гэтую каманду тут. 670 00:37:03,080 --> 00:37:10,860 Chmod, змена рэжыму, то A + R, так што ўсё, усё ў свеце + чытаць, 671 00:37:10,860 --> 00:37:13,830 , А затым імя файла, search0.html. 672 00:37:13,830 --> 00:37:18,310 >> Цяпер, калі я раблю LS-л зноў, звярніце ўвагу, што файл быў зменены, 673 00:37:18,310 --> 00:37:21,440 І сапраўды, я ўключыў г для ўсіх. 674 00:37:21,440 --> 00:37:23,350 Я таксама уключыў яго ў сваю групу, але гэта нармальна, 675 00:37:23,350 --> 00:37:27,150 таму што калі я ператварыўся ў на ўсім, мая група з'яўляецца падмноствам гэтага. 676 00:37:27,150 --> 00:37:31,480 Так што гэта таксама добра. Гэта проста азначае, што кампутар зараз зрабіў яго даступным для чытання. 677 00:37:31,480 --> 00:37:34,430 Цяпер дазвольце мне вярнуцца да маёй браўзэра, націсніце кнопку перазагрузкі. 678 00:37:34,430 --> 00:37:36,330 Ах-ха. Цяпер у нас ёсць CS50 пошук. 679 00:37:36,330 --> 00:37:39,830 Я павялічана трохі штучна - даволі агіднае пошукавай сістэмы. 680 00:37:39,830 --> 00:37:41,930 Але давайце паглядзім, калі яна сапраўды працуе. 681 00:37:41,930 --> 00:37:45,880 Па-першае, дазвольце мне зрабіць хуткую праверку наяўнасці свядомасці, дазвольце мне кіраваць кнопкай мышы і прагледзець зыходны код старонкі. 682 00:37:45,880 --> 00:37:50,780 Звярніце ўвагу, што ў Chrome цяпер мы назіраем тое ж самае HTML, што я сам стварыў. 683 00:37:50,780 --> 00:37:55,420 Не заблытацца тут, аднак. Я не магу пачаць змяненне кода тут, 684 00:37:55,420 --> 00:37:59,420 таму што браўзэр мае даступную толькі для чытання сувязі з гэтым кодам. 685 00:37:59,420 --> 00:38:06,060 Браўзэр проста спытаў лакальнага кампутара файл пад назвай search0.html. 686 00:38:06,060 --> 00:38:09,490 У цяперашні час чыстая выпадковасць, што прыбор 687 00:38:09,490 --> 00:38:13,480 апынецца на тым жа кампутары, мой браўзэр. 688 00:38:13,480 --> 00:38:20,470 Я мог бы проста, што эквівалентна, увялі ў www.facebook.com/search0.html, 689 00:38:20,470 --> 00:38:23,830 і калі Facebook быў файл з імем, я б тады, бачачы іх HTML. 690 00:38:23,830 --> 00:38:27,360 І, вядома, я не магу змяніць файл, які вяртаецца з Facebook, альбо. 691 00:38:27,360 --> 00:38:29,360 Так што цяпер мы як бы сціраючы грані. 692 00:38:29,360 --> 00:38:32,130 Прыбор з'яўляецца як серверам, абслугоўванні вэб-старонак, 693 00:38:32,130 --> 00:38:34,870 але ў той жа кліента ў тым сэнсе, што я з дапамогай браўзэра 694 00:38:34,870 --> 00:38:37,630 на самай справе пагаварыць з гэтага сервера. 695 00:38:37,630 --> 00:38:39,610 Такім чынам, давайце паглядзім, калі мой Google пошукавая сістэма працуе. 696 00:38:39,610 --> 00:38:44,930 Дазвольце мне ісці наперад і шукаць булак, увядзіце. 697 00:38:44,930 --> 00:38:47,540 І вуаля, зараз у мяне ёсць мой уласны пошукавік. 698 00:38:47,540 --> 00:38:51,460 >> Але як гэта працуе? 699 00:38:51,460 --> 00:38:55,380 Нацяжкай, але - і зараз вы не можаце бачыць, дакладней, тая частка, якая ўяўляе цікавасць. 700 00:38:55,380 --> 00:38:57,370 Звярніце ўвагу, што адбываецца. 701 00:38:57,370 --> 00:39:00,430 Звярніце ўвагу на URL. Аказваецца, што гэты метад, 702 00:39:00,430 --> 00:39:02,780 называюць атрымаць, супер-просты. 703 00:39:02,780 --> 00:39:10,270 Калі вы пакажаце ў форме, што Вы хочаце, каб 'атрымаць' Вынік ад некаторых сервераў, 704 00:39:10,270 --> 00:39:13,200 што ён збіраецца зрабіць, гэта прыняць тое, што вы ўвялі ў форму 705 00:39:13,200 --> 00:39:15,290 і паклаў яго ў URL-адрасе. 706 00:39:15,290 --> 00:39:18,580 Гэта будзе стандартызаваць, як ён атрымлівае пакласці ў URL наступным чынам. 707 00:39:18,580 --> 00:39:22,290 Звярніце ўвагу, што гэта URL, які быў значэннем мае дзеянні атрыбуту. 708 00:39:22,290 --> 00:39:24,730 Вось дзе я хацеў форма ў канчатковым выніку. 709 00:39:24,730 --> 00:39:26,950 Але тое заўважыць гэта пытальнік. 710 00:39:26,950 --> 00:39:30,230 Гэта Канвенцыя аб вэб якога забяспечыць увод дадзеных карыстачом 711 00:39:30,230 --> 00:39:35,320 на сайт, вы дадаеце да URL пытальнік, 712 00:39:35,320 --> 00:39:38,330 і тады ў вас ёсць цэлая куча пар ключ-значэнне. 713 00:39:38,330 --> 00:39:42,380 Імя ключа, інакш вядомы як параметр у Web, 714 00:39:42,380 --> 00:39:46,380 то ў вас ёсць знак роўнасці, то ў вас ёсць значэнне гэтага параметру. 715 00:39:46,380 --> 00:39:49,810 Так што гэта па сутнасці імя зменнай і значэнне зменнай, 716 00:39:49,810 --> 00:39:54,250 але імёны гэтых зменных і значэнняў прыйшоў з HTML формы. 717 00:39:54,250 --> 00:39:56,250 Чаму плюсы там, як вы думаеце? 718 00:39:56,250 --> 00:39:59,340 Таму што я не ўводзіць + паміж маімі словамі. 719 00:39:59,340 --> 00:40:01,430 [Студэнт, неразборліва] 720 00:40:01,430 --> 00:40:05,080 >> Так, гэта толькі для інтэрвалу. Хутчэй за ўсё, калі вы бачылі URL, 721 00:40:05,080 --> 00:40:07,320 ніколі няма ніякіх прабелаў у ім, калі толькі таму, што 722 00:40:07,320 --> 00:40:09,440 калі б былі, вы не маглі сапраўды скапіруйце яго і ўстаўце 723 00:40:09,440 --> 00:40:12,700 у IM або ў электроннай пошце, таму што гэта парушыла б. 724 00:40:12,700 --> 00:40:15,420 Вы хочаце, каб усё гэта будзе адзін бесперапынны радок знакаў. 725 00:40:15,450 --> 00:40:18,450 >> Такім чынам, браўзэр досыць разумны, каб разумець, э-э-э-э. 726 00:40:18,450 --> 00:40:22,610 Не проста паставіць прасторы. Дазвольце мне кадаваць прастору, у некаторых стандартным спосабам. 727 00:40:22,610 --> 00:40:25,170 Адзін з канвенцый для гэтага з'яўляецца наяўнасць браўзэра 728 00:40:25,170 --> 00:40:29,350 аўтаматычна ставіцца +, дзе вы хацелі б мець месца. 729 00:40:29,350 --> 00:40:32,140 Так што цяпер, звярніце ўвагу, Google быў выгляд зручна. 730 00:40:32,140 --> 00:40:34,380 Я, вядома, не ствараюць гэтую вэб-старонку, 731 00:40:34,380 --> 00:40:37,200 але яны ўжо запоўненая свае тэкставае поле 732 00:40:37,200 --> 00:40:39,490 з тым, што, сапраўды, я набраў цалі 733 00:40:39,490 --> 00:40:43,090 Выкажам здагадку, я хачу, каб шукаць нешта яшчэ, як гультаяватая сабака. 734 00:40:43,090 --> 00:40:45,340 Я магу проста набраць гэта тут, паўторнага пошуку. 735 00:40:45,340 --> 00:40:47,730 Звярніце ўвагу, што URL змяняецца тут, 736 00:40:47,730 --> 00:40:51,390 не заўважыць тое, што я магу на самой справе шукаць усё, што я хачу 737 00:40:51,390 --> 00:40:53,610 проста разуменне таго, як URL-адрасы працы. 738 00:40:53,610 --> 00:40:56,840 Я мог бы зрабіць лянівы кот, увядзіце, 739 00:40:56,840 --> 00:41:01,370 і звярніце ўвагу, цяпер я атрымліваю вельмі лянівых - мы павінны? Я адчуваю, што мы павінны. 740 00:41:01,370 --> 00:41:09,900 Я атрымліваю вельмі лянівы кот. 741 00:41:09,900 --> 00:41:11,930 Добра. Гэта адна з самых дурных рэчаў, якія мы зрабілі. 742 00:41:11,930 --> 00:41:17,160 Але гэта лянівы кот. 743 00:41:17,160 --> 00:41:19,730 Ва ўсякім выпадку, тое, што ключ вынас тут? 744 00:41:19,730 --> 00:41:22,830 Цяпер мы накшталт гульні ў свеце HTTP. 745 00:41:22,830 --> 00:41:26,050 HTML менавіта гэтая мова разметкі, адкрыты тэг, які зачыняе тэг, 746 00:41:26,050 --> 00:41:29,490 , Які кажа браўзэру, як адлюстроўваць змесціва на вэб-старонках. 747 00:41:29,490 --> 00:41:32,850 Але калі вы пачынаеце перадачу дадзеных праз Інтэрнэт 748 00:41:32,850 --> 00:41:36,290 паміж вэб-браўзэрам і серверам, вось дзе гэты пратакол 749 00:41:36,290 --> 00:41:39,370 вядомы як пратакол перадачы гіпертэксту бярэ на сябе. 750 00:41:39,370 --> 00:41:42,630 Гэта свайго роду чалавечага канвенцыі; калі Сэм і я паціснулі адзін аднаму рукі ў панядзелак, 751 00:41:42,630 --> 00:41:48,300 пачынаючы злучэнне, а затым закрыцця злучэння, тыя ж ідэі тут. 752 00:41:48,300 --> 00:41:53,100 Як вынікаў Google, вяртаецца да мяне? 753 00:41:53,100 --> 00:41:55,290 Як мая форма прадстаўлення збіраюся Google? 754 00:41:55,290 --> 00:41:58,160 Ну, памятаеце з другі дзень што тое, што адбываецца на самай справе 755 00:41:58,160 --> 00:42:02,150 пад капотам, калі вы запытваеце вэб-старонкі, 756 00:42:02,150 --> 00:42:04,860 ваш браўзэр пасылае некалькі-зашыфраванае паведамленне, як 757 00:42:04,860 --> 00:42:09,510 GET / HTTP/1.1 для хатняй старонкі па змаўчанні. 758 00:42:09,510 --> 00:42:13,000 >> Ці, у дадзеным выпадку, таму што я знарок прасіў раней 759 00:42:13,000 --> 00:42:17,340 search0.html, то гэта будзе некалькі, загадкавае паведамленне 760 00:42:17,340 --> 00:42:20,040 што мой браўзэр адпраўляе на прыладу. 761 00:42:20,040 --> 00:42:23,090 Ці, у дадзеным выпадку Google, што на самой справе паслаў 762 00:42:23,090 --> 00:42:33,740 з'яўляецца запыт да / пошуку, а затым? Q = лянівы кот, са знакам плюс там. 763 00:42:33,740 --> 00:42:36,790 Такім чынам, гэта паведамленне, што я, чалавек, я ніколі не друкаваць, 764 00:42:36,790 --> 00:42:40,620 але ў цяперашні час адпраўленыя на мой браўзэр, гэта, як HTTP адбываецца. 765 00:42:40,620 --> 00:42:43,240 Гэта эквівалент нашага паціснуўшы рукі. 766 00:42:43,240 --> 00:42:46,320 Гэта запыт, а сервер збіраецца адправіць адказ. 767 00:42:46,320 --> 00:42:48,560 Такім чынам, давайце зірнем на гэта пад капотам. 768 00:42:48,560 --> 00:42:55,320 Як і раней, мы можам адкрыць гэтую спецыяльным поле ў браўзэры. 769 00:42:55,320 --> 00:42:58,720 Прагляд старонкі, правяраць элементы. 770 00:42:58,720 --> 00:43:01,550 Такім чынам, пад праверку элемента, заўважыў, што тое, што адбылося ў Chrome, 771 00:43:01,550 --> 00:43:04,160 IE і Firefox і маюць падобныя механізмы, 772 00:43:04,160 --> 00:43:07,370 у нас ёсць гэтыя прылады для распрацоўнікаў даступныя для нас. 773 00:43:07,370 --> 00:43:09,630 Нармальныя людзі не выкарыстоўваюць гэтыя ўкладкі. 774 00:43:09,630 --> 00:43:11,940 Але мы, вось, цікава тое, што адбываецца 775 00:43:11,940 --> 00:43:13,890 пад капотам на сеткавым узроўні. 776 00:43:13,890 --> 00:43:16,130 Так што, калі я цягну да сеткавага ўзроўню тут, 777 00:43:16,130 --> 00:43:18,510 Дазвольце мне пайсці далей і пашырыць гэта акно, 778 00:43:18,510 --> 00:43:21,840 адкрыць гэты запіс тут, і паглядзіце на загалоўкі. 779 00:43:21,840 --> 00:43:26,010 Так што ж адбываецца, калі я прашу файлаў з вэб-сервера 780 00:43:26,010 --> 00:43:29,410 мой браўзэр адпраўляе цэлую кучу рэчаў. 781 00:43:29,410 --> 00:43:32,390 І дазвольце мне прагледзець крыніца. Так пад загалоўкаў запыту, 782 00:43:32,390 --> 00:43:35,250 І гэта толькі Chrome паказаў мне некаторыя дыягнастычныя выхад, 783 00:43:35,250 --> 00:43:37,340 накшталт як адладчык нейкі, 784 00:43:37,340 --> 00:43:40,500 заўважыць, што тое, што я вылучыў тут менавіта тое, што 785 00:43:40,500 --> 00:43:47,060 Chrome адпраўляе на сервер для таго, каб запытаць файл з імем search0.html. 786 00:43:47,060 --> 00:43:50,160 Гэта кажа серверу, што ён думае, што яго імя, 787 00:43:50,160 --> 00:43:52,210 Дзякуючы гэтай галіне тоўстай кішкі гаспадара, то ёсць некаторы 788 00:43:52,210 --> 00:43:56,950 даволі эзатэрычныя рэчы тут, як нешта рабіць з датамі і часам, 789 00:43:56,950 --> 00:43:59,720 нешта рабіць з мовамі, што браўзэр разумее, 790 00:43:59,720 --> 00:44:02,850 але па-сапраўднаму важных ліній гэтых першых двух тут. 791 00:44:02,850 --> 00:44:05,490 >> Што ж адказ сервера? Ну, а калі пракруціць ўніз тут 792 00:44:05,490 --> 00:44:08,510 і праглядаць зыходны тэкст гэтай рэччу, заўважылі, што сервер 793 00:44:08,510 --> 00:44:13,700 адказаў з некалькі загадкавае паведамленне, а таксама, 304 Not Modified. 794 00:44:13,700 --> 00:44:16,030 Гэта крыху дзіўна, дазвольце мне на самой справе спрабуюць выправіць гэта. 795 00:44:16,030 --> 00:44:18,670 Дазвольце мне ўтрымліваць зруху і націсніце загрузіць тут 796 00:44:18,670 --> 00:44:22,460 каб прымусіць браўзэр на самай справе зрабіць гэты запыт у першы раз. 797 00:44:22,460 --> 00:44:25,700 Тады дазвольце мне павялічыць маштаб, і мы бачым, што адказ сервера, 798 00:44:25,700 --> 00:44:28,950 таму што я правяла змену, складае 200 OK. 799 00:44:28,950 --> 00:44:31,170 Такім чынам, вы, верагодна, ніколі не бачыў нумар 200 800 00:44:31,170 --> 00:44:33,300 ў кантэксце Web, але тое, што нумары 801 00:44:33,300 --> 00:44:36,760 Вы часам бачылі нечакана з сервера? 802 00:44:36,760 --> 00:44:42,010 404, файл не знойдзены, 403, забаронены, 500, памылка сервера. 803 00:44:42,010 --> 00:44:44,890 Так што гэтыя лічбавыя коды, што ў свеце выкарыстоўваецца ў вэб- 804 00:44:44,890 --> 00:44:47,870 для абазначэння памылак, гэтак жа, як функцыі C 805 00:44:47,870 --> 00:44:51,030 можа вярнуць памылкі і асноўныя можаце вярнуцца кодаў выхаду. 806 00:44:51,030 --> 00:44:54,160 200, хоць, вы рэдка бачыце, таму што гэта азначае, што ўсё добра. 807 00:44:54,160 --> 00:44:59,000 І 304 вы, верагодна, ніколі не бачылі, таму што тое, што гэта азначала? 808 00:44:59,000 --> 00:45:03,330 Гэта нічога не мае - давайце паглядзім, калі мы можам імітаваць гэты раз - 809 00:45:03,330 --> 00:45:07,170 О, цяпер гэта не супрацоўнічае. 304 кажа не змяняецца, 810 00:45:07,170 --> 00:45:09,170 дык чаму ж серверы, нават адказваць? 811 00:45:09,170 --> 00:45:12,550 Ну, для павышэння эфектыўнасці вэб-сервер аўтаматычна для вас, 812 00:45:12,550 --> 00:45:16,570 калі файл не змяніўся, ён не будзе перадаваць ўвесь HTML файл. 813 00:45:16,570 --> 00:45:19,150 Гэта проста скажу браўзэра яна не змянілася. 814 00:45:19,150 --> 00:45:21,220 Проста выкарыстоўвайце копіі ў вас ужо ёсць. 815 00:45:21,220 --> 00:45:22,650 Так што гэта паняцце кэшавання на вэб- 816 00:45:22,650 --> 00:45:25,840 прадукцыйнасць, так што вы не марнуеце час і адходаў прапускную здольнасць 817 00:45:25,840 --> 00:45:29,160 загрузка файлаў зноў і зноў без неабходнасці. 818 00:45:29,160 --> 00:45:31,460 >> Але гэтая вэб-старонка, зараз, была супер-просты, 819 00:45:31,460 --> 00:45:34,980 і гэта толькі паказаў мне, што HTML вярнуўся. 820 00:45:34,980 --> 00:45:40,940 Давайце рэальна выкарыстоўваць сетку ўкладкі цяпер рабіць Google пошук як булак. 821 00:45:40,940 --> 00:45:43,010 Дазвольце мне затым націсніце CS50 пошук, 822 00:45:43,010 --> 00:45:46,950 і цяпер, звярніце ўвагу, у ніжнім тут цэлую кучу рэчаў вярнуўся 823 00:45:46,950 --> 00:45:49,900 таму што, калі я наведваю рэальным вэб-сайтам, як Google.com, 824 00:45:49,900 --> 00:45:53,520 яны маюць малюнкі, у іх ёсць тэкст, у іх ёсць мова, званы наяўнасць там. 825 00:45:53,520 --> 00:45:55,940 Такім чынам, кожная радок у гэтай табліцы сюды 826 00:45:55,940 --> 00:46:01,490 уяўляе сабой нешта, што Google выплюнуў у адказ на маю просьбу аднаго. 827 00:46:01,490 --> 00:46:04,160 Адно мяне хвалюе, хоць, гэта першае. 828 00:46:04,160 --> 00:46:08,420 І калі я іду ў пошук, запытваць, націсніце кнопку прагляду зыходнага кода тут, 829 00:46:08,420 --> 00:46:11,300 заўважыць, што, сапраўды, загадкавае паведамленне, што мой браўзэр паслаў 830 00:46:11,300 --> 00:46:15,010 у Google Менавіта гэтыя два радкі, 831 00:46:15,010 --> 00:46:18,420 вынікаюць некаторыя тайнай інфармацыі тут якія мы будзем ігнараваць. 832 00:46:18,420 --> 00:46:20,890 Але звярніце ўвагу, таксама, што Chrome з'яўляецца даволі зручным с, 833 00:46:20,890 --> 00:46:24,540 ён таксама паказаў мне радок запыту, які быў пасланы ўнутры 834 00:46:24,540 --> 00:46:27,410 Таму замест таго, пакажыце мне гэта, які быў літаральна адпраўлены, 835 00:46:27,410 --> 00:46:30,800 калі б я ўбачыць яго дэкадаваць, Chrome, толькі для адладкі, 836 00:46:30,800 --> 00:46:34,270 для распрацоўнікаў, як мы, гэта проста паказвае мне зразумелыя чалавеку версія - 837 00:46:34,270 --> 00:46:36,390 гэта не як вы запісваеце ліса, мабыць. 838 00:46:36,390 --> 00:46:40,520 Я проста заўважыў гэта цяпер - але гэта паказвае вам, што я, па-відаць, ўвялі. 839 00:46:40,520 --> 00:46:45,340 Між тым, адказ, які прыйшоў ад сервера зноў 200 OK. 840 00:46:45,340 --> 00:46:47,930 Але, уключаных у адказ, што, вядома, 841 00:46:47,930 --> 00:46:51,920 Калі мы сапраўды прагляду HTML-старонкі - 842 00:46:51,920 --> 00:46:55,440 Прабачце, гэта крыху спалучэння клавіш пайшло наперакасяк сёння. 843 00:46:55,440 --> 00:46:59,020 >> Я разбяруся з гэтым пазней. Такім чынам, калі мы на самай справе прагляду зыходнага кода старонкі, 844 00:46:59,020 --> 00:47:02,990 які я магу зрабіць тут, націснуўшы адказ 845 00:47:02,990 --> 00:47:10,080 гэта тое, што было на самай справе пляваць назад, у дадатак да загадкавым 200 OK паведамленне з сервера. 846 00:47:10,080 --> 00:47:12,520 Трохі загадкава, але дзе ўсё гэта зыходзіць? 847 00:47:12,520 --> 00:47:15,570 Ну, давайце зробім яшчэ адну рэч тут. Іншы некалькі загадкава-каманд, 848 00:47:15,570 --> 00:47:20,530 але выгляд гэтага ў акуратныя тым, што ён паказвае нам менавіта тое, што адбываецца пад капотам. 849 00:47:20,530 --> 00:47:22,530 Так што я вярнуўся на маім Mac тут, я падключыў 850 00:47:22,530 --> 00:47:25,980 праз праграму SSH, Secure Shell, на іншы сервер 851 00:47:25,980 --> 00:47:28,940 таму што большасць кампутараў Гарвардскага універсітэта блакаваць каманды мы збіраемся запусціць 852 00:47:28,940 --> 00:47:31,640 таму што гэтая каманда на некаторых серверах называецца трасіроўку 853 00:47:31,640 --> 00:47:34,810 , Што дазваляе прасачыць маршрут паміж кропкамі А і В, 854 00:47:34,810 --> 00:47:37,020 і да гэтага часу мы прымалі як належнае цалкам 855 00:47:37,020 --> 00:47:40,170 што я магу ўвесці ў Google.com і нейкім чынам атрымаць дадзеныя назад 856 00:47:40,170 --> 00:47:43,530 з паўдарогі па ўсёй краіне ці на іншым канцы святла. 857 00:47:43,530 --> 00:47:45,810 З трасіроўку мы сапраўды можам пагрузіцца ў трохі глыбей 858 00:47:45,810 --> 00:47:49,370 пра тое, як працуе Інтэрнэт, і паглядзець, што адбываецца пад капотам. 859 00:47:49,370 --> 00:47:54,440 Так што давайце ісці наперад і адвольна прасачыць маршрут, скажам, Stanford.edu, 860 00:47:54,440 --> 00:47:57,150 якія па ўсёй краіне, і націсніце ўвод. 861 00:47:57,150 --> 00:47:59,380 Гэтая каманда можа быць супер-хуткага або супер-павольныя, 862 00:47:59,380 --> 00:48:02,010 але тое, што мы бачым цяпер, радок за радком, 863 00:48:02,010 --> 00:48:08,060 з'яўляецца кожны з крокаў ці скачкоў паміж намі і Апала-Альта, ці Стэнфард, 864 00:48:08,060 --> 00:48:11,010 дзе яны маюць свае вэб-сервера. 865 00:48:11,010 --> 00:48:16,600 Такім чынам, што ж кожная з гэтых ліній ўяўляюць больш канкрэтна, праўда? 866 00:48:16,600 --> 00:48:19,100 Кавалак жаргон з Інтэрнэту? [Студэнт, неразборліва] 867 00:48:19,100 --> 00:48:21,570 >> Што гэта такое? [Студэнт, неразборліва] 868 00:48:21,570 --> 00:48:25,390 >> Ну, так што ёсць час, але тое, што кожны радок - тое, што я маю на ўвазе хоп? 869 00:48:25,390 --> 00:48:29,140 >> Ну, ёсць такія рэчы ў інтэрнэце называюць маршрутызатарамі. 870 00:48:29,140 --> 00:48:33,020 І маршрутызатараў, як вынікае з назвы, інфармацыя аб маршруце ад кропкі А ў кропку Б. 871 00:48:33,020 --> 00:48:36,920 Але ёсць некалькі пунктаў за межамі а і б. 872 00:48:36,920 --> 00:48:40,010 Там у ў і г а д і е паміж радкоў 1, 873 00:48:40,010 --> 00:48:43,480 якія, здараецца, IP-адрас майго кампутара, 874 00:48:43,480 --> 00:48:46,890 ці мой лікавы адрас, які адназначна ідэнтыфікуе кампутар, 875 00:48:46,890 --> 00:48:50,300 і кроку 15, які на самай справе шосты вэб-сервер, 876 00:48:50,300 --> 00:48:54,640 па-відаць, якую я выводзячы з гэтага, ці 6-й версіі свайго вэб-сервера ў Стэнфардзе. 877 00:48:54,640 --> 00:48:56,680 Але тое, што быццам акуратна, мы можам убачыць шлях 878 00:48:56,680 --> 00:49:00,480 , Што мая 0 і 1 прымаюць з майго кампутара ў Стэнфард. 879 00:49:00,480 --> 00:49:02,500 Такім чынам, крок 1 адрас майго ўласнага кампутара. 880 00:49:02,500 --> 00:49:05,760 Кожны кампутар у Інтэрнэце мае унікальны ідэнтыфікатар, які выглядае наступным чынам. 881 00:49:05,760 --> 00:49:08,150 Number.number.number.number. 882 00:49:08,150 --> 00:49:10,370 Дзесьці на гэтым кампусе, верагодна, у навуковым цэнтры, 883 00:49:10,370 --> 00:49:16,780 з'яўляецца маршрутызатарам называецца асноўны шлюз 2-te83, што б гэта ні сродкаў, 884 00:49:16,780 --> 00:49:20,590 так што гэта адно з вялікай фантазіі Гарвардскага універсітэта маршрутызатараў, якія накіроўваюць шмат трафіку. 885 00:49:20,590 --> 00:49:24,640 Вось яшчэ адзін з маршрутызатараў Гарвардскага універсітэта, гэта адзін Border Gateway, 886 00:49:24,640 --> 00:49:28,310 мяжы сэнсу гэта, верагодна, на перыферыі мястэчка недзе. 887 00:49:28,480 --> 00:49:32,790 Тады ёсць NOx адзін, радок 4, якая з'яўляецца паўночнай Скрыжаванне, 888 00:49:32,790 --> 00:49:35,070 , Які з'яўляецца вялікім ISP, інтэрнэт-правайдэра, 889 00:49:35,070 --> 00:49:37,740 што такія месцы, як Гарвард падключыць да. 890 00:49:37,740 --> 00:49:40,760 Але тады ўсё становіцца трохі цікавей у радку 6. 891 00:49:40,760 --> 00:49:45,960 Дзе мае біты раптам? Канзас. 892 00:49:45,960 --> 00:49:49,300 У свеце ёсць звычка выкарыстоўваць коды аэрапортаў у многіх з гэтых рэчаў, 893 00:49:49,300 --> 00:49:52,900 або па крайняй меры скарачэнняў штатаў або гарадоў, 894 00:49:52,900 --> 00:49:56,490 так ён выглядае, усяго за 60 мс, 895 00:49:56,490 --> 00:49:59,420 пакет інфармацыі, 0 і 1 з маім ноўтбукам 896 00:49:59,420 --> 00:50:03,210 атрымаў усю дарогу да Канзаса, і зноў, у 60 мс. 897 00:50:03,210 --> 00:50:08,180 >> Акрамя таго, пасля Канзас, яны ўзялі тур праз Х'юстан, верагодна, 898 00:50:08,180 --> 00:50:10,140 як гэта было прапанавана імя гэтага сервера. 899 00:50:10,140 --> 00:50:13,310 Так як сервер у Інтэрнэце павінны мець лікавы адрас, 900 00:50:13,310 --> 00:50:18,360 ён можа таксама, пры неабходнасці, мець некалькі больш зразумелыя чалавеку адрасы, што людзі прыдумалі. 901 00:50:18,360 --> 00:50:20,510 Цяпер, у пункце 8, мы не ведаем, што гэта такое. 902 00:50:20,510 --> 00:50:22,550 Часам маршрутызатары проста нейкая вас ігнаруюць, 903 00:50:22,550 --> 00:50:25,010 і яны проста не адказваць на пытанні, так што ўсё ў парадку. 904 00:50:25,010 --> 00:50:29,290 Той, пасля кроку 8 мабыць дзе? Лос-Анджэлес 905 00:50:29,290 --> 00:50:35,290 Звярніце ўвагу на ўсяго толькі 78 мс, што займае нас, людзей, як 6 + гадзін, каб зрабіць фізічна, 906 00:50:35,290 --> 00:50:40,110 прымае пакеты інфармацыі ў інтэрнэце 78 мс ехаць так далёка. 907 00:50:40,110 --> 00:50:45,890 Крок 10 знаходзіцца ў Лос-Анджэлесе, а таксама і крок 11, здаецца, пайшоў на поўнач, каля Стэнфард. 908 00:50:45,890 --> 00:50:48,750 Гэта іх межавых маршрутызатара або межавы маршрутызатар. 909 00:50:48,750 --> 00:50:51,240 Пару крокаў у Стэнфардзе, якія ігнаруюць нас, 910 00:50:51,240 --> 00:50:55,610 І, нарэшце, мы прыходзім да вэб-серверу усяго 87 мс. 911 00:50:55,610 --> 00:50:57,760 Зараз усе гэтыя лічбы, як у баку, 912 00:50:57,760 --> 00:51:00,640 проста сказаць вам, колькі часу патрабуецца для перадачы дадзеных, каб атрымаць ад мяне 913 00:51:00,640 --> 00:51:03,530 Кожнаму з гэтых маршрутызатараў, і гэта не назапашвальная. 914 00:51:03,530 --> 00:51:06,960 Тое, што гэта праграма не з'яўляецца, яна спачатку пасылае паведамленне, па сутнасці, першым маршрутызатарам. 915 00:51:06,960 --> 00:51:09,490 Тады на другім маршрутызатары, то да трэцяга маршрутызатару, 916 00:51:09,490 --> 00:51:12,610 вымярэння кожны раз. Такім чынам, у тэорыі, гэтыя часы будуць расці 917 00:51:12,610 --> 00:51:14,860 або па крайняй меры вельмі блізка адзін да аднаго, 918 00:51:14,860 --> 00:51:18,090 і, сапраўды, тыя, якія прама тут, на тэрыторыі кампуса з'яўляюцца супер-малая. 919 00:51:18,090 --> 00:51:20,820 Як толькі вы пачынаеце рух па ўсёй краіне, ён прымае дадзеныя 920 00:51:20,820 --> 00:51:24,830 трохі больш падарожнічаць, бліжэй да 100 мс, плюс-мінус. 921 00:51:24,830 --> 00:51:28,330 Але давайце ісці ў іншым накірунку цяпер. Як наконт Кембрыджскага універсітэта ў Вялікабрытаніі? 922 00:51:28,330 --> 00:51:32,540 Дазвольце мне замест гэтага запусціць трасіроўку з www.cam для Кембрыджа, 923 00:51:32,540 --> 00:51:36,710 . Пераменнага току для акадэмічных,. Вялікабрытанія, увядзіце і націсніце тут. 924 00:51:36,710 --> 00:51:38,830 Гэта было надзвычай хутка. 925 00:51:38,830 --> 00:51:43,300 Мае дадзеныя літаральна адправіўся ў Кембрыдж, Англія, у тую долю секунды часу. 926 00:51:43,300 --> 00:51:45,340 >> Такім чынам, давайце паглядзім шлях, які ён прыняў. 927 00:51:45,340 --> 00:51:47,520 Гарвард, Гарвард, Гарвард, Паўночнай Скрыжаванне, 928 00:51:47,520 --> 00:51:52,690 якая з'яўляецца правайдэрам, а затым гэта Паўночнага Crossroads, а потым бац. 929 00:51:52,690 --> 00:51:58,320 Што знаходзіцца паміж крокі 6 і 7, маршрутызатар 6 і 7? 930 00:51:58,320 --> 00:52:02,040 Атлантычны акіян. І мы гэта вывядзенне з таго, што 931 00:52:02,040 --> 00:52:06,530 мы пераходзім ад 20 мс для 80 мс тут. 932 00:52:06,530 --> 00:52:10,050 Такім чынам, сёе-тое ўзялі 60 мс, плюс-мінус, каб атрымаць больш. 933 00:52:10,050 --> 00:52:12,910 І гэта, напэўна, вялікі вадаём. 934 00:52:12,910 --> 00:52:15,250 Што адбываецца пасля гэтага? Ну, вось мы і ў Лондане, 935 00:52:15,250 --> 00:52:18,860 усяго 88 мс пазней. Больш Лондане, больш Лондана, 936 00:52:18,860 --> 00:52:21,730 Не ведаю, дзе гэта, але мы мяркуем, што гэта за межамі Лондана, 937 00:52:21,730 --> 00:52:26,390 Cambridge тут, і, нарэшце, мы - у літаральным сэнсе, Кембрыджскі універсітэт 938 00:52:26,390 --> 00:52:29,500 . Something.net, а затым, нарэшце, у радку 16, 939 00:52:29,500 --> 00:52:31,720 іх вэб-сервер па-відаць называюць Скарпіёна 940 00:52:31,720 --> 00:52:35,500 пад капотам, хоць мы ведаем яго як WWW. 941 00:52:35,500 --> 00:52:38,790 Выгляд ашаламляльных, я думаю. Першы раз, калі я зрабіў гэта, яна цалкам падарваў мой розум. 942 00:52:38,790 --> 00:52:41,670 На жаль, Гарвардскі блакуе гэты выгляд трафіку, як правіла, у сетцы. 943 00:52:41,670 --> 00:52:44,340 Такім чынам, вы не можаце зрабіць гэта супер лёгка. 944 00:52:44,340 --> 00:52:48,500 Зразумейце, аднак, гэта тут магчыма. 945 00:52:48,500 --> 00:52:53,630 Добра. Давайце возьмем наш 5-хвілінны перапынак тут. Мы вернемся і ныраць глыбей. 946 00:52:53,630 --> 00:53:00,850 Такім чынам, мы вярнуліся, і мы накшталт гулялі каля ў некалькіх розных напрамках тут. 947 00:53:00,850 --> 00:53:03,700 Такім чынам, давайце падвядзем вынік менавіта тое, што тут адбываецца. 948 00:53:03,700 --> 00:53:07,990 Мы пачалі размову пра гэта кажуць мовай называецца HTML. 949 00:53:07,990 --> 00:53:10,680 Зноў жа, не мова праграмавання. Гэта проста мова разметкі 950 00:53:10,680 --> 00:53:15,490 , Што ў значнай ступені аб эстэтыцы і структуравання зместу ў выглядзе вэб-старонкі. 951 00:53:15,490 --> 00:53:19,220 Але HTML, таму патрэбны нейкі механізм 952 00:53:19,220 --> 00:53:22,870 для падарожжа паміж вэб-браўзэрам і серверам. 953 00:53:22,870 --> 00:53:28,360 HTML такім чынам роду атракцыёнаў на вяршыні гэтага іншай мовы, 954 00:53:28,360 --> 00:53:31,280 ці, дакладней, пратакол, вядомы як HTTP. 955 00:53:31,280 --> 00:53:33,730 >> І HTTP, як мы бачылі гэта да гэтага часу, 956 00:53:33,730 --> 00:53:37,140 гэта свайго роду аналагічны гэтага чалавека канвенцыі поціск рукі. 957 00:53:37,140 --> 00:53:39,940 Калі браўзэр хоча запыце старонкі з сервера, 958 00:53:39,940 --> 00:53:43,450 яна пасылае, што "атрымаць" запыт ад браўзэра да сервера, 959 00:53:43,450 --> 00:53:48,040 , А затым сервер адказвае лік, напрыклад 200, усё ў парадку, 960 00:53:48,040 --> 00:53:53,290 а таксама HTML або дрэнныя лік, напрыклад 404, файл не знойдзены. 961 00:53:53,290 --> 00:53:58,220 А між тым, HTTP сама па сабе не ў Інтэрнэце, як такога. 962 00:53:58,220 --> 00:54:01,550 HTTP гэта проста сэрвіс, асаблівасць Інтэрнэту 963 00:54:01,550 --> 00:54:05,530 гэтак жа, як G чата іншай службы, так жа, як электронная пошта іншую службу. 964 00:54:05,530 --> 00:54:09,180 Там ўсялякія рэчы, якія мы можам зрабіць у Інтэрнэце. 965 00:54:09,180 --> 00:54:12,670 HTTP з'яўляецца толькі адной з гэтых прыкладанняў. 966 00:54:12,670 --> 00:54:17,210 Такім чынам, у верхняй частцы - HTTP знаходзіцца на вяршыні нешта іншае 967 00:54:17,210 --> 00:54:21,750 якіх мы не згадвалі па імені, Вы, напэўна, чулі па імені, TCP / IP. 968 00:54:21,750 --> 00:54:25,160 Так што гісторыя, якую мы толькі што сказалі, што гэта ўсё аб 969 00:54:25,160 --> 00:54:28,720 як дадзеныя перамяшчаюцца з пункту А ў пункт Б. 970 00:54:28,720 --> 00:54:30,950 І ў гэтым выпадку, мы ўбачылі на вельмі нізкім узроўні 971 00:54:30,950 --> 00:54:33,060 маршрутызатара да маршрутызатара, каб маршрутызатар да маршрутызатара, 972 00:54:33,060 --> 00:54:35,390 як дадзеныя перадаюцца на самай справе. 973 00:54:35,390 --> 00:54:40,510 Але на гэтым шляху, яна будзе сутыкацца з рознымі перашкодамі. 974 00:54:40,510 --> 00:54:43,770 Акрамя таго, гэтыя маршрутызатары, ёсць рэчы, званыя брандмаўэрамі ў сетцы Інтэрнэт, 975 00:54:43,770 --> 00:54:46,680 і таму дадзеныя, такія як, што мы проста перадача 976 00:54:46,680 --> 00:54:49,720 ад мяне, у Стэнфард, у мяне ў Кембрыдж, 977 00:54:49,720 --> 00:54:54,560 пасылаецца, на гэтым узроўні, тое, што называецца IP-адрас. 978 00:54:54,560 --> 00:54:57,340 Мы бачылі гэтую хвіліну назад, і IP-адрас 979 00:54:57,340 --> 00:55:02,480 гэта проста лікавыя адрасы выгляду w.x.y.z, 980 00:55:02,480 --> 00:55:08,070 дзе кожны з іх паміж імі, плюс-мінус, 0 да 255, 981 00:55:08,070 --> 00:55:10,080 калі вы не можаце цалкам выкарыстаць усе гэтыя лічбы. 982 00:55:10,080 --> 00:55:14,220 Але кожны з гэтых месцаў уладальнікамі ўяўляе сабой лік ад 0 да 255. 983 00:55:14,220 --> 00:55:16,820 Такім чынам, IP-адрас у гэтыя дні 32 біт. 984 00:55:16,820 --> 00:55:20,780 >> Цяпер, што дае нам, колькі магчымых IP-адрасоў у свеце? 985 00:55:20,780 --> 00:55:24,420 Каля 4 млрд, таму што ў любы час мы разлічваем ў ступені 2 986 00:55:24,420 --> 00:55:27,760 усё, аж да 32 пра што-то, што звычайна дае нам 4 мільярды даляраў. 987 00:55:27,760 --> 00:55:30,160 Так што вельмі шмат IP адрасоў, але вы, магчыма, чыталі, 988 00:55:30,160 --> 00:55:32,410 ці вы маглі б цяпер заўважыць у папулярнай прэсе, 989 00:55:32,410 --> 00:55:36,020 штуршок да новай версіі IP называецца IPv6. 990 00:55:36,020 --> 00:55:38,290 Цяпер мы выкарыстоўваем версіі 4. 991 00:55:38,290 --> 00:55:41,060 Там сапраўды не было версіі 5, мы проста скакаць прама да 6. 992 00:55:41,060 --> 00:55:46,760 Версія 6 будзе выкарыстоўваць 128 біт для IP адрасоў, якія дзяўбуць велізарны. 993 00:55:46,760 --> 00:55:49,430 Мы не павінны скончыцца на працягу досыць доўгага часу цяпер, 994 00:55:49,430 --> 00:55:52,980 але мы пачалі бегчы з 4-й версіі IP-адрасоў, 995 00:55:52,980 --> 00:55:56,110 таму што ва ўсіх нас ёсць не толькі рэчы, як наўтбукі і настольныя ПК, 996 00:55:56,110 --> 00:55:58,700 Шмат хто з нас ёсць тэлефоны, многія з нас маюць іншыя прылады 997 00:55:58,700 --> 00:56:01,600 як TiVo і да т.п., якія маюць IP-адрасы саміх сябе. 998 00:56:01,600 --> 00:56:03,720 Гарвардскі сама па сабе мае дзесяткі тысяч кампутараў. 999 00:56:03,720 --> 00:56:07,970 Такім чынам, свет сапраўды сканчаюцца IP-адрасы, па меншай меры, гэтую форму. 1000 00:56:07,970 --> 00:56:10,340 Такім чынам, на працягу бліжэйшых некалькіх гадоў, вы ўбачыце адрасы 1001 00:56:10,340 --> 00:56:12,870 на свой кампутар, верагодна, павольна змяняцца 1002 00:56:12,870 --> 00:56:16,740 усё больш і больш кампаній і універсітэтаў пачынаюць падтрымліваць новую версію. 1003 00:56:16,740 --> 00:56:22,770 Але IP-адрас не з'яўляецца дастатковым для кампутара запытваць дадзеныя з кампутара б. 1004 00:56:22,770 --> 00:56:24,950 Таму што кампутар б можа быць сервер, 1005 00:56:24,950 --> 00:56:27,600 і сервер, як я згадваў раней, можна зрабіць пучкі рэчы. 1006 00:56:27,600 --> 00:56:29,940 Гэта можа размясціць вэб-старонак, гэта можа быць сервер электроннай пошты, 1007 00:56:29,940 --> 00:56:32,310 гэта можа быць Skype серверы, гэта можа быць сервер G чаце. 1008 00:56:32,310 --> 00:56:35,870 >> Усе гэтыя розныя паслугі, якія могуць быць прадастаўлены па серверу 1009 00:56:35,870 --> 00:56:38,330 можа ўсё, фізічна, быць на той жа машыне. 1010 00:56:38,330 --> 00:56:40,380 Такім чынам, у дадатак да IP-адрасах, 1011 00:56:40,380 --> 00:56:43,250 у свеце ёсць рэчы, званыя парты ў сеткі Інтэрнэт. 1012 00:56:43,250 --> 00:56:47,830 Порт гэта проста лік, такім чынам, ёсць унікальны нумар для HTTP. 1013 00:56:47,830 --> 00:56:50,280 Яго нумар 80. 1014 00:56:50,280 --> 00:56:55,870 HTTP таксама выкарыстоўваецца лік 443, але больш канкрэтна, для зашыфраванага HTTPS. 1015 00:56:55,870 --> 00:57:00,030 Кожны раз, калі вы бачыце с, для бяспечнага, якая выкарыстоўвае іншы нумар. 1016 00:57:00,030 --> 00:57:06,580 Ёсць і іншыя лічбы, як 25, які выкарыстоўваецца для так званых SMTP, інакш вядомы як электронная пошта. 1017 00:57:06,580 --> 00:57:09,620 Там-то называецца 22 для SSH, 1018 00:57:09,620 --> 00:57:11,850 і ёсць цэлая куча іншых партах там. 1019 00:57:11,850 --> 00:57:14,460 Зараз, мы, людзі рэдка бачаць гэтыя лічбы. 1020 00:57:14,460 --> 00:57:21,970 Аднак, калі вы ўводзіце адрас, напрыклад http://www.facebook.com, 1021 00:57:21,970 --> 00:57:26,560 Браўзэр таемна ўстаўкі 80, таму што вы выкарыстоўваеце HTTP. 1022 00:57:26,560 --> 00:57:30,630 Калі вы, наадварот, тыпу HTTPS, ён таемна ўстаўкі 443. 1023 00:57:30,630 --> 00:57:35,180 І мы можам выгляду бачыць гэта ўручную, калі я цягну да Брауэр 1024 00:57:35,180 --> 00:57:41,850 і перайдзіце да http://www.facebook.com:80. 1025 00:57:41,850 --> 00:57:44,550 Таму відавочна спасылаючыся не толькі на назву сайта 1026 00:57:44,550 --> 00:57:47,650 але порт, што я хачу, каб гаварыць, і націсніце ўвод. 1027 00:57:47,650 --> 00:57:50,170 Звярніце ўвагу, яна знікае, таму што браўзэр мяркуе, 1028 00:57:50,170 --> 00:57:53,360 ой, 80, я нават не буду затлумляцца, якія паказваюць, што для вас. 1029 00:57:53,360 --> 00:57:56,400 Але прычына гэтага ў тым, што калі б я сапраўды хацеў, каб адправіць кагосьці электроннай пошты, 1030 00:57:56,400 --> 00:58:02,340 Я б вельмі пасылаць яго да іх на порт 25, які, будучы SMTP. 1031 00:58:02,340 --> 00:58:04,890 Трохі спрошчана, але некаторыя з вас ёсць сябры 1032 00:58:04,890 --> 00:58:09,290 , Якія фактычна працуюць на Facebook, і яны, аналагічна, ёсць серверы, якія атрымліваюць электронную пошту. 1033 00:58:09,290 --> 00:58:12,610 >> Кожны раз, калі вы адпраўляеце ліст, тое, што Gmail робіць для вас 1034 00:58:12,610 --> 00:58:14,960 або Outlook, або любой іншай праграмы, якую вы выкарыстоўваеце, 1035 00:58:14,960 --> 00:58:19,270 гэта свайго роду таемна ўстаўкі гэтага ліку, а, 25, у гэтым выпадку. 1036 00:58:19,270 --> 00:58:24,490 Менавіта гэта спалучэнне IP-адрас і нумар, які адназначна ідэнтыфікуе 1037 00:58:24,490 --> 00:58:29,190 кампутар у сетцы Інтэрнэт і пэўнай паслугі на гэтым кампутары. 1038 00:58:29,190 --> 00:58:33,460 Цяпер, вядома, большасць з нас, напэўна, ніколі не ўводзяцца ўручную IP-адрас. 1039 00:58:33,460 --> 00:58:37,340 Можа быць, у вас ёсць у халадзільніку, але і ў рэальным свеце, не так шмат. 1040 00:58:37,340 --> 00:58:42,750 Чаму мы не ўводзіць IP-адрасы ў браўзэрах? 1041 00:58:42,750 --> 00:58:45,860 Яна будзе працаваць, на самай справе, мы можам бачыць гэта, дазвольце мне паказаць вам 1042 00:58:45,860 --> 00:58:50,000 яшчэ адна каманда, якая павінна працаваць у любым месцы на самых кампусе Гарвардскага універсітэта на Mac або ПК. 1043 00:58:50,000 --> 00:58:53,970 Там гэтая каманда называецца серверу, выдалены сервер імёнаў пошуку. 1044 00:58:53,970 --> 00:58:59,960 Калі я гляджу www.cnn.com, аказваецца, што мае CNN - о, цікава. 1045 00:58:59,960 --> 00:59:03,180 CNN пачаў выкарыстоўваць Amazon Web Services. 1046 00:59:03,180 --> 00:59:06,380 Вы можаце ведаць, хмарных вылічэнняў, адзін Амазонкі з буйных гульцоў у галіне хмарных вылічэнняў. 1047 00:59:06,380 --> 00:59:10,240 Тое, што я рабіў, было, я сказаў: "Дайце мне адрас вэб-сервера CNN, ' 1048 00:59:10,240 --> 00:59:14,090 але аказваецца, што вэб-сервер CNN, кіруюць Amazon, 1049 00:59:14,090 --> 00:59:16,030 Amazon Web Services, гэта гаворыць пра тое. 1050 00:59:16,030 --> 00:59:19,680 І адрас гэтага сервера гэта тут. 1051 00:59:19,680 --> 00:59:22,350 Так што я не ўпэўнены, што гэта будзе працаваць, таму што яны не прывыклі выкарыстоўваць Amazon. 1052 00:59:22,350 --> 00:59:32,830 Але давайце паспрабуем гэта, http://, IP-адрас, увядзіце, а таксама - 1053 00:59:32,830 --> 00:59:35,690 яно будзе працаваць? 1054 00:59:35,690 --> 00:59:39,280 Так. Ён будзе працаваць. Інтэрнэт супер-павольныя сёння. 1055 00:59:39,280 --> 00:59:43,680 Але, у адзін момант, вы ўбачыце некаторыя навіны. 1056 00:59:43,680 --> 00:59:48,360 Там мы ідзем. Банк Амерыкі адказчыкам у судзе. Добра. 1057 00:59:48,360 --> 00:59:54,000 >> Гэта таму, што гэты IP-адрас толькі, здараецца, па сінонімам www.cnn.com. 1058 00:59:54,000 --> 00:59:59,920 Вядома, гэта было б жахліва маркетынгу сказаць, наведайце нас на вэб-сайце 50.112.94.127. 1059 00:59:59,920 --> 01:00:02,370 Вы ніколі не памятаю. Такім чынам, нават у гэтыя дні вы, магчыма, памятаеце рэчы 1060 01:00:02,370 --> 01:00:07,210 як 1-800-COLLECT або Мнемонік свеце прыдумаў для тэлефонных нумароў. 1061 01:00:07,210 --> 01:00:09,540 Які, перш чым сотавыя тэлефоны, былі даволі цяжка запомніць 1062 01:00:09,540 --> 01:00:11,800 пакуль вы можаце проста ўвесці яго і забыцца пра яго. 1063 01:00:11,800 --> 01:00:15,730 Такім чынам, Web, таксама мае гэтую канвенцыю імёнаў і IP-адрасоў, 1064 01:00:15,730 --> 01:00:17,770 і ёсць гэтыя рэчы там называюць DNS сервераў, 1065 01:00:17,770 --> 01:00:23,870 Даменнае імя сістэмы сервера, якія перакладаюць IP-адрасы ў імёны, і наадварот. 1066 01:00:23,870 --> 01:00:26,340 Так што тое, што адбываецца пад капотам. 1067 01:00:26,340 --> 01:00:29,540 У рэшце рэшт, у нас ёсць TCP / IP, што гэта вельмі нізкім ўзроўні пратаколу 1068 01:00:29,540 --> 01:00:32,570 што, сапраўды, проста атрымлівае 0 і 1 праз Інтэрнэт, 1069 01:00:32,570 --> 01:00:36,030 і робіць гэта, змясціўшы іх у віртуальны канверт, 1070 01:00:36,030 --> 01:00:38,820 калі заўгодна, і пісаць на знешняй баку канверта 1071 01:00:38,820 --> 01:00:43,930 IP-адрас прызначэння, а таксама лічбавы порт 1072 01:00:43,930 --> 01:00:47,520 паслугі на гэтага прызначэння, што ён хоча пагаварыць. 1073 01:00:47,520 --> 01:00:51,060 Між тым, на канверце ёсць таксама нешта, вядомае як зваротны адрас, 1074 01:00:51,060 --> 01:00:55,600 які з'яўляецца вашым IP адрас, так што, калі CNN атрымлівае пакет інфармацыі ад вас, 1075 01:00:55,600 --> 01:00:58,710 адкрывае гэты віртуальны канверт, бачыць, што вы хочаце, каб галоўная старонка, 1076 01:00:58,710 --> 01:01:04,630 ён ведае, ад адпраўніка частка гэтага віртуальнага канверта, каго паслаць HTML назад. 1077 01:01:04,630 --> 01:01:07,470 Такім чынам, давайце зірнем на гэта крыху больш падрабязна. 1078 01:01:07,470 --> 01:01:11,370 Гэта з кампаніі пад назвай Ericson, ад некалькі гадоў таму. 1079 01:01:11,370 --> 01:01:14,780 І яны ўзялі некаторыя вольнасці з тым, як на самой справе працуе інтэрнэт, 1080 01:01:14,780 --> 01:01:18,920 але ён малюе значна больш навочную карціну, чым проста мелу тут. 1081 01:01:18,920 --> 01:01:26,690 Такім чынам, я даю вам "трохі ў Інтэрнэце". 1082 01:02:26,660 --> 01:02:29,840 >> [Вядучы] Упершыню ў гісторыі, 1083 01:02:29,840 --> 01:02:35,260 людзі і тэхніка працуюць разам, разумеючы, сон. 1084 01:02:35,260 --> 01:02:38,910 Аб'ядноўвае сілай, якая не ведае геаграфічных межаў. 1085 01:02:38,910 --> 01:02:43,230 Без незалежна ад расы, веравызнання або колеру скуры. 1086 01:02:43,230 --> 01:02:47,770 Новая эра, дзе стасункі сапраўды збліжае людзей. 1087 01:02:47,770 --> 01:02:50,070 Гэта 1088 01:02:50,070 --> 01:02:54,980 Рассвет ў Сеткі. 1089 01:02:54,980 --> 01:03:04,640 Хочаце ведаць, як гэта працуе? Націсніце тут, каб пачаць сваё падарожжа ў Сеткі. 1090 01:03:04,640 --> 01:03:07,890 Цяпер, што менавіта адбылося, калі вы націснулі на гэтую спасылку? 1091 01:03:07,890 --> 01:03:10,150 Вы пачалі патокам інфармацыі. 1092 01:03:10,150 --> 01:03:13,310 Гэтая інфармацыя праходзіць ўніз у ваш асабісты паштовым аддзяленні 1093 01:03:13,310 --> 01:03:18,500 , Дзе г-н пакетаў IP яго, называе яго, і адпраўляе яго на сваім шляху. 1094 01:03:18,500 --> 01:03:20,960 Кожны пакет абмежаваны ў сваіх памерах. 1095 01:03:20,960 --> 01:03:23,880 Пошта пакой павінна вырашыць, як падзяліць інфармацыю 1096 01:03:23,880 --> 01:03:26,070 і як спакаваць яго. 1097 01:03:26,070 --> 01:03:29,550 Цяпер, пакет павінен этыкеткі, якія змяшчаюць важную інфармацыю 1098 01:03:29,550 --> 01:03:35,570 такіх як адрас адпраўніка, адрас атрымальніка, тып пакета ён. 1099 01:03:51,700 --> 01:03:54,980 Паколькі гэты пакет выходзіць у Інтэрнэт, 1100 01:03:54,980 --> 01:03:57,720 ён таксама атрымлівае адрас для проксі-сервера, 1101 01:03:57,720 --> 01:04:01,520 які мае спецыяльную функцыю, як мы ўбачым пазней. 1102 01:04:01,520 --> 01:04:06,650 Пакет цяперашні час запушчаны на вашай лакальнай сеткі або інтэрнэту. 1103 01:04:06,650 --> 01:04:10,160 Гэтая сетка выкарыстоўваецца для падлучэння ўсіх лакальных кампутараў 1104 01:04:10,160 --> 01:04:15,900 маршрутызатары, друкаркі і гэтак далей, для абмену інфармацыяй у межах фізічнага сцен будынка. 1105 01:04:15,900 --> 01:04:20,290 Інтэрнэт з'яўляецца даволі некантралюемае месца, і, на жаль, 1106 01:04:20,290 --> 01:04:23,950 няшчасныя выпадкі могуць адбыцца. 1107 01:04:31,190 --> 01:04:34,710 Шаша LAN запакаваная з усімі відамі інфармацыі. 1108 01:04:34,710 --> 01:04:38,900 Гэтыя IP-пакетаў, Novell пакеты, пакеты AppleTalk. 1109 01:04:38,900 --> 01:04:41,270 Яны ідуць супраць руху, як звычайна. 1110 01:04:41,270 --> 01:04:44,260 Лакальны маршрутызатар чытае адрас і, пры неабходнасці, 1111 01:04:44,260 --> 01:04:48,520 падымае пакет на іншую сетку. 1112 01:04:48,520 --> 01:04:54,270 Ах, маршрутызатар. Сімвал кантролю ў, здавалася б дэзарганізаваная свеце. 1113 01:04:54,270 --> 01:05:05,480 [Маршрутызатары мармытаў і казаў сабе] 1114 01:05:05,480 --> 01:05:10,030 >> [Вядучы] Там ён, сістэматычнае, абыякава, метадычнай, 1115 01:05:10,030 --> 01:05:14,150 кансерватыўную, а часам і не зусім да хуткасці. 1116 01:05:14,150 --> 01:05:17,680 Але па крайняй меры ён сапраўды, па большай частцы. 1117 01:05:32,270 --> 01:05:36,820 Як пакеты пакідаюць маршрутызатар, яны робяць свой шлях у карпаратыўны інтэрнэт 1118 01:05:36,820 --> 01:05:40,830 і галава на маршрутызатар камутатар. 1119 01:05:40,830 --> 01:05:46,250 Трохі больш эфектыўным, чым маршрутызатар, маршрутызатар перамыкач гуляе хутка і свабодна з IP-пакетаў, 1120 01:05:46,250 --> 01:05:48,920 спрытна накіроўваючы іх на сваім шляху. 1121 01:05:48,920 --> 01:05:52,130 "Pinball Wizard", лічбавыя калі вы будзеце. 1122 01:05:52,130 --> 01:06:04,270 [Маршрутызатар перамыкач кажу сабе] 1123 01:06:09,830 --> 01:06:12,150 [Вядучы] Як пакетаў прыбыць да месца прызначэння, 1124 01:06:12,150 --> 01:06:14,740 яны падабралі сеткавы інтэрфейс, 1125 01:06:14,740 --> 01:06:18,040 гатовыя да адпраўкі на наступны ўзровень. 1126 01:06:18,040 --> 01:06:21,010 У гэтым выпадку проксі-сервер. 1127 01:06:21,010 --> 01:06:25,040 Проксі-сервер выкарыстоўваецца многімі кампаніямі ў якасці свайго роду пасярэдніка 1128 01:06:25,040 --> 01:06:27,630 У мэтах зніжэння нагрузкі на падключэнне да Інтэрнэту 1129 01:06:27,630 --> 01:06:32,240 і па меркаваннях бяспекі, а таксама. 1130 01:06:32,240 --> 01:06:38,750 Як вы можаце бачыць, усе пакеты розных памераў у залежнасці ад іх зместу. 1131 01:06:55,210 --> 01:07:01,890 Проксі адкрывае пакет і шукае вэб-адрас або URL. 1132 01:07:01,890 --> 01:07:04,950 У залежнасці ад таго адрасы з'яўляецца прымальным, 1133 01:07:04,950 --> 01:07:08,000 пакет адпраўляецца да Інтэрнэту. 1134 01:07:13,890 --> 01:07:19,630 Ёсць, аднак, некаторыя адрасы, якія не адказваюць па ўзгадненні з проксі-серверам. 1135 01:07:19,630 --> 01:07:25,680 Гэта значыць, карпаратыўныя або прынцыпы кіравання. 1136 01:07:25,680 --> 01:07:30,580 Яны сумарна справа. 1137 01:07:30,580 --> 01:07:32,410 Мы будзем мець нічога падобнага. 1138 01:07:32,410 --> 01:07:36,350 Для тых, хто робіць гэта, гэта на дарогу. 1139 01:07:46,850 --> 01:07:53,310 >> Затым, брандмаўэр. 1140 01:07:53,310 --> 01:07:57,410 Карпаратыўны міжсеткавы экран служыць двум мэтам. 1141 01:07:57,410 --> 01:08:02,420 Гэта прадухіляе некаторыя даволі непрыемныя рэчы з Інтэрнэту з паступаюць у Інтранэт, 1142 01:08:02,420 --> 01:08:10,280 і ён можа таксама прадухіліць канфідэнцыйнай карпаратыўнай інфармацыі, ад высылкі з на Інтэрнэт. 1143 01:08:10,280 --> 01:08:12,980 Калі праз брандмаўэр, маршрутызатар забірае пакет 1144 01:08:12,980 --> 01:08:18,180 і змяшчае яго на значна больш вузкім дарогі, ці прапускная здольнасць, як мы кажам. 1145 01:08:18,180 --> 01:08:23,720 Відавочна, што дарогі не дастаткова шырокія, каб прыняць іх усіх. 1146 01:08:23,720 --> 01:08:29,319 Зараз, вы маглі б задацца пытаннем, што адбываецца з тых пакетаў, якія не робяць гэта па дарозе. 1147 01:08:29,319 --> 01:08:32,270 Ну, калі г-н IP не атрымлівае пацверджання 1148 01:08:32,270 --> 01:08:35,000 , Што пакет быў прыняты ў свой час, 1149 01:08:35,000 --> 01:08:39,890 Ён проста пасылае замена пакета. 1150 01:08:39,890 --> 01:08:44,760 Цяпер мы гатовыя ўвайсці ў свет Інтэрнэту. 1151 01:08:44,760 --> 01:08:49,370 Павуцінне узаемазвязаных сетак, якія ахопліваюць ўсёй нашай зямной шар. 1152 01:08:49,370 --> 01:08:56,050 Тут, маршрутызатары і камутатары ўстанаўлення сувязяў паміж сеткамі. 1153 01:08:56,050 --> 01:08:59,200 Цяпер, Чыстыя гэта цалкам іншы асяроддзі, чым Вы знойдзеце 1154 01:08:59,200 --> 01:09:01,569 ў абарончай сцяны вашай лакальнай сеткі. 1155 01:09:01,569 --> 01:09:04,060 З тут, гэта Дзікага Захаду. 1156 01:09:04,060 --> 01:09:06,359 Шмат месца, шмат магчымасцяў, 1157 01:09:06,359 --> 01:09:09,760 шмат рэчаў, каб даследаваць і месцы, каб пайсці. 1158 01:09:09,760 --> 01:09:12,760 Дзякуючы вельмі мала кантролю і рэгулявання, 1159 01:09:12,760 --> 01:09:18,300 новыя ідэі знаходзяць добрую глебу, каб выйсці за межы сваіх магчымасцяў. 1160 01:09:18,300 --> 01:09:22,330 Але з-за гэтай свабоды, пэўныя небяспекі ўтойваюцца таксама. 1161 01:09:22,330 --> 01:09:27,000 Вы ніколі не ведаеце, калі вы сустрэнецеся страшны пінг смерці, 1162 01:09:27,000 --> 01:09:29,890 Спецыяльная версія нармальны пінг-запыт, 1163 01:09:29,890 --> 01:09:35,720 які нейкі ідыёт прыдумаў сапсаваць нічога не падазравалых гаспадароў. 1164 01:09:35,720 --> 01:09:39,130 Шлях наш пакетаў прымаюць можа быць праз спадарожнік, 1165 01:09:39,130 --> 01:09:43,090 тэлефоннай лініі, бесправадной ці нават трансокеанских кабеляў. 1166 01:09:43,090 --> 01:09:46,520 Яны не заўсёды маюць самы хуткі або самы кароткі шлях магчымым, 1167 01:09:46,520 --> 01:09:50,290 але яны атрымаюць там у канчатковым рахунку. 1168 01:09:50,290 --> 01:09:55,230 Можа быць, таму яго часам называюць «World Wide Wait". 1169 01:09:55,230 --> 01:09:57,980 Але калі ўсё працуе гладка, 1170 01:09:57,980 --> 01:10:03,800 Вы можаце абыйсці зямной шар пяць разоў на падзенне капялюш, у літаральным сэнсе. 1171 01:10:03,800 --> 01:10:08,230 І ўсё па кошту мясцовага званка ці менш. 1172 01:10:08,230 --> 01:10:15,070 Бліжэй да канца нашай мэты, мы знойдзем іншага брандмаўэр. 1173 01:10:15,070 --> 01:10:18,420 >> У залежнасці ад вашай пункту гледжання, як пакет дадзеных, 1174 01:10:18,420 --> 01:10:23,730 Брандмаўэр можа быць апорай бяспекі або страшны праціўнік. 1175 01:10:23,730 --> 01:10:28,530 Усё залежыць ад таго, з якога боку вы на і якія вашы намеры. 1176 01:10:28,530 --> 01:10:34,990 Брандмаўэр прызначаны для пусцілі толькі тыя пакеты, якія адпавядаюць яго крытэрам. 1177 01:10:34,990 --> 01:10:39,360 Гэты брандмаўэр працуе на парты 80 і 25. 1178 01:10:39,360 --> 01:10:46,630 Усе спробы пранікнуць праз іншыя парты закрыты для бізнэсу. 1179 01:10:57,660 --> 01:11:03,480 Порт 25 выкарыстоўваецца для паштовых пакетаў, 1180 01:11:03,480 --> 01:11:10,720 у той час як порт 80 з'яўляецца уваходам для пакетаў з сеткі Інтэрнэт на вэб-серверы. 1181 01:11:10,720 --> 01:11:15,080 Усярэдзіне брандмаўэра, пакеты правяраюцца больш старанна. 1182 01:11:15,080 --> 01:11:17,970 Некаторыя пакеты зрабіць гэта лёгка праз мытню, 1183 01:11:17,970 --> 01:11:21,420 у той час як іншыя выглядаюць трохі сумніўная. 1184 01:11:21,420 --> 01:11:24,060 Цяпер, брандмаўэр афіцэр не так лёгка абдурыць, 1185 01:11:24,060 --> 01:11:32,120 напрыклад, пры гэтым пінг смерці пакет спрабуе замаскіраваць сябе як звычайны пакет пінгу. 1186 01:11:32,120 --> 01:11:37,520 [Firewall афіцэр размаўляў з пакетамі] 1187 01:11:37,520 --> 01:11:40,510 [Вядучы] Для тых пакетаў пашанцавала дастаткова, каб зрабіць гэта настолькі далёка, 1188 01:11:40,510 --> 01:11:45,730 Падарожжа падыходзіць да канца. 1189 01:11:45,730 --> 01:11:52,130 Гэта проста лінія на інтэрфейс, які будзе ўзяты на вэб-серверы. 1190 01:11:52,130 --> 01:11:55,440 У цяперашні час вэб-серверы могуць працаваць на многія рэчы, 1191 01:11:55,440 --> 01:11:59,230 ад мэйнфрэймаў да вэб-камеру да кампутара на стале. 1192 01:11:59,230 --> 01:12:01,720 Чаму б не ваша халадзільнік? 1193 01:12:01,720 --> 01:12:04,870 Пры правільнай наладзе, вы можаце даведацца, калі ў вас ёсць задаткі 1194 01:12:04,870 --> 01:12:08,390 на курыныя Cacciatore, або калі ў вас ёсць хадзіць па крамах. 1195 01:12:08,390 --> 01:12:11,760 Памятаеце, што гэта зара Сеткі. 1196 01:12:11,760 --> 01:12:17,310 Амаль усе магчыма. 1197 01:12:17,310 --> 01:12:20,440 Адзін за адным пакеты будуць атрыманыя, 1198 01:12:20,440 --> 01:12:26,320 адчыніліся, і распакаваць. 1199 01:12:26,320 --> 01:12:31,200 Інфармацыі, якую яны ўтрымліваюць, гэта значыць, ваш запыт аб прадастаўленні інфармацыі, 1200 01:12:31,200 --> 01:12:34,830 пасылаецца на сервер прыкладанняў вэб-сайтаў. 1201 01:12:41,540 --> 01:12:47,140 Сам пакет з другаснай сыравіны, 1202 01:12:47,140 --> 01:12:57,570 гатовы да выкарыстання зноў, і напоўнены вашы запытваемага інфармацыі, 1203 01:12:57,570 --> 01:13:03,340 вырашаны, і разаслаў на сваім шляху назад да вас. 1204 01:13:03,340 --> 01:13:13,250 Вярнуцца мінулым брандмаўэра, маршрутызатара і далей праз да Інтэрнэту. 1205 01:13:13,250 --> 01:13:21,020 Вярнуцца праз карпаратыўны брандмаўэр 1206 01:13:21,020 --> 01:13:24,180 і на вашым інтэрфейсе, 1207 01:13:24,180 --> 01:13:31,180 гатовыя пастаўляць вэб-браўзэр з інфармацыяй вы прасілі. 1208 01:13:31,180 --> 01:13:39,840 Гэта значыць, гэты фільм. 1209 01:13:39,840 --> 01:13:43,550 Задаволены іх намаганні і давяраючы лепшага свету, 1210 01:13:43,550 --> 01:13:50,250 нашы пакеты надзейных дадзеных паскакаў шчасліва ў закат другі дзень, 1211 01:13:50,250 --> 01:13:56,880 ведаючы, цалкам яны служылі сваім гаспадарам добра. 1212 01:13:56,880 --> 01:14:02,560 Цяпер не тое, што шчаслівы канец? 1213 01:14:02,560 --> 01:14:07,040 [Малая] Добра, гэтага дастаткова. Убачымся на наступным тыдні. 1214 01:14:07,040 --> 01:14:10,040 [CS50.TV]