Skip to content
Get App

Курс Тестирование ПО. Занятие 5.2. Что происходит при открытии сайта в браузере?

Лекция о том, что происходит в браузере при открытии сайта: DNS lookup, кэширование, HTTP-запрос к серверу, парсинг HTML и отрисовка страницы. Курс тестирования ПО, занятие 5.2.

Key Takeaways

  • Открытие страницы состоит из последовательных этапов: DNS lookup, кэширование, HTTP-запрос, парсинг и отрисовка.
  • Поведение кэша определяется HTTP-заголовками, которые присылает бэкенд.
  • Браузер загружает ресурсы по мере парсинга HTML, поэтому DevTools Network показывает реальную последовательность запросов.

What the video covers

  • Открытие сайта начинается с DNS lookup: поиск IP-адреса по доменному имени через кэш браузера, ОС и провайдера, затем через корневые и доменные DNS-серверы.
  • Браузер проверяет кэш; поведение зависит от заголовков ответа сервера (Cache-Control, ETag, Last-Modified, If-None-Match).
  • Далее браузер отправляет HTTP-запрос на сервер и получает ответ (статус, заголовки, тело в формате HTML/JSON/XML).
  • Ссылка на связь с предыдущими лекциями: клиент-серверная архитектура, протокол HTTP, форматы JSON и XML.
  • Парсинг HTML: браузер построчно, сверху вниз, читает разметку и, встречая ссылки на картинки, стили или скрипты, сразу отправляет запросы за ними.
  • Все эти запросы видны во вкладке Network в Chrome DevTools.
  • Отрисовка сайта: объединение HTML, CSS, шрифтов и данных в итоговую страницу.
  • На сервере запрос проходит через бэкенд, базу данных, кэш и сервисы, после чего возвращается ответ.
  • В конце лектор задаёт вопрос про ограничение числа параллельных соединений на домен в Chrome (шесть) и говорит, что это можно разобрать дома.

Answers

Questions about this video

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

Первым шагом выполняется DNS lookup: браузер ищет IP-адрес по доменному имени, сначала в собственном кэше, затем в кэше операционной системы и провайдера, после чего обращается к DNS-серверам.

От чего зависит, будет ли ресурс взят из кэша браузера?

Это зависит от HTTP-заголовков, пришедших с бэкенда, например Cache-Control, ETag, Last-Modified и If-None-Match.

Как браузер загружает картинки и стили страницы?

Браузер парсит HTML сверху вниз и, как только встречает ссылку на внешний ресурс, сразу отправляет за ним запрос. Эти запросы видны во вкладке Network в DevTools.

Full Transcript — Download SRT & Markdown

00:00
Speaker A
так что происходит в браузере, когда открываешься. Первое это DNS lookup. Помните, что вам рассказал первая лекция? Я вам тут про DNS и рисовал. Рут-домен, запускаю root. Root DNS-сервак topleveldomain, который ком или ру. Потом домен первого уровня, это уже домен нашего сайта. Домен второго уровня — это субдомен, и так далее. И помните, если не помните, то повторите дома.
00:34
Speaker A
первого уровня это уже домен нашего сайта домен второго уровня это суб домен и так далее и помните если не помните то повторите дома так андрюшка давайте ручку там же ты не шелестел тут ой хорошо этот весь процесс поиска
00:58
Speaker A
Так, Андрюшка, давайте ручку. Ты там же не шелестел тут? Ой, хорошо. Этот весь процесс поиска айпишника, она где на серваках называется DNS lookup. То есть помним: сначала в браузере ищет закэшированные DNS. Потом в операционной системе ищет закэшированные DNS. Вчера еще узнал, что есть еще кэш интернет-провайдера. DNS — это, куда маму, интересно.
01:16
Speaker A
это тоже опять же относится к той всей системе dns to play врут и так далее между собой не там общаются пиши рует это все отдельный с lookup называется первая лекция у нас было а давайте вульва наносить а схему
01:35
Speaker A
Это тоже опять же относится к той всей системе DNS, topleveldomain и так далее, между собой там общаются. Пиши, Рует. Это все отдельный DNS lookup называется. Первая лекция у нас было. А давайте вулв наносить схему. Уважуха, просто давая даже на камеру покажу такую схему.
02:02
Speaker A
красивый блокнот ладных а дебильные шуточки задача выполнилась они отлично все тихо 90 кап опять я сейчас как-то сразу в dns lookup залетел с ноги когда мы вводим ссылочку в браузере и нажимаем enter мы сейчас разбираем что происходит собираем кучу
02:27
Speaker A
На позиции хоть кто-то написал: на три кубов, матюков нет. А, Иван, привет. Это вообще не то. Вопрос какой? За DRYCELL есть? Ну, блокнот модный, не он, Silver. Ну, ну, красивый блокнот. Ладно, а дебильные шуточки... Задача выполнилась, они отлично, все тихо.
02:49
Speaker A
файле и уже как бы языка ш файла из каша файл подтянется у нас следующая это запрос на сервак потом идет вторая лекция чем у нас было клиент-серверная архитектура и 3 лекция неделю назад ваша любимая трех с половиной часовая про еще т.п. протокол
03:12
Speaker A
90 кап, опять я сейчас как-то сразу в DNS lookup залетел с ноги. Когда мы вводим ссылочку в браузере и нажимаем Enter, мы сейчас разбираем, что происходит. Собираем кучу. Ввели ссылочку, нажали Enter. DNS lookup, следующая. Есть, да. Тоже один из слуг, апатита красного показывать не буду. Это да. Проверка кэша браузера. Допустим, если мы HTML-страничку, ли CSS или картиночку грузим, помним, это лекция 4, прошлая лекция. Что она может быть закэширована на файле, и уже как бы языка, из кэша файл подтянется.
03:34
Speaker A
быть может не быть в браузере в зависимости от того какие хедер и пришли нам с бэг-энда помните кэш control и tec-it этаж который я назвал таки ещё там есть хадеры для кашира я о нет last-modified if i've на ночь
03:54
Speaker A
У нас следующая это запрос на сервак. Потом идет вторая лекция, чем у нас было клиент-серверная архитектура, и 3 лекция неделю назад, ваша любимая трехсполовинычасовая про HTTP, протокол. Запрос на сервак, потом ходит во влаге, что ответ сервака. Тоже лекция 2–3, уже помню. Речке, питом, методы, федры, статус, когда request, response, body, JSON. И там приходит все.
04:14
Speaker A
еще полчасика уделю на xml парсинг html это браузер можно сказать проходит по строчек а сверху вниз сверху вниз смотрит чё у нас там если видит какие-то скажем ссылки на внешние документы на картинке на стиле отправляют запросы то есть парсит как только встретил ссылочку
04:38
Speaker A
Следующая это может быть кэширование. Эта лекция 4, ты спишь. Кэширование может быть, может не быть в браузере, в зависимости от того, какие хедеры пришли нам с бэкенда. Помните Cache-Control и ETag, этаж, который я назвал. Там еще есть хедеры для кэширования. Last-Modified, If-None-Match. Что еще? Что-то типа того. Что-то типа кэшера.
05:08
Speaker A
ту тему более глубоко на отдельных лекциях сейчас все это вместе соберем будет классно так джейсон xml вспоминаем это у нас лекция 3 . 3 или 3 . 4 и последнее это происходит отрисовка сайта то что сегодня объяснял да вот у нас
05:34
Speaker A
Потом парсинг HTML. То, что мы сегодня немножко разобрали. В принципе, это можно уже на эту лекцию записать. Этот HTML, да. Чтобы его лишний раз не разбирать, мы так разобрали, что такое элементы. Может еще полчасика уделю на XML. Парсинг HTML — это браузер, можно сказать, проходит по строчкам, сверху вниз, сверху вниз, смотрит, что у нас там. Если видит какие-то, скажем, ссылки на внешние документы, на картинки, на стили, отправляет запросы. То есть парсит, как только встретил ссылочку, отправляет туда запрос. Все в Network-вкладке мы уже этот запрос увидим. Вот это и есть парсинг, и запросы отправляются.
06:02
Speaker A
отрисовка сайта принципе сегодня тоже разобрали как и шестой пункт парсинг html ну может еще вернемся так подвести итог еще раз повторить одно и то же и в принципе все все дома если я вам две недели назад рассказал вот это вот
06:18
Speaker A
Ну я на всякий случай оговорю, что все здесь, в этом списке, максимально просто, максимально упрощено. Там мы немножко заходили в ту и в ту тему более глубоко, на отдельных лекциях. Сейчас все это вместе соберем, будет классно. JSON, XML вспоминаем, это у нас лекция 3.3 или 3.4.
06:41
Speaker A
то что из этого строчки в резюме а кстати еще вася и модель можно дописать чего происходит на серваке вот мы когда отправляем запрос так даже вот этот пункт 3 запрос на сервер то есть вы помните мы на второй
07:00
Speaker A
И последнее: это происходит отрисовка сайта, то, что сегодня объяснял. Да, вот у нас есть HTML-файлик, как бы главный файл разметки, Markup Language, гипертекст-маркап. Потом туда же стили присоединяются, туда же шрифты, туда же данные подтягиваются, JSON, XML, данные, допустим, как рекомендация, вам показывал. И вот у нас происходит отрисовка сайта. Отрисовка сайта, в принципе, сегодня тоже разобрали, как и шестой пункт, парсинг HTML.
07:24
Speaker A
перезагрузили за беда селикавод все хорошо все отлично то есть если вот так вот мы отсюда перенесем сюда то в принципе мы уже половину прошли плюс дополнительно и дополнительно класс да да да сегодня даже кемаль css немножко затронули потому что не
07:51
Speaker A
Ну, может еще вернемся, подвести итог, еще раз повторить одно и то же. И в принципе, все, все дома. Если я вам две недели назад рассказал вот это вот сверху вниз, то вы такие: чего? А сейчас уже все такие умные, лица, все понятно. Максимально просто. Отлично, добавил я доллары. Сегодня смотрите, как мы классно прошли две темы. Chrome DevTools, очень важно, тем максимального. Вот эта строчка, вырежем. А еще одно то, что из этого, строчки в резюме. А кстати, еще, Вася, и модель можно дописать: что происходит на серваке. Вот мы, когда отправляем запрос, даже вот этот пункт 3, запрос на сервер. То есть вы помните, мы на второй лекции разбирали, что происходит на серваке, на первой лекции и на третьем этаже, и на четвертом. Запрос отправляется, там база, cache in memory, кэш и еще какие-то там сервисы на бэкенде, на серваке, и возвращается ответ.
08:11
Speaker A
занятие так что очень даже быстро ведем хорошо последние так по времени мы сегодня вложились отлично и последнее да она так просто да да посмотришь дамажить вопрос на 3 бакса вопрос мой отель баксов час просто 5 баксов вот вопрос на 5 баксов
08:45
Speaker A
Масштабировал acer в очко, вода в этом. Перезагрузили, за беда, селикавод. Все хорошо, все отлично. То есть если вот так вот мы отсюда перенесем сюда, то в принципе мы уже половину прошли, плюс дополнительно. И дополнительно класс, да, да, да. Сегодня даже CSS немножко затронули, потому что не получилось у меня от вас отмазаться. Это все в момент находится. И следующая тема, мы тоже так будем, допустим, там по две темы, братья. Там раз, потом не знаю, можем тут три темы сразу взять. Тут раз, две темы, задние за одно занятие. Так что очень даже быстро ведем. Хорошо.
09:09
Speaker A
вариант ну ну хорошим 6 коннектор на один домик еще варианты нет явно дожди 5 баксов лишнего не сработает дома посмотрите не обязательно 6 а почему не обязательно вот это можно будет дом разобрать это тоже а про круглый рис такой вопрос в
09:33
Speaker A
Последнее, так по времени мы сегодня вложились отлично. И последнее: да, она так просто, да, да. Посмотришь, дамажить вопрос на три бакса. Вопрос мой: отель баксов, час просто, пять баксов. Вот вопрос на пять баксов. Кто ответит, тому пять баксов. Сразу можете загуглить. Да, кто не знаю, 30 секунд дам. Больше ешь не выдержут. Это доллары, держать. О, наш пахнет на парней. Ок, хорошо. Один на один домен. Один, завтра какая версия HTTP? Тоже хороший вариант. Ну, ну, хорошим шесть коннектор на один домен. Еще варианты? Нет, явно дожди. Пять баксов лишнего не сработает. Дома посмотрите. Не обязательно шесть. А почему не обязательно? Вот это можно будет дома разобрать. Это тоже, а про круглый рис такой вопрос. В целого не евро два. Так что пять баксов ряд, да. Хорошо, да. В Хроме, кроме шести запросов на один домен, это чего? Последнее было. Опять же, версии Хрома меняются, разные операционной системы, поэтому тут гарантии нельзя давать. Такой вопрос подвохом, конечно, у нас да, да.
09:54
Speaker A
опять бокс отдавать не хочет вопрос на миллион поэтому ночью лужи ерлан на отвечу четкого вопроса ответа на этот вопрос нет потому что опять же если сейчас даже если этот видос сейчас выложу 2022 год час кроме 6 запросов через месяц уже 7 и запросов и все
10:17
Speaker A
Опять бокс отдавать не хочет. Вопрос на миллион. Поэтому ночью, лужи, Ерлан, не отвечу. Четкого вопроса, ответа на этот вопрос нет, потому что опять же, если сейчас даже этот видос выложу, 2022 год, час, кроме шести запросов, через месяц уже семь запросов, и все устаревшая информация максимально. Плюс Firefox, Mozilla, и так далее, могут. Opera, Opera вроде бы на движке Chrome, поэтому скорее всего там тоже есть такой запрос. Но есть где-то в интернете можно поискать, сколько список запросов. Поэтому если спрашивают на собеседовании, сколько параллельных запросов может отправиться, либо это можно как фишечку рассказать, что сейчас в Chrome шесть, просто затронуть эту тему. Но вообще там по-разному, как пойдет. Все. Вот вам и вопрос на миллион.
10:37
Speaker A
параллельны запросов может отправиться либо это можно как фишечку рассказать что сейчас в кроме 6 просто затронуть эту тему но вообще там по-разному как пойдет все вот вам и вопрос на миллион так смотрим как у нас эта лекция прошла
10:52
Speaker A
Так, смотрим, как у нас эта лекция прошла, и пилим еще одну фоточку. Сейчас сидим, не двигаемся.
Topics:DNS lookupбраузерHTTPкэшированиепарсинг HTMLотрисовка сайтаChrome DevToolsтестирование ПОклиент-серверная архитектура

Get More with the SozAI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries and speaker detection. 30 minutes free.

Or transcribe another YouTube video here →