1.6.1. Giới thiệu
Giao thức POP3 cho phép một máy trạm cĩ thể truy nhập để lấy th− trên máy chủ. Nĩ định nghĩa cách thức giao tiếp với POP3 Server bởi các lệnh chuẩn đ−ợc quy định trong RFC 1081 để lấy th− về.
1.6.2. Mơ hình hoạt động phiên giao dịch
Vào thời điểm bắt đầu, tiến trình phía Server bắt đầu dịch vụ POP3 bằng cách ”lắng nghe” trên cổng TCP 110. Thuật ngữ ”lắng nghe” ở đây đ−ợc hiểu theo nghĩa là tiến trình phía Server luơn luơn tiếp nhận các thơng tin đến ở cổng dịch vụ mà nĩ cung cấp - trong tr−ờng hợp này là cổng dịch vụ 110 - xử lý và gửi kết quả về cho tiến trình yêu cầu dịch vụ phía Client.
Khi một tiến trình phía Client muốn sử dụng dịch vụ, nĩ thiết lập một kết nối TCP tới máy chủ phía Server. Khi kết nối đ−ợc thiết lập, POP3 Server gửi một thơng báo chấp nhận và sau đĩ tiến trình phía Client và POP3 Server cĩ thể trao đổi các lệnh cũng nh− các thơng tin phản hồi cho đến khi kết nối bị hủy bỏ hoặc phiên giao dịch kết thúc. Các lệnh trong POP3 bao gồm từ khĩa, cĩ thể theo sau là một hoặc nhiều tham số. Tất cả các lệnh đều đ−ợc kết thúc bởi cặp ký tự CRLF. Từ khĩa và các tham số là các kí tự in đ−ợc trong bảng mã kí tự ASCII, giữa chúng đ−ợc phân cách bởi một kí tự dấu cách trống. Từ khĩa cĩ thể dài ba hoặc bốn kí tự, cịn các tham số cĩ thể dài tới bốn m−ơi kí tự.
Thơng tin phản hồi của POP3 bao gồm một thơng báo trạng thái và một từ khĩa cĩ thể theo sau một số thơng tin thêm. Tất cả các thơng tin phản hồi đều đ−ợc kết thúc bởi cặp ký tự CRLF.
Cĩ hai thơng báo trạng thái là: Xác định (”+OK”) để xác nhận thành cơng và phủ định (”-ERR”) để xác nhận trong tr−ờng hợp cĩ lỗi.
KIL OB OO KS .CO M
Các thơng tin phản hồi cho các lệnh thực tế là nhiều dịng. Trong những tr−ờng hợp này, sau khi gửi dịng đầu tiên của thơng tin phản hồi và một cặp CRLF, bất cứ một dịng thêm vào nào đ−ợc gửi thì đều phải kết thúc bằng cặp CRLF. Khi tất cả các thơng tin phản hồi đều đã đ−ợc gửi, một dịng cuối cùng đ−ợc gửi, bao gồm mã kết thúc (mã thập phân 046, ”.”) và một cặp CRLF.
Nếu cĩ một dịng nào trong thơng tin phản hồi đa dịng bắt đầu với một mã ký tự kết thúc (dấu chấm ”.”), thì dịng đĩ coi nh− ch−a đ−ợc xử lí xong đối với thơng tin phản hồi . Vì vậy, một thơng tin phản hồi đa dịng đ−ợc kết thúc bởi bộ năm octets là ”CRLF. CRLF”.
Một phiên giao dịch POP3 phải trải qua một số các trạng thái trong suốt thời gian tồn tại của phiên làm việc. Mỗi lần kết nối TCP đ−ợc mở và POP3 Server gửi thơng báo chấp nhận, phiên làm việc chuyển sang trang thái AUTHORIZATION. ở trạng thái này, Client phải tự định danh của mình cho POP3 Server.
Mỗi khi Client thực hiện xong việc định danh, Server nhận đ−ợc tài nguyên t−ơng ứng với hộp th− của Client, nĩ sẽ chuyển sang trạng thái TRANSACTION.
Trong trạng thái này, các yêu cầu của Client đ−ợc chuyển sang và đ−ợc thực hiện bên phía POP3 Server. Khi Client đ−a ra lệnh QUIT, phiên làm việc chuyển sang trạng thái UPDATE. Trong trạng thái này, POP3 Server giải phĩng mọi tài nguyên thu đ−ợc trong suốt trạng thái TRANSACTION và kết thúc. Đồng thời, kết nối TCP kết thúc.
Một POP3 Server cĩ thể cĩ một bộ xác định thời gian. Nếu sau một khoảng thời gian xác định tr−ớc mà phía Client khơng cĩ tác động gì thì POP3 Server cĩ thể tự động kết thúc phiên làm việc. Khoảng thời gian này ít nhất là khoảng 10 phút.
Nếu trong khoảng thời gian này cĩ bất kì một lệnh nào từ phía Client, bộ xác định thời gian sẽ đ−ợc khởi tạo lại. Khi hết thời gian hiệu lực, phiên làm việc khơng chuyển sang trạng thái UPDATE. Server sẽ đĩng kết nối TCP mà khơng chuyển bất kì một th− nào cũng nh− các thơng tin phản hồi nào về phía Client.
Nh− vậy, ta thấy một phiên làm việc của POP3 phải trải qua ba trạng thái: trạng thái AUTHORIZATION, trạng thái TRANSACTION và trạng thái UPDATE.
Phần tiếp theo sẽ trình bày chi tiết về sự hoạt động của POP3 Server trong từng trạng thái của phiên giao dịch và các lệnh cĩ thể thực hiện trong mỗi trạng thái đĩ.