JMAP - e-poçt mübadiləsi zamanı IMAP-ı əvəz edəcək açıq protokol

Bu ayın əvvəlində Hacker News-da fəal müzakirə olunurdu JMAP protokolu IETF rəhbərliyi altında hazırlanmışdır. Bunun nə üçün lazım olduğu və necə işlədiyi barədə danışmaq qərarına gəldik.

JMAP - e-poçt mübadiləsi zamanı IMAP-ı əvəz edəcək açıq protokol
/ Px burada /PD

IMAP haqqında nəyi bəyənmədim

Protokol IMAP 1986-cı ildə təqdim edilmişdir. Standartda təsvir olunan bir çox şey bu gün artıq aktual deyil. Məsələn, protokol məktubun sətirlərinin sayını və yoxlama məbləğlərini qaytara bilər MD5 - bu funksionallıq müasir e-poçt müştərilərində praktiki olaraq istifadə edilmir.

Digər problem isə nəqliyyatın istehlakı ilə bağlıdır. IMAP ilə e-poçtlar serverdə saxlanılır və vaxtaşırı yerli müştərilərlə sinxronlaşdırılır. Əgər nədənsə istifadəçinin cihazındakı surət xarab olarsa, bütün məktublar yenidən sinxronlaşdırılmalıdır. Müasir dünyada minlərlə mobil cihazın serverə qoşula bildiyi zaman bu yanaşma trafikin və hesablama resurslarının istehlakının artmasına gətirib çıxarır.

Çətinliklər təkcə protokolun özü ilə deyil, onunla işləyən e-poçt müştəriləri ilə də yaranır. Yarandığı gündən IMAP dəfələrlə müxtəlif reviziyalara məruz qalmışdır - bugünkü versiya IMAP4-dür. Eyni zamanda, bunun üçün bir çox isteğe bağlı uzantılar var - şəbəkədə nəşr olundu əlavələrlə doxsan RFC. Ən sonlardan biri RFC8514, 2019-cu ildə təqdim edilib.

Eyni zamanda, bir çox şirkət IMAP ilə işləməyi asanlaşdıran və ya hətta onu əvəz edən öz xüsusi həllərini təklif edir: Gmail, dünyagörüşü, nylas. Nəticə odur ki, mövcud e-poçt müştəriləri yalnız bəzi mövcud funksiyaları dəstəkləyir. Bu cür müxtəliflik bazarın seqmentasiyasına gətirib çıxarır.

IaaS provayderinin inkişaf rəhbəri Sergey Belkin deyir: "Bundan başqa, müasir e-poçt müştərisi yalnız mesajları yönləndirməməli, həm də kontaktlarla işləməyi və təqvimlə sinxronizasiya etməyi bacarmalıdır" 1cloud.ru. — Bu gün üçüncü tərəf protokolları kimi LDAP, CardDAV и CalDAV. Bu yanaşma korporativ şəbəkələrdə firewallların konfiqurasiyasını çətinləşdirir və kiberhücumlar üçün yeni vektorlar açır”.

JMAP bu problemləri həll etmək üçün nəzərdə tutulmuşdur. O, İnternet Mühəndisliyi İş Qrupunun (IETF) rəhbərliyi altında FastMail mütəxəssisləri tərəfindən hazırlanır. Protokol HTTPS-in üzərində işləyir, JSON-dan istifadə edir (bu səbəbdən o, təkcə elektron mesajların mübadiləsi üçün deyil, həm də buludda bir sıra vəzifələrin həlli üçün uyğundur) və mobil sistemlərdə poçtla işin təşkilini asanlaşdırır. Məktubların işlənməsi ilə yanaşı, JMAP həmçinin kontaktlar və təqvim planlayıcısı ilə işləmək üçün genişləndirmələri birləşdirmək imkanı verir.

Yeni protokolun xüsusiyyətləri

JMAP edir vətəndaşlığı olmayan protokol (vətəndaşlığı olmayan) və poçt serverinə daimi əlaqə tələb etmir. Bu funksiya qeyri-sabit mobil şəbəkələrdə işi asanlaşdırır və cihazlarda batareya enerjisinə qənaət edir.

