Middle
Какво се случва, когато въведете адрес в браузъра, например google.com?
sobes.tech AI
Отговор от AI
-
Разбор URL: Браузърът разделя URL на съставни части: протокол (HTTP/HTTPS), домейн име (
google.com) и път (/). -
Търсене на IP адрес:
- Браузърът проверява кеша си за DNS.
- Операционната система проверява своя DNS кеш.
- Системата изпраща заявка към DNS сървър (обикновено предоставен от доставчика).
- DNS сървърът рекурсивно пита коренови, TLD и авторитетни DNS сървъри, докато намери IP адреса на
google.com. - IP адресът се връща на браузъра.
-
Установяване на TCP връзка:
- Браузърът установява TCP връзка със сървъра чрез намерения IP адрес, използвайки тройно ръкостискане (SYN, SYN-ACK, ACK).
-
SSL/TLS ръкостискане (за HTTPS):
- Клиентът и сървърът съгласуват алгоритми за криптиране.
- Сървърът изпраща своя сертификат.
- Браузърът проверява сертификата.
- Страните обменят ключове за криптиране за защитена връзка.
-
Изпращане на 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 -
Обработка на заявката от сървъра:
- Сървърът приема заявката.
- Сървърът обработва заявката (например, изпълнява логика на приложението).
- Сървърът формира HTTP отговор.
-
Получаване на 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>... -
Рендериране на страницата:
- Браузърът започва да парсира HTML кода.
- При откриване на връзки към CSS, JavaScript или изображения, браузърът прави допълнителни заявки за тяхното получаване (стъпки 2-7 се повтарят за всеки ресурс).
- Браузърът изгражда DOM дърво (Document Object Model) от HTML.
- Браузърът изгражда CSSOM дърво (CSS Object Model) от CSS.
- Браузърът изгражда дърво за рендериране, обединявайки DOM и CSSOM.
- Браузърът изпълнява JavaScript (може да променя DOM и CSSOM).
- Браузърът изчислява разположението на елементите на страницата (Layout).
- Браузърът рисува елементите на екрана (Painting).