Что точно происходит, когда Вы просматриваете веб-сайт в своем браузере?

То, что происходит негласно, когда мы вводим www.cnn.com в браузере и как делает информацию, отображено на экране?

Техническое объяснение высоко ценилось бы.

64
задан 10.07.2014, 08:43

8 ответов

Браузер: "Хорошо, таким образом, у меня есть пользователь, запрашивающий этот адрес: www.cnn.com. Я фигурирую, так как нет никаких наклонных черт или чего-либо, это - прямой запрос основной страницы. Не было также никакого протокола или определенного порта, таким образом, я предположу, что это - HTTP и собирающийся портировать 80..., о, хорошо, первые вещи сначала. Эй DNS, приятель, просыпается! Где этот www.cnn.com скрывается в?"

DNS: "Право... ожидает секунда, я спрошу серверы ISP. Хорошо, это похоже 157.166.226.25".

Браузер: "Хорошо. Семейство протоколов Интернета, Ваша очередь! Звоните 157.166.226.25. Отправьте им этот HTTP-заголовок. Это просит базовую структуру и содержание их основной страницы, таким образом, я знаю, что еще выбрать..., о, хорошо, не, что Вы заботились бы об этом, я предполагаю".

TCP/IP: "Что Вы имеете в виду мою очередь? Как я только отделывался от спины тут же для DNS? Бог, что это берет для получения небольшого количества оценки здесь..."

Браузер:...

TCP/IP: "Да, да... Соединение... Я просто попрошу, чтобы шлюз передал его. Вы знаете, это не все, что легкий, я должен буду разделить Ваш симпатичный запрос там на несколько частей, таким образом, это достигает конца, и соберите любой материал, который они передают обратно от всех тысяч пакетов, которые я получаю... ах, право, Вы не заботитесь. Иллюстрации".

Между тем, в главном офисе CNN, сообщение наконец заканчивается у двери веб-сервера.

Веб-сервер CNN: "Nzhôô! Клиент! Он хочет новости! Первая полоса! Как насчет него?"

Серверный Механизм выполнения сценария CNN: "Право, сделает! Первая полоса, правильно?"

Сервер базы данных CNN: "Yey! Работа для меня! В каком содержании Вы нуждаетесь?"

Серверный Механизм выполнения сценария CNN: "... гм, извините DB, у меня есть копия первой полосы прямо здесь в моем кэше, никакая потребность скомпилировать что-либо. Но эй, возьмите этот идентификатор пользователя и сохраните его, я отправлю его клиенту также, таким образом, мы будем знать, с кем мы говорим позже".

Сервер базы данных CNN: "Yey!"

Назад в компьютере пользователя...

TCP/IP: "Ooookay, здесь прибывает ответ. О, мальчик, почему у меня есть чувство, что это будет большим..."

Браузер: "Мм, ничего себе... это имеет все виды кода JavaScript... набор изображений, нескольких форм... Право, это будет требовать времени к рендерингу. Лучше доберитесь до него. Эй, система IP, существует набор больше материала, который необходимо будет получить. Давайте посмотрим, что я нуждаюсь в нескольких таблицах стилей из i.cdn.turner.com - через HTTP и прошу файл/cnn/.element/css/2.0/common.css. И затем получите некоторые из тех сценариев по i.cdn.turner.com также, я рассчитываю шесть до сих пор..."

TCP/IP: "Я получаю изображение. Просто дайте мне адреса сервера и все это. И перенесите тот материал файла в рамках Запроса HTTP, я не хочу иметь дело с ним".

DNS: "Проверяя i.cdn.turner.com... эй, бит мелочей, это на самом деле назвало cdn.cnn.com.c.footprint.net. IP 4.23.41.126"

Браузер: "Несомненно, уверенный... ожидают секунда, это возьмет некоторых национальная безопасность для обработки, я пытаюсь понять весь этот сценарий..."

TCP/IP: "Эй, вот CSS, который Вы попросили. О, и... да, те дополнительные сценарии также просто возвратились".

Браузер: "Ух, существует более... своего рода видео реклама!"

TCP/IP: "О, мальчик, что забава, которая походит..."

Браузер: "Существуют все виды изображений также! И этот CSS выглядит немного противным... право, поэтому если бы та часть идет туда и имеет эту строку наверху..., как же это соответствовало бы еще... не, я должен буду расширить это немного для создания его... О, но что другие переопределения файла CSS то правило... Ну, этот не собирается быть легкой частью для рендеринга, это наверняка!"

TCP/IP: "Хорошо, хорошо, прекратите отвлекать меня на секунду, существует много, чтобы сделать здесь все еще".

Браузер: "Пользователь, вот маленький отчет о выполнении работ для Вас. Извините, это все могло бы взять несколько secs, там похож на 140 различных элементов для загрузки, и идущий в 16 до сих пор".

Одну или две секунды спустя...

TCP/IP: "Хорошо, это должно быть всеми. Эй, послушайте... извините, я огрызался на Вас ранее, Вы справляющийся там? Это уверенное кажется как вполне загрузка для Вас также".

Браузер: "Уф, да, это - все эти веб-сайты в наше время, они уверенный не помогают Вам. Ну, я справлюсь. Это - то, для чего я здесь".

TCP/IP: "Я предполагаю, что это довольно тяжело для всех нас в эти дни..., о, прекратите злорадствовать там DNS!"

Браузер: "Эй пользователь! Готовый веб-сайт - идет, получают Ваши новости!"

134
ответ дан 07.12.2019, 08:15
  • 1
    @dex:... и по сей день они все еще идут сильные, разбираясь во всех причудливых запросах пользователя с усердием, достойным похвалы в книгах истории. Но, как все вещи, однажды это будет их время для ухода в отставку в устаревание, корректно пробиваясь к более современным подходам, которым удовлетворяют в течение более современных времен. Но уверьте, что они всегда будут там, в нашем наследии, смотрящем с понимающей улыбкой и передающем будущим поколениям все тяжелые уроки, которые они извлекли в течение этих вибрирующих времен появляющейся интернет-связи. – Ilari Kajaste 09.09.2009, 15:35

Как сеть работает: HTTP и CGI объяснены

Также большое объяснение от CERN - alma mater сети: Как сеть работает

enter image description here

20
ответ дан 07.12.2019, 08:15
  • Браузер разделяет то, что Вы вводите (URL) в имя хоста и путь.
  • Браузер формирует Запрос HTTP для просьбы данные в данном имени хоста и пути.
  • Браузер выполняет поиск DNS для разрешения имени хоста в IP-адрес.
  • Браузер формирует соединение TCP/IP с компьютером, указанным через IP-адрес. (Это соединение на самом деле формируется из многих компьютеров, каждый передающий данные следующему.)
  • Браузер отправляет Запросу HTTP вниз соединение с данным IP-адресом.
  • Тот компьютер получает Запрос HTTP от соединения TCP/IP и передает его программе веб-сервера.
  • Веб-сервер читает имя хоста и путь и находит или генерирует данные, которые Вы попросили.
  • Веб-сервер генерирует ответ HTTP, содержащий те данные.
  • Веб-сервер передает тот ответ HTTP обратно вниз соединение TCP/IP с Вашей машиной.
  • Браузер получает ответ HTTP и разделяет его на заголовки (описание данных) и тело (сами данные).
  • Браузер интерпретирует данные, чтобы решить, как отобразить его в браузере - обычно это - данные HTML, которые указывают типы информации и их общей формы.
  • Некоторые данные будут метаданными, которые указывают дальнейшие ресурсы, которые должны быть загружены, такие как таблицы стилей для подробного расположения, или встроенные изображения или фильмы Flash. Эти метаданные указаны снова как URL и этот целый процесс повторения для каждого, пока все не загружаются.
18
ответ дан 07.12.2019, 08:15

Первым шагом является DNS (Сервер доменных имен) поиск. Это использует серверы DNS, указанные в Ваших параметрах сети (или данный Вам DHCP) к поиску главный домен (cnn.com), и затем попросите, чтобы сервер имен домена для IP-адреса субдомена указал (www.cnn.com).

После того, как это будет иметь IP-адрес, Ваш браузер начинают связь с веб-сервером. Это сделано с помощью указанного протокола (который обычно значения по умолчанию к HTTP 1.1). 'ПОЛУЧИТЬ' запрос на '/' выполнен к серверу, который отвечает содержанием документа HTML и соответствующими заголовками (которые говорят браузер типа контента документа, HTML и другой информации). Затем браузер анализирует документ и находит любые URL, которые он должен встроить в страницу (как изображения или связанные таблицы стилей) и действительно ПОЛУЧАЕТ запросы на каждом из тех.

Браузер также обычно автоматически выполняет ПОЛУЧИТЬ запрос на '/favicon.ico' (для отображения небольшого значка CNN рядом с заголовком сайта).

Ваш браузер также, вероятно, укажет в его заголовках запроса, что хочет, чтобы контент ответа был сжат, с помощью gzip алгоритма. Это делает загрузку файла намного меньшей, если сервер поддерживает ее. Это все очевидно для Вас, даже при том, что это похоже на загрузку zip-файла и разархивацию его.

При перезагрузке страницы, проверки браузера, если та страница уже кэшируется в системе, и если так, она делает Запрос HTTP только для заголовка документа и проверяет его измененную дату. Если эта дата позже, чем ее кэшируемая копия, она запрашивает полное содержание документа снова и обновляет страницу. Иначе это просто использует Вашу локальную копию.

12
ответ дан 07.12.2019, 08:15

Отсутствие так далеко от других ответов - то, что происходит на стороне CNN:

  • Машина в CNN получает сообщение от Вашего компьютера, просящего страницу.
  • Это перенаправляет этот запрос к одному из многих компьютеров, которые CNN использует для его веб-сайта (причина этого состоит в том, что, этот путь, можно распространить работу соединения веб-страниц ответа по многим компьютерам),
  • Компьютер CNN получает Ваш запрос, и он отвечает веб-страницей, это, вероятно, почти полностью предварительно вычисляется, но возможно он изменит несколько вещей прежде, чем отправить, это Вам (могла быть реклама наверху, возможно, заголовки новостей). Иногда компьютеры собирают страницу от большого количества маленьких компонентов каждый раз, когда они получают запрос; не уверенный, что делает CNN
  • ответ пробивается через сеть к Вашему компьютеру, который затем отображает его.
  • ответ не включал изображения: Ваш компьютер затем отправляет другой запрос для изображений, и в значительной степени тот же сценарий происходит.
8
ответ дан 07.12.2019, 08:15

Информация, которую Вы просто спросили, могла заполнить пару дюжины книг. Но вот моя попытка объяснить это: Ваш браузер говорит Вашей ОС находить IP-адрес cnn.com. Затем Ваша ОС просит у сервера DNS IP-адрес для cnn.com. IP отправляется в broswer, который связывается с IP-адресом и запрашивает страницу. cnn.com затем отправляет Вас и страницу HTML. Браузеры анализируют HTML и отправляют информацию на рендерер HTML. Браузер затем говорит ОС, что отобразиться на экране.

1
ответ дан 07.12.2019, 08:15

У Jeff Moser был превосходный технический анализ Запроса HTTPS на его блоге: Первые несколько Миллисекунд Подключения HTTPS.

1
ответ дан 07.12.2019, 08:15

Существует действительно прохладное видео "MIT Sendung der Maus" (очень популярный немецкий детский сериал, который объясняет технологию для детей):

Умрите MIT Sendung der Maus - Интернет десяти кубометров Wie funktioniert (Как Интернет работает).

На немецком языке только, к сожалению, но забавный даже w/o текст. Мужчины с забавными шлемами играют пакеты IP, и данные записаны на бумажные карты. Классик :-).

BTW, объяснения на самом деле довольно хороши.

1
ответ дан 07.12.2019, 08:15

Очевидно, что это не техническое объяснение, но это симпатичное визуальное пособие (от отличного Vladstudio.com), которое может быть полезно некоторым:

How Internet Works

6
ответ дан 07.12.2019, 08:15

Теги

Похожие вопросы