Giao thức ứng dụng cho Client – Server

Một phần của tài liệu Đồ án lập trình mạng nâng cao (Trang 31 - 33)

Giao thức ở đây là bộ các khuôn dạng bản tin, tập trạng thái và các quy tắc, quy ước trong truyền thông giữa client và server.

Khi tạo ra một ứng dụng client/server, việc đầu tiên là phải thiết kế giao thức. May mắn cho chúng ta là các giao thức phổ biến như FTP, HTTP, SMTP, RPC... đều đã đươc IETF (nằm trong Internet Architecture Board-IAB) chuẩn hóa thành các giao thức chuẩn. Các chuẩn này được được đưa trong khuyến nghị của IAB gọi là RFC (Request for Comment). Mỗi một chuẩn hoặc một giao thức cho Internet đều được đánh số trong RFC.

Khi lập trình database theo mô hình client/server, giao thức trao đổi các câu truy vấn và tập các bản ghi đã được quy định và hỗ trợ bởi hệ quản trị Database DBMS và các thư viện lập trình. Do đó, ta cũng không phải quan tâm thiết kế giao thức truyền thông trong ứng dụng database. Khi lập trình sẽ có sẵn các giao diện giúp ta thực thi việc tương tác giữa Client và Database server. Trong môi trường 3 lớp, thì lớp Middleware ở giữa cũng sẽ cung cấp giao diện để thực thi việc gọi hàm từ xa (Remote Procedure Call-RPC). Đây là một kĩ thuật cho phép các ứng dụng client server tương tác với nhau bằng phương pháp gọi hàm thông thường. Nó cung cấp giao diện gọi hàm mà che đi công tác truyền thông client server và việc truyền thông là trong suốt đối với người lập trình. Kĩ thuật này sẽ được trình bày trong phần sau.

Nói chung là ta nên theo các giao thức chuẩn có sẵn cho mỗi ứng dụng phổ biến. Tuy nhiên, khi xây dựng một ứng dụng riêng chưa có giao thức chuẩn thì ta phải thiết kế giao thức.

Phân loại giao thức:Có thể chia giao thức thành 2 dạng cơ bản : - Giao thức đồng bộ (Synchronous Protocol)

o Trong dạng giao thức này, quá trình truyền thông giữa client và server diễn ra theo hai chiều nhưng không đồng thời mà được thực hiện lần lượt. Mỗi bên sau khi truyền dữ liệu hoặc thông báo cho bên kia sẽ ngừng lại để chờ bên kia gửi sang

o Ví dụ về các giao thức kiểu này là : HTTP, POP, SMTP... - Giao thức không đồng bộ (Asynchronous Protocol)

o Đối với giao thức dạng không đồng bộ, client và server có thể đồng thời gửi thông tin cho nhau mà không cần phải chờ đợi phản hồi của bên kia

o Các giao thức này thường là các giao thức stateless như TELNET, RLOGIN...

- Ngoài ra có thể có dạng giao thức hybrid là sự kết hợp của hai dạng giao thức đồng bộ và không đồng bộ

Một phần của tài liệu Đồ án lập trình mạng nâng cao (Trang 31 - 33)