JMAP - protokoll miftuħ li se jissostitwixxi IMAP meta jiskambjaw emails

Aktar kmieni dan ix-xahar fuq Hacker News ġie diskuss b'mod attiv protokoll JMAP żviluppat taħt id-direzzjoni tal-IETF. Iddeċidejna li nitkellmu dwar għaliex kien meħtieġ u kif taħdem.

JMAP - protokoll miftuħ li se jissostitwixxi IMAP meta jiskambjaw emails
/ ħażniet /PD

Dak li ma għoġobnix dwar l-IMAP

Protokoll IMAP ġie introdott fl-1986. Ħafna affarijiet deskritti fl-istandard m'għadhomx rilevanti llum. Pereżempju, il-protokoll jista' jirritorna n-numru ta' linji ta' ittra u checksums MD5 - din il-funzjonalità prattikament mhix użata fil-klijenti moderni tal-email.

Problema oħra hija relatata mal-konsum tat-traffiku. Bl-IMAP, l-emails huma maħżuna fuq is-server u perjodikament sinkronizzati mal-klijenti lokali. Jekk għal xi raġuni l-kopja fuq it-tagħmir tal-utent tiġi korrotta, il-posta kollha trid terġa 'tiġi sinkronizzata. Fid-dinja moderna, meta eluf ta 'apparat mobbli jistgħu jiġu konnessi mas-server, dan l-approċċ iwassal għal konsum akbar ta' riżorsi tat-traffiku u tal-kompjuters.

Diffikultajiet jinqalgħu mhux biss bil-protokoll innifsu, iżda wkoll mal-klijenti tal-email li jaħdmu miegħu. Mill-ħolqien tiegħu, IMAP ġie soġġett għal diversi reviżjonijiet ħafna drabi - il-verżjoni attwali llum hija IMAP4. Fl-istess ħin, hemm ħafna estensjonijiet fakultattivi għaliha - fuq in-netwerk ippubblikat disgħin RFC b'żidiet. Waħda mill-aktar reċenti hija RFC8514, introdott fl-2019.

Fl-istess ħin, ħafna kumpaniji joffru s-soluzzjonijiet proprjetarji tagħhom stess li għandhom jissimplifikaw il-ħidma ma 'IMAP jew saħansitra jissostitwixxuh: Gmail, Outlook, nylas. Ir-riżultat huwa li l-klijenti tal-email eżistenti jappoġġjaw biss xi wħud mill-karatteristiċi disponibbli. Tali diversità twassal għal segmentazzjoni tas-suq.

"Barra minn hekk, klijent modern tal-email m'għandux biss jgħaddi messaġġi, iżda jkun jista' jaħdem mal-kuntatti u jissinkronizza mal-kalendarju," jgħid Sergei Belkin, kap tal-iżvilupp tal-fornitur IaaS. 1cloud.ru. — Illum, protokolli ta’ partijiet terzi bħal LDAP, CardDAV и CalDAV. Dan l-approċċ jikkomplika l-konfigurazzjoni tal-firewalls fin-netwerks korporattivi u jiftaħ vettori ġodda għal attakki ċibernetiċi.

JMAP huwa ddisinjat biex isolvi dawn il-problemi. Qed jiġi żviluppat mill-esperti tal-FastMail taħt il-gwida tal-Internet Engineering Task Force (IETF). Il-protokoll jimxi fuq HTTPS, juża JSON (għal din ir-raġuni huwa adattat mhux biss għall-iskambju ta 'messaġġi elettroniċi, iżda wkoll biex isolvi numru ta' kompiti fis-sħaba) u jissimplifika l-organizzazzjoni tax-xogħol bil-posta f'sistemi mobbli. Minbarra l-ipproċessar ta 'ittri, JMAP jipprovdi wkoll il-ħila li jgħaqqad estensjonijiet biex taħdem ma' kuntatti u skedar tal-kalendarju.

Karatteristiċi tal-protokoll il-ġdid

JMAP huwa protokoll mingħajr stat (mingħajr stat) u ma teħtieġx konnessjoni permanenti mas-server tal-posta. Din il-karatteristika tissimplifika x-xogħol f'netwerks mobbli mhux stabbli u tiffranka l-enerġija tal-batterija fuq it-tagħmir.

Email f'JMAP hija rappreżentata f'format ta' struttura JSON. Fiha l-informazzjoni kollha mill-messaġġ RFC5322 (Format tal-Messaġġ tal-Internet), li jista’ jkun meħtieġ minn applikazzjonijiet tal-email. Skond l-iżviluppaturi, dan l-approċċ għandu jissimplifika l-ħolqien ta 'klijenti, peress li jsolvu diffikultajiet potenzjali (assoċjati ma' Mimiku, qari headers u kodifikazzjoni) is-server se jirrispondi.

Il-klijent juża l-API biex jikkuntattja lis-server. Biex tagħmel dan, tiġġenera talba POST awtentikata, li l-proprjetajiet tagħha huma deskritti fl-oġġett tas-sessjoni JMAP. It-talba hija f'format applikazzjoni/json u tikkonsisti f'oġġett wieħed ta' talba JSON. Is-server jiġġenera wkoll oġġett ta' rispons wieħed.

В speċifikazzjonijiet (punt 3) l-awturi jipprovdu l-eżempju li ġej b’talba:

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

Hawn taħt hemm eżempju tar-rispons li s-server se jiġġenera:

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

L-ispeċifikazzjoni sħiħa tal-JMAP b'eżempji ta' implimentazzjoni tista' tinstab fuq websajt uffiċjali proġett. Hemmhekk l-awturi poġġew ukoll deskrizzjoni tal-ispeċifikazzjonijiet għal Kuntatti JMAP и Kalendarji JMAP — huma mmirati biex jaħdmu ma' kalendarji u listi ta' kuntatti. Permezz skond l-awturi, il-Kuntatti u l-Kalendarji ġew separati f'dokumenti separati sabiex ikunu jistgħu jiġu żviluppati aktar u standardizzati indipendentement mill-“qalba”. Kodiċi tas-sors għal JMAP - in repożitorji fuq GitHub.

JMAP - protokoll miftuħ li se jissostitwixxi IMAP meta jiskambjaw emails
/ ħażniet /PD

Prospetti

Minkejja l-fatt li x-xogħol fuq l-istandard għadu ma tlestax uffiċjalment, diġà qed jiġi implimentat f'ambjenti ta 'produzzjoni. Per eżempju, il-ħallieqa tas-server tal-posta miftuħa Cyrus IMAP implimentat il-verżjoni JMAP tiegħu. Iżviluppaturi minn FastMail meħlusa qafas tas-server għall-protokoll il-ġdid fil-Perl, u l-awturi ta 'JMAP ippreżentati proxy server.

Nistgħu nistennew li se jkun hemm aktar u aktar proġetti bbażati fuq il-JMAP fil-futur. Pereżempju, hemm xi probabilità li l-iżviluppaturi minn Open-Xchange, li qed joħolqu server IMAP għal sistemi Linux, jaqilbu għall-protokoll il-ġdid. Irrifjuta IMAP minnhom ħafna membri tal-komunità jistaqsu, iffurmat madwar l-għodod tal-kumpanija.

Iżviluppaturi mill-IETF u FastMail jgħidu li aktar u aktar utenti qed jaraw il-ħtieġa għal standard miftuħ ġdid għall-messaġġi. L-awturi tal-JMAP jittamaw li fil-futur aktar kumpaniji jibdew jimplimentaw dan il-protokoll.

Ir-riżorsi u s-sorsi addizzjonali tagħna:

JMAP - protokoll miftuħ li se jissostitwixxi IMAP meta jiskambjaw emails Kif tiċċekkja l-cookies għall-konformità mal-GDPR - għodda miftuħa ġdida tgħin

JMAP - protokoll miftuħ li se jissostitwixxi IMAP meta jiskambjaw emails Kif Tissejvja b'Interface tal-Programmazzjoni tal-Applikazzjoni
JMAP - protokoll miftuħ li se jissostitwixxi IMAP meta jiskambjaw emails DevOps f'servizz cloud bl-użu ta 'l-eżempju ta' 1cloud.ru
JMAP - protokoll miftuħ li se jissostitwixxi IMAP meta jiskambjaw emails Evoluzzjoni tal-arkitettura tas-sħab 1cloud

JMAP - protokoll miftuħ li se jissostitwixxi IMAP meta jiskambjaw emails Attakki potenzjali fuq HTTPS u kif tipproteġi kontrihom
JMAP - protokoll miftuħ li se jissostitwixxi IMAP meta jiskambjaw emails Kif tipproteġi server fuq l-Internet: esperjenza 1cloud.ru
JMAP - protokoll miftuħ li se jissostitwixxi IMAP meta jiskambjaw emails Programm edukattiv qasir: x'inhi l-Integrazzjoni Kontinwa

Sors: www.habr.com

Żid kumment