Σχεδόν ό, τι επισκέπτεστε στον ιστό σε ένα ή το άλλο σημείο χρησιμοποιεί ένα ειδικό πρωτόκολλο γνωστό ως HTTP (Hyptertext Transfer Protocol). Από το έτος 1999, χρησιμοποιείτε την έκδοση 1.1 της HTTP. Αυτό είναι το συνεχές πρότυπο εδώ και πολλά χρόνια, έως ότου η Google ανακοίνωσε στις 10 Φεβρουαρίου 2015 ότι ο browser θα προσθέσει πλήρη υποστήριξη σε αυτό που είναι τώρα γνωστό ως HTTP / 2. Αυτό ακούγεται σαν εντελώς ακατανόητο για μερικούς, αλλά αυτό συμβαίνει επειδή δεν υπάρχει περιγραφή του τι HTTP / 2 κάνει διαφορετικά. Για να κατανοήσουμε αυτό, πρέπει να διερευνήσουμε ακριβώς τι κάνει αυτή η νέα έκδοση πρωτοκόλλου και πώς είναι παρόμοια με την έκδοση του HTTP που χρησιμοποιούμε εδώ και σχεδόν δύο δεκαετίες.

Τι επιτυγχάνει το HTTP / 2;

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

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

Άλλες βελτιώσεις περιλαμβάνουν την πρόσθετη ασφάλεια και τη συμβατότητα με τα αντίστροφα πληρεξούσια.

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

Πώς το HTTP / 2 κάνει τον ιστό πιο γρήγορα;

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

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

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

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

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

Αν έχετε ερωτήσεις ή ιδέες, φροντίστε να αφήσετε ένα σχόλιο με τις σκέψεις σας!