0
0
Lập trình
Thaycacac
Thaycacac thaycacac

Quy trình giao tiếp của trình duyệt khi bạn nhập URL: Từ DNS đến Hiển thị trang web

Đăng vào 3 tuần trước

• 3 phút đọc

Quy trình giao tiếp của trình duyệt khi bạn nhập URL

Hằng ngày, chúng ta thường xuyên truy cập các trang web để tìm kiếm thông tin. Nhưng đã bao giờ bạn tự hỏi điều gì thực sự diễn ra khi bạn nhập một URL vào thanh địa chỉ của trình duyệt chưa? Bài viết này sẽ giúp bạn hiểu rõ hơn về quy trình phức tạp này.

1. Tra cứu DNS - Chuyển đổi tên miền thành địa chỉ IP

Khi bạn nhập một URL, trình duyệt bắt đầu bằng việc thực hiện một tra cứu DNS (Domain Name System). Điều này có nghĩa là tên miền như example.com sẽ được chuyển đổi thành một địa chỉ IP cụ thể (ví dụ: 72.10.2.3). Hãy tưởng tượng rằng việc này giống như việc bạn yêu cầu chỉ đường đến nhà của ai đó, mà để có thể đến nơi, bạn cần biết số nhà chính xác.

Quá trình tra cứu DNS không hề đơn giản. Những bản ghi DNS có thể được lưu trữ trong bộ nhớ cache tại nhiều nơi khác nhau, chẳng hạn như trình duyệt bạn đang sử dụng, hệ điều hành, router mạng, hoặc cả các máy chủ DNS do nhà cung cấp dịch vụ internet (ISP) quản lý. Trình duyệt sẽ kiểm tra từng cấp độ cache cho đến khi tìm thấy một bản ghi liên quan đến tên miền bạn đã nhập.

2. Thiết lập kết nối TCP

Khi địa chỉ IP của máy chủ đã được xác định, trình duyệt sẽ bắt đầu thiết lập một kết nối TCP (Transmission Control Protocol) để tạo điều kiện cho việc truyền dữ liệu. Nếu URL sử dụng giao thức HTTPS, thì một quá trình handshake SSL/TLS sẽ diễn ra để thiết lập phương thức mã hóa nhằm đảm bảo an toàn cho việc trao đổi thông tin giữa máy chủ và trình duyệt.

3. Gửi yêu cầu HTTP đến máy chủ

Sau khi thiết lập kết nối thành công, trình duyệt sẽ gửi một yêu cầu HTTP hoặc HTTPS đến máy chủ. Yêu cầu này sẽ bao gồm các phương thức như GET (để yêu cầu một trang web) kèm theo các tiêu đề (headers) cung cấp thông tin bổ sung, chẳng hạn như loại trình duyệt và các cookie.

4. Nhận phản hồi từ máy chủ

Khi máy chủ nhận được yêu cầu, nó sẽ xử lý yêu cầu dựa trên thông tin có trong header và nội dung của yêu cầu. Với yêu cầu GET, ví dụ như /posts/sport HTTP/1.1, máy chủ sẽ tìm nội dung theo đường dẫn đó, xây dựng phản hồi và trả lại cho trình duyệt. Phản hồi sẽ bao gồm:

  • Dòng trạng thái: Thông báo về tình trạng của yêu cầu.
  • Tiêu đề phản hồi: Hướng dẫn cho trình duyệt biết cách xử lý thông tin được gửi về.
  • Nội dung tài nguyên: Có thể là HTML, CSS, JavaScript, hình ảnh hay dữ liệu khác mà bạn yêu cầu.

5. Hiển thị trang web

Khi trình duyệt nhận được phản hồi từ máy chủ, nó sẽ xử lý thông tin trong header để xác định cách hiển thị tài nguyên. Ví dụ, tiêu đề Content-Type sẽ chỉ ra rằng nội dung trong body là HTML. Quá trình hiển thị trang web diễn ra như sau:

  1. Phân tích HTML: Trình duyệt sẽ xây dựng Document Object Model (DOM), một cấu trúc cây phân cấp thể hiện các phần tử của trang web.
  2. Tải CSS và JavaScript: Nếu có các liên kết đến CSS hoặc JavaScript trong HTML, trình duyệt sẽ tải các file này về. Những quy tắc CSS sẽ được áp dụng để tạo kiểu cho trang, trong khi JavaScript được thực thi để cung cấp thêm chức năng cho trang web. Các hình ảnh, video, phông chữ và nhiều tài nguyên khác cũng sẽ được tải nếu cần thiết.

Tóm lại, từ lúc bạn nhập một URL vào trình duyệt cho đến khi trang web được hiển thị hoàn chỉnh, có rất nhiều bước phức tạp diễn ra. Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về quy trình tương tác thú vị này.

Tác giả: Phan - Một lập trình viên đam mê và tò mò. Hẹn gặp lại các bạn trong những bài viết tiếp theo!
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào