Коли ви заходите на вебсайт на кшталт www.google.com, чи здивуєтеся ви, дізнавшись, що URL-адреса насправді не є адресою вебсайту?
"Під капотом" відбувається певна робота, яка гарантує, що коли ви вводите зрозуміле для людини ім'я, наприклад, Google, воно перенаправляє вас на той вебсайт, який ви очікуєте побачити.
Отже, що відбувається під капотом?
Що таке URL-адреси?
Можливо, ви знаєте, що таке URL-адреса. Це просте посилання на частину контенту в Інтернеті. Люди використовують URL-адреси щодня, щоб ділитися відео, зображеннями, сайтами, статтями - майже всім, що є в Інтернеті.
URL - це абревіатура від Uniform Resource Locator (уніфікований покажчик ресурсів), і ми можемо розбити їх на кілька менших "частин". Ось з чого складається стандартна URL-адреса:
Анатомія URL-адреси із зазначенням схеми, доменного імені, шляху та параметрів
URL - це просто адреса ресурсу. Ресурси відрізняються, як ми вже обговорювали, але це просто вказівники в Інтернеті, які приведуть вас до контенту, який ви хочете переглянути.
Як ви можете бачити на схемі вище, URL-адреса часто розбивається на частини:
Схема: це протокол, який браузер використовує для доступу до вашого вмісту. Зазвичай для вебсайтів це HTTP (незахищений) або HTTPS (захищений). Доменне ім'я: ім'я вебсайту (тут "www.google.com") Порт: мережевий порт (у цьому прикладі 80) Шлях: шлях до певного ресурсу на сервері Параметри: часто пари ключ-значення для передачі додаткових даних на сервер.
Що таке IP-адреса?
Люди та комп'ютери по-різному орієнтуються в Інтернеті. У той час як більшість людей використовують URL-адреси, як ми щойно обговорювали, для комунікації між комп'ютерами комп'ютери використовують Інтернет-протокол (IP).
IP - це набір правил, які спрямовують і адресують пакети даних (всі дані, які ви хочете переглянути), щоб переконатися, що вони надійдуть на ваш комп'ютер.
Інтернет-протокол спирається на пристрої та домени, кожен з яких має власну IP-адресу для з'єднання та ідентифікації різних сегментів (пакетів!) Інтернету.
IP-адреса - це серія стандартизованих чисел в діапазоні від 0 до 255, розділених крапками.
Якщо ви хочете побачити IP-адреси в дії та знайомі з терміналами, ви можете набрати ping google.com на будь-якому терміналі, і ви побачите IP-адресу Google.com.
Знімок екрана з термінала PowerShell, на якому показано команду ping на 216.58.212.206 і 0% втрат пакетів.
Ви можете перевірити це ще раз, набравши 216.58.212.206 безпосередньо у своєму браузері та подивитися, чи перенаправляє він вас до Google.
Сподіваємося, цей невеликий приклад підкреслює, чому ми використовуємо URL-адреси. Якщо обидві адреси (IP-адреса і доменне ім'я) приведуть вас в одне і те ж місце, що вам краще запам'ятати: Google.com чи 216.58.212.206?
Зверніть увагу, що деякі IP-адреси змінюються щодня (так звані динамічні IP-адреси) - тому наведена вище IP-адреса може не працювати, залежно від того, чи є вона динамічною або статичною.
Статичні IP-адреси - це ті, що не змінюються, але призначати єдину IP-адресу кожній машині було б непрактично. Це було б також логістичним кошмаром, оскільки деякі люди заходять на комп'ютер лише раз на місяць, щоб, наприклад, відправити електронного листа.
Ми цілком реально могли б зіткнутися з проблемою нестачі IP-адрес за нинішніх технологій, якби надавали кожному пристрою унікальну IP-адресу.
Що таке DNS? Якщо ми знаємо, що комп'ютери спілкуються через Інтернет-протокол і використовують IP-адреси, як перетворити google.com на вебсайт, який ми використовуємо так регулярно?
Відповідь - за допомогою системи доменних імен (DNS). Завданням системи доменних імен є перетворення доменних імен, які читаються людиною, на IP-адреси.
Існує чотири сервери, про які ми зараз поговоримо.
DNS-рекурсор
DNS-рекурсор схожий на офіціанта в ресторані. Він діє як "фасадна" частина системи для отримання замовлень (зазвичай від браузерів), після чого офіціант йде в підсобне приміщення, щоб отримати те, що потрібно.
Насправді це просто сервер, який отримує DNS-запити від браузерів і повертає інформацію.
Існує 3 різних місця, звідки DNS-рекурсор може отримати інформацію, залежно від того, чи були кешовані якісь дані:
Кореневий сервер імен
Сервер імен TLD (Top Level Domain - домен верхнього рівня) Авторитетний сервер імен
Обговоримо їх по черзі.
Що таке кореневий сервер імен?
Основне завдання кореневого сервера імен - повертати сервер домену верхнього рівня (TLD).
Це важливий крок для відображення імен вузлів в IP-адреси.
Кореневий сервер імен по суті діє як каталог, який вказує на більш конкретні місця.
Що таке сервер домену верхнього рівня (TLD)? Якщо кореневий сервер імен працює як каталог, то сервер верхнього рівня - як сторінка в каталозі.
Сервер верхнього рівня зазвичай повертає кінцеву частину імені вузла, наприклад, com, як у "google.com".
Що таке авторитетний сервер імен?
Цей сервер схожий на запис у рядку на певній сторінці каталогу.
Тепер авторитетний сервер імен може повернути IP-адресу для запитуваного браузером імені вузла назад до рекурсора DNS, який може передати її назад браузеру.
DNS може бути дуже заплутаним, і щоб зрозуміти весь процес, може знадобитися деякий час, тому закінчимо розповідь на останньому прикладі.
Приклад запиту
Розберімо приклад запиту від користувача і, сподіваємося, зв'яжемо воєдино цей досить складний процес.
Кожен крок у потоці починає все ближче і ближче підводити до кінцевої адреси, за якою користувач врешті-решт потрапить на сайт.
Діаграма, що показує кроки в процесі обробки запиту
Давайте розберемо, що відбувається на цій діаграмі:
Крок 1: Користувач вводить 'kealanparr.com' у своєму браузері, і запит потрапляє до DNS-рекурсора.
Крок 2: Рекурсор DNS запитує кореневий сервер імен
Крок 3: Кореневий сервер імен відповідає DNS-рекурсору адресою сервера домену верхнього рівня (TLD), наприклад, .com.
Крок 4: Рекурсор DNS надсилає запит до домену верхнього рівня .com.
Крок 5: Сервер верхнього рівня .com відповідає IP-адресою сервера імен домену kealanparr.com.
Крок 6: DNS-рекурсор надсилає запит до сервера імен домену.
Крок 7: IP-адреса kealanparr.com повертається з сервера імен домену до резольвера.
Крок 8: DNS-рекурсор відповідає на запит браузера з IP-адресою запитуваного домену.
Крок 9: На цьому етапі пошук DNS повернув достатньо даних для того, щоб браузер міг зробити запит на веб-сторінку.
- Браузер надсилає HTTP-запит до IP-адреси.
- Сервер за цією IP-адресою повертає вміст веб-сторінки для відображення в браузері.
Висновок
Я сподіваюся, що ця стаття допомогла вам зрозуміти кілька основних мережевих принципів, які впливають на роботу веб-сайтів, якими ви користуєтеся щодня.
IP-адреси, DNS і багато іншого - це технології, які більшість людей використовують щодня, але можуть бути не дуже добре з ними знайомі.
Ще немає коментарів