NỘI DUNG BÀI VIẾT
Xin chào, hôm nay ở bài viết này mình nói về một chút mảng lập trình web dành cho những ai đang theo đuổi và dự định học về mảng Web hoặc những ai thích học hỏi, vọc vạch.
Nói về Web thì chắc hẳn các bạn đều biết rồi và sử dụng chúng mỗi ngày. Nhưng để hiểu rõ cách thức hoạt động của một website thì đa số mọi người cũng tò mò và thắc mắc. Đối với một lập trình viên thì cần phải biết đến mô hình Client Server. Và ngày hôm nay thì mình xin nói về mô hình Client Server.
Giới thiệu
Mô hình Client Server là mô hình giúp các máy tính giao tiếp truyền tải dữ liệu cho nhau. Nhắc đến Client với Server thì đây là 2 từ khóa khá phổ biến và ai cũng biết. Và mình cũng nhắc lại tóm tắt về Client Server
Client và server về bản chất thì nó là 2 máy tính giao tiếp và truyền tải dữ liệu cho nhau.
Máy tính đóng vai trò là máy khách – Client: Với vai trò là máy khách, chúng sẽ không cung cấp tài nguyên đến các máy tính khác mà chỉ sử dụng tài nguyên được cung cấp từ máy chủ. Một client trong mô hình này có thể là một server cho mô hình khác, tùy thuộc vào nhu cầu sử dụng của người dùng.
Máy tính đóng vai trò là máy chủ – Server: Là máy tính có khả năng cung cấp tài nguyên và các dịch vụ đến các máy khách khác trong hệ thống mạng. Server đóng vai trò hỗ trợ cho các hoạt động trên máy khách client diễn ra hiệu quả hơn.
Và mô hình client-server này được rộng rãi nhất nên trong bài viết này sẽ đi tìm hiểu về mô hình client-server.
Mô hình Client Server là gì ?
Mô hình Client Server là mô hình mạng máy tính trong đó các máy tính con được đóng vai trò như một máy khách, chúng làm nhiệm vụ gửi yêu cầu đến các máy chủ. Để máy chủ xử lý yêu cầu và trả kết quả về cho máy khách đó.
Nguyên tắc hoạt động
Trong mô hình Client Server, server chấp nhận tất cả các yêu cầu hợp lệ từ mọi nơi khác nhau trên Internet, sau đó trả kết quả về máy tính đã gửi yêu cầu đó
Máy tính được coi là máy khách khi chúng làm nhiệm vụ gửi yêu cầu đến các máy chủ và đợi câu trả lời được gửi về.
Để máy khách và máy chủ có thể giao tiếp được với nhau thì giữa chúng phải có một chuẩn nhất định, và chuẩn đó được gọi là giao thức. (Giao thức là gì thì các bạn có thể tham khảo tại đây) Một số giao thức được sử dụng phổ biến hiện nay như: HTTPS, TCP/IP, FTP,…
Nếu máy khách muốn lấy được thông tin từ máy chủ, chúng phải tuân theo một giao thức mà máy chủ đó đưa ra. Nếu yêu cầu đó được chấp nhận thì máy chủ sẽ thu thập thông tin và trả về kết quả cho máy khách yêu cầu. Bởi vì Server – máy chủ luôn luôn trong trạng thái sẵn sàng để nhận request từ client nên chỉ cần client gửi yêu cầu tín hiệu và chấp nhận yêu cầu đó thì server sẽ trả kết quả về phía client trong thời gian ngắn nhất.
Ưu điểm của mô hình
- Giúp chúng ta có thể làm việc trên bất kì một máy tính nào có hỗ trợ giao thức truyền thông. Giao thức chuẩn này cũng giúp các nhà sản xuất tích hợp lên nhiều sản phẩm khác nhau mà không gặp phải khó khăn gì.
- Có thể có nhiều server 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.
- Chỉ mang đặc điểm của phần mềm mà không hề liên quan đến phần cứng, ngoài yêu cầu duy nhất là server phải có cấu hình cao hơn các client.
- Hỗ trợ người dùng nhiều dịch vụ đa dạng và sự tiện dụng bởi khả năng truy cập từ xa.
- Cung cấp một nền tảng lý tưởng, cho phép cung cấ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
Vấn đề bảo mật dữ liệu thông tin đôi khi còn chưa được an toàn lắm. Vì do phải trao đổi dữ liệu giữa 2 máy tính khác nhau ở 2 khu vực địa lý cách xa nhau. Và đây cũng nhược điểm duy nhất của mô hình này.
Tuy nhiên vấn đề này thì có một số giao thức đã hỗ trợ bảo mật dữ liệu khi truyền tải. Giao thức được sử dụng phổ biến như HTTPS.
Tạm kết
Như vậy mình đã tóm tắt về 1 chút của mô hình client server để giúp các bạn dễ hiểu hơn, dễ hình dung nhất là với những bạn mới bắt đầu. Và mình tạm dừng bài viết ở đây nếu như các bạn thấy bài viết này hay và hữu ích thì đừng ngần ngại chia sẻ cho mọi người cùng biết thêm nhé.
Tạm biệt các bạn trong những bài viết tiếp theo <3
Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.
Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.