intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Báo cáo Giao thức IMAP

Chia sẻ: Lực Hồ | Ngày: | Loại File: DOCX | Số trang:35

186
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.

 

Chủ đề:
Lưu

Nội dung Text: Báo cáo Giao thức IMAP

  1. 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
  2. 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
  3. 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
  4. ­ 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
  5. ­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
  6. 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à ở đó e­mail được nhận  về  và  được  lưu  trữ  trên  servers.  Khi  sử  dụng  các  e­mail  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
  7. 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
  8. 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
  9.  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
  10. +--------------------------------------+ |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 |
  11. 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ự 7­bit (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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17.    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 READ­ONLY: Thông báo cho khách hàng rằng hộp thư chỉ có thể truy  cập trong chế độ “ chỉ đọc” READ­WRITE:  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
  18. 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ủ e­mail 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
  19. 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ụ  e­mail 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 e­mail. 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
  20. 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 SMTP­SUBMISSION. 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

 

Đồng bộ tài khoản
3=>0