JMAP - odprti protokol, ki bo nadomestil IMAP pri izmenjavi elektronske pošte

V začetku tega meseca na Hacker News se je aktivno razpravljalo protokol JMAP razvit pod vodstvom IETF. Odločili smo se govoriti o tem, zakaj je to potrebno in kako deluje.

JMAP - odprti protokol, ki bo nadomestil IMAP pri izmenjavi elektronske pošte
/ PxTukaj /PD

Kaj mi ni bilo všeč pri IMAP

Protokol IMAP je bil predstavljen leta 1986. Marsikaj, kar je opisano v standardu, danes ni več relevantno. Na primer, protokol lahko vrne število vrstic črke in kontrolne vsote MD5 - ta funkcionalnost se praktično ne uporablja v sodobnih e-poštnih odjemalcih.

Druga težava je povezana s porabo prometa. Z IMAP so e-poštna sporočila shranjena na strežniku in občasno sinhronizirana z lokalnimi odjemalci. Če se iz nekega razloga kopija v uporabnikovi napravi poškoduje, je treba vso pošto znova sinhronizirati. V sodobnem svetu, ko je na strežnik mogoče povezati na tisoče mobilnih naprav, ta pristop vodi v povečano porabo prometa in računalniških virov.

Težave se ne pojavljajo le pri samem protokolu, ampak tudi pri e-poštnih odjemalcih, ki z njim delajo. Od svojega nastanka je bil IMAP večkrat predmet različnih revizij – trenutna različica je danes IMAP4. Hkrati obstaja veliko izbirnih razširitev zanj - v omrežju objavljeno devetdeset RFC-jev z dodatki. Ena najnovejših je RFC8514, predstavljen leta 2019.

Hkrati mnoga podjetja ponujajo svoje lastniške rešitve, ki naj bi poenostavile delo z IMAP ali ga celo nadomestile: Gmail, Outlook, nylas. Posledica tega je, da obstoječi e-poštni odjemalci podpirajo samo nekatere razpoložljive funkcije. Takšna raznolikost vodi v segmentacijo trga.

"Poleg tega sodoben e-poštni odjemalec ne bi smel le posredovati sporočil, temveč bi moral imeti možnost dela s stiki in sinhronizacijo s koledarjem," pravi Sergej Belkin, vodja razvoja pri ponudniku IaaS. 1cloud.ru. — Danes protokoli tretjih oseb, kot so LDAP, CardDAV и CalDAV. Ta pristop otežuje konfiguracijo požarnih zidov v omrežjih podjetij in odpira nove vektorje za kibernetske napade.«

JMAP je zasnovan za reševanje teh težav. Razvijajo ga strokovnjaki FastMail pod vodstvom Internet Engineering Task Force (IETF). Protokol deluje na osnovi HTTPS, uporablja JSON (zaradi tega je primeren ne le za izmenjavo elektronskih sporočil, ampak tudi za reševanje številnih nalog v oblaku) in poenostavlja organizacijo dela s pošto v mobilnih sistemih. JMAP poleg obdelave pisem omogoča tudi povezovanje razširitev za delo s stiki in razporejevalnik koledarja.

Lastnosti novega protokola

JMAP je protokol brez stanja (brez stanja) in ne zahteva stalne povezave s poštnim strežnikom. Ta funkcija poenostavlja delo v nestabilnih mobilnih omrežjih in varčuje z energijo baterije na napravah.

E-pošta v JMAP je predstavljena v formatu strukture JSON. Vsebuje vse podatke iz sporočila RFC5322 (Internet Message Format), ki ga morda potrebujejo e-poštne aplikacije. Po mnenju razvijalcev naj bi ta pristop poenostavil ustvarjanje strank, saj bi rešil morebitne težave (povezane z Mime, branje glav in kodiranje), se bo strežnik odzval.

Odjemalec uporablja API za vzpostavitev stika s strežnikom. Da bi to naredil, ustvari overjeno zahtevo POST, katere lastnosti so opisane v objektu seje JMAP. Zahteva je v obliki aplikacije/json in je sestavljena iz enega samega objekta zahteve JSON. Strežnik ustvari tudi en odzivni objekt.

В specifikacije (3. točka) avtorji z zahtevo navajajo naslednji primer:

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

Spodaj je primer odgovora, ki ga bo ustvaril strežnik:

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

Celotno specifikacijo JMAP s primeri izvedb lahko najdete na uradna spletna stran projekt. Tam so avtorji objavili tudi opis specifikacij za Kontakti JMAP и Koledarji JMAP — namenjeni so delu s koledarji in seznami stikov. Avtor: glede na avtorji, kontakti in koledarji so bili ločeni v ločene dokumente, tako da jih je bilo mogoče nadalje razvijati in standardizirati neodvisno od »jedra«. Izvorne kode za JMAP - v repozitorije na GitHubu.

JMAP - odprti protokol, ki bo nadomestil IMAP pri izmenjavi elektronske pošte
/ PxTukaj /PD

Obeti

Kljub temu, da delo na standardu še ni uradno zaključeno, se ta že implementira v produkcijska okolja. Na primer ustvarjalci odprtega poštnega strežnika Cyrus IMAP implementiral svojo različico JMAP. Razvijalci iz FastMail izpuščen strežniško ogrodje za nov protokol v Perlu in predstavili avtorje JMAP proxy strežnik.

Pričakujemo lahko, da bo v prihodnje vse več projektov, ki temeljijo na JMAP. Na primer, obstaja nekaj verjetnosti, da bodo razvijalci iz Open-Xchange, ki ustvarjajo strežnik IMAP za sisteme Linux, prešli na nov protokol. Zelo jih zavračajte IMAP sprašujejo člani skupnosti, oblikovano okoli orodij podjetja.

Razvijalci iz IETF in FastMail pravijo, da vse več uporabnikov vidi potrebo po novem odprtem standardu za sporočanje. Avtorji JMAP upajo, da bo v prihodnosti več podjetij začelo izvajati ta protokol.

Naši dodatni viri in viri:

JMAP - odprti protokol, ki bo nadomestil IMAP pri izmenjavi elektronske pošte Kako preveriti skladnost piškotkov z GDPR - v pomoč vam bo novo odprto orodje

JMAP - odprti protokol, ki bo nadomestil IMAP pri izmenjavi elektronske pošte Kako shraniti z vmesnikom za programiranje aplikacij
JMAP - odprti protokol, ki bo nadomestil IMAP pri izmenjavi elektronske pošte DevOps v storitvi v oblaku na primeru 1cloud.ru
JMAP - odprti protokol, ki bo nadomestil IMAP pri izmenjavi elektronske pošte Razvoj arhitekture oblaka 1cloud

JMAP - odprti protokol, ki bo nadomestil IMAP pri izmenjavi elektronske pošte Morebitni napadi na HTTPS in kako se zaščititi pred njimi
JMAP - odprti protokol, ki bo nadomestil IMAP pri izmenjavi elektronske pošte Kako zaščititi strežnik na internetu: izkušnja 1cloud.ru
JMAP - odprti protokol, ki bo nadomestil IMAP pri izmenjavi elektronske pošte Kratek izobraževalni program: kaj je kontinuirana integracija

Vir: www.habr.com

Dodaj komentar