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