JMAP - protokol terbuka yang akan menggantikan IMAP saat bertukar email

Awal bulan ini di Hacker News dibahas secara aktif protokol JMAP dikembangkan di bawah arahan IETF. Kami memutuskan untuk membicarakan mengapa ini diperlukan dan bagaimana cara kerjanya.

JMAP - protokol terbuka yang akan menggantikan IMAP saat bertukar email
/ Galeri /PD

Apa yang saya tidak suka tentang IMAP

Protokol IMAP diperkenalkan pada tahun 1986. Banyak hal yang dijelaskan dalam standar tidak lagi relevan saat ini. Misalnya, protokol dapat mengembalikan jumlah baris surat dan checksum MD5 - fungsi ini praktis tidak digunakan di klien email modern.

Masalah lainnya terkait dengan konsumsi lalu lintas. Dengan IMAP, email disimpan di server dan disinkronkan secara berkala dengan klien lokal. Jika karena alasan tertentu salinan pada perangkat pengguna rusak, semua email harus disinkronkan kembali. Di dunia modern, ketika ribuan perangkat seluler dapat dihubungkan ke server, pendekatan ini menyebabkan peningkatan konsumsi lalu lintas dan sumber daya komputasi.

Kesulitan muncul tidak hanya pada protokol itu sendiri, tetapi juga dengan klien email yang bekerja dengannya. Sejak pembuatannya, IMAP telah mengalami berbagai revisi berkali-kali - versi saat ini adalah IMAP4. Pada saat yang sama, ada banyak ekstensi opsional untuk itu - di jaringan diterbitkan sembilan puluh RFC dengan tambahan. Salah satu yang terbaru adalah RFC8514, diperkenalkan pada tahun 2019.

Pada saat yang sama, banyak perusahaan menawarkan solusi milik mereka sendiri yang akan menyederhanakan pekerjaan dengan IMAP atau bahkan menggantikannya: Gmail, Outlook, nylas. Hasilnya adalah klien email yang ada hanya mendukung beberapa fitur yang tersedia. Keberagaman tersebut mengarah pada segmentasi pasar.

β€œSelain itu, klien email modern seharusnya tidak hanya meneruskan pesan, tetapi juga dapat bekerja dengan kontak dan menyinkronkan dengan kalender,” kata Sergei Belkin, kepala pengembangan penyedia IaaS. 1cloud.ru. β€” Saat ini, protokol pihak ketiga seperti LDAP, KartuDAV ΠΈ CalDAV. Pendekatan ini memperumit konfigurasi firewall di jaringan perusahaan dan membuka vektor baru serangan siber.”

JMAP dirancang untuk memecahkan masalah ini. Ini sedang dikembangkan oleh para ahli FastMail di bawah bimbingan Internet Engineering Task Force (IETF). Protokol ini berjalan di atas HTTPS, menggunakan JSON (untuk alasan ini, cocok tidak hanya untuk bertukar pesan elektronik, tetapi juga untuk menyelesaikan sejumlah tugas di cloud) dan menyederhanakan pengorganisasian bekerja dengan email di sistem seluler. Selain memproses surat, JMAP juga menyediakan kemampuan untuk menghubungkan ekstensi untuk bekerja dengan kontak dan penjadwal kalender.

Fitur protokol baru

JMAP adalah protokol tanpa kewarganegaraan (stateless) dan tidak memerlukan koneksi permanen ke server email. Fitur ini menyederhanakan pekerjaan di jaringan seluler yang tidak stabil dan menghemat daya baterai pada perangkat.

Email di JMAP direpresentasikan dalam format struktur JSON. Ini berisi semua informasi dari pesan tersebut RFC5322 (Format Pesan Internet), yang mungkin diperlukan oleh aplikasi email. Menurut pengembang, pendekatan ini harus menyederhanakan pembuatan klien, karena memecahkan potensi kesulitan (terkait dengan PANTOMIM, membaca header dan pengkodean) server akan merespons.

Klien menggunakan API untuk menghubungi server. Untuk melakukan ini, ini menghasilkan permintaan POST yang diautentikasi, yang propertinya dijelaskan dalam objek sesi JMAP. Permintaan dalam format application/json dan terdiri dari satu objek permintaan JSON. Server juga menghasilkan satu objek respons.

Π’ spesifikasi (poin 3) penulis memberikan contoh berikut dengan permintaan:

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

Di bawah ini adalah contoh respon yang akan dihasilkan server:

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

Spesifikasi JMAP lengkap dengan contoh implementasi dapat ditemukan di situs resmi proyek. Di sana penulis juga memposting penjelasan spesifikasinya Kontak JMAP ΠΈ Kalender JMAP β€” mereka ditujukan untuk bekerja dengan kalender dan daftar kontak. Oleh menurut penulis, Kontak dan Kalender dipisahkan menjadi dokumen terpisah sehingga dapat dikembangkan lebih lanjut dan distandarisasi secara independen dari β€œinti”. Kode sumber untuk JMAP - masuk repositori di GitHub.

JMAP - protokol terbuka yang akan menggantikan IMAP saat bertukar email
/ Galeri /PD

Prospek

Meskipun pengerjaan standar tersebut belum selesai secara resmi, standar tersebut sudah diterapkan di lingkungan produksi. Misalnya, pembuat server email terbuka IMAP Cyrus mengimplementasikan versi JMAP-nya. Pengembang dari FastMail dilepaskan kerangka server untuk protokol baru di Perl, dan penulis JMAP disajikan server proxy.

Kita dapat berharap bahwa akan ada lebih banyak proyek berbasis JMAP di masa depan. Misalnya, ada kemungkinan pengembang dari Open-Xchange, yang membuat server IMAP untuk sistem Linux, akan beralih ke protokol baru. Sangat menolak IMAP anggota masyarakat bertanya, dibentuk di sekitar alat perusahaan.

Pengembang dari IETF dan FastMail mengatakan semakin banyak pengguna yang menyadari perlunya standar terbuka baru untuk pengiriman pesan. Penulis JMAP berharap di masa depan akan lebih banyak perusahaan yang mulai menerapkan protokol ini.

Sumber daya dan sumber tambahan kami:

JMAP - protokol terbuka yang akan menggantikan IMAP saat bertukar email Cara memeriksa cookie untuk kepatuhan GDPR - alat terbuka baru akan membantu

JMAP - protokol terbuka yang akan menggantikan IMAP saat bertukar email Cara Menyimpan dengan Antarmuka Pemrograman Aplikasi
JMAP - protokol terbuka yang akan menggantikan IMAP saat bertukar email DevOps di layanan cloud menggunakan contoh 1cloud.ru
JMAP - protokol terbuka yang akan menggantikan IMAP saat bertukar email Evolusi arsitektur cloud 1cloud

JMAP - protokol terbuka yang akan menggantikan IMAP saat bertukar email Potensi serangan terhadap HTTPS dan cara melindunginya
JMAP - protokol terbuka yang akan menggantikan IMAP saat bertukar email Cara melindungi server di Internet: pengalaman 1cloud.ru
JMAP - protokol terbuka yang akan menggantikan IMAP saat bertukar email Program pendidikan singkat: apa itu Integrasi Berkelanjutan

Sumber: www.habr.com

Tambah komentar