JMAP - ένα ανοιχτό πρωτόκολλο που θα αντικαταστήσει το IMAP κατά την ανταλλαγή email

Νωρίτερα αυτό το μήνα στο Hacker News συζητήθηκε ενεργά Πρωτόκολλο JMAP αναπτύχθηκε υπό τη διεύθυνση του IETF. Αποφασίσαμε να μιλήσουμε για το γιατί χρειαζόταν και πώς λειτουργεί.

JMAP - ένα ανοιχτό πρωτόκολλο που θα αντικαταστήσει το IMAP κατά την ανταλλαγή email
/ Px Εδώ /ΠΔ

Τι δεν μου άρεσε στο IMAP

Πρωτόκολλο IMAP εισήχθη το 1986. Πολλά πράγματα που περιγράφονται στο πρότυπο δεν είναι πλέον σχετικά σήμερα. Για παράδειγμα, το πρωτόκολλο μπορεί να επιστρέψει τον αριθμό των γραμμών ενός γράμματος και τα αθροίσματα ελέγχου MD5 - αυτή η λειτουργία πρακτικά δεν χρησιμοποιείται σε σύγχρονους πελάτες ηλεκτρονικού ταχυδρομείου.

Ένα άλλο πρόβλημα σχετίζεται με την κατανάλωση κίνησης. Με το IMAP, τα email αποθηκεύονται στον διακομιστή και συγχρονίζονται περιοδικά με τοπικούς πελάτες. Εάν για κάποιο λόγο το αντίγραφο στη συσκευή του χρήστη καταστραφεί, όλα τα μηνύματα πρέπει να συγχρονιστούν ξανά. Στον σύγχρονο κόσμο, όταν χιλιάδες κινητές συσκευές μπορούν να συνδεθούν στον διακομιστή, αυτή η προσέγγιση οδηγεί σε αυξημένη κατανάλωση κίνησης και υπολογιστικών πόρων.

Δυσκολίες προκύπτουν όχι μόνο με το ίδιο το πρωτόκολλο, αλλά και με τα προγράμματα-πελάτες email που συνεργάζονται με αυτό. Από τη δημιουργία του, το IMAP έχει υποβληθεί πολλές φορές σε διάφορες αναθεωρήσεις - η τρέχουσα έκδοση σήμερα είναι IMAP4. Ταυτόχρονα, υπάρχουν πολλές προαιρετικές επεκτάσεις για αυτό - στο δίκτυο που δημοσιεύθηκε ενενήντα RFC με προσθήκες. Ένα από τα πιο πρόσφατα είναι RFC8514, που παρουσιάστηκε το 2019.

Ταυτόχρονα, πολλές εταιρείες προσφέρουν τις δικές τους αποκλειστικές λύσεις που θα πρέπει να απλοποιήσουν την εργασία με το IMAP ή ακόμα και να το αντικαταστήσουν: Gmail, θέα, Νύλας. Το αποτέλεσμα είναι ότι τα υπάρχοντα προγράμματα-πελάτες ηλεκτρονικού ταχυδρομείου υποστηρίζουν μόνο ορισμένες από τις διαθέσιμες λειτουργίες. Αυτή η ποικιλομορφία οδηγεί σε κατακερματισμό της αγοράς.

«Επιπλέον, ένας σύγχρονος πελάτης email δεν θα πρέπει μόνο να προωθεί μηνύματα, αλλά να μπορεί να εργάζεται με επαφές και να συγχρονίζεται με το ημερολόγιο», λέει ο Sergei Belkin, επικεφαλής ανάπτυξης στον πάροχο IaaS. 1cloud.ru. — Σήμερα, τα πρωτόκολλα τρίτων όπως LDAP, CardDAV и CalDAV. Αυτή η προσέγγιση περιπλέκει τη διαμόρφωση των τείχη προστασίας σε εταιρικά δίκτυα και ανοίγει νέους φορείς για επιθέσεις στον κυβερνοχώρο».

Το JMAP έχει σχεδιαστεί για να λύνει αυτά τα προβλήματα. Αναπτύσσεται από ειδικούς της FastMail υπό την καθοδήγηση της Ομάδας Εργασίας Μηχανικής Διαδικτύου (IETF). Το πρωτόκολλο τρέχει πάνω από το HTTPS, χρησιμοποιεί JSON (για το λόγο αυτό είναι κατάλληλο όχι μόνο για την ανταλλαγή ηλεκτρονικών μηνυμάτων, αλλά και για την επίλυση ορισμένων εργασιών στο cloud) και απλοποιεί την οργάνωση της εργασίας με αλληλογραφία σε κινητά συστήματα. Εκτός από την επεξεργασία γραμμάτων, το JMAP παρέχει επίσης τη δυνατότητα σύνδεσης επεκτάσεων για εργασία με επαφές και προγραμματιστή ημερολογίου.

Χαρακτηριστικά του νέου πρωτοκόλλου

JMAP είναι πρωτόκολλο ανιθαγενών (απάτριδα) και δεν απαιτεί μόνιμη σύνδεση με τον διακομιστή αλληλογραφίας. Αυτή η δυνατότητα απλοποιεί την εργασία σε ασταθή δίκτυα κινητής τηλεφωνίας και εξοικονομεί ενέργεια μπαταρίας στις συσκευές.

Ένα email στο JMAP αντιπροσωπεύεται σε μορφή δομής JSON. Περιέχει όλες τις πληροφορίες από το μήνυμα RFC5322 (Μορφή μηνυμάτων Διαδικτύου), η οποία μπορεί να απαιτείται από τις εφαρμογές ηλεκτρονικού ταχυδρομείου. Σύμφωνα με τους προγραμματιστές, αυτή η προσέγγιση θα πρέπει να απλοποιήσει τη δημιουργία πελατών, καθώς η επίλυση πιθανών δυσκολιών (που σχετίζονται με ΜΊΜΟΣ, ανάγνωση κεφαλίδων και κωδικοποίηση) ο διακομιστής θα ανταποκριθεί.

Ο πελάτης χρησιμοποιεί το 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 κατά την ανταλλαγή email
/ Px Εδώ /ΠΔ

Προοπτικές

Παρά το γεγονός ότι οι εργασίες για το πρότυπο δεν έχουν ακόμη ολοκληρωθεί επίσημα, εφαρμόζεται ήδη σε περιβάλλοντα παραγωγής. Για παράδειγμα, οι δημιουργοί του ανοιχτού διακομιστή αλληλογραφίας Cyrus IMAP υλοποίησε την έκδοση JMAP. Προγραμματιστές από το FastMail κυκλοφόρησε πλαίσιο διακομιστή για το νέο πρωτόκολλο στην Perl, και οι συγγραφείς του JMAP παρουσίασαν διακομιστή μεσολάβησης.

Μπορούμε να περιμένουμε ότι θα υπάρχουν όλο και περισσότερα έργα που βασίζονται στο JMAP στο μέλλον. Για παράδειγμα, υπάρχει κάποια πιθανότητα οι προγραμματιστές από το Open-Xchange, οι οποίοι δημιουργούν έναν διακομιστή IMAP για συστήματα Linux, να μεταβούν στο νέο πρωτόκολλο. Αρνηθείτε πολύ το IMAP ρωτούν τα μέλη της κοινότητας, που σχηματίστηκε γύρω από τα εργαλεία της εταιρείας.

Οι προγραμματιστές από το IETF και το FastMail λένε ότι όλο και περισσότεροι χρήστες βλέπουν την ανάγκη για ένα νέο ανοιχτό πρότυπο για την ανταλλαγή μηνυμάτων. Οι συντάκτες του JMAP ελπίζουν ότι στο μέλλον περισσότερες εταιρείες θα αρχίσουν να εφαρμόζουν αυτό το πρωτόκολλο.

Οι πρόσθετοι πόροι και οι πόροι μας:

JMAP - ένα ανοιχτό πρωτόκολλο που θα αντικαταστήσει το IMAP κατά την ανταλλαγή email Πώς να ελέγξετε τα cookies για συμμόρφωση με τον GDPR - ένα νέο ανοιχτό εργαλείο θα σας βοηθήσει

JMAP - ένα ανοιχτό πρωτόκολλο που θα αντικαταστήσει το IMAP κατά την ανταλλαγή email Πώς να αποθηκεύσετε με μια διεπαφή προγραμματισμού εφαρμογής
JMAP - ένα ανοιχτό πρωτόκολλο που θα αντικαταστήσει το IMAP κατά την ανταλλαγή email DevOps σε μια υπηρεσία cloud χρησιμοποιώντας το παράδειγμα 1cloud.ru
JMAP - ένα ανοιχτό πρωτόκολλο που θα αντικαταστήσει το IMAP κατά την ανταλλαγή email Η εξέλιξη της αρχιτεκτονικής cloud 1cloud

JMAP - ένα ανοιχτό πρωτόκολλο που θα αντικαταστήσει το IMAP κατά την ανταλλαγή email Πιθανές επιθέσεις στο HTTPS και πώς να προστατευτείτε από αυτά
JMAP - ένα ανοιχτό πρωτόκολλο που θα αντικαταστήσει το IMAP κατά την ανταλλαγή email Πώς να προστατεύσετε έναν διακομιστή στο Διαδίκτυο: εμπειρία 1cloud.ru
JMAP - ένα ανοιχτό πρωτόκολλο που θα αντικαταστήσει το IMAP κατά την ανταλλαγή email Ένα σύντομο εκπαιδευτικό πρόγραμμα: Τι είναι η Συνεχής Ένταξη

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο