Ранее в этом месяце на Hacker News активно обсуждался Протокол JMAP разработан под руководством IETF .
Мы решили поговорить о том, зачем это нужно и как это работает.
/ ++++++++++++++++++++++++++++++++++ /ПД
Что мне не понравилось в IMAP
Протокол IMAP был представлен в 1986 году.Многие вещи, описанные в стандарте, сегодня уже не актуальны.
Например, протокол может возвращать количество строк письма и контрольные суммы.
MD5 — данный функционал практически не используется в современных почтовых клиентах.
Другая проблема связана с потреблением трафика.
При использовании IMAP электронные письма хранятся на сервере и периодически синхронизируются с локальными клиентами.
Если по какой-то причине копия на устройстве пользователя испортится, всю почту придется синхронизировать заново.
В современном мире, когда к серверу могут быть подключены тысячи мобильных устройств, такой подход приводит к повышенному потреблению трафика и вычислительных ресурсов.
Трудности возникают не только с самим протоколом, но и с почтовыми клиентами, которые с ним работают. С момента своего создания протокол IMAP неоднократно подвергался различным изменениям — текущей версией на сегодняшний день является IMAP4. При этом для него существует множество дополнительных расширений - в сети опубликовано девяносто RFC с дополнениями.
Одним из последних является RFC8514 , представленный в 2019 году.
При этом многие компании предлагают собственные фирменные решения, которые должны упростить работу с IMAP или даже заменить его: Gmail , Перспективы , Нилас .
В результате существующие почтовые клиенты поддерживают только некоторые из доступных функций.
Такое разнообразие приводит к сегментации рынка.
«Более того, современный почтовый клиент должен не только пересылать сообщения, но и уметь работать с контактами и синхронизироваться с календарем», — говорит Сергей Белкин, руководитель разработки IaaS-провайдера.JMAP предназначен для решения этих проблем.— Сегодня сторонние протоколы, такие как ЛДАП , КартаDAV И КалДАВ .
Такой подход усложняет настройку межсетевых экранов в корпоративных сетях и открывает новые векторы для кибератак».
Его разрабатывают специалисты FastMail под руководством Инженерной группы Интернета (IETF).
Протокол работает поверх HTTPS, использует JSON (по этой причине он подходит не только для обмена электронными сообщениями, но и для решения ряда задач в облаке) и упрощает организацию работы с почтой в мобильных системах.
Помимо обработки писем, JMAP также предоставляет возможность подключения расширений для работы с контактами и планировщика календаря.
Особенности нового протокола
JMAP - это протокол без сохранения состояния (без гражданства) и не требует постоянного подключения к почтовому серверу.Эта функция упрощает работу в нестабильных мобильных сетях и экономит заряд батареи устройств.
Электронное письмо в JMAP представлено в формате структуры JSON. Содержит всю информацию из сообщения RFC5322 (Формат интернет-сообщений), который может потребоваться приложениям электронной почты.
По мнению разработчиков, такой подход должен упростить создание клиентов, поскольку решение потенциальных сложностей (связанных с МИМ , чтение заголовков и кодирование) сервер ответит. Клиент использует API для связи с сервером.
Для этого он генерирует аутентифицированный запрос POST, свойства которого описаны в объекте сеанса JMAP. Запрос имеет формат application/json и состоит из одного объекта запроса JSON. Сервер также генерирует один объект ответа.
В Характеристики (пункт 3) авторы с просьбой приводят следующий пример:
Ниже приведен пример ответа, который сгенерирует сервер:{ "using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ], "methodCalls": [ [ "method1", { "arg1": "arg1data", "arg2": "arg2data" }, "c1" ], [ "method2", { "arg1": "arg1data" }, "c2" ], [ "method3", {}, "c3" ] ] }
{
"methodResponses": [
[ "method1", {
"arg1": 3,
"arg2": "foo"
}, "c1" ],
[ "method2", {
"isBlah": true
}, "c2" ],
[ "anotherResponseFromMethod2", {
"data": 10,
"yetmoredata": "Hello"
}, "c2"],
[ "error", {
"type":"unknownMethod"
}, "c3" ]
],
"sessionState": "75128aab4b1b"
}
Полную спецификацию JMAP с примерами реализации можно найти по адресу Официальный веб-сайт проект. Там же авторы разместили описание технических характеристик Контакты JMAP И JMAP-календари — они направлены на работу с календарями и списками контактов.
К слова авторы, Контакты и Календари были выделены в отдельные документы, чтобы их можно было в дальнейшем развивать и стандартизировать независимо от «ядра».
Исходные коды для JMAP - в репозитории на GitHub .
/ ++++++++++++++++++++++++++++++++++ /ПД
Перспективы
Несмотря на то, что работа над стандартом официально еще не завершена, он уже реализуется в производственных средах.Например, создатели открытого почтового сервера Сайрус IMAP реализовал свою версию JMAP. Разработчики из FastMail выпущенный серверную структуру для нового протокола на Perl, а авторы JMAP представили Прокси сервер .
Мы можем ожидать, что в будущем будет все больше и больше проектов на основе JMAP. Например, есть некоторая вероятность того, что разработчики из Open-Xchange, создающие IMAP-сервер для систем Linux, перейдут на новый протокол.
Откажитесь от IMAP. члены сообщества спрашивают , сформированный вокруг инструментов компании.
Разработчики из IETF и FastMail говорят, что все больше пользователей видят необходимость в новом открытом стандарте обмена сообщениями.
Авторы JMAP надеются, что в будущем больше компаний начнут внедрять этот протокол.
Наши дополнительные ресурсы и источники:Теги: #облачные сервисы #разработка сайтов #мессенджеры #почта #ИТ-стандарты #IMAP #1cloud #JMAP
Как проверить файлы cookie на соответствие GDPR — поможет новый открытый инструмент
Как сэкономить с помощью интерфейса прикладного программирования
DevOps в облачном сервисе на примере 1cloud.ru
Ээволюция облачной архитектуры 1cloud
Потенциальные атаки на HTTPS и способы защиты от них
Как защитить сервер в Интернете: опыт 1cloud.ru
Краткий ликбез: что такое Continuous Integration
-
Мальчик
19 Oct, 24 -
Google Начал Нанимать Троечников
19 Oct, 24 -
Маунт И Клинок. Огнем И Мечом» В Печати.
19 Oct, 24 -
Цифровые Мероприятия В Москве С 23 По 29 Мая
19 Oct, 24 -
Небольшой Странный Баг В Браузере Iron
19 Oct, 24