Jump to content

Протокол доступа к сообщениям Интернета

(Перенаправлено с IMAP )

В вычислительной технике протокол доступа к сообщениям Интернета ( IMAP ) — это Интернета, стандартный протокол используемый почтовыми клиентами для получения сообщений электронной почты с почтового сервера через соединение TCP/IP . [1] IMAP определяется РФК   9051 .

IMAP был разработан с целью обеспечить полное управление почтовым ящиком несколькими почтовыми клиентами, поэтому клиенты обычно оставляют сообщения на сервере до тех пор, пока пользователь явно не удалит их. Сервер IMAP обычно прослушивает порт номер 143. IMAP через SSL/TLS ( IMAPS ) назначает номер порта 993. [2] [3]

Практически все современные почтовые клиенты и серверы поддерживают IMAP, который наряду с более ранним POP3 (протоколом почтового отделения) является двумя наиболее распространенными стандартными протоколами для получения электронной почты. [4] Многие поставщики услуг веб-почты , такие как Gmail и Outlook.com, также обеспечивают поддержку IMAP и POP3.

Протоколы электронной почты

[ редактировать ]

Протокол доступа к сообщениям Интернета — это Интернет-протокол прикладного уровня , который позволяет клиенту электронной почты получать доступ к электронной почте на удаленном почтовом сервере . Текущая версия определяется РФК   9051 . Сервер IMAP обычно прослушивает общеизвестный порт 143, а IMAP через SSL/TLS (IMAPS) использует 993. [2] [3]

Входящие сообщения электронной почты отправляются на сервер электронной почты, который хранит сообщения в почтовом ящике получателя. Пользователь получает сообщения с помощью почтового клиента, который использует один из нескольких протоколов получения электронной почты. Хотя некоторые клиенты и серверы предпочитают использовать собственные протоколы , специфичные для конкретного поставщика , [5] почти все они поддерживают POP и IMAP для получения электронной почты, что дает возможность свободно выбирать между многими почтовыми клиентами , такими как Pegasus Mail или Mozilla Thunderbird, для доступа к этим серверам, а также позволяет использовать клиенты с другими серверами .

Почтовые клиенты, использующие IMAP, обычно оставляют сообщения на сервере до тех пор, пока пользователь явно не удалит их. Эта и другие характеристики работы IMAP позволяют нескольким клиентам управлять одним и тем же почтовым ящиком. Большинство почтовых клиентов поддерживают IMAP в дополнение к протоколу почтового отделения (POP) для получения сообщений. [6] IMAP предлагает доступ к хранилищу почты. Клиенты могут хранить локальные копии сообщений, но они считаются временным кешем.

IMAP был разработан Марком Криспином в 1986 году как протокол почтового ящика удаленного доступа, в отличие от широко используемого POP, протокола для простого получения содержимого почтового ящика.

Прежде чем появилась текущая ВЕРСИЯ 4rev1 (IMAP4), он прошел несколько итераций, как подробно описано ниже:

Оригинальный IMAP

[ редактировать ]

Исходный протокол временного доступа к почте был реализован в виде клиента Xerox Lisp Machine и сервера TOPS-20 .

Никаких копий оригинальной временной спецификации протокола или его программного обеспечения не существует. [7] [8] Хотя некоторые из его команд и ответов были похожи на IMAP2, во временном протоколе отсутствовала маркировка команд/ответов, и поэтому его синтаксис был несовместим со всеми другими версиями IMAP.

Временный протокол был быстро заменен протоколом интерактивного доступа к почте (IMAP2), определенным в RFC   1064 (в 1988 г.), позднее обновленный RFC   1176 (1990 г.). IMAP2 представил тегирование команд/ответов и стал первой общедоступной версией.

IMAP3 — чрезвычайно редкий вариант IMAP. [9] Он был опубликован как RFC   1203 1991 года. Он был написан специально как встречное предложение RFC   1176 , который сам предлагал модификации IMAP2. [10] IMAP3 никогда не был принят на рынке. [11] [12] В 1993 году IESG . реклассифицировала RFC1203 «Протокол интерактивного доступа к почте - версия 3» как исторический протокол. Рабочая группа IMAP использовала RFC 1176 (IMAP2), а не RFC 1203 (IMAP3) в качестве отправной точки [13] [14]

С появлением MIME IMAP2 был расширен для поддержки структур тела MIME и добавления функций управления почтовыми ящиками (создание, удаление, переименование, загрузка сообщений), которые отсутствовали в IMAP2. Эта экспериментальная версия называлась IMAP2bis; его спецификация никогда не публиковалась в виде черновика. Интернет-проект IMAP2bis был опубликован рабочей группой IETF IMAP в октябре 1993 года. Этот проект был основан на следующих более ранних спецификациях: неопубликованный IMAP2bis.TXT , документ RFC   1176 и RFC   1064 (IMAP2). [15] Проект IMAP2bis.TXT документировал состояние расширений IMAP2 по состоянию на декабрь 1992 года. [16] Ранние версии Pine были широко распространены с поддержкой IMAP2bis. [9] (Pine 4.00 и более поздние версии поддерживают IMAP4rev1).

Рабочая группа IMAP, созданная в IETF в начале 1990-х годов, взяла на себя ответственность за разработку IMAP2bis. Рабочая группа IMAP решила переименовать IMAP2bis в IMAP4, чтобы избежать путаницы.

Преимущества перед POP

[ редактировать ]

Подключенный и отключенный режимы

[ редактировать ]

При использовании POP клиенты обычно подключаются к серверу электронной почты ненадолго, ровно столько времени, сколько необходимо для загрузки новых сообщений. При использовании IMAP4 клиенты часто остаются на связи, пока активен пользовательский интерфейс, и загружают содержимое сообщения по требованию. Для пользователей с большим количеством или большими сообщениями этот шаблон использования IMAP4 может привести к более быстрому времени ответа.

Отчетность о внешних изменениях

[ редактировать ]

После успешной аутентификации протокол POP обеспечивает полностью статическое представление текущего состояния почтового ящика и не предоставляет механизма отображения каких-либо внешних изменений состояния во время сеанса. Напротив, протокол IMAP обеспечивает динамическое представление и требует, чтобы внешние изменения состояния, включая вновь поступившие сообщения, а также изменения, внесенные в почтовый ящик другими одновременно подключенными клиентами, обнаруживались, и между командами отправлялись соответствующие ответы, а также во время команды IDLE , как описано в РФК   2177 . См. также В разделе 5.2 RFC   3501 конкретно упоминается «одновременный доступ к одному и тому же почтовому ящику нескольких агентов».

Доступ к частям сообщения MIME и частичная выборка

[ редактировать ]

Обычно вся электронная почта Интернета передается в формате MIME , что позволяет сообщениям иметь древовидную структуру , в которой конечные узлы представляют собой любой из множества одночастных типов контента, а неконечные узлы представляют собой любой из множества составных типов. Протокол IMAP4 позволяет клиентам получать любую из отдельных частей MIME отдельно, а также получать части отдельных частей или всего сообщения. Эти механизмы позволяют клиентам получать текстовую часть сообщения без извлечения прикрепленных файлов или передавать содержимое в потоковом режиме по мере его получения.

Информация о состоянии сообщения

[ редактировать ]

Благодаря использованию флагов, определенных в протоколе IMAP4, клиенты могут отслеживать состояние сообщения: например, было ли сообщение прочитано, на него ответили или было удалено. Эти флаги хранятся на сервере, поэтому разные клиенты, обращающиеся к одному и тому же почтовому ящику в разное время, могут обнаружить изменения состояния, внесенные другими клиентами. POP не предоставляет клиентам механизма для хранения такой информации о состоянии на сервере, поэтому, если один пользователь обращается к почтовому ящику с двумя разными клиентами POP (в разное время), информация о состоянии, например, был ли осуществлен доступ к сообщению, не может быть синхронизирована между клиенты. Протокол IMAP4 поддерживает как предопределенные системные флаги, так и ключевые слова, определенные клиентом. Системные флаги указывают информацию о состоянии, например, было ли прочитано сообщение. Ключевые слова, которые поддерживаются не всеми серверами IMAP, позволяют присваивать сообщениям один или несколько тегов , значение которых зависит от клиента. Ключевые слова IMAP не следует путать с собственными метками веб- служб электронной почты, которые иногда переводятся в папки IMAP соответствующими проприетарными серверами.

Несколько почтовых ящиков на сервере

[ редактировать ]

Клиенты IMAP4 могут создавать, переименовывать и удалять почтовые ящики (обычно представленные пользователю в виде папок) на сервере, а также копировать сообщения между почтовыми ящиками. Поддержка нескольких почтовых ящиков также позволяет серверам предоставлять доступ к общим и общедоступным папкам. IMAP4 Расширение списка управления доступом (ACL) ( RFC   4314 ) может использоваться для регулирования прав доступа.

Поиск на стороне сервера

[ редактировать ]

IMAP4 предоставляет клиенту механизм запроса сервера на поиск сообщений, отвечающих различным критериям. Этот механизм позволяет избежать необходимости загрузки клиентами каждого сообщения в почтовом ящике для выполнения такого поиска.

Встроенный механизм расширения.

[ редактировать ]

Отражая опыт более ранних интернет-протоколов, IMAP4 определяет явный механизм, с помощью которого его можно расширить. Было предложено множество расширений базового протокола IMAP4, которые широко используются. У IMAP2bis не было механизма расширения, а у POP теперь есть механизм, определенный РФК   2449 .

Push-уведомления сервера

[ редактировать ]

IMAP IDLE предоставляет почтовому серверу возможность уведомлять подключенных клиентов об изменениях в почтовом ящике, например, о прибытии новой почты. POP не предоставляет сопоставимых функций, и почтовым клиентам необходимо периодически подключаться к POP-серверу для проверки наличия новой почты.

Недостатки

[ редактировать ]

Хотя IMAP устраняет многие недостатки POP, это по своей сути вносит дополнительную сложность. Большая часть этой сложности (например, одновременное обращение нескольких клиентов к одному и тому же почтовому ящику) компенсируется обходными путями на стороне сервера, такими как Maildir или серверные части базы данных.

Спецификацию IMAP критиковали за то, что она недостаточно строгая и допускает поведение, которое фактически сводит на нет ее полезность. Например, в спецификации указано, что каждое сообщение, хранящееся на сервере, имеет «уникальный идентификатор», позволяющий клиентам идентифицировать сообщения, которые они уже видели между сеансами. Однако спецификация также позволяет объявлять эти UID недействительными практически без ограничений, что практически противоречит их цели. [17]

С административной и ресурсной точки зрения протокол IMAP можно рассматривать как раннюю реализацию облачных вычислений , поскольку цель и цель IMAP — поддерживать структуру вашего почтового ящика (содержимое, структуру папок, состояние отдельных сообщений и т. д.) на почтовый сервер, тогда как при использовании POP все это сохраняется на локальном устройстве пользователя. Таким образом, IMAP требует гораздо больше ресурсов на стороне сервера, что приводит к значительно более высоким затратам на почтовый ящик.

Если алгоритмы хранения, индексирования и поиска почты на сервере не будут тщательно реализованы, клиент потенциально может потреблять большие объемы ресурсов сервера при поиске в больших почтовых ящиках.

Клиентам IMAP4 необходимо поддерживать соединение TCP/IP с сервером IMAP, чтобы получать уведомления о прибытии новой почты. Уведомление о прибытии почты осуществляется посредством внутриполосной сигнализации , что в некоторой степени усложняет обработку протокола IMAP на стороне клиента. [18] Частное предложение push IMAP расширило бы IMAP для реализации принудительной отправки электронной почты путем отправки всего сообщения, а не только уведомления. Однако push IMAP не получил общепринятого признания, и текущая работа IETF решает проблему другими способами ( см. в профиле Lemonade дополнительную информацию ).

В отличие от некоторых проприетарных протоколов, которые сочетают в себе операции отправки и получения, отправка сообщения и сохранение копии в папке на стороне сервера с помощью клиента IMAP базового уровня требует передачи содержимого сообщения дважды: один раз в SMTP для доставки и второй раз в IMAP для доставки. хранить в папке отправленных писем. Эта проблема решается набором расширений, определенных в профиле IETF Lemonade Profile для мобильных устройств: URLAUTH ( RFC   4467 ) и CATENATE ( RFC   4469 ) в IMAP и BURL ( RFC   4468 ) в SMTP-SUBMISSION. В дополнение к этому Courier Mail Server предлагает нестандартный метод отправки с использованием IMAP путем копирования исходящего сообщения в выделенную папку «Исходящие». [19]

Безопасность

[ редактировать ]

Для криптографической защиты соединений IMAP между клиентом и сервером можно использовать IMAPS на TCP-порту 993, который использует SSL/TLS. [2] [3] По состоянию на январь 2018 года TLS является рекомендуемым механизмом. [20]

В качестве альтернативы STARTTLS можно использовать для шифрования соединения при подключении к порту 143 после первоначальной связи в виде открытого текста .

Пример диалога

[ редактировать ]

Это пример соединения IMAP, взятый из раздела 8 RFC 3501 :

C: <open connection>
S:   * OK IMAP4rev1 Service Ready
C:   a001 login mrc secret
S:   a001 OK LOGIN completed
C:   a002 select inbox
S:   * 18 EXISTS
S:   * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
S:   * 2 RECENT
S:   * OK [UNSEEN 17] Message 17 is the first unseen message
S:   * OK [UIDVALIDITY 3857529045] UIDs valid
S:   a002 OK [READ-WRITE] SELECT completed
C:   a003 fetch 12 full
S:   * 12 FETCH (FLAGS (\Seen) INTERNALDATE "17-Jul-1996 02:44:25 -0700"
      RFC822.SIZE 4286 ENVELOPE ("Wed, 17 Jul 1996 02:23:25 -0700 (PDT)"
      "IMAP4rev1 WG mtg summary and minutes"
      (("Terry Gray" NIL "gray" "cac.washington.edu"))
      (("Terry Gray" NIL "gray" "cac.washington.edu"))
      (("Terry Gray" NIL "gray" "cac.washington.edu"))
      ((NIL NIL "imap" "cac.washington.edu"))
      ((NIL NIL "minutes" "CNRI.Reston.VA.US")
      ("John Klensin" NIL "KLENSIN" "MIT.EDU")) NIL NIL
      "<[email protected]>")
      BODY ("TEXT" "PLAIN" ("CHARSET" "US-ASCII") NIL NIL "7BIT" 3028
      92))
S:   a003 OK FETCH completed
C:   a004 fetch 12 body[header]
S:   * 12 FETCH (BODY[HEADER] {342}
S:   Date: Wed, 17 Jul 1996 02:23:25 -0700 (PDT)
S:   From: Terry Gray <[email protected]>
S:   Subject: IMAP4rev1 WG mtg summary and minutes
S:   To: [email protected]
S:   Cc: [email protected], John Klensin <[email protected]>
S:   Message-Id: <[email protected]>
S:   MIME-Version: 1.0
S:   Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
S:
S:   )
S:   a004 OK FETCH completed
C    a005 store 12 +flags \deleted
S:   * 12 FETCH (FLAGS (\Seen \Deleted))
S:   a005 OK +FLAGS completed
C:   a006 logout
S:   * BYE IMAP4rev1 server terminating connection
S:   a006 OK LOGOUT completed

См. также

[ редактировать ]
  1. ^ Дин, Тамара (2010). Network+ Руководство по сетям . Дельмар. п. 519. ИСБН  978-1-42390245-4 . Архивировано из оригинала 05 февраля 2021 г. Проверено 25 декабря 2020 г.
  2. ^ Перейти обратно: а б с Блюм, Ричард (15 декабря 2002 г.). Безопасность электронной почты с открытым исходным кодом . Издательство Самс. ISBN  9780672322372 . Архивировано из оригинала 5 февраля 2021 года . Проверено 25 декабря 2020 г. - через Google Книги.
  3. ^ Перейти обратно: а б с Гарфинкель, Симсон; Спаффорд, Джин; Шварц, Алан (15 декабря 2003 г.). Практическая UNIX и Интернет-безопасность . «О'Рейли Медиа, Инк.». ISBN  9780596003234 . Архивировано из оригинала 5 февраля 2021 года . Проверено 25 декабря 2020 г. - через Google Книги.
  4. ^ Комарински, Марк (2000). Руководство по системному администрированию Red Hat Linux . Прентис Холл. п. 179.
  5. ^ Например, Microsoft клиент Outlook использует MAPI , собственный протокол Microsoft , для связи с сервером Microsoft Exchange . IBM Клиент Notes работает аналогичным образом при взаимодействии с сервером Domino .
  6. ^ Кефаль, Диана (2000). Управление IMAP . О'Рейли . п. 25. ISBN  0-596-00012-Х .
  7. ^ Криспин, Марк (13 февраля 2012 г.). «Re: [imap5] Разработка нового протокола замены IMAP» . imap5 (список рассылки). [электронная почта защищена] . Архивировано из оригинала 24 сентября 2015 года . Проверено 26 ноября 2014 г. Знания об исходном IMAP (до IMAP2) существуют в первую очередь в моем сознании, поскольку все исходные спецификации и реализации IMAP были заменены IMAP2.
  8. ^ Реестр имен служб и номеров портов транспортного протокола. Архивировано 18 апреля 2010 г. на Wayback Machine . Iana.org (12 июля 2013 г.). Проверено 17 июля 2013 г.
  9. ^ Перейти обратно: а б «RFC 2061 — совместимость IMAP4 с IMAP2BIS» . IETF. 1996. Архивировано из оригинала 23 июня 2011 г. Проверено 21 августа 2010 г.
  10. ^ «Протокол интерактивного доступа к почте – версия 3» . IETF. 1991. Архивировано из оригинала 4 марта 2010 г. Проверено 21 августа 2010 г.
  11. ^ «IMAP2, IMAP2bis, IMAP3, IMAP4, IMAP4rev1 (протоколы почты локальной сети)» . Архивировано из оригинала 15 июня 2010 г. Проверено 21 августа 2010 г.
  12. ^ «Обзор IMAP, история, версии и стандарты» . Архивировано из оригинала 29 ноября 2010 г. Проверено 21 августа 2010 г.
  13. ^ «Действие протокола: протокол интерактивного доступа к почте — версия 3 до исторической (почтовый архив IETF)» . 1993. Архивировано из оригинала 11 августа 2012 г. Проверено 21 августа 2010 г.
  14. ^ «Протоколы Innosoft и POP/IMAP? (почтовый архив)» . 1993. Архивировано из оригинала 15 июля 2011 г. Проверено 21 августа 2010 г.
  15. ^ «Протокол интерактивного доступа к почте – версия 2bis (интернет-проект)» . IETF. 1993. Архивировано из оригинала 8 октября 2012 г. Проверено 21 августа 2010 г.
  16. ^ «IMAP2BIS – Расширения протокола IMAP2 (проект)» . 1992. Архивировано из оригинала 18 июля 2011 г. Проверено 21 августа 2010 г.
  17. ^ «Реализация IMAP в Sup, почтовом клиенте, написанном на Ruby» . Rubyforge.com. Архивировано из оригинала 12 декабря 2007 г. Проверено 22 февраля 2011 г.
  18. ^ «IMAP IDLE: лучший подход для отправки электронной почты» . Isode.com. Архивировано из оригинала 28 февраля 2009 г. Проверено 30 июля 2009 г.
  19. ^ «Курьер-IMAP: Отправка почты через соединение IMAP» . Double Precision, Inc. Архивировано из оригинала 27 сентября 2013 г. Проверено 24 сентября 2013 г.
  20. ^ RFC 8314 . два : 10.17487/RFC8314 .

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: da8427a6c92c414f11b131dcd081c99b__1717508700
URL1:https://arc.ask3.ru/arc/aa/da/9b/da8427a6c92c414f11b131dcd081c99b.html
Заголовок, (Title) документа по адресу, URL1:
Internet Message Access Protocol - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)