JMAP - avoin protokolla, joka korvaa IMAPin sähköpostin vaihdossa

Aiemmin tässä kuussa Hacker Newsissa keskusteltiin aktiivisesti JMAP-protokolla kehitetty IETF:n johdolla. Päätimme keskustella siitä, miksi sitä tarvitaan ja miten se toimii.

JMAP - avoin protokolla, joka korvaa IMAPin sähköpostin vaihdossa
/ Taustakuva /PD

Mistä en pitänyt IMAPissa

protokolla IMAP otettiin käyttöön vuonna 1986. Monet standardissa kuvatut asiat eivät ole enää relevantteja nykyään. Protokolla voi esimerkiksi palauttaa kirjaimen rivien määrän ja tarkistussummat MD5 - Tätä toimintoa ei käytännössä käytetä nykyaikaisissa sähköpostiohjelmissa.

Toinen ongelma liittyy liikenteen kulutukseen. IMAPin avulla sähköpostit tallennetaan palvelimelle ja synkronoidaan säännöllisesti paikallisten asiakkaiden kanssa. Jos käyttäjän laitteessa oleva kopio jostain syystä vioittuu, kaikki sähköpostit on synkronoitava uudelleen. Nykymaailmassa, kun tuhansia mobiililaitteita voidaan yhdistää palvelimeen, tämä lähestymistapa johtaa lisääntyneeseen liikenteen ja laskentaresurssien kulutukseen.

Ongelmia ei esiinny vain itse protokollan, vaan myös sen kanssa työskentelevien sähköpostiohjelmien kanssa. IMAP:iin on sen luomisesta lähtien tehty useita muutoksia - nykyinen versio on nykyään IMAP4. Samaan aikaan sille on monia valinnaisia ​​laajennuksia - verkossa julkaistu yhdeksänkymmentä RFC:tä lisäyksineen. Yksi uusimmista on RFC8514, otettiin käyttöön vuonna 2019.

Samaan aikaan monet yritykset tarjoavat omia ratkaisujaan, joiden pitäisi yksinkertaistaa työskentelyä IMAP:n kanssa tai jopa korvata sen: gmail, näkymät, nylas. Tuloksena on, että nykyiset sähköpostiohjelmat tukevat vain joitain käytettävissä olevista ominaisuuksista. Tällainen monimuotoisuus johtaa markkinoiden segmentoitumiseen.

"Lisäksi nykyaikaisen sähköpostiohjelman ei pitäisi vain välittää viestejä, vaan myös työskennellä yhteystietojen kanssa ja synkronoida kalenterin kanssa", sanoo Sergei Belkin, IaaS-palveluntarjoajan kehitysjohtaja. 1cloud.ru. – Nykyään kolmannen osapuolen protokollat ​​pitävät LDAP, CardDAV и CalDAV. Tämä lähestymistapa monimutkaistaa palomuurien konfigurointia yritysverkoissa ja avaa uusia vektoreita kyberhyökkäyksille."

JMAP on suunniteltu ratkaisemaan nämä ongelmat. Sitä kehittävät FastMailin asiantuntijat Internet Engineering Task Force (IETF) -työryhmän ohjauksessa. Protokolla toimii HTTPS:n päällä, käyttää JSON-protokollaa (tästä syystä se soveltuu paitsi sähköisten viestien vaihtamiseen, myös useiden tehtävien ratkaisemiseen pilvessä) ja yksinkertaistaa sähköpostin kanssa työskentelyn organisointia mobiilijärjestelmissä. Kirjeiden käsittelyn lisäksi JMAP tarjoaa myös mahdollisuuden yhdistää laajennuksia yhteystietojen ja kalenterin ajastimen kanssa työskentelemistä varten.

Uuden protokollan ominaisuudet

JMAP on valtioton protokolla (valtioton) eikä vaadi pysyvää yhteyttä sähköpostipalvelimeen. Tämä ominaisuus yksinkertaistaa työtä epävakaissa mobiiliverkoissa ja säästää laitteiden akkuvirtaa.

JMAP-sähköposti on esitetty JSON-rakennemuodossa. Se sisältää kaikki tiedot viestistä RFC5322 (Internet-viestimuoto), jota sähköpostisovellukset saattavat tarvita. Kehittäjien mukaan tämän lähestymistavan pitäisi yksinkertaistaa asiakkaiden luomista, koska mahdollisten ongelmien ratkaiseminen (liittyvät MIME, lukee otsikoita ja koodausta) palvelin vastaa.

Asiakas ottaa yhteyttä palvelimeen API:n avulla. Tätä varten se luo autentikoidun POST-pyynnön, jonka ominaisuudet on kuvattu JMAP-istuntoobjektissa. Pyyntö on sovellus/json-muodossa ja koostuu yhdestä JSON-pyyntöobjektista. Palvelin luo myös yhden vastausobjektin.

В tekniset tiedot (kohta 3) kirjoittajat esittävät seuraavan esimerkin pyynnöstä:

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

Alla on esimerkki vastauksesta, jonka palvelin luo:

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

Täydellinen JMAP-spesifikaatio esimerkkitoteutusineen löytyy osoitteesta virallisilla verkkosivuilla hanke. Siellä kirjoittajat julkaisivat myös kuvauksen spesifikaatioista JMAP-yhteystiedot и JMAP kalenterit — ne on tarkoitettu työskentelyyn kalenterien ja yhteystietoluetteloiden kanssa. Tekijä: mukaan tekijät, yhteystiedot ja kalenterit erotettiin erillisiksi asiakirjoiksi, jotta niitä voitiin kehittää ja standardoida "ytimestä" riippumatta. JMAP:n lähdekoodit - sisään arkistot GitHubissa.

JMAP - avoin protokolla, joka korvaa IMAPin sähköpostin vaihdossa
/ Taustakuva /PD

Tulevaisuudennäkymät

Huolimatta siitä, että standardia ei ole vielä virallisesti saatu päätökseen, se on jo otettu käyttöön tuotantoympäristöissä. Esimerkiksi avoimen sähköpostipalvelimen luojat Cyrus IMAP otti käyttöön JMAP-versionsa. Kehittäjät FastMailista vapautettiin palvelinkehys uudelle Perl-protokollalle, ja JMAP:n kirjoittajat esittelivät välityspalvelin.

Voimme odottaa, että tulevaisuudessa tulee yhä enemmän JMAP-pohjaisia ​​projekteja. On esimerkiksi todennäköistä, että Open-Xchangen kehittäjät, jotka luovat IMAP-palvelimen Linux-järjestelmille, siirtyvät käyttämään uutta protokollaa. Kieltäydy IMAP-sovelluksesta erittäin paljon yhteisön jäsenet kysyvät, muodostuu yrityksen työkalujen ympärille.

IETF:n ja FastMailin kehittäjät sanovat, että yhä useammat käyttäjät näkevät uuden avoimen viestintästandardin tarpeen. JMAP:n kirjoittajat toivovat, että tulevaisuudessa useammat yritykset alkavat toteuttaa tätä protokollaa.

Lisäresurssimme ja lähteemme:

JMAP - avoin protokolla, joka korvaa IMAPin sähköpostin vaihdossa Kuinka tarkistaa evästeiden GDPR-vaatimustenmukaisuus - uusi avoin työkalu auttaa

JMAP - avoin protokolla, joka korvaa IMAPin sähköpostin vaihdossa Kuinka tallentaa sovellusohjelmointirajapinnalla
JMAP - avoin protokolla, joka korvaa IMAPin sähköpostin vaihdossa DevOps pilvipalvelussa käyttämällä esimerkkiä 1cloud.ru
JMAP - avoin protokolla, joka korvaa IMAPin sähköpostin vaihdossa Pilviarkkitehtuurin kehitys 1pilvi

JMAP - avoin protokolla, joka korvaa IMAPin sähköpostin vaihdossa Mahdolliset HTTPS-hyökkäykset ja niiltä suojautuminen
JMAP - avoin protokolla, joka korvaa IMAPin sähköpostin vaihdossa Palvelimen suojaaminen Internetissä: 1cloud.ru-kokemus
JMAP - avoin protokolla, joka korvaa IMAPin sähköpostin vaihdossa Lyhyt koulutusohjelma: mitä on jatkuva integraatio

Lähde: will.com

Lisää kommentti