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. Посетено на 2010-08-21.
  5. „INTERACTIVE MAIL ACCESS PROTOCOL - VERSION 3“. IETF. 1991. Посетено на 2010-08-21.
  6. „IMAP2, IMAP2bis, IMAP3, IMAP4, IMAP4rev1 (LAN Mail Protocols)“. Посетено на 2010-08-21.
  7. „IMAP Overview, History, Versions and Standards“. Посетено на 2010-08-21.
  8. „Protocol Action: Interactive Mail Access Protocol - Version 3 to Historic (IETF mail archive)“. 1993. Посетено на 2010-08-21.
  9. „Innosoft and POP/IMAP protocols? (mail archive)“. 1993. Посетено на 2010-08-21.
  10. „INTERACTIVE MAIL ACCESS PROTOCOL - VERSION 2bis (Internet Draft)“. IETF. 1993. Посетено на 2010-08-21.
  11. „IMAP2BIS -- EXTENSIONS TO THE IMAP2 PROTOCOL (DRAFT)“. 1992. Посетено на 2010-08-21.
  12. „IMAP IDLE:Најдобар пристап за 'push' email“. Isode.com. Посетено на 2009-07-30.

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

  • 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 клиенти