JMAP — avatud protokoll asendab IMAP'i e-kirjade vahetamisel

Kuu alguses arutleti aktiivselt Hacker Newsis protokolli JMAP ĂŒle, mida arendab IETF juhendamisel. Otsustasime rÀÀkida, miks see vajalik on ja kuidas see toimib.Mis IMAP-ile ei meeldinud?

JMAP — avatud protokoll asendab IMAP'i e-kirjade vahetamisel
/ PxHere / PD

IMAP

Protokoll kanti tutvustusse 1986. aastal. Paljusid standardis kirjeldatud asju ei ole tĂ€napĂ€eval enam asjakohased. NĂ€iteks suudab protokoll tagastada e-kirjade ridade arvu ja kontrollsummad, — seda funktsionaalsust ei kasutata enam kaasaegsetes e-posti klientides praktiliselt. MD5 Teine probleem on seotud liikluse tarbimisega. IMAP-i puhul salvestatakse e-kirjad serverisse ja sĂŒnkroonitakse regulaarselt kohalikest klientidest. Kui mingil pĂ”hjusel on kasutaja seadmes olev versioon "riknenud", tuleb kogu postkasti sĂŒnkroonida uuesti. TĂ€napĂ€eva maailmas, kus serveriga vĂ”ivad olla ĂŒhendatud tuhanded mobiilsed seadmed, toob selline lĂ€henemine kaasa suurenenud andmeedastus ja arvutusressursside kulu.

Teine probleem on seotud liikluse tarbimisega. IMAP-i puhul hoiavad meilid serveris ja sĂŒnkroniseerivad perioodiliselt kohalikud kliendid. Kui mingil pĂ”hjusel kasutaja seadmes olev koopia "rikub", tuleb kogu postkast uuesti sĂŒnkroniseerida. Kaasaegses maailmas, kus serveriga vĂ”ivad olla ĂŒhendatud tuhat korda mobiilseid seadmeid, toob selline lĂ€henemine kaasa suurema liikluse ja arvutusressursside kasutamise.

Raskused tekivad mitte ainult protokolli enda, vaid ka meiliklientidega, mis sellega töötavad. Alates IMAP-i loomisest on see korduvalt erinevatesse ĂŒlevaadetesse allunud — tĂ€napĂ€evane versioon on IMAP4. Samuti on sellel palju valikulisi laiendusi — veebis avaldatud on olemas ĂŒheksakĂŒmmend RFC-d koos tĂ€iendustega. Üks uuemaid on RFC8514, mis esitati 2019. aastal.

Paljud ettevÔtted pakuvad oma patenteeritud lahendusi, mis peaksid lihtsustama IMAP-i kasutamist vÔi isegi seda tÀielikult asendama: Gmail, Outlook, Nylas. Tulemuseks on see, et olemasolevad meiliklientid toetavad vaid osaliselt kÔiki saadaolevaid funktsioone. Selline mitmekesisus viib turu segmenteerimiseni.

„Veelgi enam, kaasaegne meil klient ei tohiks mitte ainult edastada sĂ”numeid, vaid osata töötada kontaktidega ja sĂŒnkroniseerida kalendriga,” ĂŒtleb Sergei Belkin, IaaS-teenuse pakkuja 1cloud.ru. „TĂ€napĂ€eval kasutatakse nende eesmĂ€rkide tĂ€itmiseks kolmandate osapoolte protokolle nagu LDAP, CardDAV ja CalDAV. Selline lĂ€henemine keeruline seadmise tulemuste tulemuste tulemuste ja avab uusi sidemeid kĂŒberrĂŒnnakute jaoks.

MÀÀratud probleemide lahendamiseks on loodud JMAP. Selle arendavad FastMaili spetsialistid Interneti Inseneride nĂ”ukogu (IETF) juhendamisel. Protokoll töötab HTTPS-i peal, kasutab JSON-i (seetĂ”ttu sobib see mitte ainult e-kirjade vahetamiseks, vaid ka mitmete ĂŒlesannete lahendamiseks pilves) ja lihtsustab töö korraldamist meilide haldamisel mobiilsĂŒsteemides. Lisaks kirjade töötlemisele on JMAP-i olemas ka laienduste ĂŒhendamise vĂ”imalused kontaktide ja kalendri-plaanijaga.

Uue protokolli omadused

JMAP on olekuta protokoll (stateless) ja ei nĂ”ua pidevat ĂŒhendust meiliserveriga. See omadus lihtsustab töö tegemist ebastabiilsetes mobiilivĂ”rkudes ja sÀÀstab seadmete aku energiat.

