Το διαδίκτυο έχει στόχο να καταστεί πιο αποτελεσματικό χάρη στην άφιξη του HTTP / 2.  Αλλά τι είναι αυτό και πώς βελτιώνεται με το HTTP;

Τι είναι το HTTP / 2 και πώς επηρεάζει το μέλλον του Διαδικτύου;

Διαφήμιση Ενδέχεται να μην έχετε ακούσει ακόμα HTTP / 2, αλλά είναι η πιο πρόσφατη ενημέρωση του HTTP. Το νέο πρότυπο πρωτοκόλλου εισάγει μερικές νέες έννοιες και καθιστά την επικοινωνία μεταξύ διακομιστών και εφαρμογών ταχύτερη και αποτελεσματικότερη. Τι είναι το HTTP / 2; Το πρωτόκολλο μεταφοράς HyperText Version 2 ή HTTP / 2 είναι η πρώτη σημαντική ενημέρωση του HTTP σε 15 χρόνια. Το προηγούμενο πρωτόκολλο πρωτοκόλλου, HTTP / 1.1, έχει χρησιμοποιη

Διαφήμιση

Ενδέχεται να μην έχετε ακούσει ακόμα HTTP / 2, αλλά είναι η πιο πρόσφατη ενημέρωση του HTTP. Το νέο πρότυπο πρωτοκόλλου εισάγει μερικές νέες έννοιες και καθιστά την επικοινωνία μεταξύ διακομιστών και εφαρμογών ταχύτερη και αποτελεσματικότερη.

Τι είναι το HTTP / 2;

Το πρωτόκολλο μεταφοράς HyperText Version 2 ή HTTP / 2 είναι η πρώτη σημαντική ενημέρωση του HTTP σε 15 χρόνια.

Το προηγούμενο πρωτόκολλο πρωτοκόλλου, HTTP / 1.1, έχει χρησιμοποιηθεί από το 1997 και χρησιμοποιεί ένα μείγμα πακέτων για την βελτίωση των περιορισμών του HTTP.

Βασίζεται στο SPDY ("γρήγορο"), ένα πείραμα ανοιχτού κώδικα που ξεκίνησε από την Google για την αντιμετώπιση ορισμένων από τα προβλήματα και τους περιορισμούς του HTTP / 1.1

Η ομάδα εργασίας για την τεχνολογία του Διαδικτύου (IETF) προσδιορίζει τις αλλαγές όπως αυτές στο πρωτόκολλο μεταφοράς υπερπλήρωσης έκδοση 2, σχέδιο 17:

"Το HTTP / 2 επιτρέπει την αποτελεσματικότερη χρήση των πόρων του δικτύου και τη μειωμένη αντίληψη της λανθάνουσας περιόδου, εισάγοντας τη συμπίεση τομέα κεφαλίδας και επιτρέποντας πολλαπλές ταυτόχρονες ανταλλαγές στην ίδια σύνδεση [...]

"Επιτρέπει επίσης την ιεράρχηση των αιτημάτων, επιτρέποντας την ολοκλήρωση πιο σημαντικών αιτημάτων, βελτιώνοντας περαιτέρω την απόδοση".

"Το HTTP / 2 επιτρέπει επίσης πιο αποτελεσματική επεξεργασία μηνυμάτων μέσω της χρήσης πλαισίων δυαδικών μηνυμάτων".

"Αυτή η προδιαγραφή είναι μια εναλλακτική λύση, αλλά δεν είναι ξεπερασμένη, η σύνταξη μηνύματος HTTP / 1.1. Οι υπάρχουσες σημασιολογίες της HTTP παραμένουν αμετάβλητες. "

Το HTTP / 2 βασίζεται στο SPDY

Το HTTP / 2 βασίζεται στο SPDY

Μέχρι το 2012, τα περισσότερα σύγχρονα προγράμματα περιήγησης και πολλές δημοφιλείς τοποθεσίες (Google, Twitter, Facebook κ.λπ.) έχουν ήδη υποστηρίξει το SPDY. Καθώς η δημοτικότητα του SPDY αυξανόταν, η ομάδα εργασίας HTTP (HTTP-WG) άρχισε να εργάζεται για την ενημέρωση του προτύπου HTTP.

