JMAP – protokolli i hapur do të zëvendësojë IMAP në shkëmbimin e email-eve

Në fillim të muajit në Hacker News u diskutua intenzivisht protokolli JMAP, i zhvilluar nën drejtimin e IETF. Ne vendosëm të flasim për arsyen pse ai është i nevojshëm dhe si funksionon.

JMAP – protokolli i hapur do të zëvendësojë IMAP në shkëmbimin e email-eve
/ PxHere / PD

Çfarë nuk e pëlqeu IMAP

Protokolli IMAP u prezantua në vitin 1986. Shumë gjëra të përshkruara në standard nuk janë më aktuale sot. Për shembull, protokolli mund të kthejë numrin e rreshtave të mesazheve dhe kontrollet e sumës MD5 — kjo funksionalitet në klientët modern të postës praktikisht nuk përdoret.

Një tjetër problem ka të bëjë me konsumimin e trafikut. Në rastin e IMAP, mesazhet ruhen në server dhe sinkronizohen periodikisht me klientët lokalë. Nëse për një arsye të caktuar kopja në pajisjen e përdoruesit "prishen", duhet të sinkronizohet përsëri e gjithë posta. Në botën moderne, kur mijëra pajisje mobile mund të jenë të lidhura me serverin, ky qasje çon në rritjen e konsumit të trafikut dhe burimeve të llogaritjes.

Vështirësi ndodhin jo vetëm me protokollin e vet, por edhe me klientët e postës që punojnë me të. Që nga krijimi i IMAP, ai është rishikuar shumë herë — versioni aktual sot është IMAP4. Megjithatë, për të ekzistojnë shumë zgjerime opsionale — në rrjet janë publikuar janë nëntëdhjetë RFC me shtesa. Një nga më të reja është RFC8514, i paraqitur në vitin 2019.

Megjithatë, shumë kompani ofrojnë zgjidhje të tyre të pronarit, që duhet të thjeshtojnë punën me IMAP ose ta zëvendësojnë atë krejtësisht: Gmail, Outlook, Nylas. Rezultati është se klientët ekzistues të postës mbështesin vetëm disa nga funksionalitetet që ekzistojnë. Ky diversitet çon në segmentimin e tregut.

"Për më tepër, një klient modern i postës duhet jo vetëm të dërgojë mesazhe, por të dijë edhe si të punojë me kontaktet dhe të sinkronizohet me kalendarin," thotë Sergey Belkin, shefi i departamentit të zhvillimit të ofruesit të IaaS. 1cloud.ru. "Sot, për këto qëllime përdoren protokolle të jashtme si LDAP, CardDAV dhe CalDAV. Ky qasje e komplikon konfigurimin e firewalove në rrjetet korporative dhe hap vektore të rinj për sulmet kibernetike."

Problemet e paraqitur zgjidhet nga JMAP. Ai po zhvillohet nga specialistët e FastMail nën drejtimin e Këshillit të Inxhinierisë së Internetit (IETF). Protokolli punon mbi HTTPS, përdor JSON (për këtë arsye është i përshtatshëm jo vetëm për shkëmbimin e mesazheve, por edhe për zgjidhjen e një sërë detyrash në re) dhe lehtëson organizimin e punës me postën në sistemet mobile. Përveç përpunimit të email-eve, JMAP gjithashtu parashikon mundësinë e lidhjes së zgjerimeve për punën me kontaktet dhe kalendaret-planifikuesit.

Veçoritë e protokollit të ri

JMAP është një protokoll pa ruajtje gjendjeje (stateless) dhe nuk kërkon një lidhje të vazhdueshme me serverin e postës. Kjo veçori lehtëson punën në rrjetet mobile të paqëndrueshme dhe ndihmon në kursimin e energjisë së baterisë së pajisjeve.

Emaili në JMAP paraqitet në formatin e strukturës JSON. Ai përmban të gjithë informacionin nga mesazhi RFC5322 (Formati i Mesazheve të Internetit), i cili mund të nevojitet nga aplikacionet e postës. Sipas zhvilluesve, ky qasje duhet të thjeshtojë krijimin e klientëve, pasi zgjidhja e vështirësive të mundshme (në lidhje me MIME, leximin e titujve dhe kodimin) do të jetë përgjegjësi e serverit.

Për t'u drejtuar te serveri, klienti përdor API. Për këtë ai formon një kërkesë POST të autentikuar, pronësitë e së cilës përshkruhen në objektin sesion JMAP. Kërkesa ka format application/json dhe përbëhet nga një objekt kërkese JSON. Serveri gjithashtu gjeneron një objekt përgjigjeje.

Në specifikimet (në pikën 3) autorët japin këtë shembull me kërkesën:

{
  "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 përgjigjeje që do të formojë serveri:

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

Specifikimin e plotë të JMAP me shembuj të realizimit mund ta gjejmë në faqen zyrtare projekt. Atje, autorët kanë vendosur përshkrimin e specifikimeve për JMAP Contacts dhe JMAP Calendars — ato janë të drejtuara për punën me kalendaret dhe listat e kontakteve. Sipas fjalëve autorëve, Kontakët dhe Kalendaret janë ndarë në dokumente të veçanta, për t'u mundësuar përmirësimin dhe standardizimin e tyre pavarësisht nga 'nukleusi'. Kodet origjinale për JMAP janë në repozytorin në GitHub.

JMAP – protokolli i hapur do të zëvendësojë IMAP në shkëmbimin e email-eve
/ PxHere / PD

Perspektivat

Megjithëse punimet zyrtare mbi standardin ende nuk kanë përfunduar, ai tani po zbatohet në mjedise prodhuese. Për shembull, krijuesit e serverit të hapur të postës Cyrus IMAP kanë realizuar versionin e tij JMAP. Zhvilluesit nga FastMail publikuar kanë krijuar një kornizë serveri për protokollin e ri në Perl, ndërsa autorët e JMAP paraqitën server proxy.

Pritet që në të ardhmen, projektet mbi bazën e JMAP do të rriten. Për shembull, ka një probabilitet të caktuar që zhvilluesit nga Open-Xchange, që krijojnë serverin IMAP për sistemet Linux, të kalojnë në protokollin e ri. Komuniteti po kërkon me forcë për të hequr dorë nga IMAP, që është formuar rreth mjeteve të kompanisë.

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

Burimet dhe burimet tona shtesë:

JMAP – protokolli i hapur do të zëvendësojë IMAP në shkëmbimin e email-eve Si të kontrolloni cookies për përputhshmërinë me GDPR - do t'ju ndihmojë një mjet i ri i hapur

JMAP – protokolli i hapur do të zëvendësojë IMAP në shkëmbimin e email-eve Si të kurseni me anë të ndërfaqes programore
JMAP – protokolli i hapur do të zëvendësojë IMAP në shkëmbimin e email-eve DevOps në shërbimin në re për shembullin 1cloud.ru
JMAP – protokolli i hapur do të zëvendësojë IMAP në shkëmbimin e email-eve Evolucioni i arkitekturës së cloud 1cloud

JMAP – protokolli i hapur do të zëvendësojë IMAP në shkëmbimin e email-eve Sulmet e mundshme mbi HTTPS dhe mënyrat për t'u mbrojtur nga ato
JMAP – protokolli i hapur do të zëvendësojë IMAP në shkëmbimin e email-eve Si të mbrojmë një server në internet: përvoja e 1cloud.ru
JMAP – protokolli i hapur do të zëvendësojë IMAP në shkëmbimin e email-eve Një shpjegim i shkurtër: çfarë është Integrimi i Vazhdueshëm

Burimi: habr.com

Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS 🔥 Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS | ProHoster