YOMEDIA
ADSENSE
Báo cáo Giao thức IMAP
186
lượt xem 68
download
lượt xem 68
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Báo cáo Giao thức IMAP trình bày về lịch sử phát triển của giao thức IMAP; mục đích sử dụng, phạm vi ứng dụng, bản chất của giao thức IMAP; mô tả nguyên lý hoạt động của giao thức IMAP; phân tích các ưu, nhược điểm của giao thức IMAP; mô phỏng; kết luận và xu hướng phát triển của giao thức IMAP.
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Báo cáo Giao thức IMAP
- MỤC LỤC 1. Lịch sử phát triển của giao thức IMAP………………………………………...2 1.1. Giới thiệu giao thức IMAP…………………………………………………… 2 1.2. Lịch sử phát triển……………………………………………………………...2 2. Mục đích sử dụng, phạm vi ứng dụng, bản chất của giao thức IMAP……….4 2.1. Mục đích sử dụng... …………………………………………………………..4 2.2. Phạm vi ứng dụng…………………………………………………………….4 2.3. Bản chất của giao thức IMAP………………………………………………...5 3. Mô tả nguyên lý hoạt động của giao thức IMAP………………………………5 3.1. Mức độ liên kết……………………………………………………………….5 3.2. Các lệnh và phản hồi………………………………………………………….5 3.3. Trạng thái và sơ đồ lưu lượng………………………………………………....7 3.4. Định dạng dữ liệu……………………………………………………………..8 3.5. Các lệnh của khách hàng…………………………………………………….10 3.6. Máy chủ trả lời……………………………………………………………… 12 1
- 4. Phân tích các ưu, nhược điểm của giao thức IMAP……………………….… 14 4.1. Ưu điểm……………………………………………………………………...14 4.2. Nhược điểm………………………………………………………………….16 5. Mô phỏng……………………………………………………………………….18 6. Kết luận và xu hướng phát triển……………………………………………… 29 7. Tài liệu tham khảo……………………………………………………………...30 1. Lịch sử phát triển của giao thức IMAP 1.1. Giới thiệu IMAP Tiêu chuẩn Internet Message Access Protocol (IMAP) – Giao thức truy cập thông điệp Internet là một giao thức Internet ở tầng ứng dụng, cho phép máy khách truy cập thư điện tử trên một máy chủ thư từ xa. IMAP cùng với Giao thức truy cập hộp thư (POP Post Office Protocol) là một trong hai giao thức tiêu chuẩn Internet phổ biến nhất về lấy thư điện tử. Trên thực tế, tất cả các máy khách và máy chủ thư điện tử hiện đại đều hỗ trợ cả hai giao thức này để truyền tải thông điệp điện tử từ một máy chủ. 2
- Giao thức truy cập hộp thư POP rất phổ biến với người dùng do tính đơn giản và có lịch sử phát triển lâu dài. Tuy nhiên, POP có rất ít tính năng và thường chỉ chú trọng hỗ trợ phương thức truy cập thư ngoại tuyến (offline). Do đó, Giao thức truy cập thông điệp Internet ra đời với mục đích cụ thể là cung cấp tính linh hoạt trong cách truy cập, cách lấy và cách làm việc với thông điệp điện tử của người dùng. Trong thực tế, IMAP có thể hoạt động theo cả ba chế độ: trực tuyến (online), ngoại tuyến và không kết nối (disconnected – chế độ lai giữa online và offline, người dùng thao tác với bản sao tạm thời của các thông điệp trên máy chủ), trong đó, chế độ trực tuyến và không kết nối nhận được quan tâm của rất nhiều người dùng, còn chế độ ngoại tuyến thì ít hơn do giống với POP. Hiện tại, IMAP do Nhóm chuyên trách kỹ thuật Internet Internet Engineering Task Force (IETF) phát hành dưới dạng RFC (Request for Comments, là những tài liệu kỹ thuật và tổ chức về Internet, bao gồm những tài liệu đặc tả kỹ thuật và chính sách được tổ chức IETF phát hành). 1.2. Lịch sử phát triển IMAP có lịch sử phát triển, cụ thể như sau: Phiên bản đầu tiên gọi là Giao thức truy cập hộp thư tạm thời (Interim Mail Access Protocol IMAP), được thiết kế bởi Mark Crispin năm 1986. Giao thức tạm thời thiếu liên kết yêu cầu/trả lời và do đó cú pháp của nó không tương thích với tất cả các phiên bản sau này. Hiện tại, không còn tồn tại một tài liệu đặc tả hay một phần mềm nào sử dụng giao thức truy cập hộp thư tạm thời này nữa. Phiên bản thứ hai gọi là Giao thức truy cập hộp thư tương tác (Interactive Mail Access Protocol – IMAP2), được phát triển tại Đại học Stanford – Mỹ từ giữa những năm 1980, sau đó được chuẩn hóa và định nghĩa trong RFC 1064 vào tháng 7 năm 1988 và được cập nhật vào tháng 8 năm 1990 tại RFC 1176. IMAP2 có một số yêu cầu/trả lời giống với IMAP phiên bản đầu tiên nhưng đã đưa ra được liên kết yêu cầu/trả lời và IMAP2 cũng là phiên bản được công bố công khai đầu tiên. Phiên bản thứ ba gọi là Giao thức truy cập hộp thư tương tác (Interactive Mail Access Protocol – IMAP3 ), được xác lập tại RFC 1203 vào tháng 2 năm 1991, đưa ra một số khuyến nghị trái ngược với RFC 1176 của phiên bản IMAP2 nhưng IMAP3 không chấp thuận bởi cộng đồng, do đó phiên bản IMAP2 vẫn được sử dụng trong khoảng thời gian này. 3
- Phiên bản thứ tư gọi là Giao thức truy cập hộp thư tương tác IMAP2bis (Interactive Mail Access Protocol – IMAP2bis), được xem là giao thức mở rộng của IMAP2 với việc hỗ trợ cấu trúc nội dung kiểu giao thức mở rộng thư Internet đa chức năng (Multipurpose Internet Mail Extensions MIME) và thêm nhiều tính năng hộp thư như tạo, xóa, đổi tên, tải thông điệp lên nhưng IMAP2bis không được công bố dưới dạng RFC. Sau đó vào tháng 12 năm 1994, phiên bản IMAP2bis đã được nhóm IETF IMAP đổi tên thành giao thức truy cập thông điệp Internet (Internet Message Access Protocol IMAP4) để tránh nhầm lẫn với phiên bản IMAP3 và được công bố tại RFC 1730 (RFC mô tả giao thức chính) và RFC 1731 (RFC mô tả cơ chế xác thực của IMAP4). Tiếp đó, IETF đã sửa đổi, bổ sung IMAP4 thành IMAP4rev1 vào tháng 12 năm 1996 tại RFC 2060 và cập nhật IMAP4rev1 vào tháng 3 năm 2003 tại RFC 3501. Ta có thể tóm tắt lộ trình của IMAP qua các mốc thời gian sau: 1986, IMAP được chấp nhận ở đại học Stanford 1987, IMAP2 được định nghĩa, cập nhật client và server. Được hiện thực trên server Unix 1988, tài liệu chính thức của IMAP được xuất hiện trên Net vào tháng B ảy 1989, Mark Crispin, tác giả đầu tiên của IMAP, được đại học Washington thu nhận 1990, bản sửa đổi bổ sung của tài liệu chính thức của IMAP2 được xuất bản vào tháng Tám 1991, bổ sung hỗ trợ cho Multipurpose Internet Mail Extentions. Cho phép truyền file không phải ASCII trên Internet, bổ sung này tạo nền tảng cho IMAP2 beta 1992, đại học Washington triển khai server của IMAP2 beta 1993, nhóm thực hiện IMAP của tổ chức chuyên trách về công nghệ Internet IETF được thành lập. IMAP được hiện thực trên hệ điều hành VMS server của Digital dành cho máy tính lớn. 4
- 1994, tài liệu chính thức của IMAP4 được xuất bản 1995, đại học Carnegie Mellon đưa ra server IMAP4 đầu tiên 1996, đại học Washington chủ trì hai cuộc họp đầu tiên về IMAP. Sun, Netscape và những nhà sản xuất khác tuyên bố hỗ trợ IMAP4 1997, đặc tả cho IMAP4.1 tiếp tục được hoàn thiện. Phát hành hai IMAP cho client là Netscape Messenger và Microsoft Outlook Express, đư ợc tích hợp với hai trình duyệt Web phổ biến: Netscape Communicator và Microsoft Internet Explorer 2. Mục đích sử dụng, phạm vi ứng dụng, bản chất của giao thức IMAP 2.1. Mục đích sử dụng: IMAP được sử dụng để đặt sự kiểm soát email trên mail server. Cụ thể, IMAP cung cấp truy cập Email theo ba chế độ khác nhau: offline (ngoại tuyến), online ( trực tuyến) và disconnected ( ngắt kết nối). Truy cập chế độ offline IMAP giống như POP, các thông điệp email được truyền đến máy client server, xóa khỏi mail server và mối liên kết bị ngắt. Sau đó người dùng đọc, trả lời và làm các việc khác ở chế độ ngoại tuyến, còn nếu muốn gửi thư mới đi họ phải kết nối lại. Truy cập chế độ online IMAP là chế độ truy cập mà người dùng đọc và làm việc với thông điệp email trong khi vẫn đang giữ kết nối với mail server ( kết nối mở). Các thông điệp này vẫn nằm ở mail server cho đến khi nào người dùng quyết định xóa nó đi. Chúng được gắn nhãn hiệu cho biết loại để “đọc” hay “trả lời”. Truy cập chế độ disconnected, IMAP cho phép người dùng lưu tạm thông điệp ở client server và làm việc với chúng, sau đó cập nhật trở lại vào mail server ở lần kết nối kế tiếp. Chế độ này hữu ích cho những ai dùng laptop hay truy cập mạng bằng liên kết quay số điện thoại, đồng thời không muốn bỏ phí những lợi điểm của kho chứa thư ở mail server. 5
- 2.2. Phạm vi ứng dụng Các giao thức Internet tiêu chuẩn như Gmail, ThunderBird, Mozilla Suite, SeaMonkey,… 2.3. Bản chất của giao thức IMAP IMAP là thế hệ mới của giao thức POP (Post Office Protocol). IMAP là một giao thức dạng client/server mà ở đó email được nhận về và được lưu trữ trên servers. Khi sử dụng các email client như OE, Netscape, khách hàng có thể xem trước thông tin header bao gồm người gửi và chủ đề lá thư, từ đó cho phép khách hàng quyết định có download lá thư đó về hay không. Khách hàng cũng có thể tạo nhiều folder hoặc mailboxes trên server, xóa tin nhắn. 3. Mô tả nguyên lý hoạt động của giao thức IMAP 3.1. Mức độ liên kết Giao thức IMAP4 được nhận một dòng dữ liệu đáng tin cậy cung cấp bởi TCP. Khi sử dụng TCP, IMAP4 sẽ nhận thông tin trên port 143. 3.2. Các lệnh và phản hồi Một phiên IMAP4 bao gồm việc thiết lập một kết nối máy khách/máy chủ, một lời chào ban đầu từ máy chủ và tương tác máy khách/máy chủ.Những tương tác máy khách/máy chủ bao gồm lệnh của một khách hàng, dữ liệu của máy chủ và một kết quả hoàn tất do máy chủ trả lời lệnh tương ứng. Tất cả các tương tác truyền bởi máy khách và máy chủ dưới dạng dòng, nghĩa là chuỗi kết thúc với một CRLF. Giao thức nhận của một khách hàng IMAP4 hay máy chủ IMAP4 sẽ đọc một dòng hoặc một chuỗi các octet với một số đứng sau một đường thẳng (Octet: khối dữ liệu có kích thước 8 bit) 3.2.1. Giao thức khách hàng gửi và giao thức máy chủ nhận 6
- Một lệnh của khách hàng sẽ bắt đầu một hoạt động. Mỗi lệnh của khách hàng được bắt đầu bởi một định danh (thường là một chuỗi chữ số ngắn. Ví dụ: A0001, A0002, ..v.v…) được gọi là một “thẻ” (“tag”). Một thẻ khác nhau được tạo ra bởi mỗi lệnh của khách hàng. Có hai trường hợp trong đó một đường dây từ khách hàng không đại diện cho một lệnh cần hoàn thành. Trong trường hợp một, một đối số lệnh là trích dẫn với một số octet, trong trường hợp hai, các đối số lệnh yêu cầu thông tin phản hồi của máy chủ. Trong cả hai trường hợp, máy chủ sẽ gửi một lệnh tiếp tục đáp ứng yêu cầu nếu nó đã sẵn sàng cho octet ( nếu thích hợp) và phần còn lại của lệnh. Lưu ý: Nếu thay vào đó, máy chủ phát hiện một lỗi trong các lệnh, nó sẽ gửi một câu trả lời BAD có tag phù hợp với lệnh để từ chối lệnh và ngăn cản khách hàng gửi thêm bất kỳ lệnh nào. Nó cũng có thể để cho máy chủ gửi một đáp ứng hoàn thiện cho một số lệnh khác ( nếu đang tiến hành nhiều lệnh), hoặc đang tháo thẻ dữ liệu. Trong cả hai trường hợp, khách hàng sẽ có hành động thích hợp để quyết định các lệnh sẽ tiếp tục tiến hành hay là chờ giải quyết Giao thức nhận của IMAP4 sẽ đọc một dòng lệnh từ khách hàng, phân tích cú pháp lệnh và đối số của nó, truyền dữ liệu về máy chủ và máy chủ sẽ hoàn thành lệnh đưa đến phản hồi. 3.2.2. Giao thức máy chủ gửi và giao thức khách hang nhận Dữ liệu được truyền bởi máy chủ đến khách hàng và trạng thái lệnh không được hoàn thành sẽ được bắt đầu bởi dấu “*”, được gọi là phản hồi untagged ( tháo thẻ). Dữ liệu máy chủ có thể được gửi như là kết quả của một lệnh khách, hoặc có thể được gửi đơn phương bởi máy chủ. Không có sự khác biệt về cú pháp giữa một dữ liệu máy chủ từ môt lệnh cụ thể và dữ liệu được gửi đơn phương. 7
- Máy chủ phản hồi một kết quả hoàn thiện cho thấy hoạt động thành công hay thất bại. Nó được gắn thẻ với các từ khóa tương tự với các lệnh khách đã vận hành. Vì vậy, nếu tiến hành nhiều hơn một lệnh, các từ khóa trong một câu trả lời có thể xác định phản ứng của máy chủ. Có ba loại khả năng có thể được phản hồi từ máy chủ: OK ( chỉ thị thành công), NO ( chỉ thị thất bại) và BAD ( giao thức bị lỗi do lệnh không được công nhận hoặc lỗi cú pháp lệnh). Giao thức nhận của khách hàng IMAP4 đọc dòng phản hồi từ máy chủ, sau đó nó sẽ có các hành động phản hồi dựa trên các mã thông báo đầu tiên của phản ứng, ví dụ như một thẻ “*” hoặc thẻ “+” Khách hàng phải chuẩn bị sẵn sàng chấp nhận bất kỳ phản ứng nào của máy chủ ở bất kỳ thời gian nào. Điều này có thể bao gồm cả dữ liệu máy chủ mà nó không được yêu cầu. Dữ liệu của máy chủ nên được ghi lại, để cho các khách hàng có thể tham khảo dữ liệu từ bản sao chứ không cần gửi lệnh cho máy chủ để yêu cầu dữ liệu. Trong vài trường hợp, một số dữ liệu của máy chủ bắt buộc phải được ghi lại. 8
- 3.3. Trạng thái và sơ đồ lưu lượng Một máy chủ IMAP4 luôn ở một trong bốn trạng thái. Hầu hết các lệnh có hiệu lực ở vài trạng thái nhất định. Đó là lỗi giao thức khi khách hàng cố gắng thực hiện một lệnh trong khi lệnh đang ở trạng thái không phù hợp. Trong trường hợp này, máy chủ sẽ trả lời với một lệnh kết quả BAD hoặc NO (tùy thuộc máy chủ thực hiện) 3.3.1. Trạng thái chưa xác thực Trong trạng thái chưa đăng nhập, người dùng phải cung cấp và xác nhận các thông tin trước khi phần lớn các lệnh được cho phép. Trạng thái này được nhập khi một kết nối bắt đầu, trừ khi kết nối đó đã được xác thực trước. 3.3.2. Trạng thái xác thực Trong trạng thái xác thực, người dùng được xác nhận và phải chọn một hộp thư để truy cập trước khi lệnh ảnh hưởng đến tin nhắn được cho phép. Trạng thái này được nhập khi bắt đầu một kết nối đã được xác thực trước, khi thông tin xác nhận được cung cấp đã được chấp nhận, hoặc sau một lỗi trong việc lựa chọn một hộp thư. 3.3.3. Trạng thái lựa chọn Trong trạng thái lựa chọn, một hộp thư đã được lựa chọn để truy cập. Trạng thái này được nhập khi một hộp thư đã được lựa chọn thành công 3.3.4. Trạng thái đăng xuất Trong trạng thái đăng xuất, phiên hoạt động của người dùng đang chấm dứt, và máy chủ sẽ đóng kết nối, Trạng thái này có thể được nhập như là một yêu cầu của khách hàng hoặc một quyết định đơn phương của máy chủ. 9
- +--------------------------------------+ |kết nối ban đầu và lời chào từ máy chủ| +--------------------------------------+ || (1) || (2) || (3) VV || || +-----------------+ || || | chưa đăng nhập | || || +-----------------+ || || || (7) || (4) || || || VV VV || || +----------------+ || || | đăng nhập |
- IMAP4 sử dụng các lệnh và phản ứng dạng văn bản. Dữ liệu trong IMAP4 có thể dưới một trong các hình thức: nguyên tử, số, chuỗi, danh sách ngoặc và NIL 3.4.1. Nguyên tử Một nguyên tử bao gồm một hoặc nhiều ký tự không đặc biệt 3.4.2. Số Một số bao gồm một hoặc nhiều ký tự chữ số, và đại diện cho một giá trị số 3.4.3. Chuỗi Một chuỗi là một trong hai hình thức: chữ và chuỗi trích dẫn. Các hình thức theo chữ là hình thức chung của chuỗi. Các hình thức theo chuỗi trích dẫn là một cách thay thế tránh chi phí hạn chế khi xử lý một chữ. Một chữ là một chuỗi không hoặc nhiều octet (bao gồm cả CR và LF), tiền tố được trích dẫn dạng một dấu mở ngoặc “{”, số lượng octet, dấu đóng ngoặc “}”, và CRLF. Trong trường hợp chữ truyền từ máy chủ đến khách hàng, các dữ liệu octet sẽ lập tức theo sau CRLF. Trong trường hợp chữ truyền từ khách hàng đến máy chủ, khách hàng phải chờ đợi để nhận được một lệnh yêu cầu tiếp tục trước khi gửi dữ liệu octet (và phần còn lại của lệnh). Một chuỗi trích dẫn là một chuỗi không hoặc nhiều ký tự 7bit (không bao gồm CR và LF), với dấu () ở mỗi chỗ kết thúc Chuỗi rỗng tiêu biểu như “” ( một chuỗi trích dẫn với không ký tự trong dấu ngoặc kép) hoặc như {0} theo sau là CRLF ( một chữ với octet của số 0) Lưu ý: Ngay cả khi octet là 0, khách hàng vẫn phải chờ đợi để nhận được lệnh yêu cầu tiếp tục 3.4.4. Danh sách ngoặc Cấu trúc dữ liệu được biểu diễn như là một “danh sách ngoặc”, một chuỗi các mục dữ liệu, phân cách bằng dấu space, và kết thúc bằng dấu ngoặc đơn. Bản 11
- thân một danh sách ngoặc có thể chứa các danh sách ngoặc, sử dụng nhiều dấu ngoặc đơn để chia ra. Danh sách ngoặc rỗng tiêu biểu như () – một danh sách ngoặc với không thành viên 3.4.5. NIL Nguyên tử đặc biệt “NIL” đại diện cho sự không tồn tại của một mục dữ liệu cụ thể được biểu diễn như là một chuỗi hoặc một danh sách ngoặc. Nó khác biệt với một chuỗi rỗng “” hoặc danh sách ngoặc rỗng ( ) 3.5. Các lệnh của khách hang 3.5.1. Lệnh trạng thái bất kỳ Có thể được sử dụng ở bất kỳ trạng thái nào Lệnh Tham số Mô tả Capability Không có Yêu cầu máy chủ cho khách hàng những khả năng và Noop Không có Không có gì. Có thể được sử dụng để thiết lập lại bộ đếm Logout Không có Thông báo với máy chủ khách hàng đã sẵn sàng để kết 3.5.2. Lệnh trong trạng thái chưa xác thực Lệnh chỉ được sử dụng trong trạng thái chưa xác thực. Những lệnh này thường được sử dụng để xác thực. 12
- Lệnh Tham số Mô tả Authenticate Tên người dùng Chỉ định một tên người dùng và mật khẩu và mật khẩu để sử dụng cho việc chứng thực Login Tên cơ chế xác Cho máy chủ mà khách hàng muốn sử thực dụng một cơ chế xác thực cụ thể, nhắc nhở khách STARTTLS Không có Thông báo với máy chủ IMAP4 để sử dụng giao thức Transport Layer Security (TLS) để 3.5.3. Lệnh trong trạng thái xác thực Được sử dụng để thực hiện các hành động khác nhau trên hộp thư ( Có thể sử dụng cả trong trạng thái lựa chọn? Lệnh Tham số Mô tả Select Tên hộp thư Chọn một hộp thư riêng biệt để truy cập. Nếu lệnh này thành công sẽ chuyển sang trạng Examine Tên hộp thư thái lựa ch Giống như ọnlệnh . Các máy chủ sẽ thường xuyên Select, ngoại trừ việc hộp thư mở ra chỉ để đọc chứ không thể thay đổi được Create Tên hộp thư Tạo ra một hộp thư với tên hợp lý Delete Tên hộp thư Xóa hộp thư quy định 13
- Rename Tên hộp thư hiện Đặt lại tên một hộp thư tại và mới Subscribe Tên hộp thư Thiết lập thêm hộp thư quy định Unsubscribe Tên hộp thư Loại bỏ các hộp thư từ danh sách “tích cực” List Tên hộp thư Yêu cầu một phần danh sách các tên hộp thư hoặc chuỗi có tham chiếu sẵn, dựa trên các tham số được cung cấp Lsub Tên hộp thư Tương tự như List nhưng chỉ trả về tên từ hoặc chuỗi danh tham chiếu sách “tích cực” Append Tên hộp thư, Thêm một thông điệp tới hộp thư tin nhắn, cờ tùy Status chọn và Tên hộp thư Yêu cầu tình trãng của hộp thư quy định. Máy chủ đáp ứng cung cấp thông tin như số lượng tin nhắn trong hộp và số lượng tin nhắn mới 3.5.4. Trạng thái lựa chọn Một tập hợp các lệnh được sử dụng để truy cập và thao tác tin nhắn cá nhân mà chỉ có thể được sử dụng trong trạng thái lựa chọn. Lệnh Tham số Mô tả 14
- Check Không có Thiết lập một “trạm kiểm soát” cho hộp thư hiện tại.Được sử dụng để đánh dấu khi một trình Close Không có tự Đóng hộp thư hiện tại và trả phiên về trạng thái xác thực. Khi lệnh này được ban hành, máy Expunge Không có chủ cũng Vĩnh loạmi ặbỏ viễn sẽ c nhiên thực bất kỳ tin hi ện ho nhắn đưạợ t cđ ộđánh ng dấu để xóa của khách hàng. Điều này được thực Search Tiêu chí tìm kiếm hiện ki Tìm ếm các hộp thư cho tin ạnhắn tự động khi hộp thư đóng l i phù hợp và một đặc với điểm kỹ thuật tiêu chí tìm kiếm quy định. Máy chủ sẽ liệt kê Fetch thiết lập tùy chọn Trình tự số các con số đáp L ứng ấy thông tin về một ho ặc một tập hợp tin nhắn tin từ nhắn và danh sách hộp thư hiện tại Partial Trình tự số Tương đương với lệnh Fetch với các tính năng tin bổ nhắn và danh sách sung mà chỉ số quy định của octet được trả về, Uid các đối tượng dữ Tên lệnh và đối số chỉ ợc thực hiện để cho phép một trong các Đư lệnh khác được thực hiện bằng cách sử dụng số nhận Store Trình tự số tin dạng duy nh B ất để xác đinh hoạt động của các tin ảo quản một giá trị cho một mục dữ li ệu tin nhắn và tên nhắn mục dữ liệu tin cụ thể Copy nhắn, tự số tin Trình Sao chép các thiết lập các tin nhắn cụ thể cuối nhắn và tên hộp một hộp thư thư quy định 3.6. Máy chủ trả lời Câu trả lời của máy chủ có ba hình thức: phản ứng tình trạng, dữ liệu máy chủ và lệnh yêu cầu tiếp tục. 15
- Phản hồi của dữ liệu máy chủ được xác định bởi “dữ liệu” trong phản ứng, được mô tả theo chức năng chứ không phải cú pháp. Cú pháp chính xác của dữ liệu máy chủ được mô tả trong phần cú pháp Lệnh yêu cầu tiếp tục sử dụng mã thông báo “+” thay vì một tag Phản ứng tình trạng được gắn thẻ cho thấy kết quả hoàn thành lệnh của khách hàng, và có một thẻ phù hợp với lệnh Mã kết quả: Có ba mã kết quả chính có thể được gửi khi trả lời một lệnh và hai mã sử dụng trong một số trường hợp đặc biệt OK: Kết quả tích cực, thường được gửi kèm với các từ khóa của lệnh đã thành công. Có thể được gửi untagged trong lời chào đầu tiên của máy chủ khi phiên bắt đâu NO: Kết quả tiêu cực. Khi được gắn thẻ, chỉ ra lệnh không thành công, khi untagged, được coi là thông điệp cảnh báo chung về một số tình hình trên máy chủ BAD: Chỉ thị một thông báo lỗi. Nó được gắn thẻ khi lỗi này trực tiếp liên quan đến một lệnh đã được gửi, và mặt khác là untagged PREAUTH: Một thông báo untagged gửi vào lúc bắt đầu của một phiên làm việc để cho biết rằng không có yêu cầu xác thực, chuyển trực tiếp sang trạng thái xác thực BYE: Gửi khi máy chủ muốn đóng kết nối. Nó luôn luôn là untagged, và được gửi trả lời bởi một lệnh LOGOUT hoặc khi kết nối phải đóng cửa vì lí do nào khác Mã phản hồi: Được sử dụng để giao tiếp các thông tin với khách hàng. Câu trả lời thường đi kèm văn bản mô tả các thông tin chi tiết về những gì đang được truyền đạt. Dưới đây là các mã phản hồi được xác định bởi các tiêu chuẩn IMAP 16
- ALERT: Một thông điệp cảnh báo được gửi đến một khách hàng IMAP để thông báo về một cái gì đó quan trọng BADCHARSET: Gửi khi tìm kiếm một bộ ký tự không được hỗ trợ CAPABILITY: Một danh sách các khả năng máy chủ có thể thực hiện PARSE: Gửi khi xảy ra lỗi phân tích cú pháp các tiêu đề hoặc nội dung MIME của một tin nhắn email PERMANENTFLAGS: Truyền đạt một danh sách các cờ trạng thái tin nhắn mà khách hàng được phép thao tác READONLY: Thông báo cho khách hàng rằng hộp thư chỉ có thể truy cập trong chế độ “ chỉ đọc” READWRITE: Thông báo cho khách hàng rằng hộp thư có thể truy cập trong chế độ đọc ghi TRYCREATE: Gửi khi lệnh APPEND hoặc lệnh COPY bị lỗi vì hộp thư mục tiêu không có sẵn, đề nghị khách hàng cố gắng tạo hộp thư UIDNEXT: Gửi với một số thập phân mà xác định giá trị định danh duy nhất để sử dụng trong hoạt động. Những định danh này cho phép mỗi tin nhắn được xác định là duy nhất UIDVALIDITY: Gửi một số thập phân mà xác định tính hợp lệ của giá trị định danh là duy nhất, được sử dụng để xác nhận dạng tin nhắn duy nhất UNSEEN: Gửi với một số thập phân mà thông báo với khách hàng rằng tin nhắn được đánh dấu là tin nhắn mới 4. Phân tích các ưu, nhược điểm của giao thức IMAP 4.1. Ưu điểm 17
- Khi bạn có thể xem được các header information mà không cần phải download toàn bộ thư về, bạn có thể xóa được một số lượng lớn thư mà không sợ lãng phí thời gian. Cũng vì vẫn lưu trữ trên server, bạn có thể truy cập hộp thư từ nhiều nơi khác nhau và bảo đảm các tin nhắn luôn sẵn sàng. Và với việc thư vẫn còn lưu trên server thì khi máy bị một sự cố cũng không cần lo về việc mất các tin nhắn Kết nối và ngắt kết nối các phương thức hoạt động: Khi sử dụng POP, chỉ khi cần tải tin nhắn mới, khách hàng mới kết nối với máy chủ email một thời gian ngắn. Khi sử dụng IMAP4, khách hàng thường xuyên kết nối khi giao diện người dùng được kích hoạt và tải nội dung tin nhắn theo yêu cầu. Đối với người sử dụng nhiều tin nhắn hoặc lượng tin nhắn lớn, mô hình sử dụng IMAP4 có thể dẫn đến thời gian phản ứng nhanh hơn. Nhiều khách hàng đồng thời kết nối đến cùng một hộp thư: Giao thức POP yêu cầu khách hàng hiện đang kết nối sao cho chỉ duy nhất một khách hàng có thể kết nối đến hộp thư ( chỉ hỗ trợ 1 USER). Ngược lại, các giao thức IMAP đặc biệt cho phép truy cập đồng thời bởi nhiều khách hàng, và còn cung cấp cơ chế cho các khách hàng đề phát hiện các thay đổi của hộp thư được thực hiện bởi những khách hàng đồng thời kết nối khác. Truy cập vào phần tin nhắn MIME và lấy một phần: Thường thì tất cả các e mail trên Internet được truyền đi trong định dạng MIME, cho phép tin nhắn có một cấu trúc cây mà các nút lá bất kỳ là một loạt các bộ phận nội dung riêng lẻ và các nút không lá bất kỳ là một loạt các kết nối liên tục nhiều lớp. Giao thức IMAP4 cho phép khách hàng lấy bất kỳ một bộ phận riêng lẻ nào của MIME một cách riêng biệt và cũng có thể lấy các phần của từng bộ phận riêng biệt hoặc toàn bộ tin nhắn. Các cơ chế này cho phép khách hàng lấy phần văn bản của một tin nhắn mà không cần lấy các tập tin đính kèm hoặc cho truyền tải nội dung khi nó đang được tải xuống. Thông tin trạng thái tin nhắn: Thông qua việc sử dụng các lá cờ được định nghĩa trong giao thức IMAP4, khách hàng có thể theo dõi các thông điệp trạng thái; ví dụ: có hay không tin nhắn đã được đọc, trả lời hoặc xóa bỏ. Những lá cờ này được lưu trữ trên máy chủ, do đó khách hàng khác nhau truy cập vào cùng một hộp thư trong các thời điểm khác nhau có thể phát hiện những thay đổi trạng 18
- thái được thực hiện bởi các khách hàng khác. POP không cung cấp cơ chế lưu trữ trạng thái thông tin như vậy cho khách hàng trên máy chủ, do đó nếu hai khách hàng POP khác nhau cùng truy cập vào một hộp thư, trạng thái thông tin như là tin nhắn đã được truy cập hay chưa sẽ không thể được đồng bộ hóa giữa các khách hàng. Giao thức IMAP4 hỗ trợ cả hai loại: cờ hệ thống và từ khóa cho khách hàng. Cờ hệ thống dành cho các thông tin trạng thái, ví dụ: xem tin nhắn đã được đọc hay chưa. Từ khóa, thứ mà các máy chủ IMAP không hỗ trợ, cho phép tin nhắn đưa ra một hoặc nhiều thẻ có ý nghĩa cho khách hàng. Bổ sung thêm người dùng tạo ra thẻ cho các tin nhắn chính là một hoạt động được hỗ trợ bởi một số dịch vụ email trên web, chẳng hạn như Gmail. Nhiều hộp thư trên một máy chủ: Khách hàng IMAP4 có thể tạo, đổi tên và/hoặc xóa hộp thư trên máy chủ, và di chuyển tin nhắn giữa các hộp thư. Nhiều hỗ trợ hộp thư cũng cho phép các máy chủ cung cấp quyền truy cập vào các thư mục công cộng và được chia sẻ. Phần mở rộng (RFC 4314) Danh sách Điều khiển Truy nhập ( Access Control List – ACL) IMAP4 có thể được sử dụng để điều chỉnh quyền truy cập. Tìm kiếm trên máy chủ: IMAP4 cung cấp một cơ chế để một khách hàng có thể yêu cầu máy chủ tìm kiếm các tin nhắn đáp ứng vài tiêu chí nào đó. Cơ chế này giúp tránh việc khách hàng yêu cầu tải về tất cả các tin nhắn trong hộp thư để thực hiện tìm kiếm. Xây dựng cơ chế mở rộng: Phản ánh kinh nghiệm của các giao thức Internet trước đó, IMAP4 định nghĩa một cơ chế rõ ràng mà nó có thể được mở rộng. Rất nhiều mở rộng cho giao thức cơ sở đã được đề xuất và được sử dụng phổ biến. IMAP2bis không có cơ chế mở rộng và POP có một cơ chế được định nghĩa bởi RFC 2449 4.2. Nhược điểm Không như POP3, IMAP yêu cầu truy cập liên tục trong suốt quá trình làm việc với các email. Do việc trữ tin nhắn trên server từ đó dẫn đến việc vượt quá giới hạn không gian lưu trữ cho phép. Trong khi IMAP tìm biện pháp khắc phục những thiếu sót của POP, .Phần lớn các vấn đề phức tạp ( ví dụ: nhiều khách hàng cùng một lúc truy cập vào 19
- cùng mottj hộp thư) được bù đắp bằng cách giải quyết như Maildir hoặc các phần phụ trợ cơ sở dữ liệu phia máy chủ. Các đặc điểm kỹ thuật của IMAP đã bị chỉ trích vì không đủ nghiêm ngặt và cho phép tồn tại các hành vi có hiệu quả phủ nhận tính hữu dụng của nó. Ví dụ, đ ặc điểm kỹ thuật nói rằng mỗi tin nhắn được lưu trữ trên máy chủ chỉ có một “ unique ID” để cho phép các khách hàng xác định các tin nhắn mà họ đã nhìn giữa các phiên. Tuy nhiên, đặc điểm kỹ thuật cũng cho phép các “ unique ID” bị vô hiệu không hạn chế, thực tế điều này đã phủ nhận mục đích của họ. Trừ khi việc lưu trữ thư và các thuật toán tìm kiếm trên máy chủ được thực hiện một cách cẩn thận, một máy khách có khả năng tiêu tốn một lượng lớn tài nguyên máy chủ khi tìm kiếm các hộp thư lớn. Khách hàng của IMAP4 cần phải duy trì một kết nối TCP/IP cho máy chủ IMAP để được thông báo về sự xuất hiện của thư mới. Thông báo thư đến được thực hiện thông qua băng tần tín hiệu, góp phần tăng thêm sự phức tạp trong việc xử lý giao thức IMAP bên máy khách. Một cá nhân đề xuất, push IMAP, sẽ mở rộng IMAP để thực hiện đẩy thư điện tử bằng cách gửi thông báo toàn bộ thay vì chỉ một thông báo. Tuy nhiên, push IMAP nói chung đã không đư ợc chấp nhận và hiện tại các nhóm làm việc IETF đã giải quyết vấn đề bằng nhiều cách khác. Không giống như một số giao thức độc quyền kết hợp giữa việc gửi và hoạt động phục hồi, gửi một tin nhắn và lưu một bản sao trong thư mục phía máy chủ với một khách hàng IMAP cấp độ cơ sở đòi hỏi truyền tải nội dung tin nhắn hai lần, một lần để SMTP giao hàng và lần thứ hai để IMAP lưu trữ vào một thư mục dành cho thư đã gửi. Điều này được khắc phục bởi một tập hợp các phần mở rộng được xác định bởi nhóm làm việc IETF LEMONADE cho các thiết bị di động: URLAUTH (RFC 4467) and CATENATE ( RFC 4469) trong IMAP và BURL ( RFC 4468) trong SMTPSUBMISSION. Các máy chủ POP không hỗ trợ thư mục phia máy chủ, do đó khách hàng không có lựa chọn nào ngoài việc gửi thư trên máy khách. Nhiều máy khách IMAP có thể được cấu hình để lưu thư đã gửi trong một thư mục phía máy khách, hoặc để sao ẩn mình 20
ADSENSE
CÓ THỂ BẠN MUỐN DOWNLOAD
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn