JMAP - un protokollu apertu chì rimpiazzà IMAP in u scambiu di email

A principiu di u mese nantu à Hacker News hè statu discutitu attivamente protocolu JMAP sviluppatu sottu a direzzione di l'IETF. Avemu decisu di parlà perchè era necessariu è cumu funziona.

JMAP - un protokollu apertu chì rimpiazzà IMAP in u scambiu di email
/ PxQui /PD

Ciò chì ùn mi piace micca di IMAP

Prutucollu IMAP hè statu introduttu in u 1986. Parechje cose descritte in u standard ùn sò più pertinenti oghje. Per esempiu, u protocolu pò rinvià u numeru di linii di una lettera è checksums MD5 - sta funziunalità ùn hè praticamente micca aduprata in i clienti di email muderni.

Un altru prublema hè ligatu à u cunsumu di trafficu. Cù IMAP, e-mail sò almacenati in u servitore è periodicamente sincronizati cù i clienti lucali. Se per una certa ragione a copia nantu à u dispositivu di l'utilizatore hè corrotta, tutti i mail anu da esse sincronizzati di novu. In u mondu mudernu, quandu migghiara di i dispositi mobili ponu esse cunnessi à u servitore, questu approcciu porta à u cunsumu aumentatu di u trafficu è di e risorse informatiche.

I difficultà ùn sò micca solu cù u protocolu stessu, ma ancu cù i clienti di email chì travaglianu cun ellu. Dapoi a so creazione, IMAP hè statu sottumessu à parechje revisioni parechje volte - a versione attuale oghje hè IMAP4. À u listessu tempu, ci sò parechje estensioni optional per questu - nantu à a reta publicatu novanta RFC cù aghjunte. Unu di i più recenti hè RFC 8514, introduttu in 2019.

À u listessu tempu, parechje cumpagnie offrenu e so solu solu solu chì duveranu simplificà u travagliu cù IMAP o ancu rimpiazzà: Gmail, orticultura, nylas. U risultatu hè chì i clienti di e-mail esistenti supportanu solu alcune di e funzioni dispunibili. Una tale diversità porta à a segmentazione di u mercatu.

"In più, un cliente di e-mail mudernu ùn deve micca solu invià i missaghji, ma esse capace di travaglià cù cuntatti è sincronizà cù u calendariu", dice Sergei Belkin, capu di sviluppu di u fornitore IaaS. 1cloud.ru. - Oghje, protokolli di terzu cum'è LDAP, CardDAV и CalDAV. Stu approcciu complica a cunfigurazione di firewall in e rete corporativa è apre novi vettori per attacchi cibernetici.

JMAP hè pensatu per risolve questi prublemi. Hè sviluppatu da esperti FastMail sottu a guida di l'Internet Engineering Task Force (IETF). U protokollu corre nantu à HTTPS, usa JSON (per questa mutivu hè adattatu micca solu per scambià missaghji elettronichi, ma ancu per risolve una quantità di tarei in u nuvulu) è simplifica l'urganizazione di travaglià cù mail in sistemi mobili. In più di trasfurmà e lettere, JMAP furnisce ancu a capacità di cunnette estensioni per travaglià cù cuntatti è un calendariu calendariu.

Caratteristiche di u novu protocolu

JMAP hè protocolu senza statu (stateless) è ùn hà micca bisognu di una cunnessione permanente à u servitore di mail. Questa funzione simplifica u travagliu in e rete mobili instabili è risparmia a bateria di i dispositi.

Un email in JMAP hè rapprisintatu in un furmatu di struttura JSON. Contene tutte l'infurmazioni da u messagiu RFC 5322 (Formato di messagiu Internet), chì pò esse necessariu per l'applicazioni email. Sicondu i sviluppatori, stu approcciu duveria simplificà a creazione di i clienti, postu chì risolve i prublemi potenziali (associu cù Mime, leghje intestazioni è codificazione) u servitore risponderà.

U cliente usa l'API per cuntattà u servitore. Per fà questu, genera una dumanda POST autentificata, e proprietà di quale sò descritte in l'ughjettu di sessione JMAP. A dumanda hè in formatu applicazione / json è hè custituita da un unicu oggettu di dumanda JSON. U servitore genera ancu un oggettu di risposta.

В quaternu (puntu 3) l'autori furnisce l'esempiu seguente cù una dumanda:

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

Quì sottu hè un esempiu di a risposta chì u servitore generarà:

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

A specificazione JMAP cumpleta cù implementazioni di esempiu pò esse truvata à situ ufficiali prughjettu. Ci l'autori anu publicatu ancu una descrizzione di e specificazioni per Cuntatti JMAP и Calendari JMAP - sò destinati à travaglià cù calendari è listi di cuntattu. By sicondu l'autori, i Cuntatti è i Calendari sò stati separati in documenti separati per pudè esse sviluppati è standardizzati indipindentamente da u "core". Codici fonte per JMAP - in repository nantu à GitHub.

JMAP - un protokollu apertu chì rimpiazzà IMAP in u scambiu di email
/ PxQui /PD

Prospetti

Malgradu u fattu chì u travagliu nantu à u standard ùn hè micca statu finitu ufficialmente, hè digià implementatu in ambienti di produzzione. Per esempiu, i creatori di u servitore di mail apertu Cyrus IMAP implementatu a so versione JMAP. Sviluppatori da FastMail liberatu framework di u servitore per u novu protokollu in Perl, è l'autori di JMAP presentati servitore proxy.

Pudemu aspittà chì ci saranu più è più prughjetti basati in JMAP in u futuru. Per esempiu, ci hè una certa probabilità chì i sviluppatori di Open-Xchange, chì creanu un servitore IMAP per i sistemi Linux, passanu à u novu protokollu. Rifiutate IMAP assai i membri di a cumunità dumandanu, furmatu intornu à l'arnesi di a cumpagnia.

I sviluppatori di l'IETF è FastMail dicenu chì più è più utilizatori vedenu a necessità di un novu standard apertu per a messageria. L'autori di JMAP speranu chì in u futuru più cumpagnie cumincianu à implementà stu protokollu.

I nostri risorse supplementari è risorse:

JMAP - un protokollu apertu chì rimpiazzà IMAP in u scambiu di email Cumu verificà e cookies per u rispettu di u GDPR - un novu strumentu apertu aiuterà

JMAP - un protokollu apertu chì rimpiazzà IMAP in u scambiu di email Cumu salvà cù una interfaccia di prugrammazione di l'applicazione
JMAP - un protokollu apertu chì rimpiazzà IMAP in u scambiu di email DevOps in un serviziu di nuvola cù l'esempiu di 1cloud.ru
JMAP - un protokollu apertu chì rimpiazzà IMAP in u scambiu di email L'evoluzione di l'architettura nuvola 1cloud

JMAP - un protokollu apertu chì rimpiazzà IMAP in u scambiu di email Attacchi Potenziali à HTTPS è Cumu Prutegge contr'à elli
JMAP - un protokollu apertu chì rimpiazzà IMAP in u scambiu di email Cumu prutege un servitore in Internet: sperienza 1cloud.ru
JMAP - un protokollu apertu chì rimpiazzà IMAP in u scambiu di email Un brevi prugramma educativu: ciò chì hè l'Integrazione Continua

Source: www.habr.com

Add a comment