Από αυτό το σημείο, το SPDY έγινε το θεμέλιο και ο πειραματικός κλάδος για νέα χαρακτηριστικά στο HTTP / 2. Εκείνη την εποχή, εξετάσαμε πώς μπορεί το SPDY να βελτιώσει την περιήγηση. Τι είναι το SPDY και πώς μπορεί να μεγιστοποιήσει την εμπειρία περιήγησης; Τι είναι SPDY, και πώς μπορεί να μεγιστοποιήσει την εμπειρία περιήγησης; Διαβάστε περισσότερα . Έκτοτε, εκπονήθηκε, εγκρίθηκε και δημοσιεύθηκε το πρότυπο έκδοσης 2.

Πολλά από τα χαρακτηριστικά από το SPDY ενσωματώθηκαν στο HTTP / 2 και η Google σταμάτησε να υποστηρίζει το πρωτόκολλο αυτό στις αρχές του 2016.

Τα περισσότερα προγράμματα περιήγησης σταμάτησαν τελικά να υποστηρίζουν το SPDY και, καθώς δεν υπάρχουν εναλλακτικές λύσεις, το HTTP / 2 γίνεται το de facto πρότυπο.

Ενώ το πρότυπο πρωτοκόλλου HTTP / 2 δεν είναι αυστηρά συμβατό με το HTTP / 1, η συμβατότητα μπορεί να επιτευχθεί μέσω μετάφρασης. Μόνο ένας πελάτης HTTP / 1.1 δεν θα καταλάβει έναν διακομιστή HTTP / 2 και αντίστροφα, γι 'αυτό και η νέα έκδοση πρωτοκόλλου είναι HTTP / 2 και όχι HTTP / 1.2.

Αυτό σημαίνει ότι ένα σημαντικό μέρος της εργασίας που παρέχεται από το HTTP-WG είναι να διασφαλιστεί ότι τα HTTP / 1 και HTTP / 2 μπορούν να μεταφραστούν πέρα ​​δώθε χωρίς απώλεια πληροφοριών.

Όλοι οι νέοι μηχανισμοί ή χαρακτηριστικά που θα παρουσιαστούν θα είναι επίσης ανεξάρτητα από την έκδοση και θα είναι συμβατά με τον υπάρχοντα ιστό.

Το HTTP / 2 δεν είναι κάτι που μπορεί να υλοποιήσει ένας χρήστης, αλλά υπάρχουν πράγματα που μπορούμε να κάνουμε για να επηρεάσουμε την ταχύτητα περιήγησης. Πιστεύετε κάποιον από αυτούς τους κοινούς μύθους για να επιταχύνετε την ταχύτητα του Διαδικτύου σας; 5 μύθοι σχετικά με την αύξηση της ταχύτητας του Internet και γιατί δεν λειτουργούν 5 μύθοι για την αύξηση της ταχύτητας του Internet και γιατί δεν λειτουργούν Η ταχύτητα του Internet είναι μια κρίσιμη μέτρηση στον 21ο αιώνα. Ωστόσο, υπάρχουν πολλές παραπληροφορίες σε απευθείας σύνδεση σχετικά με το πώς να κάνετε τη σύνδεσή σας γρηγορότερα. Εδώ είναι πέντε μύθοι που δεν πρέπει να πιστέψετε. Διαβάστε περισσότερα

Τα οφέλη και τα χαρακτηριστικά του HTTP / 2

HTTP / 2 έρχεται με μερικές μεγάλες ενημερώσεις για το πρότυπο HTTP. Ορισμένες από τις πιο σημαντικές είναι η δημιουργία δυαδικών πλαισίων, η πολυπλεξία, η ιεράρχηση ροών, ο έλεγχος ροής και η ώθηση διακομιστή.

Δυαδική Κορνίζα

HTTP στο HTTP / 2 δυαδικές ροές πλαισίωσης
Τα μηνύματα HTTP από το mfuji09 έχουν άδεια χρήσης CC-BY-SA 2.5.

Μετά την ενημέρωση του HTTP2 /, η επικοινωνία πρωτοκόλλου HTTP χωρίζεται σε μια ανταλλαγή δυαδικών κωδικοποιημένων πλαισίων. Τα πλαίσια αυτά αντιστοιχίζονται σε μηνύματα που ανήκουν σε συγκεκριμένο ρεύμα. Τα ρεύματα στη συνέχεια πολυπλέκονται (συνυφασμένα μεταξύ τους κατά μία έννοια) σε μία μόνο σύνδεση TCP.

