JMAP - një protokoll i hapur që do të zëvendësojë IMAP gjatë shkëmbimit të emaileve

Në fillim të këtij muaji në Hacker News u diskutua në mënyrë aktive Protokolli JMAP zhvilluar nën drejtimin e IETF. Ne vendosëm të flasim përse ishte e nevojshme dhe si funksionon.

JMAP - një protokoll i hapur që do të zëvendësojë IMAP gjatë shkëmbimit të emaileve
/ stoqet /PD

Çfarë nuk më pëlqeu në lidhje me IMAP

Protokolli IMAP u prezantua në vitin 1986. Shumë gjëra të përshkruara në standard nuk janë më të rëndësishme sot. Për shembull, protokolli mund të kthejë numrin e rreshtave të një letre dhe shumat e kontrollit MD5 - ky funksionalitet praktikisht nuk përdoret në klientët modernë të postës elektronike.

Një problem tjetër lidhet me konsumin e trafikut. Me IMAP, emailet ruhen në server dhe sinkronizohen periodikisht me klientët lokalë. Nëse për ndonjë arsye kopja në pajisjen e përdoruesit prishet, e gjithë posta duhet të sinkronizohet përsëri. Në botën moderne, kur mijëra pajisje celulare mund të lidhen me serverin, kjo qasje çon në rritjen e konsumit të trafikut dhe burimeve kompjuterike.

Vështirësitë lindin jo vetëm me vetë protokollin, por edhe me klientët e emailit që punojnë me të. Që nga krijimi i tij, IMAP ka qenë subjekt i rishikimeve të ndryshme shumë herë - versioni aktual sot është IMAP4. Në të njëjtën kohë, ka shumë shtesa opsionale për të - në rrjet botuar nëntëdhjetë RFC me shtesa. Një nga më të fundit është RFC8514, i prezantuar në vitin 2019.

Në të njëjtën kohë, shumë kompani ofrojnë zgjidhjet e tyre të pronarit që duhet të thjeshtojnë punën me IMAP ose edhe ta zëvendësojnë atë: Gmail, Pikëpamje, nylas. Rezultati është se klientët ekzistues të postës elektronike mbështesin vetëm disa nga veçoritë e disponueshme. Një diversitet i tillë çon në segmentimin e tregut.

"Për më tepër, një klient modern i postës elektronike jo vetëm që duhet të përcjellë mesazhe, por të jetë në gjendje të punojë me kontaktet dhe të sinkronizohet me kalendarin," thotë Sergei Belkin, kreu i zhvillimit në ofruesin IaaS. 1cloud.ru. — Sot, protokollet e palëve të treta pëlqejnë LDAP, CardDAV и CalDAV. Kjo qasje e ndërlikon konfigurimin e mureve të zjarrit në rrjetet e korporatave dhe hap vektorë të rinj për sulmet kibernetike.

JMAP është krijuar për të zgjidhur këto probleme. Ai po zhvillohet nga ekspertët e FastMail nën drejtimin e Task Forcës së Inxhinierisë së Internetit (IETF). Protokolli funksionon në krye të HTTPS, përdor JSON (për këtë arsye është i përshtatshëm jo vetëm për shkëmbimin e mesazheve elektronike, por edhe për zgjidhjen e një numri detyrash në cloud) dhe thjeshton organizimin e punës me postën në sistemet celulare. Përveç përpunimit të letrave, JMAP ofron gjithashtu mundësinë për të lidhur shtesat për të punuar me kontaktet dhe një planifikues kalendar.

Karakteristikat e protokollit të ri

JMAP është protokoll pa shtetësi (pa shtetësi) dhe nuk kërkon një lidhje të përhershme me serverin e postës. Kjo veçori thjeshton punën në rrjete celulare të paqëndrueshme dhe kursen energjinë e baterisë në pajisje.

Një email në JMAP përfaqësohet në një format strukture JSON. Ai përmban të gjitha informacionet nga mesazhi RFC5322 (Formati i mesazheve në Internet), i cili mund të jetë i nevojshëm nga aplikacionet me email. Sipas zhvilluesve, kjo qasje duhet të thjeshtojë krijimin e klientëve, pasi zgjidhja e vështirësive të mundshme (të lidhura me Mimika, leximi i titujve dhe kodimi) serveri do të përgjigjet.

