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 які по всій країні, і натисніть Enter. 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 але порт, що я хочу, щоб говорити, і натисніть Enter. 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]