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.
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 cha đợ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 đĩ.