0:00:02.719,0:00:07.360
Інтернет: HTTP та HTML
0:00:07.360,0:00:13.749
Я Жасмін Лоуренс, і я керівник групи[br]проектів команди розробки XBox One.
0:00:13.749,0:00:18.700
Один з наших найбільших проектів —[br]XBox Live. Це онлайн-сервіс, який з'єднує
0:00:18.700,0:00:25.519
геймерів з усього світу, і цей зв'язок нам надає[br]інтернет. Це непросте завдання, і багато
0:00:25.519,0:00:31.940
процесів відбувається "за лаштунками".[br]Завдяки інтернету людство кардинально
0:00:31.940,0:00:35.760
змінило своє спілкування і способи[br]взаєморозуміння. Але як усе це працює?
0:00:35.760,0:00:43.489
Як комп’ютери в усьому світі спілкуються між[br]собою? Ось наприклад перегляд веб-сторінок.
0:00:43.489,0:00:49.259
Спочатку ви відкриваєте веб-браузер, додаток,[br]який відкриває вам доступ до веб-сторінок.
0:00:49.259,0:00:55.899
Далі ви вводите веб-адресу або URL-адресу[br](Уніфікований локатор ресурсів) веб-сайту,
0:00:55.899,0:01:06.810
який ви хочете відвідати, як-от Tumblr.com.[br]Привіт! Я засновник Tumblr Девід Карп і сьогодні
0:01:06.810,0:01:12.560
ми подивимось, як працюють веб-браузери,[br]якими ми користуємось щодня. Ви, напевно,
0:01:12.560,0:01:16.350
замислювалися про те, що ж відбувається,[br]коли ви вводите адресу у веб-браузері
0:01:16.350,0:01:21.020
й натискаєте Enter. І це так само неймовірно,[br]як ви собі уявляєте. У цей момент ваш комп'ютер
0:01:21.020,0:01:25.930
починає спілкуватися з іншим комп'ютером,[br]який називається сервером, — зазвичай, за
0:01:25.930,0:01:32.450
тисячі миль. І через мілісекунди ваш комп'ютер[br]запитує в цього сервера про веб-сайт, і сервер
0:01:32.450,0:01:39.530
починає спілкуватися з вашим комп'ютером[br]мовою HTTP. HTTP розшифровується як
0:01:39.530,0:01:43.680
"протокол передачі гіпертекстових даних". Це[br]ніби мова, яку використовує один комп’ютер,
0:01:43.680,0:01:48.009
щоб запитати інший комп'ютер про дані. Це[br]взагалі дуже просто. Якщо б ви перехопили
0:01:48.009,0:01:52.540
розмову між вашим комп’ютером і веб-сервером[br]в інтернеті, вона, головним чином,
0:01:52.540,0:01:58.430
складалася б із запитів типу "GET". Це просто[br]слово "GET" і назва документа, який ви
0:01:58.430,0:02:03.420
запитуєте. Отже, якщо ви намагаєтесь увійти[br]в Tumblr і завантажити нашу сторінку входу,
0:02:03.420,0:02:07.720
все, що ви робите, — це надсилаєте запит[br]"GET" на сервер Tumblr, визначений як
0:02:07.720,0:02:14.920
"GET/login". Це повідомляє серверу Tumblr,[br]що вам потрібен весь HTML-код для сторінки
0:02:14.920,0:02:21.270
входу в Tumblr. HTML означає[br]"гіпертекстова мова опису документів",
0:02:21.270,0:02:26.470
і її можна вважати мовою, на якій ви говорите[br]веб-браузеру переглядати сторінку. Візьмемо
0:02:26.470,0:02:31.950
Вікіпедію. Насправді вона є просто великим[br]простим документом, а HTML — це мова,
0:02:31.950,0:02:35.630
якою ви користуєтесь, щоб зробити цей[br]заголовок великим і жирним, обрати шрифт,
0:02:35.630,0:02:42.920
прив’язати певний текст до певних сторінок,[br]зробити якийсь текст жирним, якийсь —
0:02:42.920,0:02:46.740
виділити курсивом. Поставити зображення[br]в середині сторінки, вирівняти зображення
0:02:46.740,0:02:52.990
праворуч або ліворуч. | Текст веб-сторінки[br]включений безпосередньо до HTML, але інші
0:02:52.990,0:02:58.380
частини, як-от зображення чи відео — це[br]окремі файли з власними URL-адресами, які
0:02:58.380,0:03:04.240
потрібно запитувати окремо. Браузер надсилає[br]спеціальні запити HTTP для кожного з них
0:03:04.240,0:03:11.150
і відображає їх по мірі надходження. Якщо[br]веб-сторінка має багато зображень, на кожне
0:03:11.150,0:03:19.590
буде окремий запит HTTP, і сторінка[br]завантажуватиметься повільніше. Іноді, коли ви
0:03:19.590,0:03:24.900
працюєте в інтернеті, ви не просто запитуєте[br]сторінки GET-запитами. Іноді ви надсилаєте
0:03:24.900,0:03:30.030
інформацію, як-от при заповненні форми або[br]введенні пошукового запиту. Ваш браузер надсилає
0:03:30.030,0:03:37.030
цю інформацію веб-серверу в простому тексті[br]за допомогою POST-запиту HTTP. Скажімо, ви
0:03:37.030,0:03:45.360
заходите на Tumblr. Спершу ви зробити запит POST,[br]тобто POST на сторінку входу в Tumblr, до якої
0:03:45.360,0:03:49.680
прикріплено певні дані. Тут є ваша електронна[br]пошта й пароль. Це йде до сервера Tumblr.
0:03:49.680,0:03:56.370
Сервер Tumblr упізнає вас як Девіда. Він[br]пересилає веб-сторінку назад у ваш браузер,
0:03:56.370,0:04:00.730
який говорить: Успішний вхід як "Девід"![br]Але до цієї веб-сторінки він також
0:04:00.730,0:04:07.000
прикріплює певні невидимі файли cookie,[br]які ваш браузер побачить і збереже.
0:04:07.000,0:04:13.240
Це дуже важливо, адже лише так веб-сайт[br]може запам'ятати, хто ви. Файли cookie, —
0:04:13.240,0:04:18.630
це ваше посвідчення особи для сайту Tumblr.[br]Це число, яке ідентифікує вас як Девіда. Ваш
0:04:18.630,0:04:23.670
веб-браузер запам'ятає це число, і наступного[br]разу, коли ви оновите Tumblr або перейдете
0:04:23.670,0:04:28.060
на Tumblr.com, ваш веб-браузер автоматично[br]прикріпить цей ідентифікаційний номер
0:04:28.060,0:04:32.380
до запиту, який він надсилає на сервери[br]Tumblr. Тепер сервери Tumblr бачать запит,
0:04:32.380,0:04:35.970
який надходить з вашого браузера, бачить[br]ідентифікаційний номер і розуміє:
0:04:35.970,0:04:43.940
"Це запит від Девіда". | Далі. Ми знаємо,[br]що інтернет повністю відкритий для всіх.
0:04:43.940,0:04:49.350
Усі з'вязки в ньому спільні, а інформація[br]передаєтсья простим текстом. Це дає
0:04:49.350,0:04:54.970
можливість хакерам викрасти будь-яку особисту[br]інформацію, яку ви надсилаєте через інтернет.
0:04:54.970,0:04:59.371
Але безпечні веб-сайти запобігають цьому,[br]вимагаючи від вашого браузера спілкуватися
0:04:59.371,0:05:04.872
на захищеному каналі, використовуючи так[br]званий "захищений сокет" (SSL), та його нащадок
0:05:04.872,0:05:12.958
"безпеку транспортного рівня" (TLS). SSL та TLS[br]є ніби шаром безпеки, в який загорнуті ваші
0:05:12.958,0:05:19.890
повідомлення, для їх захисту від крадіжки чи[br]підробки. SSL та TLS активні, коли ви бачите
0:05:19.890,0:05:27.440
замочок в адресному рядку браузера, поруч[br]із HTTPS. Протоколи HTTPS надають безпеку
0:05:27.440,0:05:34.180
й захист для ваших HTTP-запитів. Коли[br]веб-сайт просить ваш браузер встановити
0:05:34.180,0:05:39.910
захищене з'єднання, він спочатку надає[br]цифровий сертифікат. Це ніби офіційне
0:05:39.910,0:05:44.380
посвідчення особи, яке підтверджує, що це[br]справжній веб-сайт, а не імітація. Цифрові
0:05:44.380,0:05:49.900
сертифікати видаються органами сертифікації,[br]які є довіреними органами, що перевіряють
0:05:49.900,0:05:55.280
автентичність веб-сайтів і видають їм[br]сертифікати. Так само, як уряд видає посвідчення
0:05:55.280,0:06:01.030
особи чи паспорти. Якщо ж веб-сайт спробує[br]встановити безпечне з'єднання без дійсного
0:06:01.030,0:06:09.260
цифрового сертифіката, ваш браузер попередить[br]вас. Це основи перегляду веб-сторінок!
0:06:09.260,0:06:17.010
Цими процесами ми користуємось щодня.[br]Отож, HTTP та DNS керують надсиланням
0:06:17.010,0:06:24.400
і отриманням HTML, медіафайлів й усього іншого[br]в інтернеті. Це можливо лише завдяки мережам
0:06:24.400,0:06:30.240
TCP/IP та маршрутизаторам, які розбивають[br]і транспортують інформацію в невеликих
0:06:30.240,0:06:37.760
пакетах. Ці пакети складаються з бінарних[br]послідовностей з 1 і 0, які фізично передаються
0:06:37.760,0:06:42.750
через електричні дроти, волоконно-оптичні[br]кабелі й бездротові мережі.
0:06:42.750,0:06:46.850
На щастя, якщо ви розумієте, як працює[br]один шар Інтернету, ви можете покластися
0:06:46.850,0:06:52.620
на нього, не запам'ятовуючи всіх подробиць.[br]Ми знаємо, що всі ці шари працюватимуть разом,
0:06:52.620,0:06:58.850
щоб послідовно передавати інформацію[br]за принципами масштабування й надійності.