Το Διαδίκτυο είναι εκπληκτικό, νομίζω ότι όλοι μπορούμε να συμφωνήσουμε σε αυτό. Αλλά έχετε καθίσει ποτέ και σκεφτήκατε πώς στη γη ένας δικτυακός τόπος κάνει πραγματικά τον τρόπο του στον υπολογιστή σας; Ποιες τεχνολογίες βρίσκονται πίσω από το MakeUseOf, για παράδειγμα; Είναι κάτι περισσότερο από απλή συλλογή αρχείων HTML και εικόνων.
Διαβάστε παρακάτω για να μάθετε τι ακριβώς τρέχει, φιλοξενεί και εξυπηρετεί έναν ιστότοπο για την κατανάλωσή σας, αγαπητοί αναγνώστες.
Σκεύη, εξαρτήματα
Ας ξεκινήσουμε από το πιο βασικό στοιχείο της φιλοξενίας ενός δικτυακού τόπου - του υλικού. Ουσιαστικά, οι μηχανές που χρησιμοποιούνται για να φιλοξενήσουν έναν ιστότοπο δεν διαφέρουν πραγματικά από τους επιτραπέζιους υπολογιστές που έχετε ή στο σπίτι. Έχουν περισσότερη μνήμη, εφεδρικές μονάδες δίσκου και συχνά συνδέσεις δικτύωσης οπτικών ινών - αλλά βασικά είναι οι ίδιες. Στην πραγματικότητα, κάθε παλιό μηχάνημα μπορεί να φιλοξενήσει έναν ιστότοπο - είναι μόνο μια περίπτωση του πόσο γρήγορα θα είναι σε θέση να στείλει σελίδες έξω στους χρήστες.
Μπορείτε να διαβάσετε περισσότερα εδώ για τα διάφορα είδη φιλοξενίας Οι διάφορες μορφές φιλοξενίας ιστοσελίδων Επεξήγηση [Οι τεχνολογίες εξηγούνται] Οι διάφορες μορφές φιλοξενίας ιστοσελίδων εξηγούνται [Τεχνολογία εξηγείται] Διαβάστε περισσότερα διαθέσιμα, από μια ενιαία μηχανή που μοιράζεται μεταξύ χιλιάδων ιστοτόπων κάθε πληρώντας $ 5 / μήνα, σε ένα πλήρες dedicated server ικανό να τρέχει κάτι σαν το MakeUseOf - το οποίο κοστίζει χιλιάδες δολάρια το μήνα .
Λειτουργικό σύστημα
Οι περισσότερες μηχανές webserver διαθέτουν βελτιστοποιημένη γεύση του Linux - παρόλο που υπάρχει ένας μεγάλος αριθμός διακομιστών που λειτουργούν με Windows, συνήθως σε εταιρικά περιβάλλοντα όπου οι εφαρμογές web είναι κατασκευασμένες με ASP ή dotNet. Από τον Ιανουάριο του τρέχοντος έτους, το δημοφιλέστερο διαδίκτυο Linux για το webhosting είναι το Debian, το οποίο ακολουθείται στενά από το CentOS (βασισμένο στο RedHat), και οι δύο διαθέσιμοι για να κατεβάσετε και να δοκιμάσετε τον εαυτό σας - και καθένας δήλωσε ότι φιλοξενεί περίπου το 30% ιστοσελίδες. Το Google τρέχει το δικό του προσαρμοσμένο Linux φυσικά, καθώς και το δικό του προσαρμοσμένο σύστημα αρχείων.
Λογισμικό διακομιστή Web
Αυτό είναι όπου τα πράγματα πραγματικά αρχίζουν να διαφοροποιούνται. Το λογισμικό διακομιστή ιστού είναι η εφαρμογή που λαμβάνει εισερχόμενες αιτήσεις και εξυπηρετεί τις σελίδες ή τα αρχεία. Το ίδιο το λογισμικό του διακομιστή ιστού είναι σε μεγάλο βαθμό άσχετο με τη γλώσσα της ιστοσελίδας που εξυπηρετεί - ένας διακομιστής Apache είναι αρκετά ικανός να εξυπηρετεί Python, PHP, Ruby ή οποιοδήποτε αριθμό διαφορετικών γλωσσών. αλλά αυτό δεν είναι καθολικό. Το σημερινό μερίδιο αγοράς δείχνει ότι το Apache λειτουργεί γύρω στο 65% των κορυφαίων ιστότοπων, της Microsoft IIS 15% και του nginx 10%. Το nginx θεωρείται ότι είναι καλύτερο στο χειρισμό ιστότοπων υψηλής ανταγωνιστικότητας - δηλαδή, όπου πολλές χιλιάδες χρήστες μπορεί να βρίσκονται στην τοποθεσία οποιαδήποτε στιγμή - και χρησιμοποιείται στην πραγματικότητα εδώ στο MakeUseOf.
Όταν φορτώνετε έναν ιστότοπο, ανοίγετε μια υποδοχή - μια σύνδεση - μεταξύ του υπολογιστή σας και του διακομιστή ιστότοπου. Ένας περίτεχνος και μακρύς χορός με τη μελωδία HTTP ξεκινά με την μπροστά και πίσω των αιτημάτων, των δεδομένων και των κωδικών κατάστασης. Όπως ζητήσατε αυτή τη σελίδα, ο διακομιστής μας απάντησε με ένα 200 - OK, που σημαίνει "σίγουρα, εδώ πηγαίνετε" ? εάν επισκεφτήκατε προηγουμένως, ο περιηγητής σας μπορεί επίσης να σας ρωτήσει "hey, έχω ένα αντίγραφο αυτού του γραφικού ήδη στην cache του προγράμματος περιήγησής μου, το χρειάζομαι πάλι;", στο οποίο ο διακομιστής μας απάντησε 304 - Δεν τροποποιήθηκε ή "όχι, αυτό είναι δροσερό, δεν το έχουμε αλλάξει ή τίποτα, απλά χρησιμοποιήστε το " .
Περιστασιακά, θα βρείτε το φοβερό 404 - που δεν βρέθηκε, αλλά δεν χρειάζεται να σας εξηγήσω αυτόν τον κωδικό σφάλματος. Αν έχετε ποτέ ανοίξει τον Οδηγό του Firebug Amateur's Προσαρμογή του Σχεδιασμού Ιστοσελίδας Με τον Οδηγό του FireBug Amateur για την Προσαρμογή του Website Design Με FireBug Read More ή τη λειτουργία προγραμματιστή του προγράμματος περιήγησης, θα εκπλαγείτε να δείτε πόσο προχωρεί και πέρα - δεν είναι απλό "δώσε μου τη σελίδα" - "OK, εδώ", αλλά στην πραγματικότητα εκατοντάδες μικρότερες αλληλεπιδράσεις.
Στατικά αρχεία και δίκτυα προβολής περιεχομένου
Σε όλους τους ιστότοπους, υπάρχουν ορισμένα αρχεία που σχεδόν ποτέ δεν αλλάζουν. Πράγματα όπως Javascripts, CSS, εικόνες, αρχεία PDF ή mp3. Αυτά ονομάζονται στατικά αρχεία και για να τα εξυπηρετήσετε σε εσάς, το λογισμικό webserver απλά πρέπει να αρπάξει το αρχείο και να το στείλει. Εύκολο, σωστά; Οχι τόσο γρήγορα.
Δυστυχώς, η αποστολή μεγάλου αριθμού στατικών αρχείων είναι ένα αρκετά δύσκολο έργο λόγω του μεγέθους των αρχείων. Αν έχετε επισκεφτεί ποτέ μια ιστοσελίδα όπου μπορείτε πραγματικά να καθίσετε εκεί βλέποντας τα φορτία των εικόνων, είναι επειδή ο διακομιστής web φέρνει αυτά τα αρχεία για σας - αυτά απλά δεν είναι βελτιστοποιημένα για να κάνουν αυτό το είδος εργασίας. Αντ 'αυτού, οι μεγάλες ιστοσελίδες εκφορτώνουν όλα αυτά τα στατικά αρχεία σε αυτό που ονομάζεται Δίκτυο εμφάνισης περιεχομένου - ξεχωριστοί διακομιστές που βελτιστοποιούνται για να εξυπηρετούν στατικά αρχεία γελοία γρήγορα με την αναλαμπή ενός ματιού.
Επιτυγχάνουν επίσης αυτό με τη φυσική εντοπισμό διακομιστών σε διαφορετικές τοποθεσίες σε όλο τον κόσμο που αντικατοπτρίζουν ο ένας τον άλλον, οπότε τα δεδομένα έχουν λιγότερη απόσταση για να ταξιδέψουν σε σας. Αυτή τη στιγμή, παρόλο που το άρθρο MakeUseOf διαβάζετε στην πραγματικότητα φιλοξενείται στις Ηνωμένες Πολιτείες, οι εικόνες και το Javascript όλα προέρχονται από κάπου πολύ πιο κοντά σας μέσω ενός τοπικού CDN.
Δυναμικό Περιεχόμενο - Γλώσσες Προγραμματισμού Ιστού
Σχεδόν όλοι οι σύγχρονοι ιστότοποι έχουν δυναμικό περιεχόμενο κάποιου είδους, είτε αυτό σημαίνει ότι το WordPress προσθέτει σχόλια σε μια ανάρτηση ιστολογίου είτε η Google προβάλλει αποτελέσματα αναζήτησης. Για να δημιουργήσετε μια δυναμική ιστοσελίδα, χρειάζονται γλώσσες προγραμματισμού ιστού. Έγραψα προηγουμένως για τις διάφορες γλώσσες που έχετε στη διάθεσή σας Ποια γλώσσα προγραμματισμού για να μάθετε - Προγραμματισμός ιστού Ποια γλώσσα προγραμματισμού για να μάθετε - Προγραμματισμός Web Σήμερα πρόκειται να ρίξουμε μια ματιά στις διάφορες γλώσσες προγραμματισμού στο διαδίκτυο που τροφοδοτούν το Διαδίκτυο. Αυτό είναι το τέταρτο μέρος σε μια σειρά αρχαρίων προγραμματισμού. Στο μέρος 1, μάθαμε τα βασικά του ... Διαβάστε περισσότερα (και πήρε σε κάποιες θερμές συζητήσεις για την πρόταση PHP ήταν το καλύτερο). Όποια και αν είναι η γλώσσα που επιλέγετε, λειτουργεί σε συνδυασμό με το επίπεδο του λογισμικού διακομιστή web για να δημιουργήσει πρώτα δυναμικά τα περιεχόμενα της σελίδας και στη συνέχεια να σας εξυπηρετήσει.
Βάσεις δεδομένων
Πίσω από όλες τις δυναμικές ιστοσελίδες υπάρχουν βάσεις δεδομένων - μαζικά καταστήματα για ακατέργαστα δεδομένα που μας επιτρέπουν να έχουμε πρόσβαση στα δεδομένα αυτά με διάφορους τρόπους. Για αυτό απαιτείται μια ξεχωριστή γλώσσα προγραμματισμού βάσης δεδομένων, η πιο δημοφιλής είναι η SQL (Structured Query Language) και πολλές παραλλαγές. Οι βάσεις δεδομένων περιέχουν διαφορετικούς πίνακες δεδομένων που αντιπροσωπεύουν διαφορετικές δομές δεδομένων - μπορεί να είναι μια λίστα άρθρων. ένα άλλο για σχόλια σχετικά με αυτά τα άρθρα. Χρησιμοποιώντας SQL, μπορούμε να ταξινομήσουμε, να συνδυάσουμε και να παρουσιάσουμε αυτά τα δεδομένα με διάφορους τρόπους.
Στο WordPress για παράδειγμα, μια «ανάρτηση» αποτελείται από τουλάχιστον έναν τίτλο και μια ημερομηνία, και πιθανόν κάποιο πραγματικό περιεχόμενο. Ένας ξεχωριστός πίνακας χρησιμοποιείται για την αποθήκευση των σχολίων σε αυτό το άρθρο, με έναν άλλο πίνακα για την αποθήκευση μιας λίστας κατηγοριών και έπειτα ενός άλλου για την αποθήκευση μιας λίστας με ποιες κατηγορίες έχουν ανατεθεί σε ποιο άρθρο. Με τη διασταύρωση και την απόκτηση δεδομένων από όλα αυτά, το WordPress συγκεντρώνει όλες τις πληροφορίες που χρειάζονται για μια συγκεκριμένη σελίδα του ιστολογίου σας, προτού εφαρμόσετε το θέμα και το παρουσιάσετε σε εσάς μέσω του λογισμικού του διακομιστή web.
Συστήματα προσωρινής αποθήκευσης
Η εξυπηρέτηση στατικών αρχείων HTML είναι αρκετά εύκολη από την άποψη του υπολογισμού - ο διακομιστής πρέπει απλώς να αντλήσει το αρχείο - το δυναμικό περιεχόμενο από την άλλη πλευρά απαιτεί πολλή δουλειά για την τοποθέτηση της σελίδας μαζί με τη βάση δεδομένων και την επεξεργασία που γίνεται σε αυτά τα δεδομένα . Ένα σύστημα caching μας φέρνει ολόκληρο τον κύκλο, δημιουργώντας αυτές τις δυναμικές σελίδες και στη συνέχεια εξοικονομώντας τους ως στατικά αρχεία HTML. Όταν ζητηθεί και πάλι η ίδια ίδια σελίδα, δεν χρειάζεται να υπολογιστεί εκ νέου, επιταχύνοντας έτσι την τοποθεσία.
Η προσωρινή αποθήκευση είναι ένας ευρύς όρος που μπορεί να σημαίνει πολλά πράγματα αν και - τα CDNs είναι ένας τύπος κρυφής μνήμης. Υπάρχουν επίσης κρύπτες βάσης δεδομένων για συχνά ερωτήματα (σκεφτείτε το WordPress ζητώντας τη βάση δεδομένων για τον τίτλο του ιστολογίου σας κάθε φορά που κάποιος εξετάζει την ανάρτησή σας - επειδή αυτό συμβαίνει στην πραγματικότητα). Έγραψα προηγουμένως για το πώς να ρυθμίσετε το δημοφιλές σύστημα W3 Total Cache για το WordPress Πώς να ρυθμίσετε τις διάφορες ρυθμίσεις του W3 Total Cache Plugin για το Wordpress Blog σας Πώς να ρυθμίσετε τις διάφορες ρυθμίσεις του W3 Σύνολο της προσωρινής μνήμης του cache για το Wordpress Blog σας Πριν από λίγο μίλησα για τα οφέλη από την εγκατάσταση του plugin W3TC στο Wordpress blog σας, προκειμένου να το επιταχύνετε με διάφορες κρυφές μνήμες, αλλά κάποιοι αναγνώστες ήταν κατανοητά λίγο επιφυλακτικοί για ... Διαβάστε περισσότερα, επίσης χρησιμοποιούνται εδώ στο MakeUseOf. Ο περιηγητής σας έχει μια προσωρινή μνήμη πάρα πολύ Όλα όσα πρέπει να ξέρετε για την προσωρινή μνήμη του προγράμματος περιήγησης [MakeUseOf εξηγεί] Όλα όσα πρέπει να ξέρετε για την κρυφή μνήμη του προγράμματος περιήγησης [MakeUseOf εξηγεί] Κάθε φορά που έχετε κάποιο πρόβλημα με έναν ιστότοπο, μία από τις πρώτες προτάσεις που θα ακούσετε από Η υποστήριξη IT είναι "προσπαθήστε να καθαρίσετε την προσωρινή μνήμη του προγράμματος περιήγησής σας" μαζί με "και να διαγράψετε τα cookies". Έτσι τι είναι ... Διαβάστε περισσότερα - σχεδόν τίποτα μπορεί να αποθηκευτεί.
Όπως μπορείτε να δείτε, υπάρχει στην πραγματικότητα ένα τεράστιο ποσό εργασίας και πολλές τεχνολογίες που εμπλέκονται με τη φιλοξενία ενός δικτυακού τόπου. Ωστόσο, αυτό δεν σημαίνει ότι δεν μπορείτε να δημιουργήσετε το δικό σας ιστολόγιο σε λιγότερο από μία ώρα. Η κλιμάκωση σε πολλούς χιλιάδες χρήστες είναι εκεί όπου αρχίζουν τα προβλήματα.
Καμιά ερώτηση? Ρωτήστε μακριά, και θα κάνω το καλύτερό μου για να απαντήσω. Είστε έκπληκτοι από το πόσα προσπάθεια μπορεί να πάει σε μια ιστοσελίδα;
Πιστοποίηση εικόνας: Shutterstock, δωμάτιο διακομιστή δικτύου. Netcraft, γράφημα του μεριδίου του διακομιστή ιστού. Shutterstock, βάση δεδομένων. Justin Pot / Τεχνοφιλία, INTERNETZ