JMAP - электрондук каттарды алмашууда IMAPты алмаштыра турган ачык протокол

Ушул айдын башында Hacker News сайтында активдуу талкууланды JMAP протоколу IETF жетекчилиги астында иштелип чыккан. Биз анын эмне үчүн керектиги жана ал кандайча иштээри тууралуу сүйлөшүүнү чечтик.

JMAP - электрондук каттарды алмашууда IMAPты алмаштыра турган ачык протокол
/ запастар /PD

IMAPтын мага эмнеси жакпады

протокол IMAP 1986-жылы киргизилген. Стандартта сүрөттөлгөн көп нерселер бүгүнкү күндө актуалдуу эмес. Мисалы, протокол каттын саптарынын санын жана текшерүү суммасын кайтара алат MD5 - бул функция заманбап электрондук почта кардарларында дээрлик колдонулбайт.

Дагы бир көйгөй - трафикти керектөө. IMAP менен электрондук почталар серверде сакталып, жергиликтүү кардарлар менен мезгил-мезгили менен синхрондолуп турат. Эгер кандайдыр бир себептерден улам колдонуучунун түзмөгүндөгү көчүрмө бузулуп калса, бардык почта кайра шайкештештирилиши керек. Заманбап дүйнөдө миңдеген мобилдик түзүлүштөр серверге туташтырылса, бул ыкма трафиктин жана эсептөө ресурстарынын көбөйүшүнө алып келет.

Кыйынчылыктар протоколдун өзүнө гана эмес, аны менен иштеген электрондук почта кардарларына да келип чыгат. IMAP түзүлгөндөн бери көп жолу ар кандай оңдоолорго дуушар болгон - азыркы версия бүгүнкү күндө IMAP4. Ошол эле учурда, ал үчүн көптөгөн кошумча кеңейтүүлөр бар - тармакта жарыяланган толуктоолор менен токсон RFCs. Эң акыркыларынын бири RFC8514, 2019-жылы киргизилген.

Ошол эле учурда, көптөгөн компаниялар IMAP менен иштөөнү жөнөкөйлөштүрүүгө же аны алмаштырууга тийиш болгон өздөрүнүн менчик чечимдерин сунушташат: Gmail, көрүнүш, nylas. Натыйжада, учурдагы электрондук почта кардарлары жеткиликтүү функциялардын айрымдарын гана колдойт. Мындай көп түрдүүлүк рынокту сегментациялоого алып келет.

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

JMAP бул көйгөйлөрдү чечүү үчүн иштелип чыккан. Бул FastMail эксперттери тарабынан Internet Engineering Task Force (IETF) жетекчилиги астында иштелип жатат. Протокол HTTPS үстүндө иштейт, JSON колдонот (ошондуктан ал электрондук билдирүүлөрдү алмашуу үчүн гана эмес, булуттагы бир катар милдеттерди чечүү үчүн да ылайыктуу) жана мобилдик системаларда почта менен иштөөнү уюштурууну жөнөкөйлөтөт. Каттарды иштетүүдөн тышкары, JMAP ошондой эле байланыштар жана календардык пландоочу менен иштөө үчүн кеңейтүүлөрдү туташтыруу мүмкүнчүлүгүн берет.

Жаңы протоколдун өзгөчөлүктөрү

JMAP болуп саналат жарандыгы жок протокол (жарандыгы жок) жана почта серверине туруктуу туташууну талап кылбайт. Бул функция туруксуз мобилдик тармактарда иштөөнү жеңилдетет жана түзмөктөрдө батареянын кубатын үнөмдөйт.

JMAPдеги электрондук почта JSON түзүм форматында көрсөтүлөт. Анда билдирүүдөгү бардык маалыматтар камтылган RFC5322 (Internet Message Format), электрондук почта тиркемелерине керек болушу мүмкүн. Иштеп чыгуучулардын айтымында, бул ыкма кардарларды түзүүнү жөнөкөйлөштүрүү керек, анткени мүмкүн болуучу кыйынчылыктарды (байланыштуу Mime, баш аттарды окуу жана коддоо) сервер жооп берет.

Кардар сервер менен байланышуу үчүн 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 календарлары — алар календарлар жана байланыш тизмелери менен иштөөгө багытталган. By сөздөр Авторлор, Байланыштар жана Календарлар өзүнчө документтерге бөлүнгөн, ошондуктан алар "өзөктөн" көз карандысыз түрдө иштелип чыгып, стандартташтырылган. JMAP үчүн булак коддору - in GitHubдагы репозиторийлер.

JMAP - электрондук каттарды алмашууда IMAPты алмаштыра турган ачык протокол
/ запастар /PD

келечеги

Стандарт боюнча иштер расмий түрдө аяктай электигине карабастан, ал өндүрүш чөйрөлөрүндө ишке ашырылууда. Мисалы, ачык почта серверинин жаратуучулары Cyrus IMAP анын JMAP версиясын ишке ашырды. FastMailден иштеп чыгуучулар бошотулду Perl жаңы протоколу үчүн сервер алкактары жана JMAP авторлору сунушталды прокси сервер.

Келечекте JMAP негизиндеги долбоорлор дагы көп болот деп күтсөк болот. Мисалы, Linux системалары үчүн IMAP серверин түзүп жаткан Open-Xchange иштеп чыгуучулары жаңы протоколго өтүшү ыктымал. Аларды IMAPтан абдан баш тартыңыз – деп сурашат коомчулуктун өкүлдөрү, компаниянын куралдарынын айланасында түзүлгөн.

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

Биздин кошумча булактарыбыз жана булактарыбыз:

JMAP - электрондук каттарды алмашууда IMAPты алмаштыра турган ачык протокол GDPR шайкештигин кукилерди кантип текшерүү керек - жаңы ачык курал жардам берет

JMAP - электрондук каттарды алмашууда IMAPты алмаштыра турган ачык протокол Колдонмо программалоо интерфейси менен кантип сактоо керек
JMAP - электрондук каттарды алмашууда IMAPты алмаштыра турган ачык протокол 1cloud.ru мисалында булут кызматындагы DevOps
JMAP - электрондук каттарды алмашууда IMAPты алмаштыра турган ачык протокол Булут архитектурасынын эволюциясы 1cloud

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

Source: www.habr.com

Комментарий кошуу