Як url ​​знає, на якому сервері він повинен працювати?


4

Мені було цікаво, що відбувається, коли ми набираємо URL-адресу http://www.mydomain.com ? Як він знає, куди піти, щоб отримати сторінки mydomain.com? Як усе це відбувається?


Чому проголосували? Це дуже Основне питання, але я не бачу нічого особливо неправильного з ним.

1
Я не голосував про це, але не зрозуміло, скільки деталей хоче ОП (і чи знають вони, що це дуже широке питання). Чи потрібно просто пояснити DNS? Маршрутизація? TCP?

Відповіді:


8

URL-адреса - це лише адреса, посилання. Так ось як це відбувається:

  1. користувач вводить URL у веб-переглядачі. Це відбувається за допомогою драйвера клавіатури, який надсилає події з клавіатури до веб-переглядача.
  2. браузер розбирає URL в різних частинах, як визначено RFC 3986
  3. переглядач вибирає хост-частину і використовує внутрішню бібліотеку резольверів для пошуку IP-адреси. Найбільш використовуваним резольвером є DNS . Для цього бібліотека резольвера, яка відображена всередині програми, зробить запит UDP на порт 53 на DNS-сервері, налаштованому для клієнтської машини. DNS-сервер буде шукати запит у внутрішньому кеші, а якщо він закінчився або відсутній, він зробить рекурсивний запит, намагаючись знайти адресу.
  4. браузер підключається до сервера HTTP за типовим портом (TCP / 80).
  5. браузер надсилає запит GET і вказує також заголовок HOST згідно з HTTP / 1.1 див RFC 2616
  6. сервер http розібратиме запит і відправити запит віртуальному хосту, вказаному в запиті
  7. додаток повертає згенерований вміст (зазвичай a HTML ) у веб-переглядачі
  8. браузер розбирає результат, генерує деякі JavaScript / Події DOM і відображає сторінку (наприклад, Gecko в FireFox).

Це дуже дуже скорочене пояснення. Я не кажу про SSL, стиснення, мови і кодування символів переговорів, аутентифікації, CGI, труби підкладки і Keep-alives.


Хіба не існує ніякої ролі DNS і провайдера в цьому?
OM The Eternity

DNS, як правило, використовується бібліотекою resolver для виклику gethostbyname () для перекладу з імен хостів до IP-адрес.
Mircea Vutcovici

ISP використовується на шарах OSI нижче TCP.
Mircea Vutcovici

Щоб зрозуміти, що відбувається, використовуйте мережевий сніфер, як Wireshark і HTTP-налагоджувальний проксі, як Fiddler
Mircea Vutcovici

Я опублікував це. Це детальна відповідь, але я не думаю, що це відповідь на те, чого насправді просить ОП. Схоже, що операційні системи після пояснення DNS, і ви роду пропустили, що в вашому кроці 3.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.