<aside>
©️ IT: Từ A tới Á cho người ngoài ngành by @Rose Trinh
</aside>

How Does The Web Work? - DEV Community
Trong hệ thống mạng máy tính có hai mô hình là client-server và p2p. Internet được thiết kế theo mô hình client-server với vai trò chính của trình duyệt web (browser) đứng giữa hỗ trợ tương tác giữa client với các máy chủ.
- Client: Client là một thiết bị hoặc phần mềm sử dụng dịch vụ hoặc tài nguyên từ một máy chủ. Trong mô hình này, client thường là máy tính, điện thoại di động, hoặc bất kỳ thiết bị kết nối mạng nào khác mà người dùng sử dụng để truy cập các dịch vụ hoặc tài nguyên. Ví dụ, một trình duyệt web là một client, vì nó yêu cầu và nhận các trang web từ máy chủ web.
- Server: Server là một máy tính hoặc hệ thống máy chủ cung cấp dịch vụ hoặc tài nguyên cho các client. Server thường được cấu hình để lắng nghe các yêu cầu từ client và phản hồi bằng cách cung cấp dữ liệu hoặc thực hiện các chức năng cụ thể. Ví dụ, máy chủ email lưu trữ và chuyển tiếp thư điện tử giữa các người dùng, trong khi máy chủ cơ sở dữ liệu cung cấp dữ liệu từ cơ sở dữ liệu cho các ứng dụng hoặc client yêu cầu.
Request - Response
Trong mô hình client-server của Internet, quá trình trao đổi thông tin giữa client (thiết bị của người dùng) và server (máy chủ) được thực hiện thông qua các yêu cầu (request) và phản hồi (response). Dưới đây là một cái nhìn tổng quan về quá trình này:
- Thiết bị kết nối: Đầu tiên, mỗi thiết bị muốn truy cập Internet, chẳng hạn như máy tính, điện thoại di động hoặc máy tính bảng, cần phải kết nối với một mạng Internet thông qua một cổng kết nối như Wi-Fi hoặc cáp Ethernet.
- Yêu cầu (Request):
- Yêu cầu là thông điệp mà client gửi đến server để yêu cầu một hành động cụ thể, chẳng hạn như lấy một trang web, gửi email, hoặc thực hiện một thao tác khác.
- Mỗi yêu cầu bao gồm các thông tin như loại yêu cầu (GET, POST, PUT, DELETE), địa chỉ URL của tài nguyên muốn truy cập, thông tin về client (như trình duyệt và hệ điều hành), và dữ liệu nếu cần thiết (ví dụ: dữ liệu nhập từ một biểu mẫu trang web).
- Yêu cầu được gửi từ client đến server thông qua giao thức mạng như HTTP hoặc HTTPS.
- Routing và truyền tải dữ liệu: Khi yêu cầu được gửi từ thiết bị của bạn, nó sẽ đi qua một loạt các máy chủ và mạng trung gian trên khắp thế giới. Quá trình này được gọi là routing, và nó đảm bảo rằng yêu cầu của bạn đến đích một cách an toàn và hiệu quả nhất.
- Quá trình xử lý:
- Khi server nhận được yêu cầu từ client, nó sẽ xử lý yêu cầu đó, thực hiện các hành động cần thiết như truy vấn cơ sở dữ liệu, xử lý logic kinh doanh, hoặc tạo ra nội dung phản hồi.
- Sau khi xử lý, server sẽ gửi phản hồi lại cho client, chứa kết quả của yêu cầu hoặc thông báo lỗi nếu có.
- Phản hồi (Response):
- Phản hồi là thông điệp mà server gửi lại cho client sau khi xử lý yêu cầu.
- Mỗi phản hồi bao gồm một mã trạng thái (status code) để chỉ ra kết quả của yêu cầu (ví dụ: 200 OK cho thành công, 404 Not Found cho tài nguyên không tồn tại).
- Ngoài ra, phản hồi cũng có thể bao gồm dữ liệu thực tế mà client yêu cầu, chẳng hạn như trang web, tệp tin, hoặc dữ liệu từ máy chủ.
- Hiển thị kết quả:
- Khi client nhận được phản hồi từ server, trình duyệt web hoặc ứng dụng sẽ hiển thị nội dung phản hồi cho người dùng.
- Nếu phản hồi là một trang web, trình duyệt sẽ phân tích mã HTML và CSS để hiển thị giao diện người dùng cuối cùng.
Trong mô hình client-server, client và server liên lạc với nhau thông qua mạng, sử dụng các giao thức như HTTP, TCP/IP hoặc FTP. Client gửi yêu cầu đến server, và server phản hồi lại với dữ liệu hoặc kết quả tương ứng. Mô hình này thường được sử dụng trong các ứng dụng mạng, web và dịch vụ trực tuyến để phân phối dữ liệu và tài nguyên hiệu quả giữa các thiết bị và máy chủ.