A JMAP - nyílt protokoll felváltja az IMAP-ot az elektronikus levelezés során

A hónap elején a Hacker News-on aktívan tárgyalták a JMAP protokollt, melyet az IETF irányítása alatt fejlesztenek. Beszéljünk arról, miért van szükség rá és hogyan működik.

A JMAP - nyílt protokoll felváltja az IMAP-ot az elektronikus levelezés során
/ PxHere / PD

Miért nem felelt meg az IMAP

Protokoll IMAP 1986-ban mutatták be. Sok dolog, ami a szabványban van, ma már elavult. Például a protokoll képes visszaadni a levél sorainak számát és az ellenőrzőösszegeket, : 0826bd11b2c130c4c8ac137e395ac2d4 — ez a funkció a modern levelezőkliensekben szinte nem használatos.

Egy másik probléma a forgalomfogyasztás. Az IMAP esetében az elektronikus levelek a szerveren tárolódnak, és időszakosan szinkronizálódnak a helyi kliensekkel. Ha valamilyen oknál fogva a felhasználó eszközén lévő másolat "megrongálódik", újra kell szinkronizálni az egész levelezést. A modern világban, amikor a szerverhez ezer mobil eszköz csatlakozhat, ez a megközelítés megnövekedett forgalmat és számítási erőforrás-igényt eredményez.

A nehézségek nemcsak magával a protokollal, hanem a vele dolgozó levelezőkliensekkel is vannak. Az IMAP létrehozása óta számos felülvizsgálatot megélt — a mai napig aktuális verzió az IMAP4. Ugyanakkor számos opcionális kiterjesztés létezik számára — az interneten megjelentek kilencven RFC kiegészítéssel. Az egyik legújabb RFC8514, amelyet 2019-ben mutattak be.

Sok vállalat saját tulajdonú megoldásokat kínál, amelyeknek egyszerűsíteniük kell az IMAP használatát vagy akár teljesen helyettesíteniük kell azt: Gmail, Outlook, Nylas. Ennek eredményeként úgy tűnik, hogy a meglévő levelezőkliensek csak néhány, a rendelkezésre álló funkciók közül támogatják. Ez a sokféleség piaci szegmentáltáshoz vezet.

"Ráadásul a modern levelezőklientnek nemcsak üzeneteket kell továbbítania, hanem kezelnie kell a kapcsolattartókat és szinkronizálnia kell a naptárral — mondja Szergej Belkin, az IaaS szolgáltató fejlesztési osztályának vezetője, 1cloud.hu. — Ma ezekhez a célokhoz harmadik féltől származó protokollokat használnak, mint például LDAP, CardDAV és 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 támadási vektorokat nyit meg a kiberbűnözés számára."

A JMAP célja a megjelölt problémák megoldása. A protokollt a FastMail szakemberei fejlesztik az Internet Engineering Task Force (IETF) irányítása alatt. A protokoll HTTPS-en működik, JSON-t használ (ezért alkalmas nemcsak az e-mailek cseréjére, hanem számos felhőalapú feladat megoldására is) és megkönnyíti a levelezés kezelését mobil rendszerekben. Az e-mailek feldolgozása mellett a JMAP lehetőséget biztosít bővítmények csatlakoztatására is, amelyek a kapcsolatokat és a naptár-menedzsereket kezelik.

Az új protokoll jellemzői

A JMAP egy állapotmentes protokoll (stateless), és nem igényel folyamatos kapcsolatot a levelezőszerverrel. Ez a tulajdonság megkönnyíti a munkát instabil mobil hálózatokon, és segít megtakarítani az eszközök akkumulátortöltöttségét.

A JMAP-ban az elektronikus levél JSON struktúrában van megjelenítve. Ez tartalmazza az üzenet összes információját RFC5322 (Internet Message Format), amelyekre a levelező alkalmazásoknak szükségük lehet. A fejlesztők elmondása szerint ez a megközelítés megkönnyíti a kliensek létrehozását, mivel a potenciális nehézségekkel (melyek a MIME, a fejléc olvasása és a kódolás) a szerver fog foglalkozni.

