Middle
Šta se dešava kada unesete adresu google.com u pretraživač?
sobes.tech АИ
Одговор од АИ
- Парсирање URL-а: Прегледач анализира унете URL, одређујући протокол (HTTPS), домен име (google.com) и порт (подразумевано 443 за HTTPS).
- Провера у кешу: Прегледач проверава свој DNS кеш да пронађе IP адресу која одговара google.com.
- Захтев према Resolver-у: Ако у кешу нема записа, прегледач тражи IP адресу од DNS резолвера подешеног у оперативном систему.
- Рекурзивни DNS захтев:
- Резолвер пита коренске DNS сервере.
- Коренски сервери указују на TLD сервере за
.com. - TLD сервери за
.comуказују на ауторитативне DNS сервере за google.com. - Ауторитативни DNS сервери за google.com враћају IP адресу(е) веб-сервера Google.
- Успостављање TCP везе (SYN/ACK): Прегледач иницира TCP везу са добијеном IP адресом, користећи тространо руковање (SYN, SYN-ACK, ACK).
// Клијент --> Сервер: SYN // Сервер --> Клијент: SYN-ACK // Клијент --> Сервер: ACK - Успостављање TLS/SSL везе: Пошто је у питању HTTPS, врши се TLS/SSL руковање за успостављање сигурне, шифроване везе. Обе стране размењују сертификате и генеришу сесијске кључеве.
- Пошаљи HTTP/S захтев: Прегледач шаље GET захтев на сервер Google за добијање главне странице.
GET / HTTP/1.1 Host: google.com User-Agent: <информације о прегледачу> Accept: text/html,... - Обрада захтева од стране сервера: Веб сервер Google (вероватно преко load balancer-а) прихвата захтев, обрађује га, евентуално комуницира са унутрашњим сервисима.
- Пошаљи HTTP/S одговор: Сервер генерише HTTP/S одговор, који укључује статусни код (нпр. 200 OK) и тело одговора (HTML код странице).
HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 Content-Length: <величина садржаја> // ... други заглавља // Тело одговора (HTML) - Рендеровање странице: Прегледач добија HTML, анализира га и гради DOM дрво.
- Учитавање ресурса: Прегледач открива линкове ка CSS, JavaScript, сликама и другим ресурсима у HTML-у. За сваки ресурс се извршавају кораци 2-9 (или се користи постојећи конекција), шаљу захтеви и учитавају ресурси.
- Креирање CSSOM: Прегледач анализира CSS и гради CSS Object Model.
- Креирање Render Tree: DOM и CSSOM се спајају у дрво за приказ.
- Положај (Layout/Reflow): Прегледач израчунава геометријске димензије и положаје сваког елемента на страници.
- Цртање (Painting): Елементи се цртају на екран.
- Извршавање JavaScript-а: Прегледач извршава JavaScript код, који може мењати DOM, CSSOM и иницирати даље акције.
- Затварање везе: Након преноса података, TCP веза може бити затворена или задржана активна за будуће захтеве (keep-alive).