Εισαγωγή στο HTTP / 2 για WordPress

Εισαγωγή στο HTTP / 2 για WordPress

Το HTTP / 2 είναι ένα από τα πιο σημαντικά ορόσημα που εισάγονται στον σύγχρονο ιστό. Αυτό το άρθρο επισημαίνει την τρέχουσα κατάσταση του HTTP και εισάγει τα βασικά οφέλη (και ορισμένες μη τεχνικές έννοιες) του HTTP / 2. Θα μάθουμε επίσης πώς να εφαρμόζουμε το HTTP / 2 για το WordPress το 2018.


Σύντομο ιστορικό HTTP

Το HTTP σημαίνει Hypertext Transfer Protocol, το οποίο δημιουργήθηκε από τον Tim Berners Lee το 1991. Ο Tim είναι ο άνθρωπος που πρέπει να ευχαριστήσουμε για το World Wide Web. Το HTTP είναι ένα από τα πιο πανταχού παρόντα και υιοθετείται ευρέως πρωτόκολλα εφαρμογής στο Ιντερνετ. Αλλά δεν είναι το μόνο.

Περίμενε για ένα δευτερόλεπτο. Έχω επισημάνει τη φράση πρωτόκολλα εφαρμογής. Γιατί αυτό? Βλέπετε, το Διαδίκτυο είναι στην πραγματικότητα μια σύνθεση τεσσάρων ιεραρχικών επιπέδων πρωτοκόλλων. Κάθε επίπεδο αποτελείται από έναν αριθμό πρωτοκόλλων και είναι υπεύθυνο για ένα βασική λειτουργία.

Για λίγο, υπάρχουν τέσσερα επίπεδα στη σουίτα Internet Protocol (IP):

  1. Επίπεδο εφαρμογής
  2. Μεταφορικό στρώμα
  3. Επίπεδο Διαδικτύου
  4. Επίπεδο συνδέσμου
Πρωτόκολλα επιπέδου εφαρμογής διαδικτύου

Επίπεδα πρωτοκόλλου Διαδικτύου. Πηγή: Βικιπαίδεια

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

Το ανώτατο επίπεδο ονομάζεται το Επίπεδο εφαρμογής, που εξυπηρετεί όλα τα εφαρμογές στο διαδίκτυο.

  • Η προβολή ιστοσελίδων είναι μια εφαρμογή στο Διαδίκτυο – η οποία καθίσταται δυνατή από το πρωτόκολλο HTTP.
  • Το ηλεκτρονικό ταχυδρομείο είναι μια άλλη εφαρμογή στο Διαδίκτυο – έγινε δυνατή με το πρωτόκολλο POP ή IMAP.

Υπάρχουν πολλαπλά πρωτόκολλα στο επίπεδο εφαρμογής στο Διαδίκτυο που δημιουργεί πράγματα όπως YouTube Live Videos και Σύγκρουση των φυλών δυνατόν.

Η γέννηση του HTTP / 2

HTTP / 2 για το WordPress Beginnings

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

Αυτό γεννά την ερώτηση – πόσο συχνά ενημερώνουμε αυτό το κρίσιμο κομμάτι λογισμικού? Λοιπόν, όπως αποδεικνύεται – όχι πολύ συχνά

Στην πραγματικότητα, την τελευταία φορά που το πρωτόκολλο HTTP έλαβε μια ενημέρωση, ήταν το έτος 1997 – δέκα χρόνια πριν από την πρώτη κυκλοφορία του iPhone! Αυτή ήταν η έκδοση HTTP 1.1 και 20 χρόνια αργότερα, εξακολουθεί να είναι η πιο ευρέως χρησιμοποιούμενη έκδοση HTTP σήμερα!

Όλα όσα συμβαίνουν στο Διαδίκτυο – από ροή βίντεο γάτας, έως ζωντανές συνομιλίες βίντεο που παρέχονται από τον Διεθνή Διαστημικό Σταθμό και τρισεκατομμύρια διαδικτυακές συναλλαγές – συμβαίνουν μέσω της τεχνολογίας που δεν έχει ενημερωθεί δύο δεκαετίες. Με τα χρόνια, σημειώσαμε τεράστια πρόοδο στη δημιουργία νέων εφαρμογών για το Διαδίκτυο. Ωστόσο, τα κάναμε όλα αυτά δημιουργώντας λύσεις από τους περιορισμούς του HTTP / 1.1

Δεν θέλω να πω ότι το HTTP / 1.1 είναι κακό. Αλλά μπορεί σίγουρα χρησιμοποιήστε μια ενημέρωση. Και γι ‘αυτό το 2015 Ομάδα Εργασίας Μηχανικής Διαδικτύου διπλασιάστηκε για τη δημιουργία ενός καλύτερου πρωτοκόλλου για HTTP.

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

Τι άλλαξε σε HTTP / 2?

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

Πολυπλεξία

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

HTTP / 2 για WordPress: Πολυπλεξία

Απεικόνιση της πολυπλεξίας από UpWork

Ένας ιστότοπος αποτελείται από HTML, CSS, JavaScript, εικόνες και άλλα αρχεία. Αυτά τα αρχεία ονομάζονται συλλογικά πόροι. Σε αυτό το παράδειγμα, υπάρχει ένας ιστότοπος που αποτελείται από τρεις πόρους – ένα αρχείο JavaScript, ένα αρχείο CSS και ένα αρχείο εικόνας.

Βλέπουμε ότι στο HTTP / 1.1, το πρόγραμμα περιήγησης απαιτεί τρεις συνδέσεις TCP με το διακομιστή για να ζητήσει αυτούς τους πόρους. Γιατί; Επειδή στο HTTP / 1.1, κάθε σύνδεση μπορεί να ζητήσει μόνο ένα αίτημα. Ένας μεγαλύτερος αριθμός συνδέσεων συνήθως οδηγεί σε αυτό που μπορεί να περιγραφεί καλύτερα ως «μποτιλιαρίσματα» πόρων – που τελικά οδηγούν σε μια αργή εμπειρία ιστότοπου.

Το HTTP / 2 υποστηρίζει το Multiplexing

Η πολυπλεξία είναι μια τεχνολογία που επιτρέπει στους διακομιστές να στέλνουν πολλά αρχεία μέσω μιας σύνδεσης. Ως αποτέλεσμα, όταν ο ίδιος ιστότοπος χρησιμοποιεί HTTP / 2, και οι τρεις πόροι μπορούν να σταλούν μέσω μιας σύνδεσης. Κατά συνέπεια, οι χρόνοι φόρτωσης και η κατανάλωση πόρων δικτύου θα μειωθούν σημαντικά. Με πιο απλούς όρους, θα μπορούσατε να κάνετε περισσότερα με λιγότερα. Έτσι, το HTTP / 2 για το WordPress είναι ένας πολύ καλός τρόπος για (πιθανώς) επιτάχυνση του ιστότοπού σας στο WordPress.

Domain Sharding & Άλλες βελτιώσεις

Θυμάστε πώς οι νεότερες εφαρμογές απαιτούν «λύσεις» για να ξεπεραστούν ορισμένοι περιορισμοί του HTTP / 1.1; Το sharding τομέα είναι μια τέτοια λύση. Ας δούμε γιατί απαιτείται οριοθέτηση τομέα.

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

HTTP / 2 για WordPress: Domain Sharding

Απεικόνιση της θραύσης τομέα από UpWork

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

Χάρη στην πολυπλεξία στο HTTP / 2, πολλές από αυτές τις “λύσεις” δεν απαιτούνται πλέον. Αυτά περιλαμβάνουν CSS sprites, ενσωματωμένες εικόνες σε CSS χρησιμοποιώντας URI δεδομένων, και συνένωση CSS και JavaScript. Για να το βάλετε Περιοδικό SmashingΤα λόγια:

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

Υποστήριξη για δυαδικά πρωτόκολλα

Γνωρίζουμε ότι οι υπολογιστές μιλούν σε 0 και 1, σωστά; Λοιπόν, έτσι δεν συνομιλούσε το HTTP / 1.x. Το HTTP1.x χρησιμοποιείται για την επεξεργασία εντολών κειμένου για την ολοκλήρωση των κύκλων αίτησης-απόκρισης.

Το HTTP / 2 υποστηρίζει τη μετατροπή από ένα πρωτόκολλο κειμένου σε ένα δυαδικό πρωτόκολλο. Αυτό επιτρέπει στον διακομιστή και τον πελάτη να μιλούν σε 0 και 1 αντί για πραγματικό κείμενο – μειώνοντας έτσι σημαντικά το χρόνο και την ενέργεια που απαιτείται για την ολοκλήρωση των ίδιων κύκλων αιτήματος-απόκρισης.

Ώθηση διακομιστή HTTP / 2

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

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

Οι προγραμματιστές ιστού μπορούν να δημιουργήσουν εφαρμογές που αξιοποιούν το Server Push και να στέλνουν επιπλέον πόρους / πληροφορίες στον πελάτη αναμένοντας αιτήματα. Τελικό αποτέλεσμα? Ταχύτερες, ομαλότερες εφαρμογές.

Συμπίεση κεφαλίδας

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

Μια μονάδα δεδομένων σε οποιοδήποτε πρωτόκολλο (συμπεριλαμβανομένου του HTTP) αποτελείται από τρία βασικά στοιχεία – κεφαλίδα, ωφέλιμο φορτίο και υποσέλιδο.

  1. Header: Το Header περιέχει πληροφορίες σχετικά με τη μονάδα δεδομένων
  2. Ωφέλιμο φορτίο: Αυτά είναι τα πραγματικά δεδομένα που μεταφέρονται από τον διακομιστή στον πελάτη
  3. Υποσέλιδο: Αυτό είναι ένα είδος λίστας ελέγχου που διασφαλίζει ότι η μονάδα δεδομένων παραδόθηκε με επιτυχία χωρίς σφάλματα.

Η λειτουργία συμπίεσης κεφαλίδας είναι ένας πολύ απλός τρόπος – ο διακομιστής συμπιέζει τις πληροφορίες κεφαλίδας πριν τη μεταφορά στον πελάτη. Κατά τη λήψη της μονάδας δεδομένων (ή πακέτου), ο πελάτης αποσυμπιέζει την κεφαλίδα και εμφανίζει (ή χρησιμοποιεί) τον (ή για) τον χρήστη.

Καθώς οι ιστότοποι πλούσιοι σε πολυμέσα (όπως το Netflix ή οι New York Times) γίνονται ο κανόνας σήμερα, η συμπίεση κεφαλίδας HPACK HTTP / 2 μπορεί να εξοικονομήσει πολύ εύρος ζώνης κατά τη μεταφορά δεδομένων από τον διακομιστή στον πελάτη.

Βελτιωμένο TLS

Το TLS σημαίνει Transport Layer Security, το οποίο είναι το κομμάτι της τεχνολογίας που κρυπτογραφεί συνδέσεις μεταξύ διακομιστή και πελατών. Γνωρίζουμε ότι έχει HTTPS. Αυτή είναι η τεχνολογία που βοηθά να αποτρέψει τους εισβολείς από το να κλέψουν τα στοιχεία της πιστωτικής μας κάρτας και άλλα προσωπικά δεδομένα κατά τη διάρκεια διαδικτυακών συναλλαγών.

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

Είναι ο κόσμος έτοιμος για HTTP / 2?

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

Έλεγχος συμβατότητας για HTTP / 2 μεταξύ των μεγάλων προγραμμάτων περιήγησης ιστού.

CanIUse.com παρέχει έναν ενημερωμένο έλεγχο συμβατότητας για HTTP / 2 μεταξύ των μεγάλων προγραμμάτων περιήγησης ιστού

Πώς να ξεκινήσετε με το HTTP / 2 για WordPress?

HTTP / 2 για WordPress

Η εφαρμογή HTTP / 2 στον κεντρικό υπολογιστή WordPress απαιτεί πολλή τεχνική τεχνογνωσία. Εάν είστε προγραμματιστής ή δίκτυα και η διαχείριση των διακομιστών είναι δική σας υπόθεση – αναζητήστε το.

Τα καλά νέα είναι ότι η εφαρμογή HTTP / 2 για WordPress γίνεται εύκολη χάρη στους καλούς παρόχους φιλοξενίας WordPress. Foe παράδειγμα, τόσο το WPEngine όσο και το Kinsta υποστηρίζουν HTTP / 2 και έχουν όλα τα απαραίτητα εναλλακτικά για να διασφαλίσουν ότι οι επισκέπτες ιστότοπων που δεν υποστηρίζουν το νέο πρωτόκολλο, θα λάβουν μια αξιόπιστη, πλήρως βελτιστοποιημένη εμπειρία HTTP / 1.1.

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

Αναδίπλωση HTTP / 2 για WordPress

Το HTTP / 2 για WordPress είναι ένα πολύ απαραίτητο, επαναστατικό κομμάτι ενημέρωσης σε ένα από τα κορυφαία κομμάτια τεχνολογίας στον κόσμο. Ωστόσο, θα χρειαζόταν ένα παρτίδα του χρόνου για το HTTP / 2 να μεταβεί στο mainstream – όπως οι ιστότοποι HTTPS. Τούτου λεχθέντος, ο σκοπός αυτού του άρθρου είναι να εισαγάγει τους αναγνώστες μας σε αυτό το υπέροχο κομμάτι τεχνολογίας που θα μπορούσε ενδεχομένως να αλλάξει το πρόσωπο του World Wide Web.

Σκέψεις για HTTP / 2 για WordPress; Ερωτήσεις; Ενημερώστε μας στην παρακάτω ενότητα σχολίων!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me