JMAP – egy nyílt protokoll, amely leváltja az IMAP-ot az e-mailek cseréjekor

A hónap elején a Hacker Newsban aktívan megvitatták JMAP protokoll az IETF irányításával fejlesztették ki. Úgy döntöttünk, hogy megbeszéljük, miért van rá szükség, és hogyan működik.

JMAP – egy nyílt protokoll, amely leváltja az IMAP-ot az e-mailek cseréjekor
/ Háttérkép /PD

Ami nem tetszett az IMAP-ban

Jegyzőkönyv IMAP 1986-ban mutatták be. A szabványban leírt sok dolog ma már nem aktuális. Például a protokoll visszaadhatja egy betű sorainak számát és ellenőrző összegeket MD5 - ezt a funkciót gyakorlatilag nem használják a modern e-mail kliensekben.

Egy másik probléma a forgalom fogyasztásával kapcsolatos. Az IMAP használatával az e-maileket a szerver tárolja, és rendszeresen szinkronizálja a helyi kliensekkel. Ha valamilyen okból a felhasználó eszközén lévő másolat megsérül, az összes levelet újra szinkronizálni kell. A modern világban, amikor több ezer mobileszköz csatlakoztatható a szerverhez, ez a megközelítés a forgalom és a számítási erőforrások fokozott fogyasztásához vezet.

Nemcsak magával a protokollal, hanem a vele dolgozó e-mail kliensekkel is nehézségek merülnek fel. Létrehozása óta az IMAP-t számos alkalommal különféle revízióknak vetették alá – a jelenlegi verzió ma az IMAP4. Ugyanakkor számos opcionális bővítmény található hozzá - a hálózaton közzétett kilencven RFC kiegészítéssel. Az egyik legújabb az RFC85142019-ben vezették be.

Ugyanakkor sok cég kínál saját, szabadalmaztatott megoldásokat, amelyek leegyszerűsítik az IMAP-pel való munkát, vagy akár ki is váltják azt: Gmail, Outlook, nylas. Ennek eredményeként a meglévő e-mail kliensek csak az elérhető funkciók egy részét támogatják. Az ilyen sokszínűség a piac szegmentációjához vezet.

„Emellett egy modern e-mail kliensnek nemcsak üzeneteket kell továbbítania, hanem képesnek kell lennie a névjegyekkel való munkavégzésre és a naptárral való szinkronizálásra is” – mondja Szergej Belkin, az IaaS szolgáltató fejlesztési vezetője. 1cloud.ru. — Manapság a harmadik féltől származó protokollok kedvelik LDAP, CardDAV и CalDAV. Ez a megközelítés bonyolítja a tűzfalak beállítását a vállalati hálózatokban, és új vektorokat nyit meg a kibertámadások előtt.”

A JMAP ezeket a problémákat hivatott megoldani. A FastMail szakértői fejlesztik az Internet Engineering Task Force (IETF) irányítása alatt. A protokoll HTTPS-en fut, JSON-t használ (ezért nem csak elektronikus üzenetváltásra, hanem számos felhőbeli feladat megoldására is alkalmas), és leegyszerűsíti a levélkezelés megszervezését mobil rendszerekben. A levelek feldolgozása mellett a JMAP lehetőséget biztosít bővítmények csatlakoztatására a névjegyekkel való munkavégzéshez és a naptárütemezőhöz.

Az új protokoll jellemzői

A JMAP az hontalan protokoll (állammentes), és nem igényel állandó kapcsolatot a levelezőszerverrel. Ez a funkció leegyszerűsíti a munkát instabil mobilhálózatokban, és kíméli az eszközök akkumulátorát.

A JMAP-ban lévő e-mailek JSON-struktúra formátumban jelennek meg. Ez tartalmazza az üzenetből származó összes információt RFC5322 (Internet Message Format), amelyre az e-mail alkalmazásoknak szüksége lehet. A fejlesztők szerint ennek a megközelítésnek le kell egyszerűsítenie a kliensek létrehozását, mivel az esetleges nehézségek (pl. PANTOMIM, fejlécek és kódolás olvasása) a szerver válaszol.

A kliens az API segítségével lép kapcsolatba a szerverrel. Ehhez hitelesített POST kérést generál, melynek tulajdonságait a JMAP session objektum írja le. A kérelem alkalmazás/json formátumú, és egyetlen JSON-kérelem objektumból áll. A szerver egy válaszobjektumot is generál.

В specifikációk (3. pont) a szerzők a következő példát adják egy kéréssel:

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

Az alábbiakban egy példa a szerver által generált válaszra:

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

A teljes JMAP specifikáció példamegvalósításokkal a címen található hivatalos honlapján projekt. Ott a szerzők közzétették a specifikációk leírását is JMAP névjegyek и JMAP naptárak — a naptárak és névjegyzékek használatára irányulnak. Által szerint A szerzőket, a Kapcsolatokat és a Naptárakat külön dokumentumokba különítették el, hogy a „magtól” függetlenül továbbfejleszthetők és szabványosíthatók legyenek. A JMAP forráskódjai – in adattárak a GitHubon.

JMAP – egy nyílt protokoll, amely leváltja az IMAP-ot az e-mailek cseréjekor
/ Háttérkép /PD

Kilátások

Annak ellenére, hogy a szabványon végzett munka hivatalosan még nem fejeződött be, már folyamatban van az éles környezetben való bevezetés. Például a nyílt levelezőszerver létrehozói Cyrus IMAP implementálta a JMAP verzióját. A FastMail fejlesztői megjelent szerver keretrendszer az új Perl protokollhoz, és a JMAP szerzői bemutatták proxy szerver.

Arra számíthatunk, hogy a jövőben egyre több JMAP alapú projekt lesz. Valószínű például, hogy az Open-Xchange fejlesztői, akik IMAP szervert hoznak létre Linux rendszerek számára, átállnak az új protokollra. Nagyon utasítsd el az IMAP-ot – kérdezik a közösség tagjai, a cég eszközei köré alakult.

Az IETF és a FastMail fejlesztői szerint egyre több felhasználó látja, hogy új nyílt szabványra van szükség az üzenetkezeléshez. A JMAP szerzői remélik, hogy a jövőben több vállalat kezdi el alkalmazni ezt a protokollt.

További forrásaink és forrásaink:

JMAP – egy nyílt protokoll, amely leváltja az IMAP-ot az e-mailek cseréjekor Hogyan ellenőrizhető a cookie-k GDPR megfelelősége - egy új nyílt eszköz segít

JMAP – egy nyílt protokoll, amely leváltja az IMAP-ot az e-mailek cseréjekor Hogyan lehet menteni egy alkalmazásprogramozási felülettel
JMAP – egy nyílt protokoll, amely leváltja az IMAP-ot az e-mailek cseréjekor DevOps felhőszolgáltatásban az 1cloud.ru példájával
JMAP – egy nyílt protokoll, amely leváltja az IMAP-ot az e-mailek cseréjekor A felhő architektúra evolúciója 1cloud

JMAP – egy nyílt protokoll, amely leváltja az IMAP-ot az e-mailek cseréjekor Lehetséges támadások a HTTPS-en és az ellenük való védekezés
JMAP – egy nyílt protokoll, amely leváltja az IMAP-ot az e-mailek cseréjekor Hogyan védhet meg egy szervert az interneten: 1cloud.ru tapasztalat
JMAP – egy nyílt protokoll, amely leváltja az IMAP-ot az e-mailek cseréjekor Egy rövid oktatási program: mi az a folyamatos integráció

Forrás: will.com

Hozzászólás