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