JMAP-də e-poçt JSON struktur formatında təmsil olunur. Mesajdakı bütün məlumatları ehtiva edir RFC5322 (İnternet Mesaj Formatı), e-poçt proqramları üçün lazım ola bilər. Tərtibatçıların fikrincə, bu yanaşma müştərilərin yaradılmasını asanlaşdırmalıdır, çünki potensial çətinlikləri həll etmək (əlaqəli) Mim, başlıqları oxumaq və kodlaşdırma) server cavab verəcəkdir.

Müştəri serverlə əlaqə saxlamaq üçün API-dən istifadə edir. Bunun üçün o, xüsusiyyətləri JMAP sessiya obyektində təsvir olunan autentifikasiya edilmiş POST sorğusu yaradır. Sorğu proqram/json formatındadır və tək JSON sorğu obyektindən ibarətdir. Server həmçinin bir cavab obyekti yaradır.

В spesifikasiyalar (3-cü bənd) müəlliflər xahişlə aşağıdakı nümunəni təqdim edirlər:

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

Aşağıda serverin yaratdığı cavab nümunəsi verilmişdir:

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

Nümunə tətbiqləri ilə tam JMAP spesifikasiyası burada tapa bilərsiniz rəsmi sayt layihə. Orada müəlliflər həmçinin spesifikasiyaların təsvirini dərc ediblər JMAP Əlaqələri и JMAP Təqvimləri — onlar təqvimlər və əlaqə siyahıları ilə işləməyə yönəlib. By görə müəlliflər, Kontaktlar və Təqvimlər ayrıca sənədlərə ayrıldı ki, onlar "əsas"dan asılı olmayaraq daha da inkişaf etdirilə və standartlaşdırıla bilsinlər. JMAP üçün mənbə kodları - in GitHub-da depolar.

JMAP - e-poçt mübadiləsi zamanı IMAP-ı əvəz edəcək açıq protokol
/ Px burada /PD

Perspektivləri

Standart üzərində işlərin hələ rəsmi şəkildə tamamlanmamasına baxmayaraq, o, artıq istehsal mühitlərində tətbiq olunur. Məsələn, açıq poçt serverinin yaradıcıları Cyrus IMAP JMAP versiyasını həyata keçirdi. FastMail-dən tərtibatçılar sərbəst buraxıldı Perl-də yeni protokol üçün server çərçivəsi və JMAP müəllifləri təqdim etdilər proxy server.

Gələcəkdə daha çox JMAP əsaslı layihələrin olacağını gözləmək olar. Məsələn, Linux sistemləri üçün IMAP serveri yaradan Open-Xchange-dən tərtibatçıların yeni protokola keçməsi ehtimalı var. IMAP-dan çox imtina edin icma üzvləri soruşur, şirkətin alətləri ətrafında formalaşmışdır.

IETF və FastMail-in tərtibatçıları deyirlər ki, getdikcə daha çox istifadəçi mesajlaşma üçün yeni açıq standarta ehtiyac görür. JMAP müəllifləri ümid edirlər ki, gələcəkdə daha çox şirkət bu protokolu tətbiq etməyə başlayacaq.

Əlavə mənbələrimiz və mənbələrimiz:

JMAP - e-poçt mübadiləsi zamanı IMAP-ı əvəz edəcək açıq protokol GDPR uyğunluğu üçün kukiləri necə yoxlamaq olar - yeni açıq alət kömək edəcəkdir

JMAP - e-poçt mübadiləsi zamanı IMAP-ı əvəz edəcək açıq protokol Tətbiq proqramlaşdırma interfeysi ilə necə qənaət etmək olar
JMAP - e-poçt mübadiləsi zamanı IMAP-ı əvəz edəcək açıq protokol 1cloud.ru nümunəsindən istifadə edərək bulud xidmətində DevOps
JMAP - e-poçt mübadiləsi zamanı IMAP-ı əvəz edəcək açıq protokol Bulud memarlığının təkamülü 1cloud

JMAP - e-poçt mübadiləsi zamanı IMAP-ı əvəz edəcək açıq protokol HTTPS-ə potensial hücumlar və onlardan necə qorunmaq olar
JMAP - e-poçt mübadiləsi zamanı IMAP-ı əvəz edəcək açıq protokol İnternetdə serveri necə qorumaq olar: 1cloud.ru təcrübəsi
JMAP - e-poçt mübadiləsi zamanı IMAP-ı əvəz edəcək açıq protokol Qısa təhsil proqramı: Davamlı İnteqrasiya nədir

Mənbə: www.habr.com

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