Sobes.tech
Middle

Какво се случва, когато въведете адрес в браузъра, например google.com?

sobes.tech AI

Отговор от AI

  1. Разбор URL: Браузърът разделя URL на съставни части: протокол (HTTP/HTTPS), домейн име (google.com) и път (/).

  2. Търсене на IP адрес:

    • Браузърът проверява кеша си за DNS.
    • Операционната система проверява своя DNS кеш.
    • Системата изпраща заявка към DNS сървър (обикновено предоставен от доставчика).
    • DNS сървърът рекурсивно пита коренови, TLD и авторитетни DNS сървъри, докато намери IP адреса на google.com.
    • IP адресът се връща на браузъра.
  3. Установяване на TCP връзка:

    • Браузърът установява TCP връзка със сървъра чрез намерения IP адрес, използвайки тройно ръкостискане (SYN, SYN-ACK, ACK).
  4. SSL/TLS ръкостискане (за HTTPS):

    • Клиентът и сървърът съгласуват алгоритми за криптиране.
    • Сървърът изпраща своя сертификат.
    • Браузърът проверява сертификата.
    • Страните обменят ключове за криптиране за защитена връзка.
  5. Изпращане на HTTP заявка: Браузърът изпраща HTTP заявка към сървъра, съдържаща метод (GET), път, заглавки (Host, User-Agent, Accept и др.) и, възможно, тяло на заявката.

    GET / HTTP/1.1  
    Host: google.com  
    User-Agent: Mozilla/5.0 (...)  
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8  
    
  6. Обработка на заявката от сървъра:

    • Сървърът приема заявката.
    • Сървърът обработва заявката (например, изпълнява логика на приложението).
    • Сървърът формира HTTP отговор.
  7. Получаване на HTTP отговор: Браузърът получава HTTP отговор от сървъра, съдържащ статус код (например, 200 OK), заглавки (Content-Type, Content-Length и др.) и тяло на отговора (HTML страница, изображения, CSS, JS и др.).

    HTTP/1.1 200 OK  
    Content-Type: text/html; charset=UTF-8  
    Content-Length: XXXX  
    ...  
    <!doctype html>...  
    
  8. Рендериране на страницата:

    • Браузърът започва да парсира HTML кода.
    • При откриване на връзки към CSS, JavaScript или изображения, браузърът прави допълнителни заявки за тяхното получаване (стъпки 2-7 се повтарят за всеки ресурс).
    • Браузърът изгражда DOM дърво (Document Object Model) от HTML.
    • Браузърът изгражда CSSOM дърво (CSS Object Model) от CSS.
    • Браузърът изгражда дърво за рендериране, обединявайки DOM и CSSOM.
    • Браузърът изпълнява JavaScript (може да променя DOM и CSSOM).
    • Браузърът изчислява разположението на елементите на страницата (Layout).
    • Браузърът рисува елементите на екрана (Painting).