-
Інтернет: HTTP та HTML
-
Я Жасмін Лоуренс, і я керівник групи
проектів команди розробки XBox One.
-
Один з наших найбільших проектів —
XBox Live. Це онлайн-сервіс, який з'єднує
-
геймерів з усього світу, і цей зв'язок нам надає
інтернет. Це непросте завдання, і багато
-
процесів відбувається "за лаштунками".
Завдяки інтернету людство кардинально
-
змінило своє спілкування і способи
взаєморозуміння. Але як усе це працює?
-
Як комп’ютери в усьому світі спілкуються між
собою? Ось наприклад перегляд веб-сторінок.
-
Спочатку ви відкриваєте веб-браузер, додаток,
який відкриває вам доступ до веб-сторінок.
-
Далі ви вводите веб-адресу або URL-адресу
(Уніфікований локатор ресурсів) веб-сайту,
-
який ви хочете відвідати, як-от Tumblr.com.
Привіт! Я засновник Tumblr Девід Карп і сьогодні
-
ми подивимось, як працюють веб-браузери,
якими ми користуємось щодня. Ви, напевно,
-
замислювалися про те, що ж відбувається,
коли ви вводите адресу у веб-браузері
-
й натискаєте Enter. І це так само неймовірно,
як ви собі уявляєте. У цей момент ваш комп'ютер
-
починає спілкуватися з іншим комп'ютером,
який називається сервером, — зазвичай, за
-
тисячі миль. І через мілісекунди ваш комп'ютер
запитує в цього сервера про веб-сайт, і сервер
-
починає спілкуватися з вашим комп'ютером
мовою HTTP. HTTP розшифровується як
-
"протокол передачі гіпертекстових даних". Це
ніби мова, яку використовує один комп’ютер,
-
щоб запитати інший комп'ютер про дані. Це
взагалі дуже просто. Якщо б ви перехопили
-
розмову між вашим комп’ютером і веб-сервером
в інтернеті, вона, головним чином,
-
складалася б із запитів типу "GET". Це просто
слово "GET" і назва документа, який ви
-
запитуєте. Отже, якщо ви намагаєтесь увійти
в Tumblr і завантажити нашу сторінку входу,
-
все, що ви робите, — це надсилаєте запит
"GET" на сервер Tumblr, визначений як
-
"GET/login". Це повідомляє серверу Tumblr,
що вам потрібен весь HTML-код для сторінки
-
входу в Tumblr. HTML означає
"гіпертекстова мова опису документів",
-
і її можна вважати мовою, на якій ви говорите
веб-браузеру переглядати сторінку. Візьмемо
-
Вікіпедію. Насправді вона є просто великим
простим документом, а HTML — це мова,
-
якою ви користуєтесь, щоб зробити цей
заголовок великим і жирним, обрати шрифт,
-
прив’язати певний текст до певних сторінок,
зробити якийсь текст жирним, якийсь —
-
виділити курсивом. Поставити зображення
в середині сторінки, вирівняти зображення
-
праворуч або ліворуч. | Текст веб-сторінки
включений безпосередньо до HTML, але інші
-
частини, як-от зображення чи відео — це
окремі файли з власними URL-адресами, які
-
потрібно запитувати окремо. Браузер надсилає
спеціальні запити HTTP для кожного з них
-
і відображає їх по мірі надходження. Якщо
веб-сторінка має багато зображень, на кожне
-
буде окремий запит HTTP, і сторінка
завантажуватиметься повільніше. Іноді, коли ви
-
працюєте в інтернеті, ви не просто запитуєте
сторінки GET-запитами. Іноді ви надсилаєте
-
інформацію, як-от при заповненні форми або
введенні пошукового запиту. Ваш браузер надсилає
-
цю інформацію веб-серверу в простому тексті
за допомогою POST-запиту HTTP. Скажімо, ви
-
заходите на Tumblr. Спершу ви зробити запит POST,
тобто POST на сторінку входу в Tumblr, до якої
-
прикріплено певні дані. Тут є ваша електронна
пошта й пароль. Це йде до сервера Tumblr.
-
Сервер Tumblr упізнає вас як Девіда. Він
пересилає веб-сторінку назад у ваш браузер,
-
який говорить: Успішний вхід як "Девід"!
Але до цієї веб-сторінки він також
-
прикріплює певні невидимі файли cookie,
які ваш браузер побачить і збереже.
-
Це дуже важливо, адже лише так веб-сайт
може запам'ятати, хто ви. Файли cookie, —
-
це ваше посвідчення особи для сайту Tumblr.
Це число, яке ідентифікує вас як Девіда. Ваш
-
веб-браузер запам'ятає це число, і наступного
разу, коли ви оновите Tumblr або перейдете
-
на Tumblr.com, ваш веб-браузер автоматично
прикріпить цей ідентифікаційний номер
-
до запиту, який він надсилає на сервери
Tumblr. Тепер сервери Tumblr бачать запит,
-
який надходить з вашого браузера, бачить
ідентифікаційний номер і розуміє:
-
"Це запит від Девіда". | Далі. Ми знаємо,
що інтернет повністю відкритий для всіх.
-
Усі з'вязки в ньому спільні, а інформація
передаєтсья простим текстом. Це дає
-
можливість хакерам викрасти будь-яку особисту
інформацію, яку ви надсилаєте через інтернет.
-
Але безпечні веб-сайти запобігають цьому,
вимагаючи від вашого браузера спілкуватися
-
на захищеному каналі, використовуючи так
званий "захищений сокет" (SSL), та його нащадок
-
"безпеку транспортного рівня" (TLS). SSL та TLS
є ніби шаром безпеки, в який загорнуті ваші
-
повідомлення, для їх захисту від крадіжки чи
підробки. SSL та TLS активні, коли ви бачите
-
замочок в адресному рядку браузера, поруч
із HTTPS. Протоколи HTTPS надають безпеку
-
й захист для ваших HTTP-запитів. Коли
веб-сайт просить ваш браузер встановити
-
захищене з'єднання, він спочатку надає
цифровий сертифікат. Це ніби офіційне
-
посвідчення особи, яке підтверджує, що це
справжній веб-сайт, а не імітація. Цифрові
-
сертифікати видаються органами сертифікації,
які є довіреними органами, що перевіряють
-
автентичність веб-сайтів і видають їм
сертифікати. Так само, як уряд видає посвідчення
-
особи чи паспорти. Якщо ж веб-сайт спробує
встановити безпечне з'єднання без дійсного
-
цифрового сертифіката, ваш браузер попередить
вас. Це основи перегляду веб-сторінок!
-
Цими процесами ми користуємось щодня.
Отож, HTTP та DNS керують надсиланням
-
і отриманням HTML, медіафайлів й усього іншого
в інтернеті. Це можливо лише завдяки мережам
-
TCP/IP та маршрутизаторам, які розбивають
і транспортують інформацію в невеликих
-
пакетах. Ці пакети складаються з бінарних
послідовностей з 1 і 0, які фізично передаються
-
через електричні дроти, волоконно-оптичні
кабелі й бездротові мережі.
-
На щастя, якщо ви розумієте, як працює
один шар Інтернету, ви можете покластися
-
на нього, не запам'ятовуючи всіх подробиць.
Ми знаємо, що всі ці шари працюватимуть разом,
-
щоб послідовно передавати інформацію
за принципами масштабування й надійності.