Në fillim të muajit në Hacker News protokolli JMAP, . Ne vendosëm të flasim për arsyen pse ai është i nevojshëm dhe si funksionon.
/ / PD
ĂfarĂ« nuk e pĂ«lqeu IMAP
Protokolli 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 â 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Ă« nĂ«ntĂ«dhjetĂ« RFC me shtesa. NjĂ« nga mĂ« tĂ« reja Ă«shtĂ« , 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: , , . 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. . "Sot, për këto qëllime përdoren protokolle të jashtme si , dhe . 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ë (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 (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 , 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ë (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Ă« projekt. Atje, autorĂ«t kanĂ« vendosur pĂ«rshkrimin e specifikimeve pĂ«r dhe â ato janĂ« tĂ« drejtuara pĂ«r punĂ«n me kalendaret dhe listat e kontakteve. Sipas 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Ă« .

/ / 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 kanë realizuar versionin e tij JMAP. Zhvilluesit nga FastMail kanë krijuar një kornizë serveri për protokollin e ri në Perl, ndërsa autorët e JMAP paraqitën .
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 , 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ë:
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Burimi: habr.com