E-kiri JMAP-is esitatakse JSON-struktuuri formaadis. See sisaldab kogu teavet sĂ”numist RFC5322 (Internet Message Format), mis vĂ”ib olla vajalik postirakendustele. Arendajate sĂ”nul peaks selline lĂ€henemine lihtsustama kliendi loomist, kuna vĂ”imalike probleemide (mis on seotud MIME, pĂ€iste lugemise ja kodeerimisega) lahendamine jÀÀb serveri ĂŒlesandeks.

Kliendil on juurdepÀÀs serverile API kaudu. Selleks koostab ta autentitud POST-pĂ€ringu, mille omadused on kirjas JMAP seanssi objekti sees. PĂ€ringu formaat on application/json ja see koosneb ĂŒhekordsest JSON pĂ€ringu objektist. Server genereerib samuti ĂŒhe vastuse objekti.

V spetsifikatsioonis (punkt 3) autorid toovad jÀrgmise nÀite pÀringust:

{
  "using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ],
  "methodCalls": [
    [ "method1", {
      "arg1": "arg1data",
      "arg2": "arg2data"
    }, "c1" ],
    [ "method2", {
      "arg1": "arg1data"
    }, "c2" ],
    [ "method3", {}, "c3" ]
  ]
}

Allpool on nÀide vastusest, mille server genereerib:

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

TĂ€ieliku JMAP spetsifikatsiooni koos rakendamise nĂ€idetega leiab ametlikul kodulehel projektist. Seal on autorid avaldanud ka spetsifikatsioonide kirjelduse JMAP kontaktid ja JMAP kalendrid — need on suunatud kalendrite ja kontaktide loenditega töötamisele. SeetĂ”ttu sĂ”nadega muu hulgas eraldati Contacts ja Calendars eraldi dokumentideks, et neid saaks tĂ€iendada ja standardiseerida sĂ”ltumatult "tuumast". Algkoodid JMAP jaoks on GitHubi repostaariumist.

JMAP — avatud protokoll asendab IMAP'i e-kirjade vahetamisel
/ PxHere / PD

Perspektiivid

Hoolimata sellest, et standardi kallal ametlik töö pole veel lÔpetatud, rakendatakse seda juba tootmiskeskkondades. NÀiteks avatud postiserveri looja Cyrus IMAP on ellu viinud oma JMAP versiooni. FastMaili arendajad vÀlja andsid töötasid vÀlja serverite raamistiku uue protokolli jaoks Perl'i abil, ja JMAP autorid tutvustasid proksi.

VĂ”ib oodata, et tulevikus suureneb JMAP pĂ”hinevate projektide arv. NĂ€iteks on mĂ”ningane tĂ”enĂ€osus, et uuele protokollile ĂŒle minemist kaaluvad ka arendajad Open-Xchange'ist, kes loovad IMAP-serverit Linuxi sĂŒsteemidele. Nende IMAP-ist loobumist paluvad vĂ€ga kommuuni liikmed, mis on kujunenud vĂ€lja ettevĂ”tte tööriistade ĂŒmber.

IETF ja FastMaili arendajad vĂ€idavad, et ĂŒha rohkem kasutajaid nĂ€evad vajadust uue avatud standardi jĂ€rele sĂ”numite vahetuseks. JMAP autorid loodavad, et tulevikus hakkab rohkem ettevĂ”tteid seda protokolli kasutusele vĂ”tma.

Meie tÀiendavad ressursid ja allikad:

JMAP — avatud protokoll asendab IMAP'i e-kirjade vahetamisel Kuidas kontrollida kĂŒpsiseid GDPR-iga vastavuses — abiks uus avatud tööriist

JMAP — avatud protokoll asendab IMAP'i e-kirjade vahetamisel Kuidas sÀÀsta rakendusliidese abil
JMAP — avatud protokoll asendab IMAP'i e-kirjade vahetamisel DevOps'i rakendamine pilveteenuses nĂ€itel 1cloud.ru
JMAP — avatud protokoll asendab IMAP'i e-kirjade vahetamisel 1cloudi pilvearhitektuuri evolutsioon

JMAP — avatud protokoll asendab IMAP'i e-kirjade vahetamisel Potentsiaalsed rĂŒnnakud HTTPS-i vastu ja kaitsemeetodid nende vastu
JMAP — avatud protokoll asendab IMAP'i e-kirjade vahetamisel Kuidas kaitsta serverit internetis: 1cloud.ru kogemus
JMAP — avatud protokoll asendab IMAP'i e-kirjade vahetamisel LĂŒhike ĂŒlevaade: mis on pidev integreerimine

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster