JMAP - բաց արձանագրություն, որը կփոխարինի IMAP-ին նամակներ փոխանակելիս

Այս ամսվա սկզբին Hacker News-ում ակտիվ քննարկվել է JMAP արձանագրություն մշակվել է IETF-ի ղեկավարությամբ. Մենք որոշեցինք խոսել, թե ինչու է դա անհրաժեշտ և ինչպես է այն աշխատում:

JMAP - բաց արձանագրություն, որը կփոխարինի IMAP-ին նամակներ փոխանակելիս
/ Px Ահա /PD

Ինչն ինձ դուր չեկավ IMAP-ում

Արձանագրություն IMAP ներդրվել է 1986 թ. Ստանդարտում նկարագրված շատ բաներ այսօր այլևս տեղին չեն: Օրինակ, արձանագրությունը կարող է վերադարձնել տառերի և չեկային գումարների քանակը MD5 - այս ֆունկցիոնալությունը գործնականում չի օգտագործվում ժամանակակից էլփոստի հաճախորդների մեջ:

Մեկ այլ խնդիր կապված է երթեւեկության սպառման հետ։ IMAP-ի միջոցով էլ. նամակները պահվում են սերվերում և պարբերաբար համաժամացվում տեղական հաճախորդների հետ: Եթե ​​ինչ-ինչ պատճառներով օգտատիրոջ սարքի պատճենը փչանա, ամբողջ փոստը պետք է նորից համաժամացվի: Ժամանակակից աշխարհում, երբ հազարավոր շարժական սարքեր կարող են միացված լինել սերվերին, այս մոտեցումը հանգեցնում է տրաֆիկի և հաշվողական ռեսուրսների սպառման ավելացման:

Դժվարություններ են առաջանում ոչ միայն բուն արձանագրության, այլ նաև դրա հետ աշխատող էլփոստի հաճախորդների հետ: Իր ստեղծման օրվանից IMAP-ը բազմիցս ենթարկվել է տարբեր վերանայումների՝ ներկայիս տարբերակը IMAP4 է: Միևնույն ժամանակ, դրա համար կան բազմաթիվ ընտրովի ընդարձակումներ՝ ցանցում հրատարակված իննսուն RFC հավելումներով: Վերջիններից մեկն այն է RFC8514- ը, ներկայացվել է 2019 թ.

Միևնույն ժամանակ, շատ ընկերություններ առաջարկում են իրենց սեփական լուծումները, որոնք պետք է պարզեցնեն IMAP-ի հետ աշխատանքը կամ նույնիսկ փոխարինեն այն. Gmail, Հեռանկար, Նայլաս. Արդյունքն այն է, որ առկա էլփոստի հաճախորդները աջակցում են միայն առկա որոշ գործառույթներ: Նման բազմազանությունը հանգեցնում է շուկայի սեգմենտավորման:

«Ավելին, էլփոստի ժամանակակից հաճախորդը ոչ միայն պետք է ուղարկի հաղորդագրություններ, այլև կարողանա աշխատել կոնտակտների հետ և համաժամեցնել օրացույցի հետ», - ասում է Սերգեյ Բելկինը, IaaS մատակարարի զարգացման բաժնի ղեկավարը: 1cloud.ru. — Այսօր երրորդ կողմի արձանագրությունները նման են LDAP- ը, CardDAV и CalDAV. Այս մոտեցումը բարդացնում է կորպորատիվ ցանցերում firewalls-ի կազմաձևումը և բացում նոր վեկտորներ կիբերհարձակումների համար»:

JMAP-ը նախատեսված է այս խնդիրները լուծելու համար: Այն մշակվում է FastMail-ի փորձագետների կողմից՝ Internet Engineering Task Force-ի (IETF) ղեկավարությամբ: Արձանագրությունն աշխատում է HTTPS-ի վրա, օգտագործում է JSON (այդ պատճառով այն հարմար է ոչ միայն էլեկտրոնային հաղորդագրությունների փոխանակման, այլ նաև ամպի մեջ մի շարք առաջադրանքներ լուծելու համար) և հեշտացնում է փոստի հետ աշխատելու կազմակերպումը բջջային համակարգերում։ Բացի տառերի մշակումից, JMAP-ն ապահովում է նաև կոնտակտների հետ աշխատելու համար ընդլայնումներ և օրացույցի ժամանակացույցի միացման հնարավորություն:

Նոր արձանագրության առանձնահատկությունները

JMAP-ն է քաղաքացիություն չունեցող արձանագրություն (քաղաքացիություն չունեցող) և չի պահանջում մշտական ​​կապ փոստի սերվերի հետ: Այս հատկությունը հեշտացնում է աշխատանքը անկայուն բջջային ցանցերում և խնայում է մարտկոցի էներգիան սարքերում:

JMAP-ում նամակը ներկայացված է JSON կառուցվածքի ձևաչափով: Այն պարունակում է հաղորդագրությունից ստացված ողջ տեղեկատվությունը RFC5322- ը (Ինտերնետ հաղորդագրությունների ձևաչափ), որը կարող է անհրաժեշտ լինել էլփոստի հավելվածներին: Ըստ մշակողների, այս մոտեցումը պետք է հեշտացնի հաճախորդների ստեղծումը, քանի որ լուծելով հնարավոր դժվարությունները (կապված Mime, վերնագրերի ընթերցում և կոդավորում) սերվերը կպատասխանի:

Հաճախորդն օգտագործում է API՝ սերվերի հետ կապվելու համար: Դա անելու համար այն ստեղծում է վավերացված POST հարցում, որի հատկությունները նկարագրված են JMAP նիստի օբյեկտում։ Հարցումը դիմում/json ձևաչափով է և բաղկացած է մեկ JSON հարցման օբյեկտից: Սերվերը նաև առաջացնում է մեկ պատասխան օբյեկտ:

В բնութագրերը (կետ 3) հեղինակները խնդրանքով ներկայացնում են հետևյալ օրինակը.

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

Ստորև բերված է պատասխանի օրինակ, որը սերվերը կստեղծի.

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

JMAP-ի ամբողջական ճշգրտումը օրինակների իրականացման հետ կարելի է գտնել այստեղ պաշտոնական կայքը նախագիծը։ Այնտեղ հեղինակները տեղադրել են նաև բնութագրերի նկարագրությունը JMAP Կոնտակտներ и JMAP օրացույցներ — դրանք ուղղված են օրացույցների և կոնտակտային ցուցակների հետ աշխատելուն: Ըստ ըստ հեղինակները, Կոնտակտները և Օրացույցները բաժանվել են առանձին փաստաթղթերի, որպեսզի դրանք հետագայում կարողանան մշակվել և ստանդարտացվել՝ անկախ «հիմնականից»: JMAP-ի աղբյուրի կոդերը՝ in պահոցներ GitHub-ում.

JMAP - բաց արձանագրություն, որը կփոխարինի IMAP-ին նամակներ փոխանակելիս
/ Px Ահա /PD

Հեռանկարները

Չնայած այն հանգամանքին, որ ստանդարտի վրա աշխատանքը դեռ պաշտոնապես չի ավարտվել, այն արդեն իրականացվում է արտադրական միջավայրերում: Օրինակ՝ բաց փոստի սերվերի ստեղծողները Cyrus IMAP իրականացրել է իր JMAP տարբերակը: Մշակողները FastMail-ից ազատ է արձակվել սերվերի շրջանակը նոր արձանագրության համար Perl-ում, և JMAP-ի հեղինակները ներկայացրել են պրոքսի սերվեր.

Մենք կարող ենք ակնկալել, որ ապագայում կլինեն ավելի ու ավելի շատ JMAP-ի վրա հիմնված նախագծեր: Օրինակ, կա որոշակի հավանականություն, որ Open-Xchange-ի մշակողները, ովքեր ստեղծում են IMAP սերվեր Linux համակարգերի համար, կանցնեն նոր արձանագրությանը: Շատ հրաժարվեք IMAP-ից համայնքի անդամները հարցնում են, ձեւավորվել է ընկերության գործիքների շուրջ։

IETF-ի և FastMail-ի ծրագրավորողները ասում են, որ ավելի ու ավելի շատ օգտվողներ են տեսնում հաղորդագրությունների նոր բաց ստանդարտի անհրաժեշտությունը: JMAP-ի հեղինակները հույս ունեն, որ ապագայում ավելի շատ ընկերություններ կսկսեն իրականացնել այս արձանագրությունը։

Մեր լրացուցիչ ռեսուրսները և աղբյուրները.

JMAP - բաց արձանագրություն, որը կփոխարինի IMAP-ին նամակներ փոխանակելիս Ինչպես ստուգել թխուկները GDPR-ի համապատասխանության համար. նոր բաց գործիքը կօգնի

JMAP - բաց արձանագրություն, որը կփոխարինի IMAP-ին նամակներ փոխանակելիս Ինչպես խնայել հավելվածի ծրագրավորման ինտերֆեյսի միջոցով
JMAP - բաց արձանագրություն, որը կփոխարինի IMAP-ին նամակներ փոխանակելիս DevOps-ը ամպային ծառայության մեջ՝ օգտագործելով 1cloud.ru-ի օրինակը
JMAP - բաց արձանագրություն, որը կփոխարինի IMAP-ին նամակներ փոխանակելիս Ամպային ճարտարապետության էվոլյուցիան 1cloud

JMAP - բաց արձանագրություն, որը կփոխարինի IMAP-ին նամակներ փոխանակելիս Հնարավոր հարձակումներ HTTPS-ի վրա և ինչպես պաշտպանվել դրանցից
JMAP - բաց արձանագրություն, որը կփոխարինի IMAP-ին նամակներ փոխանակելիս Ինչպես պաշտպանել սերվերը ինտերնետում. 1cloud.ru փորձ
JMAP - բաց արձանագրություն, որը կփոխարինի IMAP-ին նամակներ փոխանակելիս Կարճ կրթական ծրագիր. ի՞նչ է շարունակական ինտեգրումը

Source: www.habr.com

Добавить комментарий