JMAP - atvērts protokols, kas aizstās IMAP, apmainoties ar e-pastu

Å Ä« mēneÅ”a sākumā vietnē Hacker News tika aktÄ«vi apspriests JMAP protokols izstrādāts IETF vadÄ«bā. Mēs nolēmām runāt par to, kāpēc tas bija vajadzÄ«gs un kā tas darbojas.

JMAP - atvērts protokols, kas aizstās IMAP, apmainoties ar e-pastu
/ Fona attēls /PD

Kas man nepatika IMAP

Protokols IMAP tika ieviests 1986. gadā. Daudzas standartā aprakstÄ«tās lietas mÅ«sdienās vairs nav aktuālas. Piemēram, protokols var atgriezt burta rindu skaitu un kontrolsummas MD5 - Ŕī funkcionalitāte mÅ«sdienu e-pasta klientos praktiski netiek izmantota.

Vēl viena problēma ir saistÄ«ta ar satiksmes patēriņu. Izmantojot IMAP, e-pasta ziņojumi tiek saglabāti serverÄ« un periodiski sinhronizēti ar vietējiem klientiem. Ja kāda iemesla dēļ kopija lietotāja ierÄ«cē tiek bojāta, viss pasts ir jāsinhronizē vēlreiz. MÅ«sdienu pasaulē, kad serverim var pieslēgt tÅ«kstoÅ”iem mobilo ierīču, Ŕī pieeja palielina trafika un skaitļoÅ”anas resursu patēriņu.

GrÅ«tÄ«bas rodas ne tikai ar paÅ”u protokolu, bet arÄ« ar e-pasta klientiem, kas ar to strādā. KopÅ” tā izveides IMAP ir daudzkārt ticis pārskatÄ«ts - paÅ”reizējā versija Å”odien ir IMAP4. Tajā paŔā laikā tam ir daudz izvēles paplaÅ”inājumu tÄ«klā publicēts deviņdesmit RFC ar papildinājumiem. Viens no jaunākajiem ir RFC8514, kas ieviests 2019. gadā.

Tajā paŔā laikā daudzi uzņēmumi piedāvā savus patentētus risinājumus, kam vajadzētu vienkārÅ”ot darbu ar IMAP vai pat to aizstāt: Gmail, perspektÄ«va, nylas. Rezultātā esoÅ”ie e-pasta klienti atbalsta tikai dažas no pieejamajām funkcijām. Šāda dažādÄ«ba noved pie tirgus segmentācijas.

"Turklāt modernam e-pasta klientam ir ne tikai jāpārsÅ«ta ziņojumi, bet arÄ« jāspēj strādāt ar kontaktiem un sinhronizēt ar kalendāru," saka Sergejs Belkins, IaaS nodroÅ”inātāja attÄ«stÄ«bas vadÄ«tājs. 1cloud.ru. ā€” MÅ«sdienās treÅ”o puÅ”u protokoliem patÄ«k LDAP, CardDAV Šø CalDAV. Å Ä« pieeja sarežģī ugunsmÅ«ru konfigurÄ“Å”anu korporatÄ«vajos tÄ«klos un paver jaunus vektorus kiberuzbrukumiem.

JMAP ir paredzēts Å”o problēmu risināŔanai. To izstrādā FastMail eksperti Internet Engineering Task Force (IETF) vadÄ«bā. Protokols darbojas virs HTTPS, izmanto JSON (Ŕī iemesla dēļ tas ir piemērots ne tikai elektronisko ziņojumu apmaiņai, bet arÄ« vairāku uzdevumu risināŔanai mākonÄ«) un vienkārÅ”o darba organizÄ“Å”anu ar pastu mobilajās sistēmās. Papildus vēstuļu apstrādei JMAP nodroÅ”ina arÄ« iespēju savienot paplaÅ”inājumus darbam ar kontaktpersonām un kalendāra plānotāju.

Jaunā protokola iezīmes

JMAP ir bezvalstniecības protokols (bezvalsts) un nav nepiecieŔams pastāvīgs savienojums ar pasta serveri. Šī funkcija vienkārŔo darbu nestabilos mobilajos tīklos un ietaupa ierīču akumulatora enerģiju.

E-pasts JMAP tiek attēlots JSON struktÅ«ras formātā. Tajā ir visa informācija no ziņojuma RFC5322 (Interneta ziņojumu formāts), kas var bÅ«t nepiecieÅ”ams e-pasta lietojumprogrammām. Pēc izstrādātāju domām, Å”ai pieejai vajadzētu vienkārÅ”ot klientu izveidi, jo risinot iespējamās grÅ«tÄ«bas (kas saistÄ«tas ar Mime, nolasot galvenes un kodējumu), serveris atbildēs.

Klients izmanto API, lai sazinātos ar serveri. Lai to izdarÄ«tu, tas Ä£enerē autentificētu POST pieprasÄ«jumu, kura Ä«paŔības ir aprakstÄ«tas JMAP sesijas objektā. PieprasÄ«jums ir lietojumprogrammas/json formātā un sastāv no viena JSON pieprasÄ«juma objekta. Serveris arÄ« Ä£enerē vienu atbildes objektu.

Š’ specifikācijas (3. punkts) autori ar pieprasÄ«jumu sniedz Ŕādu piemēru:

{
  "using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ],
  "methodCalls": [
    [ "method1", {
      "arg1": "arg1data",
      "arg2": "arg2data"
    }, "c1" ],
    [ "method2", {
      "arg1": "arg1data"
    }, "c2" ],
    [ "method3", {}, "c3" ]
  ]
}

Tālāk ir sniegts servera ģenerētās atbildes piemērs:

{
  "methodResponses": [
    [ "method1", {
      "arg1": 3,
      "arg2": "foo"
    }, "c1" ],
    [ "method2", {
      "isBlah": true
    }, "c2" ],
    [ "anotherResponseFromMethod2", {
      "data": 10,
      "yetmoredata": "Hello"
    }, "c2"],
    [ "error", {
      "type":"unknownMethod"
    }, "c3" ]
  ],
  "sessionState": "75128aab4b1b"
}

Pilnu JMAP specifikāciju ar ievieÅ”anas piemēriem var atrast vietnē oficiālā vietne projektu. Tur autori ievietoja arÄ« specifikāciju aprakstu JMAP kontakti Šø JMAP kalendāri ā€” tie ir paredzēti darbam ar kalendāriem un kontaktu sarakstiem. Autors saskaņā ar autori, Kontakti un Kalendāri tika sadalÄ«ti atseviŔķos dokumentos, lai tos varētu tālāk attÄ«stÄ«t un standartizēt neatkarÄ«gi no ā€œkodolaā€. JMAP pirmkodi ā€” in GitHub krātuves.

JMAP - atvērts protokols, kas aizstās IMAP, apmainoties ar e-pastu
/ Fona attēls /PD

Perspektīvas

Neskatoties uz to, ka darbs pie standarta vēl nav oficiāli pabeigts, tas jau tiek ieviests ražoÅ”anas vidēs. Piemēram, atvērtā pasta servera veidotāji Sairuss IMAP ieviesa savu JMAP versiju. Izstrādātāji no FastMail izlaists servera sistēma jaunajam Perl protokolam, un JMAP autori iepazÄ«stināja starpniekserveris.

Varam sagaidīt, ka nākotnē būs arvien vairāk uz JMAP balstītu projektu. Piemēram, pastāv iespēja, ka Open-Xchange izstrādātāji, kuri veido IMAP serveri Linux sistēmām, pāries uz jauno protokolu. Ļoti atsakieties no tiem IMAP jautā kopienas locekļi, kas veidojas ap uzņēmuma instrumentiem.

IETF un FastMail izstrādātāji saka, ka arvien vairāk lietotāju redz nepiecieÅ”amÄ«bu pēc jauna atvērtā ziņojumapmaiņas standarta. JMAP autori cer, ka nākotnē Å”o protokolu sāks ieviest arvien vairāk uzņēmumu.

MÅ«su papildu resursi un avoti:

JMAP - atvērts protokols, kas aizstās IMAP, apmainoties ar e-pastu Kā pārbaudÄ«t sÄ«kfailu atbilstÄ«bu GDPR ā€” palÄ«dzēs jauns atvērtais rÄ«ks

JMAP - atvērts protokols, kas aizstās IMAP, apmainoties ar e-pastu Kā ietaupīt, izmantojot lietojumprogrammu saskarni
JMAP - atvērts protokols, kas aizstās IMAP, apmainoties ar e-pastu DevOps mākoņpakalpojumā, izmantojot 1cloud.ru piemēru
JMAP - atvērts protokols, kas aizstās IMAP, apmainoties ar e-pastu 1cloud mākoņu arhitektūras attīstība

JMAP - atvērts protokols, kas aizstās IMAP, apmainoties ar e-pastu Iespējamie uzbrukumi HTTPS un aizsardzība pret tiem
JMAP - atvērts protokols, kas aizstās IMAP, apmainoties ar e-pastu Kā aizsargāt serveri internetā: 1cloud.ru pieredze
JMAP - atvērts protokols, kas aizstās IMAP, apmainoties ar e-pastu ÄŖsa izglÄ«tÄ«bas programma: kas ir nepārtraukta integrācija

Avots: www.habr.com

Pievieno komentāru