Server client gửi và nhận request như thế nào

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 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.

Mô hình Client-Server

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 ServerPeer-to-PeerHybridKhả năng bảo mật thông tin và độ an toànKhả 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 đặtCà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ềmBao 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ạngCần phải có quản trị mạngKhông cần quản trị mạngCần phải có quản trị mạngCó khả năng xử lý và lưu trữ tập trung không?KhôngKhôngChi phí cài đặtChi phí caoChi phí thấpChi 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ểmmô 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.

  1. Mô hình cơ sở dữ liệu tập trung [Centralized database model]
  2. Mô hình cơ sở dữ liệu theo kiểu file server [File server database model]
  3. Mô hình xử lý từng phần cơ sở dữ liệu [Database extract processing model]
  4. Mô hình cơ sở dữ liệu Client/Server [Client/Server database model]
  5. 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.

Nếu các bạn cảm thấy Website TanHongIT.Com thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!

Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học, thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!

Xem thêm:

  • Bài 7: Vòng lặp Foreach trong PHP [Các loại vòng lặp phần 2]
  • Bài 1: Ngôn ngữ lập trình PHP là gì và hướng dẫn thiết lập môi trường để lập trình PHP
  • Bài 8: lệnh Break, Continue và các hàm [function] exit, die thường dùng trong PHP
  • Bài 11: Các hàm xử lý mảng [Array] trong PHP
  • Bài 12: Chuỗi [String] Và Các Hàm Xử Lý Chuỗi Trong PHP
  • Bài 13: Phương thức GET và POST trong PHP
  • Bài 14: Cookie là gì? Cookie trong PHP

CHÚC CÁC BẠN THÀNH CÔNG VÀ VUI VẺ

5/5 - [2 votes]

Mô hình khách chủ là một cấu trúc ứng dụng phân tán mà ở đó công việc được phân chia giữa bên cung cấp tài nguyên hoặc dịch vụ, được gọi là máy chủ, và bên yêu cầu dịch vụ, được gọi là máy khách.[1] Thường thì các máy khách và máy chủ giao tiếp vói nhau thông qua mạng máy tính trên các phân cứng riêng biệt, nhưng cả máy khách và máy chủ cũng có thể nằm trên cùng một hệ thống. Một máy chủ nối chủ chạy một hoặc nhiều chương trình máy chủ, đồng thời chia sẻ tài nguyên với các máy khách. Một máy khách thường không chia sẽ bất kì tài nguyên nào của nó cả, mà chỉ yêu cầu nội dụng hoặc dịch vụ từ một máy chủ. Vì vậy, các máy khách sẽ thiết lập các phiên giao tiếp với máy chủ, và máy chủ sẽ chờ các yêu cầu đến. Một số ví dụ về các ứng dụng máy tính sử dụng mô hình khách chủ gồm có thư điện tử, in mạng và World Wide Web.

Mục lục

  • 1 Tổng quan
  • 2 Máy khách
  • 3 Máy chủ
  • 4 Tham khảo
  • 5 Liên kết ngoài

Tổng quanSửa đổi

Chương trình máy chủ và máy khách nói chuyện với nhau bằng các thông điệp [messages] thông qua một cổng truyền thông liên tác IPC [Interprocess Communication]. Để một chương trình máy chủ và một chương trình máy khách có thể giao tiếp được với nhau thì giữa chúng phải có một chuẩn để nói chuyện, chuẩn này được gọi là giao thức. Nếu một chương trình máy khách nào đó muốn yêu cầu lấy thông tin từ máy chủ thì nó phải tuân theo giao thức mà máy chủ đó đưa ra. Bản thân chúng ta khi cần xây dựng một mô hình chủ khách cụ thể thì ta cũng có thể tự tạo ra một giao thức riêng nhưng thường chúng ta chỉ làm được điều này ở tầng ứng dụng của mạng.

Với sự phát triển mạng như hiện này thì có rất nhiều giao thức chuẩn trên mạng ra đời nhằm đáp ứng nhu cầu phát triển này. Các giao thức chuẩn [ở tầng mạng và vận chuyển] được sử dụng rộng rãi nhất hiện nay như: giao thức TCP/IP, giao thức SNA của IBM, OSI, ISDN, X.25 hoặc giao thức LAN-to-LAN NetBIOS.