A kliens API-n keresztül lép kapcsolatba a szerverrel. Ehhez egy hitelesített POST-kérést alakít ki, amelynek tulajdonságait a JMAP munkameneti objektumban írják le. A kérés application/json formátumú, és egy JSON kérés objektumból áll. A szerver szintén generál egy válasz objektumot.

A specifikáció (3. pont) a szerzők a következő példát hozzák fel a kérésre:

{
  "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 válaszra, amelyet a szerver generál:

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

A JMAP teljes specifikációját megvalósítási példákkal itt találhatja: hivatalos oldalon projekt. Itt találhatók a specifikációk leírásai is, amelyek a JMAP Contacts és JMAP Calendars — a naptárakkal és a kapcsolatokkal való munkavégzéshez irányulnak. A szerzők szerint a Contacts és Calendars külön dokumentumokba lettek kiemelve, hogy azokat függetlenül lehessen fejleszteni és szabványosítani a "mag"-tól. A JMAP forráskódjai itt találhatóak — szavak az állítólagos szerzők, a Kapcsolatok és a Naptárak külön dokumentumokba kerültek, hogy őket a "mag" függetlenül lehessen továbbfejleszteni és standardizálni. A JMAP forráskódja itt található — tároló a GitHubon.

A JMAP - nyílt protokoll felváltja az IMAP-ot az elektronikus levelezés során
/ PxHere / PD

Kilátások

Bár a szabvány hivatalos kidolgozása még nem fejeződött be, már most is implementálják éles környezetekben. Például, az nyílt levelezőszerver készítői, Cyrus IMAP megvalósították a JMAP verzióját. A FastMail fejlesztői kiadták a Perl alapú új protokollhoz készült szerverkeretrendszer, míg a JMAP szerzői bemutatták, proxy-szerver.

Várható, hogy a jövőben egyre több JMAP alapú projekt jelenik meg. Például van rá némi esély, hogy az Open-Xchange fejlesztői, akik Linux rendszerekhez IMAP szervert készítenek, átállnak az új protokollra. Az IMAP-ról való átállás iránt a közösség tagjai nagyon kérik őket, amely a cég eszközei köré alakult.

A fejlesztők az IETF és a FastMail részéről azt nyilatkozzák, hogy egyre több felhasználó látja szükségét egy új nyílt üzenetküldési szabványnak. A JMAP szerzői remélik, hogy a jövőben több cég is elkezdi ezt a protokollt alkalmazni.

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

A JMAP - nyílt protokoll felváltja az IMAP-ot az elektronikus levelezés során Hogyan ellenőrizzük a sütiket a GDPR-nak való megfelelés érdekében – segít egy új nyílt eszköz

A JMAP - nyílt protokoll felváltja az IMAP-ot az elektronikus levelezés során Hogyan takaríthatunk meg az alkalmazásprogramozási interfészen keresztül
A JMAP - nyílt protokoll felváltja az IMAP-ot az elektronikus levelezés során DevOps felhőszolgáltatáson, a 1cloud.ru példáján
A JMAP - nyílt protokoll felváltja az IMAP-ot az elektronikus levelezés során Az 1cloud felhőarchitektúrájának evolúciója

A JMAP - nyílt protokoll felváltja az IMAP-ot az elektronikus levelezés során Lehetséges támadások a HTTPS ellen és a védekezés módjai
A JMAP - nyílt protokoll felváltja az IMAP-ot az elektronikus levelezés során Hogyan védjük az interneten a szervert: tapasztalatok az 1cloud.ru-tól
A JMAP - nyílt protokoll felváltja az IMAP-ot az elektronikus levelezés során Rövid oktatás: mi az a Folyamatos Integráció

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster