JMAP — protokolli i hapur do tĂ« zĂ«vendĂ«sojĂ« IMAP pĂ«r shkĂ«mbimin e postave elektronike

Në fillim të muajit në Hacker News u diskutua aktivisht protokolli JMAP, i zhvilluar nën drejtimin e IETF. Ne vendosëm të flasim për arsyetse përse ai ishte i nevojshëm dhe si funksionon.

JMAP — protokolli i hapur do tĂ« zĂ«vendĂ«sojĂ« IMAP pĂ«r shkĂ«mbimin e postave elektronike
/ PxHere / PD

ÇfarĂ« nuk i pĂ«lqeu IMAP

Protokolli IMAP u prezantua nĂ« vitin 1986. ShumĂ« gjĂ«ra, tĂ« pĂ«rshkruara nĂ« standard, aktualisht nuk janĂ« mĂ« tĂ« rĂ«ndĂ«sishme. PĂ«r shembull, protokolli Ă«shtĂ« nĂ« gjendje tĂ« kthejĂ« numrin e linjave tĂ« emailit dhe kontrollet e shumĂ«sisĂ« MD5 — kjo funksionalitet nĂ« klientĂ«t modernĂ« tĂ« postĂ«s pothuajse nuk pĂ«rdoret.

Një problem tjetër është lidhur me konsumimin e trafikut. Në rastin e IMAP, emailët ruhen në server dhe periodikisht sinkronizohen me klientët lokalë. Nëse për ndonjë arsye kopja në pajisjen e përdoruesit "prishet", është e nevojshme të sinkronizohet përsëri e gjithë posta. Në botën moderne, kur mijëra pajisje mobile mund të jenë të lidhura me serverin, një qasje e tillë çon në rritjen e shpenzimeve të trafikut dhe burimeve kompjuterike.

Problemet nuk shfaqen vetĂ«m me protokollin e vet, por edhe me klientĂ«t e postĂ«s qĂ« punojnĂ« me tĂ«. QĂ« nga krijimi, IMAP ka kaluar nĂ«pĂ«r shumĂ« rishikime — versioni aktual deri tani Ă«shtĂ« IMAP4. PĂ«r kĂ«tĂ« version ekzistojnĂ« shumĂ« zgjerime opsionale — nĂ« internet janĂ« publikuar nĂ«ntĂ«dhjetĂ« RFC me shtesa. NjĂ« nga mĂ« tĂ« rinjtĂ« Ă«shtĂ« RFC8514, e paraqitur nĂ« vitin 2019.

Shumë kompani ofrojnë zgjidhje të veta proprietarë, të cilat duhet të thjeshtojnë punën me IMAP ose ta zëvendësojnë atë krejtësisht: Gmail, Outlook, Nylas. Si rezultat, klientët aktualë të postës mbështesin vetëm disa nga të gjitha karakteristikat e disponueshme. Ky larmi çon në segmentimin e tregut.

«PĂ«r mĂ« tepĂ«r, klienti modern i postĂ«s duhet jo vetĂ«m tĂ« dĂ«rgojĂ« mesazhe, por tĂ« jetĂ« nĂ« gjendje tĂ« punojĂ« me kontaktet dhe tĂ« sinkronizohet me kalendari, — thotĂ« Sergey Belkin, drejtori i zhvillimit tĂ« provajderit IaaS 1cloud.ru. — Sot pĂ«r kĂ«to qĂ«llime pĂ«rdoren protokolle tĂ« jashtme si LDAP, CardDAV dhe CalDAV. Ky kyçje komplikon konfigurimin e firewall-eve nĂ« rrjetet korporative dhe hap njĂ« gamĂ« tĂ« re pĂ«r sulmet kibernetike.

Zgjidhja e problemeve të theksuara është JMAP. Ai zhvillohet nga specialistët e FastMail nën drejtimin e Këshillit Inxhinierik të Internetit (IETF). Protokolli punon mbi HTTPS, përdor JSON (për këtë arsye ai është i përshtatshëm jo vetëm për shkëmbimin e mesazheve, por edhe për të zgjidhur një sërë problemesh në cloud) dhe e thjeshton organizimin e punës me postën në sistemet mobile. Përveç përpunimit të email-eve, në JMAP parashikohet gjithashtu mundësia e lidhjes së zgjerimeve për punë me kontakte dhe kalendarin-planifikues.

Veçoritë e protokolit të ri

JMAP është një protokoll pa ruajtje të gjendjes (stateless) dhe nuk kërkon një lidhje të përhershme me serverin e postës. Kjo veçori e thjeshton punën në rrjetet mobile të paqëndrueshme dhe lejon ruajtjen e karikimit të pajisjeve.

