Chuyện gì xảy ra khi truy cập một Website - Một số khái niệm cơ bản cần biết về Web (Phần 1)
Một số khái niệm cơ bản cần biết về Web
(Phần 1: Chuyện gì xảy ra khi truy cập một Website)
Trong lập trình Web nói riêng cũng như lập trình ứng dụng kết nối mạng nói chung, chúng ta cần phải hiểu một số nguyên tắc gửi nhận dữ liệu cơ bản, cũng như các khái niệm liên quan. Trong bài viết này, mình sẽ giải thích cơ bản các khái niệm xoay quanh về lập trình Web. Cùng bắt đầu nào.
Website là gì?
Khi người dùng truy cập một Website, chuyện gì xảy ra?
Giả sử bạn truy cập vào trang Web google.com. Bạn nhập google.com vào khung trình duyệt chrome và ấn Enter.
Người dùng nhập google.com và ấn enter.
Hệ thống DNS phân giải tên miền thành địa chỉ IP
Để hiểu rõ hơn về DNS, mình có làm video [Học 5 phút mỗi tuần] với chủ đề DNS. Khuyến khích bạn nên tham khảo: https://www.facebook.com/8techblog/videos/566656473905594
(Optional) Bạn cũng có thể tham khảo [Học 5 phút mỗi tuần] định nghĩa về IP tại đây: (https://www.facebook.com/8techblog/videos/355680875250891)
Sau khi có địa chỉ IP của Google, mình tiến hành gửi dữ liệu cho google. Dữ liệu ở đây là gì? Đó chính là "yêu cầu" - request. Yêu cầu google trả một trang tìm kiếm google. Và server sẽ "phản hồi" - response trang tìm kiếm để hiện lên màn hình của bạn.
Bạn hãy hiểu client chính là bản thân mình, và server là hệ thống Google nhé!
Và bạn biết trang tìm kiếm hiện lên trên màn hình bạn là gì không? Đó không phải là hình ảnh đâu, mà đó chính là mã HTML CSS và JS cùng với các resource liên quan tạo thành.
Dữ liệu trả về của server Google
Dữ liệu trả về cho client mình chính là đoạn code bên phải, còn bên trái là do browser thực thi (execute) đoạn code bên phải để tạo ra giao diện trực quan bên trái cho người sử dụng. (Nói đúng hơn là render vì HTML CSS không phải là ngôn ngữ lập trình, tuy nhiên vẫn có built-in compiler để execute JS) (Đoạn trong ngoặc này không hiểu thì tạm bỏ qua nhé :)) )
Nếu vậy, sơ đồ đúng phải là như thế này:
Kết luận: Mình đã cố gắng đơn giản hóa rất nhiều để những bạn gần như là mới có thể hiểu sơ bộ về quá trình này. Trong bài viết tới mình sẽ dựa vào đây bắt đầu phân tích thêm các khái niệm chi tiết xoay quanh vấn đề này. Cảm ơn các bạn đã xem!
Nội dung bài viết thuộc về Lê Công Diễn.
Người viết: Lê Công Diễn
Mang đi nhớ ghi nguồn
Nhận xét
Đăng nhận xét