0
0
Lập trình
Sơn Tùng Lê
Sơn Tùng Lê103931498422911686980

Quy trình truy cập một trang web: Từ khi gõ địa chỉ đến khi hiển thị nội dung

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

• 3 phút đọc

1. Giới thiệu

Bạn có bao giờ tự hỏi khi bạn gõ địa chỉ vào thanh trình duyệt của mình, thì điều gì xảy ra sau đó? Đây không chỉ là một câu hỏi đơn giản; nó bao gồm một quy trình phức tạp mà mỗi người dùng đều trải nghiệm mỗi khi truy cập vào một trang web. Trong bài viết này, chúng ta sẽ khám phá các bước mà một URL trải qua để hiện ra là một trang web thực tế, từ việc phân giải tên miền (DNS) đến việc trình duyệt nhận dữ liệu từ máy chủ web.

2. Một số thuật ngữ quan trọng

Để việc hiểu rõ hơn về quy trình này, chúng ta cần tìm hiểu về một số khái niệm cơ bản:

URL (Uniform Resource Locator): Địa chỉ duy nhất trên internet, chỉ dẫn đến một tài nguyên cụ thể như trang web, hình ảnh, hoặc video. URL bao gồm các thành phần như giao thức (protocol), tên miền (domain name), đường dẫn (path) và các tham số kèm theo.

DNS (Domain Name System): Hệ thống giúp chuyển đổi tên miền (ví dụ: example.com) thành địa chỉ IP tương ứng của máy chủ chứa tài nguyên.

HTTP và HTTPS: Hai giao thức chính cho phép trình duyệt giao tiếp với máy chủ. HTTPS đảm bảo an toàn hơn nhờ sự mã hóa thông tin qua SSL/TLS.

Máy chủ web (Web Server): Là phần mềm phục vụ yêu cầu từ trình duyệt, đáp ứng với các tài nguyên như HTML, CSS và JavaScript.

Trình duyệt web (Web Browser): Phần mềm hiển thị nội dung từ máy chủ và tương tác với người dùng.

TCP/IP: Bộ giao thức mạng cơ bản. HTTP Request là yêu cầu từ trình duyệt, và HTTP Response là phản hồi từ máy chủ.

3. Các bước truy cập một trang web

Khi bạn truy cập vào một trang web, quy trình diễn ra như sau:

3.1. Thực hiện phân giải tên miền

Khi bạn nhập URL vào trình duyệt, bước đầu tiên là tìm địa chỉ IP của tên miền. Trình duyệt sẽ xem xét các lớp cache để tìm kiếm DNS record theo thứ tự:

  1. Bộ nhớ đệm của trình duyệt (Browser cache)
  2. Bộ nhớ đệm của hệ điều hành (OS cache)
  3. Bộ nhớ đệm của router (Router cache)
  4. Bộ nhớ đệm của ISP (ISP cache)

Nếu không tìm thấy, trình duyệt sẽ gửi yêu cầu đến máy chủ DNS của nhà cung cấp dịch vụ Internet (ISP) để phân giải tên miền thành địa chỉ IP thông qua các tầng DNS cao xuống thấp.

3.2. Thiết lập kết nối TCP qua Three-Way Handshake

Khi đã có địa chỉ IP, trình duyệt sẽ thiết lập kết nối TCP với máy chủ thông qua quá trình ba bước:

  1. Gửi gói SYN để bắt đầu kết nối.
  2. Nhận gói SYN-ACK từ máy chủ.
  3. Gửi gói ACK để xác nhận kết nối.

3.3. Gửi yêu cầu HTTP/HTTPS

Sau khi thiết lập kết nối thành công, trình duyệt sẽ gửi yêu cầu HTTP hoặc HTTPS đến máy chủ để yêu cầu nội dung.

3.4. Máy chủ xử lý yêu cầu và trả về phản hồi

Máy chủ tiếp nhận và xử lý yêu cầu, có thể thực hiện truy vấn cơ sở dữ liệu hoặc chạy mã. Sau đó, máy chủ sẽ tạo ra phản hồi, thường là một file HTML, để gửi về cho trình duyệt.

3.5. Trình duyệt nhận phản hồi và hiển thị trang web

Cuối cùng, trình duyệt nhận phản hồi, phân tích và hiển thị nội dung trang web cho người dùng.

Kết luận

Qua bài viết này, chúng ta đã cùng nhau khám phá quy trình mà một URL trảiqua để chuyển đổi thành một trang web thực tế trên trình duyệt. Từ việc phân giải tên miền đến thiết lập kết nối TCP và gửi yêu cầu HTTP, tất cả đều là những bước quan trọng giúp bạn hiểu rõ hơn về cơ chế hoạt động của internet.

Hi vọng bài viết mang lại cho bạn những kiến thức hữu ích và giúp bạn tự tin hơn khi đối mặt với các câu hỏi kỹ thuật liên quan đến kết nối mạng và trải nghiệm người dùng.

Hẹn gặp lại trong các bài viết sau!

Tài liệu tham khảo

  • MDN Web Docs
  • Pressidium Blog
  • Programmer Interview
    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