BROWSERHTTP/3SERVERover QUIC over UDP/4431-RTT handshake, multiplexed streams

HTTP/3

10 ελάχιστη ανάγνωσηΤεχνολογία Ιστού

Το HTTP/3 είναι η τρίτη σημαντική έκδοση του πρωτοκόλλου που τροφοδοτεί τον ιστό. Όπου το HTTP/2 ήταν μια εξέλιξη — το ίδιο HTTP, ταχύτερη παράδοση — το HTTP/3 είναι ένας επανασχεδιασμός της μεταφοράς, που τρέχει μέσω QUIC αντί για TCP+TLS. Είναι η προεπιλογή για μεγάλους ιστότοπους από το 2022 και αθόρυβα εξουσιοδοτεί τους περισσότερους από τους χρήστες της επισκεψιμότητας που πλέον αντιλαμβάνονται ως "γρήγορες".

Το πλήρες κείμενο του άρθρου παρέχεται στα Αγγλικά παρακάτω.

Το

HTTP/3 είναι HTTP έναντι QUIC — το πρωτόκολλο web επόμενης γενιάς που αντικαθιστά τη στοίβα TCP+TLS+HTTP/2 με μια ενιαία ενσωματωμένη σχεδίαση που βασίζεται σε UDP. Τυποποιήθηκε στο RFC 9114 το 2022 και είναι τώρα το προεπιλεγμένο πρωτόκολλο για τους περισσότερους σημαντικούς ιστότοπους, συμπεριλαμβανομένων των ιδιοτήτων Google, Cloudflare, Meta και Microsoft. (1991): αιτήματα μιας γραμμής, χωρίς κεφαλίδες, χωρίς μεταδεδομένα. Μόνο ιστορικό ενδιαφέρον.

  • HTTP/1.0 (1996): κεφαλίδες, πολλαπλές μέθοδοι, τύποι MIME. Κάθε αίτημα για μια νέα σύνδεση TCP.
  • HTTP/1.1 (1997, αναθεωρημένη το 2014): μόνιμες συνδέσεις, διοχέτευση, κεφαλίδες κεντρικού υπολογιστή. Η δύναμη του Ιστού για δύο δεκαετίες.
  • HTTP/2 (2015): δυαδικό πρωτόκολλο, συμπίεση κεφαλίδων (HPACK), πολυπλεξία ροής, ώθηση διακομιστή. Εκτελείται μέσω TLS μέσω TCP.
  • HTTP/3 (2022): εκτελείται μέσω QUIC μέσω UDP. Εξαλείφει τον αποκλεισμό TCP head-of-line, ταχύτερη χειραψία, υποστηρίζει τη μετεγκατάσταση σύνδεσης. αποκλεισμός head-of-line.Το HTTP/2 πολυπλέκει πολλές ροές σε μία σύνδεση TCP. Όταν χάνεται ένα πακέτο, το TCP διακόπτει ολόκληρη τη σύνδεση μέχρι να επαναμεταδοθεί το χαμένο πακέτο — παρόλο που μόνο μία ροή χρειαζόταν αυτό το πακέτο. Η αξιοπιστία της QUIC ανά ροή εξαλείφει αυτό. Η QUIC τα συγχωνεύει σε 1 μετ' επιστροφής (0 σε ορισμένες περιπτώσεις 0-RTT). Σε μια σύνδεση λανθάνοντος χρόνου 100 ms, αυτό σημαίνει βελτίωση φόρτωσης σελίδας κατά 200–300 ms. Η μετεγκατάσταση σύνδεσης QUIC επιβιώνει από τον διακόπτη αναγνωρίζοντας τη σύνδεση με ένα αναγνωριστικό σύνδεσης και όχι με το 5-πλό. framing
  • Πολυπλέξεις ροές (τώρα χωρίς αποκλεισμό TCP HOL) Συμπίεση
  • Header (τώρα QPACK αντί για HPACK, επανασχεδιασμένο για να λειτουργεί με το μοντέλο ροής της QUIC)
  • Same codes, μέθοδοι HTTP seman, headers
  • Ο κώδικας εφαρμογής που δούλευε στο HTTP/2 λειτουργεί σε HTTP/3 χωρίς αλλαγές. οι διαφορές είναι εξ ολοκλήρου στη μεταφορά.

    Πώς ένα πρόγραμμα περιήγησης χρησιμοποιεί HTTP/3

    Οι διακομιστές σηματοδοτούν τη διαθεσιμότητα HTTP/3 μέσω της κεφαλίδας απόκρισης alt-svc στις αποκρίσεις HTTP/2. Το πρόγραμμα περιήγησης θυμάται "αυτή η προέλευση υποστηρίζει επίσης h3 σε UDP/443" και χρησιμοποιεί το HTTP/3 για επόμενες συνδέσεις. Εάν το QUIC αποτύχει (το τείχος προστασίας αποκλείει το UDP, κ.λπ.), το πρόγραμμα περιήγησης επιστρέφει στο HTTP/2 μέσω TCP.

    Πολλά προγράμματα περιήγησης χρησιμοποιούν επίσης DNS εγγραφές HTTPS για να μάθουν τη διαθεσιμότητα HTTP/3 πριν καν συνδεθούν — αποθηκεύοντας το αρχικό HTTP/2 επαφή.

    Απόδοση στην πράξη

    Οι νίκες είναι μεγαλύτερες εκεί όπου το TCP υπέστη περισσότερο:

    • Δίκτυα κινητής τηλεφωνίας με υψηλή απώλεια πακέτων και συχνές αλλαγές δικτύου
    • HPLZghi συνδέσεις όπου η αποθηκευμένη χειραψία μετ' επιστροφής έχει αναλογική σημασία
    • Σελίδες με πολλούς πόρους όπου η πολυπλεξία ωφελεί την ένωση

    On καθαρές ενσύρματες συνδέσεις σε ένα άκρο CDN, το HTTP/2 έχει παρόμοια απόδοση και το HTTP/2. Το χάσμα διευρύνεται καθώς οι συνθήκες υποβαθμίζονται — ακριβώς όταν οι χρήστες παρατηρούν βραδεία. it.

  • Cloudflare, Google, Fastly, Akamai, AWS CloudFront, Microsoft, Meta εξυπηρετούν HTTP/3.
  • Σχεδόν το 30–40% όλων των αιτημάτων ιστού ανά όγκο χρησιμοποιούν HTTP/6.XXPLUZ1 εταιρικό δίκτυο τείχος προστασίας, αναγκάζοντας την επαναφορά σε HTTP/2. Αυτός είναι ο μεγαλύτερος αποκλεισμός για υψηλότερη υιοθέτηση.
  • Τι δεν αλλάζει το HTTP/3

    HTTP η σημασιολογία παραμένει αμετάβλητη. Η ίδια προσωρινή αποθήκευση, η διαπραγμάτευση περιεχομένου, τα αιτήματα υπό όρους και τα μοτίβα ελέγχου ταυτότητας λειτουργούν. Οι προγραμματιστές Ιστού που κατασκευάζουν εφαρμογές σπάνια χρειάζεται να σκεφτούν ποια έκδοση HTTP χρησιμοποιείται. η πλατφόρμα το χειρίζεται. Τα οφέλη συγκεντρώνονται αυτόματα σε οποιονδήποτε διακομιστή προέλευσης και CDN υποστηρίζει το HTTP/3.

    Συχνές ερωτήσεις

    Χρειάζεται ο ιστότοπός μου ξεχωριστή υλοποίηση HTTP/3;
    Εάν κάθεστε πίσω από ένα CDN που υποστηρίζει HTTP/3 (Cloudflare, Fastly, Akamai, CloudFront), είναι ήδη εκεί. Εάν εκτελείτε απευθείας έναν διακομιστή προέλευσης, χρειάζεστε έναν διακομιστή με υποστήριξη HTTP/3 (nginx 1.25+, Caddy, LiteSpeed, h2o). Οι περισσότεροι χρήστες λαμβάνουν HTTP/3 αναπτύσσοντας πίσω από ένα CDN.
    Πώς μπορώ να καταλάβω εάν ένας ιστότοπος χρησιμοποιεί HTTP/3;
    Η καρτέλα Δίκτυο Εργαλείων προγραμματιστών προγράμματος περιήγησης εμφανίζει το πρωτόκολλο ανά αίτημα — το "h3" ή το "http/3" υποδηλώνει το HTTP/3. Διαδικτυακά εργαλεία όπως το http3check.net δοκιμάζουν επίσης αυθαίρετους ιστότοπους. Η γραμμή διευθύνσεων του προγράμματος περιήγησης δεν εμφανίζεται αυτό. είναι θέμα εργαλείων προγραμματιστή.
    Το HTTP/3 είναι πάντα πιο γρήγορο;
    Σε συνδέσεις με απώλειες ή υψηλής καθυστέρησης, ναι. Σε ένα καθαρό LAN χαμηλής καθυστέρησης, η διαφορά είναι συχνά ο θόρυβος. Σε δίκτυα που αποκλείουν το UDP, το HTTP/3 αποτυγχάνει εντελώς και επιστρέφει στο HTTP/2 με επιπλέον καθυστέρηση εγκατάστασης, ο οποίος είναι πιο αργός από την πλήρη παράλειψη του QUIC.
    Τι σημαίνει το HTTP/3 για τα VPN;
    Τα σύγχρονα VPN (WireGuard, OpenVPN) διοχετεύουν το UDP και το HTTP/3. Ορισμένες παλαιότερες ή περιοριστικές ρυθμίσεις VPN διοχετεύουν μόνο το TCP, οπότε το HTTP/3 επιστρέφει σιωπηλά στο HTTP/2. Ελέγξτε την υποστήριξη UDP του VPN σας εάν παρατηρήσετε ασυνήθιστη βραδύτητα σε ιστότοπους HTTP/3.
    Θα υπάρχει το HTTP/4;
    Τελικά μάλλον, αλλά όχι σύντομα. Το HTTP/3 κυκλοφόρησε μόνο το 2022 και η υιοθέτηση εξακολουθεί να αυξάνεται. Μια μελλοντική έκδοση HTTP πιθανότατα θα βασίζεται περαιτέρω στο QUIC αντί να το αντικαθιστά. Το ίδιο το QUIC είναι το πιο ενδιαφέρον σημείο εξέλιξης.
    Επεξήγηση HTTP/3: Το πρωτόκολλο Ιστού που βασίζεται σε QUIC που τροφοδοτεί τα σύγχρονα προγράμματα περιήγησης