Sobes.tech
Middle

Šta se dešava kada unesete adresu google.com u pretraživač?

sobes.tech АИ

Одговор од АИ

  1. Парсирање URL-а: Прегледач анализира унете URL, одређујући протокол (HTTPS), домен име (google.com) и порт (подразумевано 443 за HTTPS).
  2. Провера у кешу: Прегледач проверава свој DNS кеш да пронађе IP адресу која одговара google.com.
  3. Захтев према Resolver-у: Ако у кешу нема записа, прегледач тражи IP адресу од DNS резолвера подешеног у оперативном систему.
  4. Рекурзивни DNS захтев:
    • Резолвер пита коренске DNS сервере.
    • Коренски сервери указују на TLD сервере за .com.
    • TLD сервери за .com указују на ауторитативне DNS сервере за google.com.
    • Ауторитативни DNS сервери за google.com враћају IP адресу(е) веб-сервера Google.
  5. Успостављање TCP везе (SYN/ACK): Прегледач иницира TCP везу са добијеном IP адресом, користећи тространо руковање (SYN, SYN-ACK, ACK).
    // Клијент --> Сервер: SYN
    // Сервер --> Клијент: SYN-ACK
    // Клијент --> Сервер: ACK
    
  6. Успостављање TLS/SSL везе: Пошто је у питању HTTPS, врши се TLS/SSL руковање за успостављање сигурне, шифроване везе. Обе стране размењују сертификате и генеришу сесијске кључеве.
  7. Пошаљи HTTP/S захтев: Прегледач шаље GET захтев на сервер Google за добијање главне странице.
    GET / HTTP/1.1
    Host: google.com
    User-Agent: <информације о прегледачу>
    Accept: text/html,...
    
  8. Обрада захтева од стране сервера: Веб сервер Google (вероватно преко load balancer-а) прихвата захтев, обрађује га, евентуално комуницира са унутрашњим сервисима.
  9. Пошаљи HTTP/S одговор: Сервер генерише HTTP/S одговор, који укључује статусни код (нпр. 200 OK) и тело одговора (HTML код странице).
    HTTP/1.1 200 OK
    Content-Type: text/html; charset=UTF-8
    Content-Length: <величина садржаја>
    // ... други заглавља
    // Тело одговора (HTML)
    
  10. Рендеровање странице: Прегледач добија HTML, анализира га и гради DOM дрво.
  11. Учитавање ресурса: Прегледач открива линкове ка CSS, JavaScript, сликама и другим ресурсима у HTML-у. За сваки ресурс се извршавају кораци 2-9 (или се користи постојећи конекција), шаљу захтеви и учитавају ресурси.
  12. Креирање CSSOM: Прегледач анализира CSS и гради CSS Object Model.
  13. Креирање Render Tree: DOM и CSSOM се спајају у дрво за приказ.
  14. Положај (Layout/Reflow): Прегледач израчунава геометријске димензије и положаје сваког елемента на страници.
  15. Цртање (Painting): Елементи се цртају на екран.
  16. Извршавање JavaScript-а: Прегледач извршава JavaScript код, који може мењати DOM, CSSOM и иницирати даље акције.
  17. Затварање везе: Након преноса података, TCP веза може бити затворена или задржана активна за будуће захтеве (keep-alive).