Na začiatku mesiaca na Hacker News o protokole JMAP, . Rozhodli sme sa hovoriť o tom, prečo je potrebný a ako je navrhnutý.
/ / PD
Čím nie je IMAP vyhovujúci
Protokol bol predstavený v roku 1986. Mnohé veci popísané v norme už dnes nie sú aktuálne. Napríklad, protokol dokáže vracať počet riadkov e-mailov a kontrolné súčty — táto funkčnosť sa v moderných e-mailových klientoch takmer nepoužíva.
Ďalší problém súvisí so spotrebou dát. V prípade IMAP sú e-maily uložené na serveri a pravidelne synchronizované s lokálnymi klientami. Ak sa z nejakého dôvodu kópia na zariadení používateľa "pokazí", je potrebné opäť synchronizovať celú poštu. V modernom svete, kde môže byť k serveru pripojených tisíce mobilných zariadení, tento prístup vedie k zvýšenej spotrebe dát a výpočtových zdrojov.
Problémy sa vyskytujú nielen s protokolom samotným, ale aj s e-mailovými klientami, ktoré s ním pracujú. Od doby vzniku bol IMAP mnohokrát podrobený rôznym revíziám — aktuálnou verziou dnes je IMAP4. Navyše preň existuje množstvo voliteľných rozšírení — na internete deviate z RFC s doplnkami. Jedným z najnovších je , predstavený v roku 2019.
Mnohé spoločnosti však ponúkajú vlastné proprietárne riešenia, ktoré majú zjednodušiť prácu s IMAP alebo ho dokonca úplne nahradiť: , , . V dôsledku toho existujúce e-mailové klienty podporujú len niektoré z dostupných funkcií. Takáto rozšírenosť vedie k segmentácii trhu.
„Navyše, moderný e-mailový klient by nemal len preposielať správy, ale mal by vedieť pracovať s kontaktmi a synchronizovať sa s kalendárom,“ hovorí Sergej Belkin, vedúci oddelenia rozvoja IaaS poskytovateľa . „Dnes sa na tieto účely používajú alternatívne protokoly ako , a . Takýto prístup komplikuje nastavenie firewallov v podnikových sieťach a otvára nové vektory pre kybernetické útoky“.
Riešiť označené problémy má JMAP. Rozvíjajú ho odborníci z FastMail pod vedením Inžinierskeho výboru internetu (IETF). Protokol pracuje nad HTTPS, využíva JSON (z tohto dôvodu je vhodný nielen na výmenu e-mailov, ale aj na riešenie rôznych úloh v cloude) a zjednodušuje organizáciu práce s poštou v mobilných systémoch. Okrem spracovania e-mailov, JMAP tiež umožňuje pripojenie rozšírení na prácu s kontaktmi a kalendármi.
Charakteristiky nového protokolu
JMAP je (stateless) a nevyžaduje neustále pripojenie k poštovému serveru. Táto vlastnosť zjednodušuje prácu v nestabilných mobilných sieťach a umožňuje šetriť energiu zariadení.
Elektronický e-mail v JMAP je prezentovaný vo formáte JSON štruktúry. Obsahuje všetky informácie z správy (Internet Message Format), ktoré môžu byť potrebné poštovým aplikáciám. Podľa slov vývojárov, takýto prístup by mal zjednodušiť vytváranie klientov, pretože za riešenie potenciálnych problémov (súvisiacich s , čítaním hlavičiek a kódovaním) bude zodpovedný server.
Na prístup k serveru klient používa API. Na to vytvorí autentifikovaný POST požiadavok, ktorého vlastnosti sú opísané v sennom objekte JMAP. Požiadavok má formát application/json a pozostáva z jedného JSON objektu požiadavky. Server tiež generuje jeden objekt odpovede.
V (časť 3) autori uvádzajú nasledujúci príklad s požiadavkom:
{
"using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ],
"methodCalls": [
[ "method1", {
"arg1": "arg1data",
"arg2": "arg2data"
}, "c1" ],
[ "method2", {
"arg1": "arg1data"
}, "c2" ],
[ "method3", {}, "c3" ]
]
}
Nižšie je príklad odpovede, ktorú vytvorí server:
{
"methodResponses": [
[ "method1", {
"arg1": 3,
"arg2": "foo"
}, "c1" ],
[ "method2", {
"isBlah": true
}, "c2" ],
[ "anotherResponseFromMethod2", {
"data": 10,
"yetmoredata": "Hello"
}, "c2"],
[ "error", {
"type":"unknownMethod"
}, "c3" ]
],
"sessionState": "75128aab4b1b"
}
Úplnú špecifikáciu JMAP s príkladmi realizácie môžete nájsť na projektoch. Tam autori zverejnili aj popis špecifikácií pre a — sú zamerané na prácu s kalendármi a zoznamami kontaktov. Podľa autori, Contacts a Calendars boli vyčlenené do samostatných dokumentov, aby sa mohli vyvíjať a štandardizovať nezávisle od „jadra“. Zdrojové kódy pre JMAP sú v .

/ / PD
Vyhliadky
Hoci oficiálna práca na štandarde ešte nebola ukončená, už sa implementuje v produkčných prostrediach. Napríklad, tvorcovia otvoreného poštového servera realizovali jeho verziu JMAP. Vývojári z FastMail serverový rámec pre nový protokol na Perli, a autori JMAP predstavili .
Môžeme očakávať, že v budúcnosti bude pribúdať projektov na báze JMAP. Napríklad, existuje určité riziko, že na nový protokol prejdú vývojári z Open-Xchange, ktorí vytvárajú IMAP server pre systémy Linux. Odmietnuť IMAP ich veľmi , ktorá sa formovala okolo nástrojov spoločnosti.
Vývojári z IETF a FastMail tvrdia, že stále viac používateľov vidí potrebu nového otvoreného štandardu pre výmenu správ. Autori JMAP dúfajú, že v budúcnosti viac spoločností začne tento protokol implementovať.
Naše ďalšie zdroje a materiály:
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Zdroj: habr.com