Klienti përdor API-në për të kontaktuar serverin. Për ta bërë këtë, ai gjeneron një kërkesë të vërtetuar POST, vetitë e së cilës përshkruhen në objektin e sesionit JMAP. Kërkesa është në formatin aplikacion/json dhe përbëhet nga një objekt i vetëm kërkese JSON. Serveri gjeneron gjithashtu një objekt përgjigjeje.

В specifikimet (pika 3) autorët japin shembullin e mëposhtëm me një kërkesë:

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

Më poshtë është një shembull i përgjigjes që do të gjenerojë serveri:

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

Specifikimi i plotë JMAP me shembuj zbatimesh mund të gjenden në faqen zyrtare të internetit projekti. Aty autorët postuan gjithashtu një përshkrim të specifikimeve për Kontaktet JMAP и Kalendarët JMAP — ato synojnë të punojnë me kalendarët dhe listat e kontakteve. Nga sipas Autorët, Kontaktet dhe Kalendarët u ndanë në dokumente të veçanta, në mënyrë që të mund të zhvillohen dhe standardizohen më tej pavarësisht nga "bërthama". Kodet burimore për JMAP - in depo në GitHub.

JMAP - një protokoll i hapur që do të zëvendësojë IMAP gjatë shkëmbimit të emaileve
/ stoqet /PD

Perspektivat

Pavarësisht se puna për standardin nuk ka përfunduar ende zyrtarisht, ajo tashmë po zbatohet në mjediset e prodhimit. Për shembull, krijuesit e serverit të hapur të postës Cyrus IMAP implementoi versionin e tij JMAP. Zhvilluesit nga FastMail lëshuar korniza e serverit për protokollin e ri në Perl, dhe autorët e JMAP prezantuan proxy server.

Ne mund të presim që do të ketë gjithnjë e më shumë projekte të bazuara në JMAP në të ardhmen. Për shembull, ka disa gjasa që zhvilluesit nga Open-Xchange, të cilët po krijojnë një server IMAP për sistemet Linux, do të kalojnë në protokollin e ri. Refuzoni shumë IMAP-in e tyre pyesin anëtarët e komunitetit, i formuar rreth mjeteve të kompanisë.

Zhvilluesit nga IETF dhe FastMail thonë se gjithnjë e më shumë përdorues po shohin nevojën për një standard të ri të hapur për mesazhe. Autorët e JMAP shpresojnë që në të ardhmen më shumë kompani do të fillojnë të zbatojnë këtë protokoll.

Burimet dhe burimet tona shtesë:

JMAP - një protokoll i hapur që do të zëvendësojë IMAP gjatë shkëmbimit të emaileve Si të kontrolloni kukit për pajtueshmërinë me GDPR - një mjet i ri i hapur do t'ju ndihmojë

JMAP - një protokoll i hapur që do të zëvendësojë IMAP gjatë shkëmbimit të emaileve Si të kurseni me një ndërfaqe programimi të aplikacionit
JMAP - një protokoll i hapur që do të zëvendësojë IMAP gjatë shkëmbimit të emaileve DevOps në një shërbim cloud duke përdorur shembullin e 1cloud.ru
JMAP - një protokoll i hapur që do të zëvendësojë IMAP gjatë shkëmbimit të emaileve Evolucioni i arkitekturës së reve 1cloud

JMAP - një protokoll i hapur që do të zëvendësojë IMAP gjatë shkëmbimit të emaileve Sulmet e mundshme në HTTPS dhe si të mbroheni kundër tyre
JMAP - një protokoll i hapur që do të zëvendësojë IMAP gjatë shkëmbimit të emaileve Si të mbroni një server në internet: përvoja 1cloud.ru
JMAP - një protokoll i hapur që do të zëvendësojë IMAP gjatë shkëmbimit të emaileve Një program i shkurtër arsimor: çfarë është integrimi i vazhdueshëm

Burimi: www.habr.com

Shto një koment