TGViewer
BlissCodeHub BlissCodeHub @blisscodehub · 159 subscribers
Post #51 475
#any #полезно

Собесился я как-то в фирму(штат 700+ человек). Формат мне понравился, вопросы классные, но я не об этом. А поведаю очень интересный вопрос (мне лично попался он только один раз за все собесы и могут его задать как фронту, так и бекендеру):
- "Что происходит, когда вводим домен в адресную строку и нажимаем enter ?"

Вот казалось бы, чел 3+ года опыта(накрученного), много чего успел потыкать и должен шарить за это. Но нет! Кое-что я упустил. 😤

А теперь давайте чуть подробнее разберу его тут, чтобы вы не совершали моих ошибок. 🧐

1. Разрешение DNS: Браузер проверяет, есть ли у него закэшированные записи DNS для введенного домена. Если записей нет, браузер отправляет запрос к DNS-серверу для получения IP-адреса, связанного с доменным именем. Этот процесс включает в себя взаимодействие с корневыми, TLD (top-level domain) и авторитативными DNS-серверами.

2. Установка TCP-соединения: Браузер инициирует трехэтапное рукопожатие TCP для установления надежного соединения с сервером, используя полученный IP-адрес и порт (обычно 80 для HTTP и 443 для HTTPS). Это включает в себя SYN, SYN-ACK и ACK пакеты для установления соединения.

3. Отправка HTTP-запроса: Браузер формирует HTTP-запрос, содержащий метод (GET, POST и т.д.), заголовки (User-Agent, Cookies, Accept, Host и другие) и URL-адрес. Затем он отправляет этот запрос на сервер через установленное TCP-соединение.

4. Обработка запроса сервером: Сервер анализирует HTTP-запрос, определяет целевой ресурс и обрабатывает запрос, используя серверное программное обеспечение (например, Apache, Nginx) и серверные скрипты (например, PHP, Python, Node.js). Сервер может также взаимодействовать с базами данных для извлечения или хранения данных.

5. Получение HTTP-ответа: Браузер получает HTTP-ответ от сервера, который содержит код состояния (200 OK, 404 Not Found и т.д.), заголовки ответа (Content-Type, Set-Cookie, Cache-Control и другие) и тело ответа (HTML, CSS, JavaScript и т.д.).

6. Рендеринг страницы: Браузер начинает обрабатывать полученный HTML-код, строит DOM-дерево, CSSOM-дерево и инициализирует JavaScript-контекст выполнения. Затем он осуществляет рендеринг страницы, применяя стили, выполняя JavaScript и создавая визуальное представление страницы.

7. Загрузка ресурсов: Браузер разбирает HTML-код и обнаруживает ссылки на внешние ресурсы (изображения, стили, скрипты), отправляя дополнительные HTTP-запросы на сервер для их загрузки. Этот процесс может включать параллельную загрузку и оптимизацию загрузки ресурсов.

8. Завершение загрузки: Браузер постепенно обновляет содержимое страницы по мере загрузки ресурсов, выполняет встроенные и внешние скрипты JavaScript и отображает все ресурсы, при этом учитывая их приоритеты и зависимости.

🟥 YouTube
™️ TikTok
⛩ Общий чат
🔵 Discord
  • 👍 5
More from @blisscodehub
  1. Nov 18, 2025Всех приветствую 🧐 Давно от нас не было новостей и постов в целом 😭 Как можно заметить,…
  2. Oct 11, 2025Спасибо, null, вот ваши NaN в валюте undefined 🤜
  3. Oct 6, 2025В Южной Корее парализована цифровая инфраструктура всего государства из-за пожара в дата-ц…
  4. Oct 2, 2025Норм в резюме такой бигтех поставить?
  5. Sep 20, 2025#backend #полезно Апдейты с предыдущего фидбека 🧐 🟣 Ситуация в backend (Golang/Node.js)…
  6. Sep 19, 2025#backend Всех приветствую🧐 Давно я вам ничего не рассказывал, и этот период был насыщен с…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →