Τί είναι το HTTP/3;
Το Πρωτόκολλο Μεταφοράς Υπερκειμένου (HTTP) είναι βασικός κορμός του Διαδικτύου — υπαγορεύει τον τρόπο με τον οποίο οι πλατφόρμες και οι συσκευές επικοινωνιών ανταλλάσσουν πληροφορίες και ανακτούν πόρους. Εν ολίγοις, είναι αυτό που επιτρέπει στους χρήστες να φορτώνουν ιστότοπους.
Το HTTP/3 είναι η πιο πρόσφατη κύρια έκδοση του HTTP. Τα προγράμματα περιήγησης και οι διακομιστές Ιστού μπορούν να το χρησιμοποιήσουν για σημαντικές αναβαθμίσεις στην εμπειρία του χρήστη, συμπεριλαμβανομένων των επιδόσεων, της αξιοπιστίας και της ασφάλειας. Η διαπραγμάτευση των εκδόσεων HTTP γίνεται απρόσκοπτα, χωρίς να απαιτούνται αλλαγές στον κώδικα του ιστότοπου.
Τι νέο υπάρχει στο HTTP/3;
Το HTTP/3 είναι η πρώτη σημαντική αναβάθμιση σε HTTP από την έγκριση του HTTP/2 το 2015. Εφαρμόστηκε στους Litespeed διακομιστές μας άμεσα χωρίς να υπάρχει χρονική καθυστέρηση στις ιστοσελίδες μας. Δημοσιεύτηκε και έγινε διαθέσιμο σε όλους τους πελάτες μας αυτόματα δίχως καμία οικονομική επιβάρυνση.
Μια σημαντική διαφορά στο HTTP/3 είναι ότι εκτελείται σε QUIC, ένα νέο πρωτόκολλο μεταφοράς. Το QUIC έχει σχεδιαστεί για να είναι γρήγορο και να υποστηρίζει τη γρήγορη εναλλαγή μεταξύ δικτύων. Βασίζεται στο πρωτόκολλο User Datagram Protocol (UDP) αντί στο Transmission Control Protocol (TCP), το οποίο μετριάζει ένα ζήτημα που ονομάζεται αποκλεισμός head-of-line στο TCP, όπου η απώλεια πακέτων δικτύου ή η αναδιάταξη μπορεί να επιβραδύνει τις συνδέσεις υψηλής συναλλαγής. Επιπλέον, το QUIC διαχωρίζει τη σύνδεση μεταφοράς του επιπέδου 4 από τη ροή IP του επιπέδου 3, επιτρέποντας τη μετάβαση μεταξύ διαφορετικών δικτύων χωρίς διακοπή.
Το QUIC μπορεί να υποστηρίξει καλύτερα τη χρήση του Διαδικτύου με πληθώρα από κινητά, όπου οι άνθρωποι κουβαλούν μαζί τους και μεταφέρονται συνεχώς από το ένα δίκτυο στο άλλο κατά τη διάρκεια της ημέρας τους. Αυτός ο τύπος χρήσης του Διαδικτύου δεν ήταν συνηθισμένος όταν αναπτύχθηκαν τα πρώτα πρωτόκολλα Διαδικτύου, οι συσκευές ήταν λιγότερο φορητές και δεν άλλαζαν δίκτυα πολύ συχνά.
Η Google ξεκίνησε να εργάζεται σε μια πρώιμη έκδοση του QUIC το 2012. Το 2016 υιοθετήθηκε από την Ομάδα Εργασίας Μηχανικής Διαδικτύου (IETF) (έναν οργανισμό προτύπων ανεξάρτητο από τους προμηθευτές) καθώς άρχισαν να δημιουργούν το νέο πρότυπο HTTP/3. Μετά από διαβούλευση με ειδικούς σε όλο τον κόσμο, το IETF έχει κάνει πολλές αλλαγές για να αναπτύξει την τυπική πλέον έκδοση του QUIC που δημοσιεύεται ως RFC 9000.
Γιατί χρειαζόταν μια νέα έκδοση του HTTP;
Το QUIC βοηθά στη διόρθωση ορισμένων από τις μεγαλύτερες αδυναμίες του HTTP/2:
- Μείωση των επιπτώσεων της απώλειας πακέτων — όταν ένα πακέτο πληροφοριών δεν φτάνει στον προορισμό του, δεν θα μπλοκάρει πλέον όλες τις ροές πληροφοριών, ένα πρόβλημα που είναι γνωστό ως “μπλοκάρισμα της γραμμής”
- Ταχύτερη εγκατάσταση σύνδεσης: Το QUIC συνδυάζει κρυπτογραφικές χειραψίες και χειραψίες μεταφοράς
- Μηδενικός χρόνος μετ’ επιστροφής (0-RTT): Για διακομιστές στους οποίους έχουν ήδη συνδεθεί, οι πελάτες μπορούν να παραλείψουν την απαίτηση χειραψίας (η διαδικασία αναγνώρισης και επαλήθευσης μεταξύ τους για να καθορίσουν πώς θα επικοινωνήσουν)
- Πιο ολοκληρωμένη κρυπτογράφηση: Το QUIC είναι κρυπτογραφημένο από προεπιλογή, καθιστώντας το HTTP/3 πιο ασφαλές από το HTTP/2 (περισσότερα για αυτό παρακάτω)
- Προστασία από επιθέσεις άρνησης παροχής υπηρεσίας (DDoS) διανεμημένης “Rapid Reset” HTTP/2, η οποία μπορεί να επιβραδύνει ή να καταρρεύσει έναν διακομιστή ιστού, χρησιμοποιώντας ένα σύστημα που βασίζεται σε πίστωση για ροές (μια “ροή” είναι ένα μόνο αίτημα HTTP και ανταλλαγή απόκρισης) για να επιτρέψει στους διακομιστές HTTP/3 λεπτομερή έλεγχο της ταυτόχρονης ροής
- Ανάπτυξη μιας λύσης για την υποτονική απόδοση όταν ένα smartphone αλλάζει από WiFi σε δεδομένα κινητής τηλεφωνίας, όπως όταν φεύγετε από το σπίτι ή το γραφείο
Τι είναι η κρυπτογράφηση από προεπιλογή;
Η απαίτηση κρυπτογράφησης εντός του επιπέδου μεταφοράς, αντί στο επίπεδο εφαρμογής, έχει σημαντικές επιπτώσεις για την ασφάλεια. Σημαίνει ότι η σύνδεση θα είναι πάντα κρυπτογραφημένη. Προηγουμένως, στο HTTPS, οι συνδέσεις κρυπτογράφησης και επιπέδου μεταφοράς πραγματοποιούνταν χωριστά. Οι συνδέσεις TCP μπορούσαν να μεταφέρουν δεδομένα που ήταν είτε κρυπτογραφημένα είτε μη κρυπτογραφημένα, και η χειραψία TCP και η χειραψία επιπέδου μεταφοράς (TLS) ήταν ξεχωριστά συμβάντα. Ωστόσο, το QUIC ρυθμίζει κρυπτογραφημένες συνδέσεις από προεπιλογή στο επίπεδο μεταφοράς — τα δεδομένα επιπέδου εφαρμογής θα είναι πάντα κρυπτογραφημένα.
Το QUIC το επιτυγχάνει συνδυάζοντας τις δύο χειραψίες σε μία ενέργεια, μειώνοντας τον λανθάνοντα χρόνο, καθώς οι εφαρμογές πρέπει να περιμένουν να ολοκληρωθεί μόνο μία χειραψία πριν στείλουν δεδομένα. Κρυπτογραφεί επίσης τα μεταδεδομένα για κάθε σύνδεση, συμπεριλαμβανομένων των αριθμών πακέτων και ορισμένων άλλων τμημάτων της κεφαλίδας, για να κρατήσει τις πληροφορίες σχετικά με τη συμπεριφορά των χρηστών μακριά από τα χέρια των εισβολέων. Αυτή η δυνατότητα δεν ήταν δυνατή με το HTTP/2 επειδή βασιζόταν σε TCP και TLS.
Το HTTP χρησιμοποιούσε ιστορικά το TCP απλού κειμένου, το οποίο έχει αρνητικές συνέπειες για την ασφάλεια, καθώς οποιοσδήποτε παρακολουθεί τις επικοινωνίες μπορεί να διαβάσει αιτήματα και απαντήσεις. Σήμερα, οι ιστότοποι και τα προγράμματα περιήγησης ιστού προτιμούν να κρυπτογραφούν όλες τις επικοινωνίες HTTP για να διατηρούνται όλοι πιο ασφαλείς και να προστατεύονται τα ευαίσθητα δεδομένα. Η κρυπτογράφηση του QUIC από προεπιλογή υποστηρίζει αυτόν τον στόχο.
Είναι διαθέσιμο το HTTP/3 τώρα;
Ναί. Το HTTP/3 εφαρμόζεται στάνταρ σε όλα τα μεγάλα προγράμματα περιήγησης Ιστού και είναι ενεργοποιημένο για όλους τους πελάτες μας χωρίς καμία αλλαγή ή επιβάρυνση στο πακέτο που επιλέγουν.