BlissCodeHub

BlissCodeHub 

Помогаем в IT 🧐

0subscribers

33posts

Собесился я как-то в крупную фирму(штат 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 и отображает все ресурсы, при этом учитывая их приоритеты и зависимости.

Присоединяйтесь к нашему общему
чату и Discord серверу :)
Subscription levels2

Bliss Scout

$6.4 per month
• Доступ к закрытому чату с топикам;
• Доступ к базе знаний;
• Подписка на ежедневную рассылку задач по программированию;
• Доступ к ревью резюме при помощи кастомных промптов (ChatGPT-4o, 6 запросов в месяц);
• Тематические созвоны с админами раз в месяц;
• Доступ к базе решений с реальных проектов (8 попыток поиска в месяц);
• Генерация задач по заданной теме (2 задачи в день);
• Генерация достижений для резюме по направлениям Frontend / Backend (6 запросов в месяц).

Bliss Ranger

$12.7 per month
Все бонусы уровня "Bliss Scout"
+
• Доступ к ревью резюме при помощи кастомных промптов (ChatGPT-4o, 16 запросов в месяц);
• Тематические созвоны с админами 3 раза в месяц;
• Доступ к базе решений с реальных проектов (20 попыток поиска в месяц);
• Генерация задач по заданной теме (5 задач в день);
• Генерация достижений для резюме по направлениям Frontend / Backend (24 запросов в месяц);
• Индивидуальные созвоны с админами 2 раза в месяц.
Go up