Một máy tính chứa chương trình máy chủ được coi là một máy chủ hay máy phục vụ [server] và máy chứa chương trình máy khách được coi là máy khách [client]. Mô hình mạng trên đó có các máy chủ và máy khách giao tiếp với nhau theo 1 hoặc nhiều dịch vụ được gọi là mô hình chủ khách. Thực tế thì mô hình chủ khách là sự mở rộng tự nhiên và tiện lợi cho việc truyền thông liên tiến trình trên các máy tính cá nhân. Mô hình này cho phép xây dựng các chương trình chủ khách một cách dễ dàng và sử dụng chúng để liên tác với nhau để đạt hiệu quả hơn.

Chủ khách là mô hình tổng quát nhất, trên thực tế thì một máy chủ có thể được nối tới nhiều máy chủ khác nhằm làm việc hiệu quả và nhanh hơn. Khi nhận được 1 yêu cầu từ máy khách, máy chủ này có thể gửi tiếp yêu cầu vừa nhận được cho máy chủ khác ví dụ như database máy chủ vì bản thân nó không thể xử lý yêu cầu này được.

Máy máy chủ có thể thi hành các nhiệm vụ đơn giản hoặc phức tạp. Ví dụ như một máy chủ trả lời thời gian hiện tại trong ngày, khi một máy khách yêu cầu lấy thông tin về thời gian nó sẽ phải gửi một yêu cầu theo một tiêu chuẩn do máy chủ định ra, nếu yêu cầu được chấp nhận thì máy máy chủ sẽ trả về thông tin mà máy khách yêu cầu. Có rất nhiều các dịch vụ máy chủ trên mạng nhưng nó đều hoạt động theo nguyên lý là nhận các yêu cầu từ máy khách sau đó xử lý và trả kết quả cho máy khách yêu cầu.

Thông thường chương trình máy chủ và máy khách được thi hành trên hai máy khác nhau. Cho dù lúc nào máy chủ cũng ở trạng thái sẵn sàng chờ nhận yêu cầu từ máy khách nhưng trên thực tế một tiến trình liên tác qua lại [interaction] giữa máy khách và máy chủ lại bắt đầu ở phía khách, khi mà máy khách gửi tín hiệu yêu cầu tới máy chủ.

Các chương trình máy chủ thường đều thi hành ở mức ứng dụng [tầng ứng dụng của mạng]. Sự thuận lợi của phương pháp này là nó có thể làm việc trên bất cứ một mạng máy tính nào có hỗ trợ giao thức truyền thông chuẩn cụ thể ở đây là giao thức TCP/IP. Với các giao thức chuẩn này cũng giúp cho các nhà sản xuất có thể tích hợp nhiều sản phẩm khác nhau của họ lên mạng mà không gặp phải khó khăn gì. Với các chuẩn này thì các chương trình máy chủ cho một dịch vụ nào đấy có thể thi hành trên một hệ thống chia sẻ thời gian [timesharing system] với nhiều chương trình và dịch vụ khác hoặc nó có thể chạy trên chính một máy tính các nhân bình thường. Có thể có nhiều chương máy chủ cùng làm một dịch vụ, chúng có thể nằm trên nhiều máy tính hoặc một máy tính.

Với mô hình trên chúng ta nhận thấy rằng mô hình chủ khách chỉ mang đặc điểm của phần mềm không liên quan gì đến phần cứng mặc dù trên thực tế yêu cầu cho một máy máy chủ là cao hơn nhiều so với máy khách. Lý do là bởi vì máy máy chủ phải quản lý rất nhiều các yêu cầu từ các khách khác nhau trên mạng.

Có thể nói rằng với mô hình chủ khách 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 chủ khách 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 thông tin địa lý [GIS], v.v..

Một trong những vấn đề nảy sinh trong mô hình này đó là tính an toàn và bảo mật thông tin trên mạng. Do phải trao đổi dữ liệu giữa 2 máy ở 2 khu vực khác nhau cho nên dễ dàng xảy ra hiện tượng thông tin truyền trên mạng bị lộ.

Máy kháchSửa đổi

Trong mô hình chủ khách, người ta còn định nghĩa cụ thể cho một máy khách là một máy trạm mà chỉ được sử dụng bởi 1 người dùng với để muốn thể hiện tính độc lập cho nó.

Máy máy khách có thể sử dụng các hệ điều hành bình thường như Win9x, DOS, OS/2... Bản thân mỗi một máy khách cũng đã được tích hợp nhiều chức năng trên hệ điều hành mà nó chạy, nhưng khi được nối vào một mạng LAN, WAN theo mô hình chủ khách thì nó còn có thể sử dụng thêm các chức năng do hệ điều hành mạng [NOS] cung cấp với nhiều dịch vụ khác nhau [cụ thể là các dịch vụ do các máy chủ trên mạng này cung cấp], ví dụ như nó có thể yêu cầu lấy dữ liệu từ một máy chủ hay gửi dữ liệu lên máy chủ đó.

Thực tế trong các ứng dụng của mô hình chủ khách, các chức năng hoạt động chính là sự kết hợp giữa máy khách và máy chủ với sự chia sẻ tài nguyên, dữ liệu trên cả hai máy

Trong mô hình chủ khách, máy khách được coi như là người sử dụng các dịch vụ trên mạng do một hoặc nhiều máy chủ cung cấp và máy chủ được coi như là người cung cấp dịch vụ để trả lời các yêu cầu của các máy khác. Điều quan trọng là phải hiểu được vai trò hoạt động của nó trong một mô hình cụ thể, một máy khách trong mô hình này lại có thể là máy chủ trong một mô hình khác. Ví dụ cụ thể như một máy trạm làm việc như một máy khách bình thường trong mạng LAN nhưng đồng thời nó có thể đóng vai trò như một máy in chủ [printer server] cung cấp dịch vụ in ấn từ xa cho nhiều người khác [clients] sử dụng.

Máy khách được hiểu như là bề nổi của các dịch vụ trên mạng, nếu có thông tin vào hoặc ra thì chúng sẽ được hiển thị trên máy khách.

Máy chủSửa đổi

Server còn được định nghĩa như là một máy tính nhiều người sử dụng [multiuser computer]. Vì một máy chủ phải quản lý nhiều yêu cầu từ các máy khách trên mạng cho nên nó hoạt động sẽ tốt hơn nếu hệ điều hành của nó là đa nhiệm với các tính năng hoạt động độc lập song song với nhau như hệ điều hành UNIX, Windows.

Server cung cấp và điều khiển các tiến trình truy cập vào tài nguyên của hệ thống. Các ứng dụng chạy trên máy chủ phải được tách rời nhau để một lỗi của ứng dụng này khô ng làm hỏng ứng dụng khác. Tính đa nhiệm đảm bảo một tiến trình không sử dụng toàn bộ tài nguyên hệ thống.

Máy chủ đóng vai trò như là một nhà cung cấp dịch vụ cho các máy khách yêu cầu tới khi cần, các dịch vụ như cơ sở dữ liệu, in ấn, truyền tệp, hệ thống... Các ứng dụng máy chủ cung cấp các dịch vụ mang tính chức năng để hỗ trợ cho các hoạt động trên các máy khách có hiệu quả hơn. Sự hỗ trợ của các dịch vụ này có thể là toàn bộ hoặc chỉ một phần thông qua IPC.

Để đảm bảo tính an toàn trên mạng cho nên máy chủ này còn có vai trò như là một nhà quản lý toàn bộ quyền truy cập dữ liệu của các máy khách, nói cách khác đó là vai trò quản trị mạng. Có rất nhiều cách thức hiện nay nhằm quản trị có hiệu quả, một trong những cách đang được sử dụng đó là dùng tên đăng nhập và mật khẩu

Tham khảoSửa đổi

  1. ^ Distributed Application Architecture [PDF]. Sun Microsystem. Bản gốc [PDF] lưu trữ ngày 6 tháng 4 năm 2011. Truy cập ngày 16 tháng 6 năm 2009.

Liên kết ngoàiSửa đổi

Phương tiện liên quan tới Client-server tại Wikimedia Commons

Video liên quan

Chủ Đề