Mô hình client-server là một mô hình nổi tiếng trong mạng máy tính, được áp dụng rất rộng rãi và là mô hình của mọi trang web hiện có. Ý tưởng của mô hình này là máy con (đóng vài trò là máy khách) gửi một yêu cầu (request) để máy chủ (đóng vai trò người cung ứng dịch vụ), máy chủ sẽ xử lý và trả kết quả về cho máy khách.
Trong mô hình này, chương trình ứng dụng được chia thành 2 thành phần: Server và Client. Client hay còn gọi là máy khách, nó bao gồm máy tính và các thiết bị điện tử nói chung. Server hay còn gọi là máy chủ, là nơi cài đặt các chương trình dịch vụ và lưu trữ tài nguyên.
Việc yêu cầu của máy khách, đáp ứng, xử lý, và phản hồi của máy chủ tạo thành một dịch vụ. Dịch vụ này hoạt động trên nền web nên nó được gọi là dịch vụ web (hay web service).
Ngoài ra, việc giao tiếp giữa Client với Server phải dựa trên các giao thức chuẩn. Các giao thức chuẩn được sử dụng phổ biến nhất hiện nay là : giao thức TCP/IP, giao thức SNA của IBM, OSI, ISDN, X.25 hay giao thức LAN-to-LAN NetBIOS.
Vì sao các Website thường sử dụng mô hình client-server
- Dữ liệu và tài nguyên được tập trung lại và tăng tính toàn vẹn của các dữ liệu.
- Sự linh động trong việc mở rộng được hệ thống mạng.
- Không phụ thuộc vào cùng một nền tảng, chỉ cần chung một định dạng giao tiếp (protocol) là có thể hoạt động được.
Chỉ có điều nhược điểm của mô hình này là tính an toàn và bảo mật các thông tin trên mạng. Do phải trao đổi các dữ liệu giữa hai máy ở hai khu vực khác nhau nên dễ dàng xảy ra hiện tượng thông tin trên mạng bị mất bí mật và từ đó vai trò của quản trị mạng trở nên quan trọng lên rất nhiều.
Bảng so sánh mô hình client server với các mô hình khác
Mô hình mạng / tiêu chí đánh giá | Client Server | Peer-to-Peer | Hybrid |
Khả năng bảo mật thông tin và độ an toàn | Khả năng bảo mật và an toàn thông tin cao. Có thể điều chỉnh quyền truy cập thông tin. | Khả năng bảo mật và an toàn thông tin kém. Phần lớn phụ thuộc vào mức độ quyền được chia sẻ. | Khả năng bảo mật và an toàn thông tin cao. Có thể điều chỉnh quyền truy cập thông tin. |
Khả năng cài đặt | Cài đặt khá khó khăn. | Cài dặt dễ dàng. | Cài đặt khá khó khăn. |
Yêu cầu về phần cứng và phần mềm | Bao gồm:+ Máy chủ+ Hệ điều hành
+ Phần cứng |
Chỉ cần ít phần cứng bổ sung. Ngoài ra không cần máy chủ và hệ điều hành như 2 mô hình trên. | Bao gồm:+ Máy chủ+ Hệ điều hành
+ Phần cứng |
Yêu cầu về quản trị mạng | Cần phải có quản trị mạng | Không cần quản trị mạng | Cần phải có quản trị mạng |
Có khả năng xử lý và lưu trữ tập trung không? | Có | Không | Không |
Chi phí cài đặt | Chi phí cao | Chi phí thấp | Chi phí thấp |
Cách thức mô hình client server hoạt động như thế nào ?
Quy trình hoạt đông được chia làm 2 bước:
Client
Các máy trạm trong mô hình này gọi là máy khách (client). Đây là nơi tiếp nhận những thao tác yêu cầu từ người dùng và sau đógởi các yêu cầu xử lý về máy chủ (server).
Phần phía Client là nơi trung gian tổ chức giao tiếp giữa người dùng với môi trường làm việc trên máy khách (client) và với phía Server. Sau khi tiếp nhận yêu cầu của người dùng, máy khách client sẽ thành lập các query string để gửi về phía Server.
Server
Phần phía Server quản lý các giao tiếp môi trường giữa Server và với các Client, tiếp nhận các yêu cầu dưới dạng các xâu ký tự (query string). Sau khi phân tích các query string được request từ máy khách client, phần phía Server sẽ xử lý dữ liệu và gửi kết quả trả lời về phía các Client.
Sau đó sẽ hiện lên màn hình đến cho người dùng.
Ưu điểm mô hình client-server là gì?
Ưu điểm của mô hình client server là với mô hình client server thì mọi thứ dường như đều nằm trên bàn của người sử dụng, nó có thể truy cập dữ liệu từ xa (bao gồm các công việc như gửi và nhận file, tìm kiếm thông tin,…) với nhiều dịch vụ đa dạng mà mô hình cũ không thể làm được.
Mô hình client-server cung cấp một nền tảng lý tưởng cho phép tích hợp các kỹ thuật hiện đại như mô hình thiết kế hướng đối tượng, hệ chuyên gia, hệ thông tin địa lý (GIS)…
Nhược điểm mô hình client server là gì?
Như đã nói ở các phần trên, nhược điểm duy nhất của mô hình này là tính an toàn và bảo mật các thông tin trên mạng. Do phải trao đổi các dữ liệu giữa hai máy ở hai khu vực khác nhau ở xa nhau nên dễ dàng xảy ra hiện tượng thông không được an toàn.
Một số ví dụ về mô hình client server
Mail Server
Ở bên phía Client, người dùng soạn thảo Email và sẽ gửi đến Mail Server, phía bên Mail Server sẽ tiếp nhận và lưu trữ, tìm kiếm địa chỉ của mail được gửi đến và gửi đi.
Web Server
Lưu trữ các trang Web. khi người dùng ở phía máy Client nhập địa chỉ của trang web, Client sẽ gửi yêu cầu đến máy chủ Web và máy chủ Web sẽ gửi toàn bộ nội dung của trang web về cho phía Client.
File Server
Lưu trữ các tập tin. Nhận và truyền đi các tập tin về phía Client , người dùng có thể download – upload các tập tin lên Server qua Web browser hoặc là giao thức FTP
Các cấu hình cơ sở dữ liệu Client/Server
Nhìn chung mọi ứng dụng cơ sở dữ liệu đều bao gồm các phần:
- Thành phần xử lý ứng dụng (Application processing components)
- Thành phần phần mềm cơ sở dữ liệu (Database software componets)
- Bản thân cơ sở dữ liệu (The database itself)
Các mô hình về xử lý cơ sở dữ liệu khác nhau là bởi các trường hợp của 3 loại thành phần nói trên định vị ở đâu. Bài viết này này xin giới thiệu 5 mô hình kiến trúc dựa trên cấu hình phân tán về truy nhập dữ liệu của hệ thống máy tính Client/Server.
- Mô hình cơ sở dữ liệu tập trung (Centralized database model)
- Mô hình cơ sở dữ liệu theo kiểu file – server (File – server database model)
- Mô hình xử lý từng phần cơ sở dữ liệu (Database extract processing model)
- Mô hình cơ sở dữ liệu Client/Server (Client/Server database model)
- Mô hình cơ sở dữ liệu phân tán (Distributed database model)
Ngoài ra ta còn có một mô hình ngược lại là mô hình master-slaver, trong đó máy chủ (đóng vai trò ông chủ) sẽ gửi dữ liệu đến máy con (đóng vai trò nô lệ) bất kể máy con có cần hay không.
Xem thêm:
- Bài 1: Giới thiệu tổng quan ngôn ngữ PHP và hướng dẫn thiết lập môi trường để lập trình PHP
- Bài 2: Cú pháp PHP cơ bản, Khai báo hằng và biến trong PHP
- Lộ trình học PHP Căn Bản
- Cách sửa lỗi error establishing a database connection cho website
- Laravel Error: No application encryption key has been specified
Leave a Reply