Ai đó có thể cho tôi biết tất cả những gì xảy ra đằng sau hậu trường từ khi tôi nhập URL trong trình duyệt cho đến khi tôi thấy trang trên trình duyệt không? Một tài khoản chi tiết của quá trình sẽ giúp đỡ rất nhiều.
Ai đó có thể cho tôi biết tất cả những gì xảy ra đằng sau hậu trường từ khi tôi nhập URL trong trình duyệt cho đến khi tôi thấy trang trên trình duyệt không? Một tài khoản chi tiết của quá trình sẽ giúp đỡ rất nhiều.
Câu trả lời:
Chú ý: đây là một bản phác thảo cực kỳ thô sơ và đơn giản hóa , giả sử yêu cầu HTTP đơn giản nhất có thể (không HTTPS, không HTTP2, không bổ sung), DNS đơn giản nhất có thể, không proxy, IPv4 xếp chồng đơn, chỉ một yêu cầu HTTP, máy chủ HTTP đơn giản trên đầu kia, và không có vấn đề trong bất kỳ bước nào. Đây là, đối với hầu hết các ý định và mục đích đương đại, một kịch bản không thực tế; tất cả những thứ này phức tạp hơn nhiều trong sử dụng thực tế và ngăn xếp công nghệ đã trở thành một thứ tự phức tạp hơn kể từ khi nó được viết. Với ý nghĩ này, dòng thời gian sau đây vẫn có phần hợp lệ:
Một lần nữa, thảo luận về từng điểm này đã lấp đầy vô số trang; chỉ coi đây là một bản tóm tắt, được rút ngắn để rõ ràng. Ngoài ra, có nhiều điều khác xảy ra song song với điều này (xử lý địa chỉ nhập, tìm nạp trước đầu cơ, thêm trang vào lịch sử trình duyệt, hiển thị tiến trình cho người dùng, thông báo bổ trợ và tiện ích mở rộng, hiển thị trang trong khi tải xuống, đường ống, theo dõi kết nối cho giữ nguyên, quản lý cookie, kiểm tra nội dung độc hại, v.v.) - và toàn bộ hoạt động trở nên phức tạp hơn với HTTPS (chứng chỉ và mật mã và ghim, oh my!).
Đầu tiên máy tính tra cứu máy chủ đích. Nếu nó tồn tại trong bộ đệm DNS cục bộ, nó sử dụng thông tin đó. Mặt khác, truy vấn DNS được thực hiện cho đến khi tìm thấy địa chỉ IP.
Sau đó, trình duyệt của bạn sẽ mở kết nối TCP đến máy chủ đích và gửi yêu cầu theo HTTP 1.1 (hoặc có thể sử dụng HTTP 1.0, nhưng các trình duyệt thông thường không thực hiện được nữa).
Máy chủ tra cứu tài nguyên cần thiết (nếu nó tồn tại) và trả lời bằng giao thức HTTP, gửi dữ liệu đến máy khách (= trình duyệt của bạn)
Trình duyệt sau đó sử dụng trình phân tích cú pháp HTML để tạo lại cấu trúc tài liệu mà sau này được trình bày cho bạn trên màn hình. Nếu nó tìm thấy các tham chiếu đến các tài nguyên bên ngoài, chẳng hạn như hình ảnh, tệp css, tệp javascript, chúng được phân phối giống như tài liệu HTML.
Tra cứu đặc tả của HTTP. Hoặc để bắt đầu, hãy thử http://www.jmarshall.com/easy/http/