Το νέο δυαδικό επίπεδο πλαισίωσης εισάγει κάποια νέα ορολογία. Ρεύματα, Μηνύματα και Κορνίζες.

  • Οι ροές είναι αμφίδρομες ροές bytes που φέρουν ένα ή περισσότερα μηνύματα.
  • Κάθε μία από αυτές τις ροές έχει ένα μοναδικό αναγνωριστικό και μπορεί να μεταφέρει αμφίδρομα μηνύματα χρησιμοποιώντας προαιρετικές πληροφορίες προτεραιότητας.
  • Τα πλαίσια είναι η μικρότερη μονάδα επικοινωνίας στο HTTP / 2 που περιέχει συγκεκριμένα σύνολα δεδομένων (κεφαλίδες HTTP, ωφέλιμα φορτία μηνυμάτων κ.λπ.). Η κεφαλίδα θα προσδιορίσει τουλάχιστον την ροή στην οποία ανήκει το πλαίσιο.
  • Τα μηνύματα είναι ένα πλήρες σύνολο πλαισίων που αντιστοιχούν σε ένα λογικό μήνυμα αίτησης ή απάντησης.
  • Κάθε μήνυμα είναι ένα λογικό μήνυμα HTTP, όπως ένα αίτημα ή απαντήσεις, αποτελούμενο από ένα ή περισσότερα πλαίσια.

Αυτό μας επιτρέπει να χρησιμοποιήσουμε μια ενιαία σύνδεση TCP, για ό, τι στο παρελθόν απαιτούσε πολλαπλάσια.

Πολυπλεξία

Παράδειγμα πολλαπλασιασμού

Το HTTP / 1.1 διασφαλίζει ότι μπορεί να παραδοθεί μόνο μία απόκριση τη φορά ανά σύνδεση. Και το πρόγραμμα περιήγησης θα ανοίξει πρόσθετες συνδέσεις TCP εάν ο πελάτης θέλει να κάνει πολλαπλά παράλληλα αιτήματα.

Το HTTP / 2 καταργεί αυτόν τον περιορισμό του HTTP / 1.1 και ενεργοποιεί τα πλήρη αιτήματα και την πολυπλεξία απόκρισης. Αυτό σημαίνει ότι ο πελάτης και ο διακομιστής μπορούν να καταστρέψουν ένα μήνυμα HTTP σε ανεξάρτητα πλαίσια, τα οποία στη συνέχεια παρεμβάλλονται και ξανασυναρμολογούνται στο άλλο άκρο.

Συνολικά, αυτή είναι η πιο σημαντική βελτίωση του HTTP / 2, καθώς θα εξαλείψει εν μέρει την ανάγκη πολλαπλών συνδέσεων. Αυτό με τη σειρά του θα εισαγάγει πολλά οφέλη απόδοσης σε όλες τις τεχνολογίες ιστού.

Ο μειωμένος αριθμός συνδέσεων σημαίνει λιγότερες χειραψίες για την ασφάλεια του Layer Transport (TLS), καλύτερη επαναχρησιμοποίηση των συνεδριών και μια συνολική μείωση των απαιτήσεων των πόρων των υπολογιστών-πελατών και των διακομιστών. Αυτό καθιστά τις εφαρμογές γρηγορότερες, απλούστερες και φθηνότερες.

Οι ιστότοποι με πολλά εξωτερικά στοιχεία (εικόνες ή δέσμες ενεργειών) θα δουν τα μεγαλύτερα κέρδη από την πολυπλεξία HTTP / 2.

Προτεραιότητα ροής και εξάρτηση

Περαιτέρω βελτιώσεις των πολυπλεγμένων ρευμάτων πραγματοποιούνται με εξαρτήσεις βάρους και ροής. Το HTTP / 2 μας επιτρέπει να δίνουμε σε κάθε ροή ένα βάρος (μια τιμή μεταξύ 1 και 256) και να εξαρτάται ρητά από μια άλλη ροή.

Αυτός ο συνδυασμός εξάρτησης και βάρους οδηγεί στη δημιουργία ενός δέντρου ιεράρχησης, το οποίο λέει στον διακομιστή πώς ο πελάτης θα προτιμούσε να λαμβάνει απαντήσεις.

Ο διακομιστής θα χρησιμοποιήσει τις πληροφορίες στο δέντρο προτεραιότητας για τον έλεγχο της κατανομής της CPU, της μνήμης και άλλων πόρων, καθώς και την κατανομή του εύρους ζώνης για να εξασφαλίσει ότι ο πελάτης λαμβάνει τη βέλτιστη απόδοση απαντήσεων υψηλής προτεραιότητας.

Έλεγχος ροής

Τα ζητήματα με έλεγχο ροής στο HTTP / 2 είναι παρόμοια με το HTTP / 1.1. Ωστόσο, δεδομένου ότι οι ροές HTTP / 2 είναι πολυπλεγμένες σε μία μόνο σύνδεση TCP, ο τρόπος με τον οποίο λειτουργεί ο έλεγχος ροής στο HTTP / 1.1 δεν λειτουργεί πλέον.

Με λίγα λόγια, ο έλεγχος ροής είναι απαραίτητος για να σταματήσουν τα ρεύματα να παρεμβαίνουν μεταξύ τους για να προκαλέσουν παρεμπόδιση. Αυτό καθιστά δυνατή την πολυπλεξία. Το HTTP / 2 επιτρέπει τη χρήση ποικίλων αλγορίθμων ελέγχου ροής, χωρίς να απαιτούνται αλλαγές στο πρωτόκολλο.

Δεν υπάρχει αλγόριθμος για τον έλεγχο ροής στο HTTP / 2. Αντίθετα, έχει δοθεί ένα σύνολο δομικών στοιχείων για να βοηθήσει τους πελάτες και τους διακομιστές να εφαρμόσουν τον δικό τους έλεγχο ροής.

Μπορείτε να βρείτε τις ιδιαιτερότητες αυτών των δομικών στοιχείων στην ενότητα "Έλεγχος ροής" του HTTP / 2 internet draft.

Server Push

Το πρόγραμμα περιήγησης συνήθως ζητά και λαμβάνει ένα έγγραφο HTML από ένα διακομιστή κατά την πρώτη επίσκεψη σε μια σελίδα. Στη συνέχεια, ο διακομιστής πρέπει να περιμένει το πρόγραμμα περιήγησης να αναλύσει το έγγραφο HTML και να στείλει ένα αίτημα για τα ενσωματωμένα στοιχεία (CSS, JavaScript, εικόνες κ.λπ.).

Στο HTTP / 1.1, ο διακομιστής δεν μπορεί να στείλει αυτά τα στοιχεία έως ότου το ζητήσει ο περιηγητής, και κάθε στοιχείο απαιτεί ξεχωριστό αίτημα (π.χ. πολλαπλές χειραψίες και συνδέσεις).

Η ώθηση διακομιστή θα μειώσει την καθυστέρηση επιτρέποντας στον διακομιστή να στείλει αυτούς τους πόρους χωρίς προτροπή, καθώς ήδη γνωρίζει ότι ο πελάτης θα τις απαιτήσει. Έτσι, στο παραπάνω παράδειγμα, ο διακομιστής θα προωθήσει το CSS, το JavaScript (μια κοινή γλώσσα scripting) Τι είναι το JavaScript και πώς λειτουργεί; Τι είναι το JavaScript και πώς λειτουργεί; Τι είναι το Javascript? Είναι μια γλώσσα προγραμματισμού που χρησιμοποιείται για την ενίσχυση ιστοσελίδων. Περιλαμβάνει τη δυναμική ενημέρωση ιστοσελίδων, διεπαφών χρηστών και πολλά άλλα. Ας δούμε με ποιον Javascript είναι το θέμα, Διαβάστε περισσότερα στις ιστοσελίδες) και εικόνες στο πρόγραμμα περιήγησης για να εμφανίσετε τη σελίδα γρηγορότερα.

Βασικά, η ώθηση διακομιστή επιτρέπει σε έναν διακομιστή να αποστέλλει πολλαπλές απαντήσεις για ένα μόνο αίτημα πελάτη.

Αν και με το χέρι, αυτό είναι το αποτέλεσμα που επιτυγχάνουμε με την ενσωμάτωση του CSS ή του JS στα έγγραφα HTML - πιέζουμε τον πελάτη χωρίς να περιμένουμε τον πελάτη να το ζητήσει.

Αυτό είναι ένα μεγάλο βήμα μακριά από το τρέχον πρότυπο HTTP της αυστηρής ροής εργασίας αιτήματος-απόκρισης ένα προς ένα.

Οι περιορισμοί του HTTP / 2

Εικόνα των προγραμμάτων περιήγησης που υποστηρίζουν HTTP / 2

Το SPDY είχε μια ελαφρώς αυστηρότερη πολιτική ασφάλειας και απαιτούσε κρυπτογράφηση SSL για όλες τις συνδέσεις. Το HTTPS / 2 δεν απαιτεί κρυπτογράφηση, αλλά πολλές υπηρεσίες δεν θα προβάλλουν HTTP / 2 χωρίς SSL.

Όλα τα μεγάλα προγράμματα περιήγησης υποστηρίζουν το HTTP / 2, αλλά κανένα από αυτά δεν θα το υποστηρίξει χωρίς κρυπτογράφηση. Ο ιστότοπος CanIUs έχει μια μεγάλη επισκόπηση τραπέζης σχετικά με την τρέχουσα υποστήριξη προγράμματος περιήγησης για HTTP / 2, όπως φαίνεται παραπάνω.

Η συμβατότητα προς τα πίσω και οι μεταφράσεις μεταξύ HTTP / 1.1 και HTTP / 2 θα επιβραδύνουν την ταχύτητα φόρτωσης σελίδας.

Δεν υπάρχει πραγματικός λόγος για τον οποίο η κρυπτογράφηση δεν πρέπει να είναι προεπιλεγμένη ή υποχρεωτική ρύθμιση μέχρι τώρα. Εάν ήδη διαθέτετε πιστοποιητικό SSL στον ιστότοπό σας, μπορείτε να βελτιώσετε την ασφάλεια του ιστότοπού σας HTTPS ενεργοποιώντας το HSTS.

Είναι το HTTP / 2 το επόμενο μεγάλο πράγμα;

Σύγκριση του χρόνου φόρτωσης HTTP / 1.1 και HTTP / 2

Το πρότυπο HTTP / 2 προτάθηκε ως πρότυπο στα μέσα του 2015 και τα περισσότερα προγράμματα περιήγησης πρόσθεσαν υποστήριξη μέχρι το τέλος του έτους. Το HTTP / 2 επηρεάζει ήδη τον τρόπο λειτουργίας του Διαδικτύου και τον τρόπο με τον οποίο οι εφαρμογές και οι διακομιστές μιλούν από κοινού.

Δεν υπάρχουν απαιτήσεις για την αναγκαστική χρήση του HTTP / 2, αλλά μέχρι στιγμής εξυπηρετεί μόνο τα οφέλη και τα μειονεκτήματα. Είναι επίσης μια αρκετά μικρή αλλαγή από την άποψη του χρήστη, μια που οι άνθρωποι δεν θα παρατηρήσουν πραγματικά.

Σύμφωνα με την W3Tech, το 31, 7% των κορυφαίων 10 εκατομμυρίων ιστότοπων υποστηρίζει επί του παρόντος το HTTP / 2. Ο πιο γρήγορος τρόπος για τους περισσότερους από εσάς να ενεργοποιήσετε το HTTP / 2 στον ιστότοπό σας είναι να χρησιμοποιήσετε το CDN του Cloudflare.

Το επόμενο προτεινόμενο πρότυπο (HTTP / 3) βρίσκεται ήδη στο έργο και βασίζεται στο QUIC, ένα άλλο πειραματικό πρόγραμμα της Google. Τον Οκτώβριο του τρέχοντος έτους, το HTTP-WG της IETF'S και η ομάδα εργασίας QUIC ζήτησαν επίσημα από την QUIC να γίνει το νέο παγκόσμιο πρότυπο και να το μετονομάσει HTTP / 3.

Εάν είστε περίεργοι, το Akamai.com διαθέτει ένα γρήγορο εργαλείο για να ελέγξετε αν το πρόγραμμα περιήγησης υποστηρίζει το HTTP / 2. Αν δεν συμβαίνει αυτό, ίσως σκεφτείτε την εναλλαγή του προγράμματος περιήγησης. 5 Εναλλακτικές λύσεις Google Chrome για ένα καλύτερο πρόγραμμα περιήγησης σε επιτραπέζιους ή κινητούς υπολογιστές. 5 Εναλλακτικές λύσεις Google Chrome για ένα καλύτερο πρόγραμμα περιήγησης σε επιτραπέζιο ή κινητό Chrome είναι το πιο δημοφιλές πρόγραμμα περιήγησης στον κόσμο. Αλλά εξακολουθεί να έχει ζητήματα. Μπορούν αυτά τα εναλλακτικά προγράμματα περιήγησης να είναι μια καλύτερη επιλογή; Διαβάστε περισσότερα .

Εξερευνήστε περισσότερα σχετικά με: Δίκτυα Υπολογιστών, HTTP / 2, SPDY.