JMAP - usa ka bukas nga protocol nga mopuli sa IMAP kung magbayloay og mga email

Sayo niining bulana sa Hacker News aktibo nga gihisgutan JMAP protocol naugmad ubos sa direksyon sa IETF. Nakahukom kami nga hisgutan kung ngano nga gikinahanglan kini ug kung giunsa kini molihok.

JMAP - usa ka bukas nga protocol nga mopuli sa IMAP kung magbayloay og mga email
/ mga stock /PD

Ang dili nako ganahan sa IMAP

Protokol IMAP gipaila niadtong 1986. Daghang mga butang nga gihulagway sa sumbanan wala nay kalabutan karon. Pananglitan, ang protocol mahimong ibalik ang gidaghanon sa mga linya sa usa ka sulat ug mga checksum MD5 - kini nga pag-andar halos wala gigamit sa modernong mga kliyente sa email.

Laing problema may kalabotan sa konsumo sa trapiko. Uban sa IMAP, ang mga email gitipigan sa server ug matag karon ug unya gi-synchronize sa mga lokal nga kliyente. Kung tungod sa pipila ka rason ang kopya sa device sa user madaot, ang tanang mail kinahanglang i-synchronize pag-usab. Sa modernong kalibutan, kung ang libu-libo nga mga mobile device mahimong konektado sa server, kini nga pamaagi nagdala sa pagtaas sa pagkonsumo sa trapiko ug mga kapanguhaan sa pag-compute.

Ang mga kalisud mitungha dili lamang sa protocol mismo, apan usab sa mga kliyente sa email nga nagtrabaho niini. Sukad sa paghimo niini, ang IMAP gipailalom sa lainlaing mga pagbag-o sa daghang mga higayon - ang karon nga bersyon karon mao ang IMAP4. Sa parehas nga oras, adunay daghang mga opsyonal nga extension alang niini - sa network gimantala kasiyaman ka RFC nga adunay mga pagdugang. Usa sa pinakabag-o mao ang RFC8514, gipaila sa 2019.

Sa parehas nga oras, daghang mga kompanya ang nagtanyag sa ilang kaugalingon nga proprietary nga mga solusyon nga kinahanglan nga pasimplehon ang pagtrabaho sa IMAP o bisan ang pag-ilis niini: Gmail, panglantaw, nylas. Ang resulta mao nga ang kasamtangan nga mga kliyente sa email nagsuporta lamang sa pipila sa mga anaa nga mga bahin. Ang ingon nga pagkalainlain nagdala sa pagbahinbahin sa merkado.

"Dugang pa, ang usa ka modernong email nga kliyente kinahanglan dili lamang magpadala sa mga mensahe, apan makahimo sa pagtrabaho sa mga kontak ug pag-synchronize sa kalendaryo," miingon si Sergei Belkin, pangulo sa kalamboan sa IaaS provider 1cloud.ru. - Karon, ang mga protocol sa ikatulo nga partido sama LDAP, CardDAV ΠΈ CalDAV. Kini nga pamaagi nagpakomplikado sa pag-configure sa mga firewall sa mga corporate network ug nagbukas sa mga bag-ong vectors alang sa mga pag-atake sa cyber.

Ang JMAP gilaraw aron masulbad kini nga mga problema. Gihimo kini sa mga eksperto sa FastMail ubos sa paggiya sa Internet Engineering Task Force (IETF). Ang protocol nagdagan sa ibabaw sa HTTPS, naggamit sa JSON (tungod niini nga hinungdan kini angay dili lamang sa pagbayloay sa mga elektronik nga mensahe, kondili alang usab sa pagsulbad sa daghang mga buluhaton sa panganod) ug gipasimple ang organisasyon sa pagtrabaho sa mail sa mga mobile system. Gawas pa sa pagproseso sa mga sulat, ang JMAP naghatag usab og abilidad sa pagkonektar sa mga extension alang sa pagtrabaho sa mga kontak ug usa ka scheduler sa kalendaryo.

Mga bahin sa bag-ong protocol

JMAP diay walay estado nga protocol (walay estado) ug wala magkinahanglan ug permanenteng koneksyon sa mail server. Gipasayon ​​niini nga feature ang trabaho sa dili lig-on nga mga mobile network ug makadaginot sa battery power sa mga device.

Ang email sa JMAP girepresentahan sa JSON structure format. Naglangkob kini sa tanan nga kasayuran gikan sa mensahe RFC5322 (Format sa Mensahe sa Internet), nga mahimong gikinahanglan sa mga aplikasyon sa email. Sumala sa mga nag-develop, kini nga pamaagi kinahanglan nga pasimplehon ang paghimo sa mga kliyente, tungod kay ang pagsulbad sa mga potensyal nga kalisud (nga nakig-uban sa Mime, pagbasa sa mga ulohan ug pag-encode) ang server motubag.

Gigamit sa kliyente ang API aron makontak ang server. Aron mahimo kini, nagmugna kini usa ka gipamatud-an nga hangyo sa POST, ang mga kabtangan nga gihulagway sa butang nga sesyon sa JMAP. Ang hangyo anaa sa application/json nga pormat ug naglangkob sa usa ka JSON request object. Naghimo usab ang server og usa ka butang nga tubag.

Π’ mga detalye (punto 3) ang mga tagsulat naghatag sa mosunod nga pananglitan uban sa usa ka hangyo:

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

Sa ubos usa ka pananglitan sa tubag nga mahimo sa server:

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

Ang bug-os nga detalye sa JMAP nga adunay mga panig-ingnan nga pagpatuman makita sa opisyal nga website proyekto. Didto ang mga tagsulat nagbutang usab usa ka paghulagway sa mga detalye alang sa Mga kontak sa JMAP ΠΈ Mga Kalendaryo sa JMAP β€” gitumong sila sa pagtrabaho sa mga kalendaryo ug mga lista sa kontak. Pinaagi sa sumala sa tagsulat, Contacts ug Kalendaryo gibulag ngadto sa bulag nga mga dokumento aron sila mahimo pa nga maugmad ug estandard nga independente sa "kinauyokan". Source code para sa JMAP - sa mga repositoryo sa GitHub.

JMAP - usa ka bukas nga protocol nga mopuli sa IMAP kung magbayloay og mga email
/ mga stock /PD

Mga panghitabo

Bisan pa sa kamatuoran nga ang pagtrabaho sa sumbanan wala pa opisyal nga nahuman, kini gipatuman na sa mga palibot sa produksiyon. Pananglitan, ang mga tiglalang sa open mail server Cyrus IMAP gipatuman ang JMAP nga bersyon niini. Mga developer gikan sa FastMail gibuhian server framework alang sa bag-ong protocol sa Perl, ug ang mga tagsulat sa JMAP gipresentar proxy server.

Makapaabot kita nga modaghan pa ang mga proyekto nga nakabase sa JMAP sa umaabot. Pananglitan, adunay posibilidad nga ang mga developers gikan sa Open-Xchange, nga nagmugna og IMAP server alang sa mga sistema sa Linux, mobalhin sa bag-ong protocol. Isalikway pag-ayo ang IMAP pangutana sa mga miyembro sa komunidad, naporma palibot sa mga himan sa kompanya.

Ang mga nag-develop gikan sa IETF ug FastMail nag-ingon nga nagkadaghan ang mga tiggamit nga nakakita sa panginahanglan alang sa usa ka bag-ong bukas nga sumbanan alang sa pagmemensahe. Ang mga tagsulat sa JMAP naglaum nga sa umaabot daghang mga kompanya ang magsugod sa pagpatuman niini nga protocol.

Ang among dugang nga mga kapanguhaan ug gigikanan:

JMAP - usa ka bukas nga protocol nga mopuli sa IMAP kung magbayloay og mga email Giunsa pagsusi ang cookies alang sa pagsunod sa GDPR - makatabang ang usa ka bag-ong bukas nga himan

JMAP - usa ka bukas nga protocol nga mopuli sa IMAP kung magbayloay og mga email Unsaon Pagtipig gamit ang Application Programming Interface
JMAP - usa ka bukas nga protocol nga mopuli sa IMAP kung magbayloay og mga email DevOps sa usa ka serbisyo sa panganod gamit ang panig-ingnan sa 1cloud.ru
JMAP - usa ka bukas nga protocol nga mopuli sa IMAP kung magbayloay og mga email Ebolusyon sa 1cloud cloud nga arkitektura

JMAP - usa ka bukas nga protocol nga mopuli sa IMAP kung magbayloay og mga email Potensyal nga pag-atake sa HTTPS ug unsaon pagpanalipod batok niini
JMAP - usa ka bukas nga protocol nga mopuli sa IMAP kung magbayloay og mga email Giunsa pagpanalipod ang usa ka server sa Internet: kasinatian sa 1cloud.ru
JMAP - usa ka bukas nga protocol nga mopuli sa IMAP kung magbayloay og mga email Usa ka mubo nga programa sa edukasyon: unsa ang Padayon nga Paghiusa

Source: www.habr.com

Idugang sa usa ka comment