JMAP - otvoreni protokol koji će zamijeniti IMAP prilikom razmjene e-pošte

Ranije ovog mjeseca na Hacker News aktivno se raspravljalo JMAP protokol razvijen pod vodstvom IETF-a. Odlučili smo razgovarati o tome zašto je to bilo potrebno i kako funkcionira.

JMAP - otvoreni protokol koji će zamijeniti IMAP prilikom razmjene e-pošte
/ dionice /PD

Što mi se nije svidjelo kod IMAP-a

protokol IMAP uveden je 1986. Mnoge stvari opisane u standardu danas više nisu relevantne. Na primjer, protokol može vratiti broj redaka slova i kontrolne zbrojeve MD5 - ova se funkcionalnost praktički ne koristi u modernim klijentima e-pošte.

Drugi problem je vezan uz potrošnju prometa. Uz IMAP, e-pošta se pohranjuje na poslužitelju i povremeno sinkronizira s lokalnim klijentima. Ako se iz nekog razloga kopija na korisnikovom uređaju ošteti, sva se pošta mora ponovno sinkronizirati. U modernom svijetu, kada se tisuće mobilnih uređaja može spojiti na poslužitelj, ovakav pristup dovodi do povećane potrošnje prometa i računalnih resursa.

Poteškoće se javljaju ne samo sa samim protokolom, već i s klijentima e-pošte koji rade s njim. Od svog nastanka, IMAP je mnogo puta bio predmet raznih revizija - trenutna verzija danas je IMAP4. Istodobno, postoje mnoga dodatna proširenja za to - na mreži Objavljeno devedeset RFC-ova s ​​dodacima. Jedan od najnovijih je RFC8514, predstavljen 2019.

Istodobno, mnoge tvrtke nude vlastita vlasnička rješenja koja bi trebala pojednostaviti rad s IMAP-om ili ga čak zamijeniti: gmail, pogled, nylas. Rezultat je da postojeći klijenti e-pošte podržavaju samo neke od dostupnih značajki. Takva raznolikost dovodi do segmentacije tržišta.

"Štoviše, moderni klijent e-pošte ne bi trebao samo prosljeđivati ​​poruke, već bi trebao moći raditi s kontaktima i sinkronizirati se s kalendarom", kaže Sergej Belkin, voditelj razvoja IaaS pružatelja usluga. 1cloud.ru. — Danas protokoli trećih strana poput LDAP, CardDAV и CalDAV. Ovaj pristup komplicira konfiguraciju vatrozida u korporativnim mrežama i otvara nove vektore za cyber napade.”

JMAP je dizajniran za rješavanje ovih problema. Razvijaju ga stručnjaci FastMaila pod vodstvom Internet Engineering Task Force (IETF). Protokol radi povrh HTTPS-a, koristi JSON (zbog toga je pogodan ne samo za razmjenu elektroničkih poruka, već i za rješavanje niza zadataka u oblaku) i pojednostavljuje organizaciju rada s poštom u mobilnim sustavima. Osim obrade pisama, JMAP također pruža mogućnost povezivanja ekstenzija za rad s kontaktima i planerom kalendara.

Značajke novog protokola

JMAP je protokol bez državljanstva (bez stanja) i ne zahtijeva stalnu vezu s poslužiteljem pošte. Ova značajka pojednostavljuje rad u nestabilnim mobilnim mrežama i štedi bateriju na uređajima.

E-pošta u JMAP-u predstavljena je u formatu strukture JSON. Sadrži sve podatke iz poruke RFC5322 (Internet Message Format), koji bi mogao biti potreban aplikacijama za e-poštu. Prema programerima, ovaj bi pristup trebao pojednostaviti stvaranje klijenata, budući da rješava potencijalne poteškoće (povezane s Mime, čitanje zaglavlja i kodiranje) poslužitelj će odgovoriti.

Klijent koristi API za kontaktiranje poslužitelja. Da bi to učinio, generira autentificirani POST zahtjev, čija su svojstva opisana u JMAP objektu sesije. Zahtjev je u formatu application/json i sastoji se od jednog JSON objekta zahtjeva. Poslužitelj također generira jedan objekt odgovora.

В tehnički podaci (točka 3) autori sa zahtjevom daju sljedeći primjer:

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

Ispod je primjer odgovora koji će poslužitelj generirati:

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

Potpuna JMAP specifikacija s primjerima implementacija može se pronaći na službene web stranice projekt. Tamo su autori također objavili opis specifikacija za JMAP kontakti и JMAP kalendari — namijenjeni su radu s kalendarima i popisima kontakata. Po prema autori, kontakti i kalendari odvojeni su u zasebne dokumente kako bi se mogli dalje razvijati i standardizirati neovisno o „jezgri“. Izvorni kodovi za JMAP - u spremišta na GitHubu.

JMAP - otvoreni protokol koji će zamijeniti IMAP prilikom razmjene e-pošte
/ dionice /PD

Planovi

Unatoč činjenici da rad na standardu još nije službeno dovršen, on se već implementira u proizvodna okruženja. Na primjer, tvorci otvorenog poslužitelja pošte Cyrus IMAP implementirao svoju JMAP verziju. Programeri iz FastMaila pušten poslužiteljski okvir za novi protokol u Perlu, te su predstavili autori JMAP-a proxy poslužitelj.

Možemo očekivati ​​da će u budućnosti biti sve više projekata temeljenih na JMAP-u. Na primjer, postoji izvjesna vjerojatnost da će programeri iz Open-Xchangea, koji stvaraju IMAP poslužitelj za Linux sustave, prijeći na novi protokol. Jako ih odbijajte od IMAP-a pitaju članovi zajednice, formiran oko alata tvrtke.

Programeri iz IETF-a i FastMaila kažu da sve više korisnika vidi potrebu za novim otvorenim standardom za razmjenu poruka. Autori JMAP-a se nadaju da će u budućnosti više tvrtki početi implementirati ovaj protokol.

Naši dodatni resursi i resursi:

JMAP - otvoreni protokol koji će zamijeniti IMAP prilikom razmjene e-pošte Kako provjeriti usklađenost kolačića s GDPR-om - pomoći će vam novi otvoreni alat

JMAP - otvoreni protokol koji će zamijeniti IMAP prilikom razmjene e-pošte Kako uštedjeti pomoću sučelja za programiranje aplikacija
JMAP - otvoreni protokol koji će zamijeniti IMAP prilikom razmjene e-pošte DevOps u usluzi u oblaku na primjeru 1cloud.ru
JMAP - otvoreni protokol koji će zamijeniti IMAP prilikom razmjene e-pošte Evolucija arhitekture oblaka 1cloud

JMAP - otvoreni protokol koji će zamijeniti IMAP prilikom razmjene e-pošte Potencijalni napadi na HTTPS i kako se zaštititi od njih
JMAP - otvoreni protokol koji će zamijeniti IMAP prilikom razmjene e-pošte Kako zaštititi poslužitelj na internetu: 1cloud.ru iskustvo
JMAP - otvoreni protokol koji će zamijeniti IMAP prilikom razmjene e-pošte Kratki edukacijski program: što je kontinuirana integracija

Izvor: www.habr.com

Dodajte komentar