Câu hỏi kinh điển kiểm tra hiểu biết xuyên suốt. Chuỗi rút gọn:
1. Phân giải URL & DNS: trình duyệt tách scheme/host/path; đổi tên miền thành địa chỉ IP qua DNS (kiểm cache trình duyệt → OS → resolver).
2. Thiết lập kết nối: TCP handshake tới server; nếu HTTPS thì thêm TLS handshake (trao đổi khóa, xác thực chứng chỉ).
3. Gửi HTTP request: trình duyệt gửi GET kèm header (cookie, Accept...); server xử lý và trả response (status + header + HTML). Khoảng chờ này đo bằng TTFB.
4. Parse & dựng cây: trình duyệt parse HTML → DOM, parse CSS → CSSOM; gặp script có thể chặn parse (trừ async/defer). Đây là critical rendering path.
5. Render: kết hợp DOM + CSSOM → render tree → layout (tính vị trí/kích thước) → paint → composite ra màn hình.
6. Tải tài nguyên phụ & tương tác: song song tải ảnh, font, JS; JS chạy có thể sửa DOM; trang trở nên tương tác (TTI); với SPA, JS tiếp quản routing/hydration.
Mỗi bước là một cơ hội tối ưu: giảm số DNS/round-trip, dùng CDN + HTTP caching, nén, preconnect/preload, đặt CSS trên đầu và defer script, giảm JS chặn render.