JMAP - отворен протокол кој ќе го замени IMAP при размена на е-пошта

Претходно овој месец на Hacker News активно се разговараше JMAP протокол развиен под раководство на IETF. Решивме да разговараме зошто е потребно и како функционира.

JMAP - отворен протокол кој ќе го замени IMAP при размена на е-пошта
/ PxОвде /ПД

Што не ми се допадна кај IMAP

Протокол IMAP беше воведен во 1986 година. Многу работи опишани во стандардот веќе не се релевантни денес. На пример, протоколот може да го врати бројот на линии на буквата и контролните суми MD5 - оваа функционалност практично не се користи кај современите клиенти за е-пошта.

Друг проблем е поврзан со потрошувачката на сообраќај. Со IMAP, е-пораките се зачувуваат на серверот и периодично се синхронизираат со локалните клиенти. Ако поради некоја причина копијата на уредот на корисникот се оштети, целата пошта треба повторно да се синхронизира. Во современиот свет, кога илјадници мобилни уреди можат да се поврзат на серверот, овој пристап води до зголемена потрошувачка на сообраќај и компјутерски ресурси.

Тешкотиите се јавуваат не само со самиот протокол, туку и со клиентите за е-пошта кои работат со него. Од своето создавање, IMAP беше предмет на различни ревизии многу пати - сегашната верзија денес е IMAP4. Во исто време, има многу опционални екстензии за тоа - на мрежата објавено деведесет RFC со додатоци. Еден од најновите е RFC8514, претставена во 2019 година.

Во исто време, многу компании нудат свои сопствени сопствени решенија кои треба да ја поедностават работата со IMAP или дури и да ја заменат: Gmail, Outlook, Нилас. Резултатот е дека постоечките клиенти за е-пошта поддржуваат само некои од достапните функции. Таквата разновидност води кон сегментација на пазарот.

„Покрај тоа, модерен клиент за е-пошта не само што треба да препраќа пораки, туку да може да работи со контакти и да се синхронизира со календарот“, вели Сергеј Белкин, шеф за развој во давателот на IaaS. 1cloud.ru. — Денес, протоколи од трети страни како LDAP, CardDAV и CalDAV. Овој пристап ја комплицира конфигурацијата на заштитните ѕидови во корпоративните мрежи и отвора нови вектори за сајбер напади“.

JMAP е дизајниран да ги реши овие проблеми. Се развива од експерти на FastMail под водство на Работната група за Интернет инженерство (IETF). Протоколот работи на врвот на HTTPS, користи JSON (поради оваа причина е погоден не само за размена на електронски пораки, туку и за решавање на голем број задачи во облакот) и ја поедноставува организацијата на работа со пошта во мобилните системи. Покрај обработката на буквите, JMAP обезбедува и можност за поврзување на екстензии за работа со контакти и распоредувач на календари.

Карактеристики на новиот протокол

JMAP е протокол без државјанство (без државјанство) и не бара постојана врска со серверот за пошта. Оваа функција ја поедноставува работата во нестабилни мобилни мрежи и заштедува енергија од батеријата на уредите.

Е-пошта во JMAP е претставена во формат на структура JSON. Ги содржи сите информации од пораката RFC5322 (Формат на интернет пораки), што може да им биде потребно на апликациите за е-пошта. Според програмерите, овој пристап треба да го поедностави создавањето на клиенти, бидејќи решавањето на потенцијалните тешкотии (поврзани со МИМЕ, читање заглавија и кодирање) серверот ќе одговори.

Клиентот користи API за контакт со серверот. За да го направите ова, генерира автентицирано барање POST, чии својства се опишани во објектот за сесија JMAP. Барањето е во формат апликација/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.

JMAP - отворен протокол кој ќе го замени IMAP при размена на е-пошта
/ PxОвде /ПД

Изгледите

И покрај фактот дека работата на стандардот сè уште не е официјално завршена, таа веќе се спроведува во производствени средини. На пример, креаторите на отворениот сервер за пошта Сајрус IMAP ја имплементира својата верзија JMAP. Програмери од FastMail ослободен сервер рамка за новиот протокол во Perl, и авторите на JMAP презентирани прокси-сервер.

Можеме да очекуваме дека во иднина ќе има се повеќе и повеќе проекти базирани на JMAP. На пример, постои одредена веројатност дека програмерите од Open-Xchange, кои создаваат сервер IMAP за Linux системи, ќе се префрлат на новиот протокол. Многу одбијте ги IMAP прашуваат членовите на заедницата, формирана околу алатките на компанијата.

Програмерите од IETF и FastMail велат дека се повеќе корисници ја гледаат потребата од нов отворен стандард за пораки. Авторите на JMAP се надеваат дека во иднина повеќе компании ќе почнат да го спроведуваат овој протокол.

Нашите дополнителни ресурси и ресурси:

JMAP - отворен протокол кој ќе го замени IMAP при размена на е-пошта Како да ги проверите колачињата за усогласеност со GDPR - нова отворена алатка ќе ви помогне

JMAP - отворен протокол кој ќе го замени IMAP при размена на е-пошта Како да заштедите со програмски интерфејс за апликации
JMAP - отворен протокол кој ќе го замени IMAP при размена на е-пошта DevOps во облак услуга користејќи го примерот на 1cloud.ru
JMAP - отворен протокол кој ќе го замени IMAP при размена на е-пошта Еволуцијата на архитектурата на облакот 1облак

JMAP - отворен протокол кој ќе го замени IMAP при размена на е-пошта Потенцијални напади на HTTPS и како да се заштитите од нив
JMAP - отворен протокол кој ќе го замени IMAP при размена на е-пошта Како да заштитите сервер на Интернет: искуство со 1cloud.ru
JMAP - отворен протокол кој ќе го замени IMAP при размена на е-пошта Кратка едукативна програма: што е континуирана интеграција

Извор: www.habr.com

Додадете коментар