Сравнение протоколов IMAP и POP

Сравнение

двух подходов доступа к удалённому почтовому ящику:

IMAP против POP

В настоящее время существует несколько различных подходов для построения распределённой почтовой инфраструктуры, и наибольшее распространение получили Internet протоколы для доступа к сообщениям:

  • POP (Post Office Protocol - протокол почтового офиса, в настоящее время применяется версия 3, POP3)
  • IMAP (Internet Message Access Protocol - протокол доступа к сообщениям по сети Internet, применяется версия 4, IMAP4).

POP был разработан для поддержки offline обработки почты. Согласно offline парадигме почта доставляется на (обычно разделяемый) сервер, а пользователь ПК периодически запускает почтового клиента, который соединяется с сервером и выкачивает всю новую почту на ПК. Вся обработка почты, например её фильтрация, происходит на локальной машине.

Об offline доступе можно думать как о сервисе "хранения и пересылки" (store-and-forward service), предназначенном для пересылки почты (по требованию) с почтового сервера на единственную конечную машину. Однажды доставленные на конечную машину, сообщения удаляются с почтового сервера. Хотя ограничения offline доступа могут быть скомпенсированы использованием POP в online режиме, этот протокол просто-напросто не имеет некоторой функциональности, требуемой для высококачественного online доступа. В действительности, псевдо-онлайн режим доступа, поддерживаемый POP3, заключается в том, что пользователь оставляет почту на сервере. Для того, чтобы почтовый клиент сумел обновить почтовый ящик или установить флаги сообщения, требуется наличие файл-ориентированного протокола (remote file system protocol),

IMAP также может применяться для offline доступа, но его мощь проявляется в первую очередь при online доступе. В этом случае, почта также доставляется на разделяемый сервер, но клиент уже не осуществляет копирование всей почты с последующим ее удалением с сервера. Online подход более клиент-серверный. В случае online доступа клиент может запросить у сервера заголовок сообщения или запросить поиск сообщения по некоторому критерию. Письма в хранилище сообщений могут быть помечены различными флагами статуса (например, письмо помечено для удаления или на него был послан ответ) и эти отметки сохраняются до тех пор, пока не будут явно удалены пользователем (что может не произойти до следующей сессии). Если сказать вкратце, то IMAP позволяет манипулировать удаленными почтовыми ящиками, как будто они являются локальными. В зависимости от реализации IMAP клиента и почтовой архитектуры, которую пожелал иметь управляющий почтовой системой, пользователь может сохранять сообщения только на клиентской машине, только на сервере или иметь выбор сделать и то и другое.

Как offline, так и online почтовые программы позволяют получить доступ к новым поступающим сообщениям на почтовом сервере с различных клиентских платформ. Однако на этом их сходство заканчивается. Эти две парадигмы отражают различные требования и стили использования, и они не очень хорошо комбинируются друг с другом. Offline доступ лучше подходит для людей, которые всегда используют единственную клиентскую машину. Он не очень хорошо подходит для таких задач как доступ к чьему-либо ящику входящих писем или ящикам с сохраненной корреспонденцией с различных машин в различное время. Все это можно объяснить тем, что при использовании offline ("скачал и удалил") доступа к почте с различных компьютеров, Ваша почта рассеивается по различным машинам, если только они не объединены общей файловой системой (в последнем случае Вы на самом деле имеете доступ в большей мере online, чем offline). С другой стороны, хорошим качеством offline доступа является то, что он минимизирует использование серверных ресурсов и время соединения, если используется удаленный доступ по модему. Суммируя всё вышесказанное, можно привести различия между online и offline парадигмами:

  • Offline и online парадигмы отражают два различных способа использования почтового сервера:
    • Offline = скачивание почты по требованию на единственную клиентскую машину.
    • Online = интерактивный доступ к множеству почтовых ящиков со стороны многих клиентов.
  • Преимущества offline парадигмы:
    • Минимальное время соединения с сервером.
    • Минимальное использование серверных ресурсов.
  • Преимущества online парадигмы:
    • Способность использовать разные компьютеры в разное время.
    • Платформо-независимый доступ к нескольким почтовым ящикам.
    • Возможность одновременного доступа к разделяемым почтовым ящикам.

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

Приведём теперь краткое сравнение протоколов POP3 и IMAP4

  • Характеристики, общие для обоих протоколов
    • Оба поддерживают offline доступ
    • Почта доставляется на общий, всегда работающий почтовый сервер
    • Новая почта доступна с большего числа клиентских платформ и из любого места в сети
    • Протоколы открыты и стандартизованы
    • Существуют и доступны всевозможные реализации, как клиентов, так и серверов
    • Оба протокола ориентированны только на считывание почты, для отсылки оба используют SMTP
    • Оба протокола поддерживают постоянные ID сообщений
  • Преимущества POP3
    • Легче реализовать
    • Больше клиентов существует на данный момент
  • Преимущества IMAP4
    • Может, как хранить сообщения, так и скачивать их. Есть возможность добавления сообщений в почтовый ящик.
    • Может работать с множеством почтовых ящиков (возможно даже иерархических).
    • Может поддерживать параллельный доступ к почтовым ящикам и параллельное их обновление.
    • Подходит для доступа к не почтовым данным, например к Usenet новостям или документам.
    • Может использовать offline доступ, для уменьшения времени соединения и используемого дискового пространства на сервере.
    • Позволяет осуществлять поиск писем на сервере.
    • Есть возможность скачать часть письма, причём можно скачать фрагмент начиная с любого места и любой длины.
    • Разработан специально для повышения производительности online доступа, особенно для медленных соединений.

А теперь подробнее:

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

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

IMAP можно использовать для доступа к не почтовым данным, например к News-группам. Это удобно с точки зрения унификации метода доступа к различным классам информации. IMAP также поддерживает offline парадигму, которая позволяет экономить время соединения с сервером и серверные ресурсы. Offline доступ удобно использовать в ситуациях, когда объем почтовых сообщений, превышает лимит на дисковое пространство на сервере (если такой установлен), то часть почты можно хранить на локальном компьютере.

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

Эффективная обработка MIME сообщений является значимым преимуществом IMAP над POP. (MIME - это Multipurpose Internet Mail Extensions). Это Internet стандарт для кодирования сообщений, содержащих произвольные присоединенные файлы. После кодирования сообщений MIME их можно посылать с помощью SMTP.

Подытожив, можно сказать, что IMAP выигрывает у POP в трех областях:

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