Një email në JMAP paraqitet në formatin e strukturës JSON. Ajo përmban të gjitha informacionet nga mesazhi. RFC5322 (Internet Message Format), që mund të nevojitet nga aplikacionet e postës. Sipas zhvilluesve, ky qasje duhet të thjeshtësojë krijimin e klientëve, pasi zgjidhja e potencialeve të vështirësive (të lidhura me MIME, leximin e kokave dhe kodimin) do të mbahet nga serveri.

Për t'u lidhur me serverin, klienti përdor API. Për këtë, ai formon një kërkesë POST të autentikuar, veçoritë e së cilës janë përshkruar në objektin e sesionit JMAP. Kërkesa ka formatin application/json dhe përbëhet nga një objekt kërkese JSON. Serveri gjithashtu gjeneron një objekt përgjigjeje.

Në specifikacioni (pika 3) autorët japin një shembull të mëposhtëm 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Ă« JMAP me shembuj realizimi mund tĂ« gjendet nĂ« faqen zyrtare projekt. Aty, autorĂ«t kanĂ« vendosur njĂ« pĂ«rshkrim tĂ« specifikimeve pĂ«r Kontakte JMAP dhe Kalendare JMAP — ato janĂ« orientuar pĂ«r tĂ« punuar me kalendaret dhe listat e kontakteve. Sipas autoreve, sistemi do tĂ« zvogĂ«lojĂ« shpenzimet pĂ«r energjinĂ« me dyfish. autorĂ«ve, Kontakte dhe Kalendare janĂ« ndarĂ« nĂ« dokumente tĂ« veçanta, nĂ« mĂ«nyrĂ« qĂ« tĂ« mund tĂ« pĂ«rmirĂ«sohen dhe standardizohen nĂ« mĂ«nyrĂ« tĂ« pavarur nga "nĂ« bĂ«rthamĂ«". Kodet burimore pĂ«r JMAP janĂ« nĂ« repo nĂ« GitHub.

JMAP — protokolli i hapur do tĂ« zĂ«vendĂ«sojĂ« IMAP pĂ«r shkĂ«mbimin e postave elektronike
/ PxHere / PD

Perspektivat

Megjithëse puna zyrtare mbi standardin ende nuk është përfunduar, ai tashmë po implementohet në mjedise prodhimi. Për shembull, krijuesit e serverit të hapur të postës Cyrus IMAP kanë realizuar versionin e tij JMAP. Zhvilluesit nga FastMail në lëshuan kanë zhvilluar një kornizë serveri për protokollin e ri në Perl, ndërsa autorët e JMAP kanë prezantuar proxy.

Pritet që në të ardhmen të ketë gjithnjë e më shumë projekte të bazuara në JMAP. Për shembull, ka një mundësi të caktuar që zhvilluesit nga Open-Xchange, që krijojnë serverin IMAP për sistemet Linux, do të kalojnë në protokollin e ri. Anëtarët e komunitetit e kërkojnë fuqimisht të heqin dorë nga IMAP, që është formuar rreth mjeteve të kompanisë.

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

Burimet dhe burimet tona shtesë:

JMAP — protokolli i hapur do tĂ« zĂ«vendĂ«sojĂ« IMAP pĂ«r shkĂ«mbimin e postave elektronike Si si mund te kontrolloni cookies nĂ« pĂ«rputhshmĂ«ri me GDPR - ndihmon strumenti i ri i hapur

JMAP — protokolli i hapur do tĂ« zĂ«vendĂ«sojĂ« IMAP pĂ«r shkĂ«mbimin e postave elektronike Si tĂ« kurseni pĂ«rmes njĂ« ndĂ«rfaqe tĂ« programit
JMAP — protokolli i hapur do tĂ« zĂ«vendĂ«sojĂ« IMAP pĂ«r shkĂ«mbimin e postave elektronike DevOps nĂ« shĂ«rbimin nĂ« re pĂ«rmes shembullit tĂ« 1cloud.ru
JMAP — protokolli i hapur do tĂ« zĂ«vendĂ«sojĂ« IMAP pĂ«r shkĂ«mbimin e postave elektronike Evolucioni i arkitekturĂ«s cloud 1cloud

JMAP — protokolli i hapur do tĂ« zĂ«vendĂ«sojĂ« IMAP pĂ«r shkĂ«mbimin e postave elektronike Sulmet potenciale ndaj HTTPS dhe mĂ«nyrat pĂ«r t'u mbrojtur nga to
JMAP — protokolli i hapur do tĂ« zĂ«vendĂ«sojĂ« IMAP pĂ«r shkĂ«mbimin e postave elektronike Si tĂ« mbrosh serverin nĂ« internet: pĂ«rvoja e 1cloud.ru
JMAP — protokolli i hapur do tĂ« zĂ«vendĂ«sojĂ« IMAP pĂ«r shkĂ«mbimin e postave elektronike NjĂ« shkurtim informativ: çfarĂ« Ă«shtĂ« Integrimi i vazhdueshĂ«m

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster