Internet Message Access Protocol

Од Википедија — слободната енциклопедија
Прејди на: содржини, барај

Internet Message Access Protocol(IMAP) е еден од двата најважни стандардни интернет протоколи за превземање на електронска пошта. Другиот од овие два е Post Office Protocol(POP) кој како и IMAP е поддржан од сите познати e-mail клиенти и сервери за пошта за пренесување на пораки од даден сервер.

E-mail протоколи[уреди]

Internet Message Access Protocol-от ( кој е познат како IMAP) е Интернет протокол на апликациско ниво кој му дозволува на e-mail клиент да пристапи во електронската пошта преку друг сервер кој се нарекува mail сервер. Моменталната верзија, IMAP верзија 4 преработка 1 (IMAP4rev1), е дефиниран од страна на RFC 3501. IMAP серверот прислушкува на листа од TCP и UDP порти со одредени броеви (добро познатата порта 143).

IMAP поддржува и on-line и off-line начини на операција. E-mail клиентите кои користат IMAP обично оставаат пораки на серверот се додека корисникот не ги избрише. Овие како и многу други карактеристики на IMAP операциите дозволуваат повеќе клиенти да управуваат со истото сандаче. Повеќето од e-mail клиентите поддржуваат IMAP користејќи воедно и POP за превземање на пораки; Сепак, мал број на сервиси поддржуваат IMAP.[1] IMAP нуди пристап кон магацинот за пораки на електронската пошта. Клиентите можат да прават локални копии , но истите се сметаат како привремен кеш.

Новите пораки се праќаат кон e-mail сервер кој истите ги складира во сандачето на корисникот кој што треба да ја прими пораката. Примачот ја превзема пораката со помош на e-mail клиент кој користи еден од многуте протоколи за превземање на електронска пошта. Некои од клиентите и сервисите користат само протоколи одредени од добавувачи (лиценциран протокол), но повеќето ги поддржуваат и стандардните интернет протоколи, (SMTP) за праќање на електронска пошта и користат POP и IMAP за превземање на истата, овозможувајќи интероперабилност со други сервиси и клиенти. На пример, Outlook клиентот користи лиценциран протокол за да комуницира со таканаречениот Microsoft Exchange Server, сервер кој го прави истото како и Notes клиентот на IBM кога комунуцура со Domino сервер, но сите овие продукти поддржуваат POP, IMAP и SMTP. Поддршката за стандардните интернет протоколи му дозволува на многу e-mail клиенти како Pegasus Mail или Mozilla Thunderbird (споредба на e-mail клиенти) да пристапат до овие сервери и дозволува клиентите да бидат користени од страна на други сервиси.(листа на mail сервери).

Историја[уреди]

IMAP бил дизајниран од страна на Mark Crispin во 1986 како протокол за управување со сандачиња од далечина (remote mailbox protocol), за разлика од широко користениот POP, протокол за превземање на содржини од сандаче.[2]

IMAP порано бил познат како Internet Mail Access Protocol, Interactive Mail Access Protocol (RFC 1064), и Interim Mail Access Protocol[3]

Оригинален IMAP[уреди]

Првичниот Interim Mail Access Protocol бил имплементиран во Xerox Lisp машински клиент и TOPS-20 сервер.

Но, не постојат копии од спецификациите на овој пртокол, ниту пак постои софтвер за истиот. Иако некои од командите и одговорите биле слични со некои од командите и одговорите на IMAP2, на interim протоколот му недостигале тагови за команди/одговори и на тој начин неговата синтакса не била компатибилна со останатите верзии на IMAP.

IMAP2[уреди]

Interim protocol-от веднаш бил заменет од таканаречениот Interactive Mail Access Protocol (IMAP2), дефиниран во RFC 1064 (во 1988) и подоцна ажуриран од страна на RFC 1176 (во 1990). IMAP2 прв пат претстави тагови за command/response и беше првата јавно дистрибуирана верзија.

IMAP3[уреди]

IMAP3 веќе не постои но е многу ретка верзија IMAP.[4] Издадена е како RFC 1203 во 1991. Оваа верзија била напишана специјално како против предлог на RFC 1176, кој и подоцна самиот објави модификации на IMAP2.[5] IMAP3 никогаш не бил прифатен од пазарот.[6][7] IESG го прекласифицира RFC1203 "Interactive Mail Access Protocol - Version 3" како историски протокол во 1993.IMAP групата искористила RFC1176 (IMAP2) наместо RFC1203 (IMAP3) како почетна точка.[8][9]

IMAP2bis[уреди]

Со пристигањето на MIME, IMAP2 беше модифициран така што можеше да поддржува MIME структури и беше додадена функционалност која овозможуваше управување со сандачиња (креирање, бришење, преименување, качување пораки на сервер)што дотогаш го немаше во IMAP2. Оваа експериментална преработка се нарече IMAP2bis; нејзината крајна спецификација никогаш не била објавена. Почетна верзија била објавена на интернет, а IMAP2bis бил објавен од страна на IETF IMAP групата во окромври 1993. Оваа верзија се засновала на претходните спецификации: необјавениот IMAP2bis.TXT документ, RFC1176, и RFC1064 (IMAP2).[10]IMAP2bis.TXT верзијата го документирала проширувањето IMAP2 уште во декември 1992.[11] Првични верзии на Pine биле широко дистрибуирани со IMAP2bis поддршка[4] (Pine 4.00 and later supports IMAP4rev1).

IMAP4[уреди]

IMAP групата го формирала таканаречениот (Internet Engineering Task Force|IETF) во раните 1990ти години и ја превзела одговорноста за IMAP2bis дизајнот.IMAP WG одлучиле да го преименуваат IMAP2bis во IMAP4 за да избегнат забуни со конкурентниот IMAP3 предлог од друга група која никогаш не успеала да се пробие на пазарот.[се бара извор] Проширувањето на IMAP акронимот било исто така сменето во Internet Message Access Protocol.

IMAP4 е објавен како RFC 1730 во декември 1994. Некои дизајнерски мани во оригиналниот IMAP4 кои произлегле кога протоколот се имплементирал довеле до преглед на истиот и набрзо замена со IMAP4rev1 две години подоцна (RFC 2060 е објавен во декември 1996. Имало многу малку IMAP4 клиентски или серверски имплементации базирани на RFC 1730 поради неговата краткотрајност.

Предности во однос на POP[уреди]

Поврзани и неповрзани начини на операција[уреди]

Кога користат POP, клиентите обично на кратко се поврзуваат со e-mail серверот користејќи го само за да превземат нови пораки. Кога користи IMAP4, клиентот често останува конектиран само кога корисничкиот интерфејс е активен и е побарана содржината на пораката која тој сака да ја превземе. За корисниците кои имаат големи пораки користењето на IMAP4 може да резултира со поголемо време на одговор.

Користење на едно сандаче од страна на повеќе клиенти[уреди]

POP протоколот дозволува само еден клиент да биде поврзан со сандачето и тоа клиентот кој е моментално конектиран. За разлика од POP, IMAP протоколот дозволува паралелно поврзување на повеќе клиенти со едно сандаче и обезбедува механизми за откривање на промени направени во сандачето од друг клиент кој е моментално поврзан.

Пристап кон MIME делови на порака и делумно превземање[уреди]

Обично целата електронска пошта се праќа во MIME формат, дозволувајќи пораките да имаат дрво структура каде јазлите-листови се некој дел од типови на содржина, а останатите јазли имаат повеќе поделени типови. IMAP4 протоколот дозволува клиентите одделно да превземаат MIME делови и исто така да превземаат или индивидуални делови од пораката или пак целата порака. Овие механизми дозволуваат клиентите да превземаат дел од содржината која се наоѓа во пораката без да превземаат закачени датотеки или да превземаат stream содржина додека се превзема истата.

Информација за состојба на порака[уреди]

Со користењето на знамецак кои се дефинирани во IMAP4 протоколот, клиентите можат да водат сметка за состојбата на своите пораки без разлика дали пораката била прочитана, одговорена или пак избришана. Овие знаменца се чуваат на сервер така што различни клиенти кои можат да пристапат до истото сандаче во различно време имаат можност да откријат промени направени од други клиенти. POP не обезбедува ваков механизам за клиентите така што ако еден корисник пристапи до сандачето со два различни POP клиенти, информацијата за состојбата на пораката без разлика дали била пристапена или не, не може да се синхронизира помеѓу два клиенти. IMAP4 протоколот поддржува преддефинирани системски знаменца и дефинирани клучни зборови. Системските знаменца ја покажуваат состојбата на пораката, односно дали таа е прочитана или не. Клучните зборови, кои не се поддржани од сите IMAP сервери, дозволуваат на пораките да му се додаде еден или повеќе тагови (metadata) чие значење може да го определи клиентот. Додавање на кориснички креирани тагови на пораки е операција поддржана од некои web-базирани email сервиси, како Gmail.

Повеќе сандачиња на серверот[уреди]

IMAP4 клиентите можат да креираат, преименуваат и/или да избришат сандачиња (тие се обично прикажани како датотекиu) на серверот и да преместуваат пораки од едно во друго сандаче. Поддршката за повеќе сандачиња исто така дозволува серверите да овозможат пристап и кон јавни датотеки.

Пребарувања на серверска страна[уреди]

IMAP4 обезбедува механизам за клиентот да може да му даде задача на серверот да пребарува пораки според некој критериум. Овој механизам избегнува барања за превземање на пораки од страна на клиентите за да може да изврши дадено пребарување.

Вградени механизми за проширување[уреди]

IMAP4 користи меганизам кој претставува проширување на самиот протокол за разлика од неговите претходници. Биле предложени многу (IMAP4 проширувања) на основниот протокол, но тие ретко се употребуваат. IMAP2bis немал механизам за проширување и POP има само едно дефинирано од страна на RFC 2449.

Недостатоци на IMAP[уреди]

Иако IMAP има многу предности во однос на POP, тој има поголема комплексност. Многу од оваа сложеност (на пример повеќе клиенти пристапуваат кон истото сандаче во исто време) се компензира со позадини на серверска страна како на пример Maildir или пак со бази на податоци.

Клиентот може да завзема големи серверски ресурси кога пребарува големи сандачиња ако пораките не се складираат внимателно и не се направат алгоритми за пребарување.

IMAP4 клиентите треба да одржуваат TCP/IP конекција до IMAP серверот за да можат да бидат известени кога ќе има нова порака. Известувањара се прават преку таканаречено in-band сигнализирање, кое придонесува на сложеноста на клиентската страна на IMAP протоколот.[12] Предлог за ова е Push-IMAP кој го проширува IMAP барајќи имплементација на push e-mail на тој начин што се праќа целата порака наместо известување. Но, push IMAP не е добро прифатен и тековната IETF работа го избегнува проблемот користејќи други начини (Lemonade Profile).

За разлика од некои лиценцирани протоколи кои комбинираат операции за праќање и превземање, праќањето на порака и правење на копија на истата во датотека на серверска страна со основно ниво на IMAP, клиентот прави барање за пренос на пораката два пати едно кон SMTP за доставување и едно кон IMAP за складирање во датотеката за пратени пораки. Овој проблем е решен со помош на множество од проширувања дефинирани од страна на IETF LEMONADE групата за мобилни уреди: URLAUTH (RFC 4467) и CATENATE (RFC 4469) во IMAP и на BURL (RFC 4468) во SMTP-SUBMISSION. POP серверите не поддржуваат датотеки на серверска страна па клиентите немаат избор освен да складираат пратени пораки кај нив. Многу IMAP клиенти можат да бидат конфигурирани така што се овозможува складирање на пратени пораки во датотека на клиентска страна или на BCC и да се филтрираат новите пораки наместо да се прават копии во датотеката. Како додаток LEMONADE "триото", Courier Mail Server нуди нестандардни методи на праќање корисејќи IMAP копирајќи би пораките кои се праќаат во посебна датотека.

Како POP, и IMAP е протокол само за електронска пошта. Како резултат на тоа предмети како контакти, состаноци или задачи не можат да се управуваат или пристапуваат со негово користење.

Повеќе информации[уреди]

Референци[уреди]

  1. Mullet, Diana (2000). „Managing IMAP“. O'Reilly. стр. 25. ISBN 059600012X. 
  2. The IMAP Connection - IMAP Status and History
  3. http://www.iana.org/assignments/service-names
  4. 4,0 4,1 „RFC 2061 - IMAP4 COMPATIBILITY WITH IMAP2BIS“. IETF. 1996. http://tools.ietf.org/html/rfc2061. конс. 21 август 2010. 
  5. „INTERACTIVE MAIL ACCESS PROTOCOL - VERSION 3“. IETF. 1991. http://tools.ietf.org/html/rfc1203. конс. 21 август 2010. 
  6. „IMAP2, IMAP2bis, IMAP3, IMAP4, IMAP4rev1 (LAN Mail Protocols)“. http://stason.org/TULARC/networking/lans-mail-protocols/03-IMAP2-IMAP2bis-IMAP3-IMAP4-IMAP4rev1-LAN-Mail-Protoc.html. конс. 21 август 2010. 
  7. „IMAP Overview, History, Versions and Standards“. http://www.tcpipguide.com/free/t_IMAPOverviewHistoryVersionsandStandards-3.htm. конс. 21 август 2010. 
  8. „Protocol Action: Interactive Mail Access Protocol - Version 3 to Historic (IETF mail archive)“. 1993. http://www.ietf.org/mail-archive/web/ietf/current/msg01656.html. конс. 21 август 2010. 
  9. „Innosoft and POP/IMAP protocols? (mail archive)“. 1993. http://www.pmdf.process.com/ftp/info-pmdf/aug.1993?httpd=content&type=text/plain;%20charset%3DISO-8859-1. конс. 21 август 2010. 
  10. „INTERACTIVE MAIL ACCESS PROTOCOL - VERSION 2bis (Internet Draft)“. IETF. 1993. http://tools.ietf.org/html/draft-ietf-imap-imap2bis-02. конс. 21 август 2010. 
  11. „IMAP2BIS -- EXTENSIONS TO THE IMAP2 PROTOCOL (DRAFT)“. 1992. http://ftp.zcu.cz/pub/network/imap/old/IMAP2bis.TXT. конс. 21 август 2010. 
  12. „IMAP IDLE:Најдобар пристап за 'push' email“. Isode.com. http://www.isode.com/whitepapers/imap-idle.html. конс. 30 јули 2009. 

Користена литература[уреди]

  • Heinlein, P; Hartleben, P (2008). „The Book of IMAP: Building a Mail Server with Courier and Cyrus“. No Starch Press. ISBN 1593271778. 
  • Hughes, L (1998). „Internet e-mail Protocols, Standards and Implementation“. Artech House Publishers. ISBN 0890069395. 
  • Johnson, K (2000). „Internet Email Protocols: A Developer's Guide“. Addison-Wesley Professional. ISBN 0201432889. 
  • Loshin, P (1999). „Essential Email Standards: RFCs and Protocols Made Practical“. John Wiley & Sons. ISBN 0471345970. 
  • Mullet, K (2000). „Managing IMAP“. O'Reilly Media. ISBN 059600012X. 
  • Rhoton, J (1999). „Programmer's Guide to Internet Mail: SMTP, POP, IMAP, and LDAP“. Elsevier. ISBN 1555582125. 
  • Wood, D (1999). „Programming Internet Mail“. O'Reilly. ISBN 1565924797. 

Надворешни линкови[уреди]

  • RFC 3501 - specification of IMAP version 4 revision 1
  • RFC 2683 - IMAP Implementation Suggestions RFC
  • RFC 2177 - IMAP4 IDLE command

Шаблон:E-mail клиенти