Что именно происходит при просмотре веб-сайта в вашем браузере?

Что происходит за кулисами при вводе www.cnn.com в браузере и как информация выводится на экран?

Техническое объяснение будет высоко оценено.

9 Solutions collect form web for “Что именно происходит при просмотре веб-сайта в вашем браузере?”

Браузер: «Итак, у меня есть пользователь, запрашивающий этот адрес: http://www.cnn.com. Я считаю, что нет никаких косых черт или чего-то еще, это прямой запрос на главную страницу. Также не было определено ни протокол, ни порт, Так что я буду считать, что это HTTP и собирается порт 80 … о, ну, в первую очередь. Эй, DNS, приятель, проснись! Куда это скрывает сайт http://www.cnn.com?

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

Браузер: «Хорошо, Internet Protocol Suite, по очереди! Вызовите 157.166.226.25, отправьте им этот HTTP-заголовок. Он просит основную структуру и содержимое своей главной страницы, чтобы я знал, что еще можно получить … ну, Не так, как вы думаете.

TCP / IP: «Что ты имеешь в виду под моим ходом ? Как будто я просто не работал с моей спиной прямо для DNS? Боже, что нужно, чтобы получить здесь немного благодарности …»

Браузер:

TCP / IP: «Да, да … Подключение … Я просто попрошу, чтобы шлюз отправил его. Знаете, все не так просто, мне придется разделить ваш красивый запрос на несколько частей Поэтому он достигает конца и собирает все, что они отправляют обратно со всех тысяч пакетов, которые я получаю … ах, да, вам все равно. Цифры ».

Между тем, в штаб-квартире CNN сообщение наконец попадает в дверь веб-сервера.

Веб-сервер CNN: «Nzhôô! Клиент! Он хочет новостей! Передняя страница! Как насчет этого?»

CNN Server Side Script Engine: «Правильно, сделаем! Главная страница, правильно?»

Сервер базы данных CNN: «Эй, работайте со мной! Какое содержимое вам нужно?»

CNN Server Side Script Engine: «… um, извините DB, у меня есть копия первой страницы прямо здесь, в моем кеше, нет необходимости компилировать что-либо. Но эй, возьмите этот идентификатор пользователя и сохраните его, я отправлю его К клиенту тоже, поэтому мы знаем, с кем мы разговариваем позже ».

Сервер базы данных CNN: «Эй!»

Вернитесь на компьютер пользователя …

TCP / IP: «Оуокей, вот ответ. О, мальчик, почему у меня такое чувство, что это будет большой …»

Браузер: «Ух, ничего себе … у этого есть все виды кода 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 выглядит немного противно … правильно, поэтому, если эта часть идет туда, и эта строка наверху … как бы это было больше … no , Мне придется немного растянуть это, чтобы сделать это … О, но этот другой файл CSS переопределяет это правило … Ну, это не будет простой частью для рендеринга, это точно! "

TCP / IP: «Ок, ок, перестаньте отвлекать меня на секунду, здесь еще многое предстоит сделать».

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

Через одну-две секунды …

TCP / IP: «Хорошо, все должно быть. Эй, слушай … извини, что я обрушился на тебя раньше, ты управляешь там? Это наверняка кажется для тебя тоже большой нагрузкой».

Браузер: «Пью, да, сейчас все эти веб-сайты, они, конечно, не облегчают тебе. Хорошо, я справимся. Это то, для чего я здесь».

TCP / IP: «Наверное, в наши дни это очень тяжело для всех нас … о, перестань злорадствовать там DNS!»

Браузер: «Привет, пользователь! Готовый сайт – отправляй новости!»

Как работает веб-сайт: HTTP и CGI объясняют

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

Введите описание изображения здесь

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

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

После того, как у него есть IP-адрес, ваш браузер начнет связь с веб-сервером. Это делается с использованием указанного протокола (который обычно по умолчанию соответствует HTTP 1.1). На сервер отправляется запрос «GET» для «/», который отвечает содержимым документа HTML и соответствующими заголовками (которые сообщают браузеру о типе содержимого документа, HTML и другой информации). Затем браузер анализирует документ и находит любые URL-адреса, которые он должен встраивать в страницу (например, изображения или связанные таблицы стилей) и выполняет GET-запросы по каждому из них.

Браузер также обычно автоматически делает запрос GET для «/favicon.ico» (для отображения маленького значка CNN рядом с названием сайта).

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

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

Отсутствие до сих пор других ответов – это то, что происходит со стороны CNN:

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

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

Как работает Интернет

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

Джефф Мозер имел отличный технический анализ запроса HTTPS в своем блоге: «Первые несколько миллисекунд» соединения HTTPS .

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

Die Sendung mit der Maus – Wie funktioniert das Internet (Как работает Интернет).

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

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

  • Левое поведение проводника Windows в Windows 7
  • Браузеры игнорируют файл hosts
  • Просмотр мобильных веб-сайтов с рабочего стола / ноутбука
  • Сохраните веб-сайт, содержащий javascript после его интерпретации
  • Как найти браузер по умолчанию в окне реестра 7
  • Как просмотреть кэшированную веб-страницу Chrome?
  • Firefox - мой браузер по умолчанию, но я хочу, чтобы ссылки в электронной почте Outlook открывались в IE?
  • Как искать текст во всех вкладках в Firefox?
  • Почему некоторые загружаемые файлы не знают своего размера?
  • Ctrl + F5 против Ctrl + R (в браузере)
  • Для чего используется домен «safebrowsing-cache.google.com»?
  • Interesting Posts

    Бесплатно, светодиодный индикатор мигания на ноутбуке Lenovo Y50

    Почему маски подсети имеют значение для отдельного компьютера в сети?

    USB -> PS2 -> USB -> флэш-накопитель -> WTF?

    Почему не работает +++++ b?

    Буквенное письмо с данным файлом в пакете окон

    Передача значений между Windows Forms c #

    Любое бесплатное программное обеспечение для создания платной WIFI-точки доступа?

    Можно ли смешивать DDR2 533 с DDR2 800 в той же системе?

    Linux эквивалентен robocopy?

    LICEcap не соблюдает высокие настройки DPI в Windows 8 и 10

    Преобразования Java – char, int

    Сообщать об ошибке при попытке изменить файл .vimrc?

    Свяжите новую запись с существующей формой

    Могу ли я использовать Aero-привязку к верхнему / нижнему, а не влево / вправо при использовании режима портретного отображения для монитора?

    Какие свойства теряются, когда окна говорят, что у x.jpg есть свойства, которые нельзя скопировать в новое местоположение

    Давайте будем гением компьютера.