JMAP - электрондық поштамен алмасу кезінде IMAP ауыстыратын ашық хаттама

Осы айдың басында Hacker News сайтында белсенді түрде талқыланды JMAP протоколы IETF басшылығымен әзірленген. Біз оның не үшін қажет екендігі және оның қалай жұмыс істейтіні туралы сөйлесуді шештік.

JMAP - электрондық поштамен алмасу кезінде IMAP ауыстыратын ашық хаттама
/ PxМұнда /П.Д

Маған IMAP не ұнамады

Хаттама IMAP 1986 жылы енгізілді. Стандартта сипатталған көптеген нәрселер бүгінгі күні өзекті емес. Мысалы, хаттама хаттың жолдар санын және бақылау сомасын қайтара алады MD5 - бұл функция заманауи электрондық пошта клиенттерінде іс жүзінде қолданылмайды.

Тағы бір мәселе трафикті тұтынумен байланысты. IMAP көмегімен электрондық пошталар серверде сақталады және жергілікті клиенттермен мерзімді түрде синхрондалады. Егер қандай да бір себептермен пайдаланушының құрылғысындағы көшірме бүлінсе, барлық хаттарды қайта синхрондауға тура келеді. Қазіргі әлемде мыңдаған мобильді құрылғыларды серверге қосуға болатын кезде, бұл тәсіл трафик пен есептеу ресурстарын тұтынудың артуына әкеледі.

Қиындықтар тек хаттаманың өзінде ғана емес, онымен жұмыс істейтін электрондық пошта клиенттерінде де туындайды. Құрылғаннан бері IMAP бірнеше рет әртүрлі түзетулерге ұшырады - қазіргі нұсқасы IMAP4. Сонымен қатар, ол үшін көптеген қосымша кеңейтімдер бар - желіде жарияланған толықтырулары бар тоқсан RFC. Ең соңғыларының бірі RFC8514, 2019 жылы енгізілген.

Сонымен қатар, көптеген компаниялар IMAP-пен жұмыс істеуді жеңілдететін немесе тіпті оны алмастыратын жеке меншік шешімдерін ұсынады: Gmail, көзқарас, Нилас. Нәтижесінде бар электрондық пошта клиенттері қол жетімді мүмкіндіктердің кейбірін ғана қолдайды. Мұндай әртүрлілік нарықты сегменттеуге әкеледі.

«Сонымен қатар, заманауи электрондық пошта клиенті тек хабарламаларды жіберіп қана қоймай, контактілермен жұмыс істей және күнтізбемен синхрондауға қабілетті болуы керек», - дейді IaaS провайдерінің әзірлеу бөлімінің басшысы Сергей Белкин. 1cloud.ru. — Бүгінгі таңда үшінші тарап хаттамалары ұнайды LDAP, CardDAV и CalDAV. Бұл тәсіл корпоративтік желілердегі желіаралық қалқандардың конфигурациясын қиындатады және кибершабуылдар үшін жаңа векторларды ашады».

JMAP осы мәселелерді шешуге арналған. Оны FastMail сарапшылары Internet Engineering Task Force (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 үшін бастапқы кодтар - in GitHub репозиторийлері.

JMAP - электрондық поштамен алмасу кезінде IMAP ауыстыратын ашық хаттама
/ PxМұнда /П.Д

Болашағы

Стандарт бойынша жұмыс ресми түрде аяқталмағанына қарамастан, ол қазірдің өзінде өндірістік ортада жүзеге асырылуда. Мысалы, ашық пошта серверін жасаушылар Cyrus IMAP оның JMAP нұсқасын енгізді. FastMail әзірлеушілері босатылды Perl-дегі жаңа хаттамаға арналған серверлік құрылымды және JMAP авторларын ұсынды прокси сервер.

Болашақта JMAP негізіндегі жобалар көбейеді деп күтуге болады. Мысалы, Linux жүйелері үшін IMAP серверін жасап жатқан Open-Xchange әзірлеушілерінің жаңа протоколға ауысу ықтималдығы бар. IMAP-тан өте бас тартыңыз қоғам мүшелері сұрайды, компания құралдарының айналасында қалыптасқан.

IETF және FastMail әзірлеушілері хабар алмасудың жаңа ашық стандартының қажеттілігін көбірек пайдаланушылар көріп жатқанын айтады. JMAP авторлары болашақта бұл хаттаманы енгізуді көбірек компаниялар бастайды деп үміттенеді.

Біздің қосымша ресурстарымыз бен ресурстарымыз:

JMAP - электрондық поштамен алмасу кезінде IMAP ауыстыратын ашық хаттама Cookie файлдарын GDPR сәйкестігін қалай тексеруге болады - жаңа ашық құрал көмектеседі

JMAP - электрондық поштамен алмасу кезінде IMAP ауыстыратын ашық хаттама Қолданбалы бағдарламалау интерфейсімен қалай сақтау керек
JMAP - электрондық поштамен алмасу кезінде IMAP ауыстыратын ашық хаттама 1cloud.ru мысалында бұлттық қызметтегі DevOps
JMAP - электрондық поштамен алмасу кезінде IMAP ауыстыратын ашық хаттама 1cloud бұлтты архитектурасының эволюциясы

JMAP - электрондық поштамен алмасу кезінде IMAP ауыстыратын ашық хаттама HTTPS жүйесіне ықтимал шабуылдар және олардан қалай қорғауға болады
JMAP - электрондық поштамен алмасу кезінде IMAP ауыстыратын ашық хаттама Интернетте серверді қалай қорғауға болады: 1cloud.ru тәжірибесі
JMAP - электрондық поштамен алмасу кезінде IMAP ауыстыратын ашық хаттама Қысқаша білім беру бағдарламасы: Үздіксіз интеграция дегеніміз не

Ақпарат көзі: www.habr.com

пікір қалдыру