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
