[Powered by Google Translate] [Εβδομάδα 7, Συνέχεια]
[David J. Malan, Πανεπιστήμιο Χάρβαρντ]
[Αυτό είναι CS50.] [CS50.TV]
Εντάξει. Welcome Back. Αυτό είναι CS50,
και αυτό είναι το τέλος της εβδομάδας 7.
Έτσι, ένα από αυτά τα ηλίθια μικρά πράγματα που πηγαίνει γύρω από το Internet
και εμείς slurped επάνω, και θα πρέπει να κάνει τώρα λίγο geeky νόημα για σας.
Λοιπόν, αυτό ήταν αστείο για αυτόν τον τύπο από ό, τι ήταν για σας παιδιά.
Μιλώντας, επίσης, παιδιά,
Σήμερα είναι τα γενέθλια του Nate.
Για να σας δώσω μια αίσθηση του πόσο καλό Nate και εγώ είμαστε
στην ανάπτυξη web-based την κατηγορία της Δευτέρας και βασίζεται τώρα σε αυτό,
Νόμιζα ότι είχα σηκώσει αρχική σελίδα Nate, αν δεν το έχετε δει ακόμα.
Αυτό εδώ HTML, μεταξύ άλλων, του Nate.
Έτσι, δείτε πηγαίο κώδικα του, αν θέλετε να δείτε πώς να το κάνετε αυτό, και Nate,
αν θα μπορούσαμε να σας embarass μόνο εν συντομία, το προσωπικό σας πήρε λίγο κάτι
αν θέλετε να μοιραστείτε κάποια επιδόρπιο με μερικά από τα παιδιά στην τάξη εδώ.
Αν θέλετε να έρθει κάτω.
Μπορείτε όλοι χειροκροτούν και είναι πολύ ωραίο, αλλά δεν κάθεται κανείς οπουδήποτε κοντά Nate,
για κάποιο λόγο, σε αυτή τη ζώνη πίσω.
Έτσι, ίσως μπορείτε να βρείτε κάποια παιδιά να απολαμβάνουν αυτά με.
Χρόνια πολλά, Nate.
>> Πρόσθετες τυπικούς χαιρετισμούς: Δείξαμε ένα ζευγάρι κλιπ από CS50x μαθητές μας.
Αν θα θέλατε να δείτε ποιος άλλος είναι στον κόσμο
Αυτό είναι μετά μαζί, μπορείτε να κατευθυνθείτε προς αυτό το URL,
όπου Ιωσήφ, ένας από τους ΤΡ μας, έχει βάλει μαζί ένα μοντάζ των ειδών
του ο καθένας που έχει υποβάλει αυτά τα βίντεο, μεταξύ των οποίων και ο Rick Astley.
Και αν μετακινηθείτε μέσω αυτών, είναι πραγματικά αρκετά εμπνέει
για να δείτε την ποικιλία των χωρών και των πόλεων από τις οποίες οι άνθρωποι χαιρετούν.
Έτσι, αν θέλετε να ρίξετε μια ματιά σε αυτό, που θα είναι μέσα από το τέλος του εξαμήνου.
Σήμερα συνεχίζουμε το βλέμμα μας στο Web, web προγραμματισμό, HTML και τα παρόμοια,
και εμείς επίσης να έχουν το γεύμα έρχεται αυτή την Παρασκευή
αν θέλετε, και κυρίως, δεν το έχουν πράξει στο παρελθόν.
Το θέμα της Παρασκευής θα είναι τα γενέθλια του Nate,
οπότε αν θέλετε να έχετε το γεύμα γενεθλίων με Nate
και άλλοι, μερικοί από τους φίλους μας από τη βιομηχανία,
παρακαλούμε να το κεφάλι σε αυτό το URL εκεί.
Διάστημα, όπως πάντα, είναι περιορισμένη. Επίσης, αν έχετε ξεχάσει,
συνειδητοποιούν ότι την επόμενη εβδομάδα είναι η προθεσμία για το πρόβλημα που κυνήγι οδοκαθαριστών 4, η
σύμφωνα με την οποία μετά την ανάκτηση όλων αυτών των JPEGS από card.raw,
εσείς και οι φίλοι σας το τμήμα, αν θέλετε, μπορείτε να δοκιμάσετε φωτογράφηση
όπως πολλοί από τους επιστήμονες της πληροφορικής από την κάρτα μνήμης όσο το δυνατόν,
και εσείς και το τμήμα σας τότε θα κερδίσει ένα υπέροχο βραβείο.
Ανατρέξτε πίσω με τις προδιαγραφές PSET 4 ως προς το τι πρέπει να υποβάλουν και από πότε.
Επίσης, αν θέλετε να έχετε εργόχειρο σας απαθανάτισε
στην ιστοσελίδα του μαθήματος και την ιστορία της ένδυσης,
ξέρετε ότι είστε ευπρόσδεκτοι τώρα να αρχίσουν την υποβολή σχεδίων
για την T-shirts του τρέχοντος έτους και μπλούζες και τα παρόμοια.
Θα κάνουμε το καλύτερό μας για να συμπεριλάβει όσο μπορούμε,
αλλά θα έχουμε ορισμένα μέλη του προσωπικού της αναθεώρησης όλα τα σχέδια
για να βεβαιωθείτε ότι είναι σύμφωνο με τις προδιαγραφές,
και στη συνέχεια να πάρει γενικά μια χούφτα από αυτά να εκτεθούν.
Έτσι, εάν είστε ο τύπος σχεδιασμού, απλά γνωρίζουμε ότι οι απαιτήσεις
για τα γραφικά είναι PNG, τουλάχιστον 200 DPI,
δεν πρέπει να είναι περισσότερο από 4000 x 4000 εικονοστοιχεία,
και όχι περισσότερο από 10 MB, αλλά είστε ευπρόσδεκτοι να χρησιμοποιήσετε τα πράγματα όπως
Photoshop ή το GIMP ή διάφορα προγράμματα γραφικού,
ό, τι έχετε στη διάθεσή σας.
>> Επίσης, στον ορίζοντα είναι το τελικό σχέδιο. Το τελικό σχέδιο είναι πραγματικά το αποκορύφωμα του 50,
σύμφωνα με την οποία το σύνολο των εργασιών κατά τη διάρκεια,
Είναι η ευκαιρία σας να κάνετε πραγματικά δικό σας.
Και αυτό μπορεί να είναι απλά να κάνουμε κάτι για διασκέδαση,
μπορεί να είναι να λύσει κάποιο πιεστικό πρόβλημα φοιτητική ομάδα σας έχει,
για κάποια νέα ιστοσελίδα, κάποια νέα μηχανισμός συλλογής δεδομένων.
Μπορεί να είναι ένα κινητό εφαρμογή για το Android, για iOS.
Πραγματικά, ο ουρανός είναι το όριο, και κατά τη διάρκεια των επόμενων εβδομάδων,
όπως έχουμε μετάβαση από C σε αυτές τις υψηλότερου επιπέδου γλώσσες όπως η PHP και JavaScript,
θα βρείτε τον εαυτό σας όλο και περισσότερο εξοικειωμένοι με μερικές πραγματικές τεχνικές,
μερικά πραγματικά εργαλεία, και να συμπληρώσει ότι,
γνωρίζουμε ότι η πορεία έχει μια ιστορία σεμιναρίων,
σύμφωνα με την οποία κατά τη διάρκεια των επόμενων εβδομάδων, μερικά από το διδακτικό προσωπικό
και φίλοι μας από την πανεπιστημιούπολη θα προσφέρει προαιρετικά σεμινάρια
που πηγαίνουν πάνω και πέρα ​​από αυτό που συνήθως γίνεται σε τμήμα
να σας παρουσιάσουμε τα πράγματα όπως τον προγραμματισμό Android,
να σας παρουσιάσουμε τα πράγματα όπως το iOS προγραμματισμού
ή πιο προηγμένη web-ανάπτυξη τεχνικών.
Υπάρχει μια ολόκληρη ιστορία αυτών των ήδη online.
Αν πάτε σε cs50.net/seminars, έχουμε ήδη κάνει αυτό για αρκετά χρόνια,
και θα δείτε ότι εδώ αρχειοθετούνται με αρχεία PDF και βίντεο και τα παρόμοια
είναι αρκετές δεκάδες βίντεο από τα σεμινάρια.
Πέρυσι, για παράδειγμα, είχαμε ένα σεμινάριο για τις τεχνικές acing συνεντεύξεις σας,
αν είστε πραγματικά ψάχνει να πάει μακριά και να κάνει ένα οικοτροφείο ή πλήρους απασχόλησης συναυλία.
Windows mobile ανάπτυξη, την ανάπτυξη του Android, το Google Maps,
API, CSS, την ανάπτυξη για το BlackBerry, το Emacs.
Αλήθεια, είστε ευπρόσδεκτοι να ρίξετε μια ματιά σε οποιοδήποτε από αυτά τα σεμινάρια με την ησυχία σας.
Και εμείς θα πρέπει να κατέχει ορισμένες νέες αυτό το εξάμηνο, καθώς και.
>> Έτσι, αυτό που είναι μπροστά με το τελικό σχέδιο;
Λοιπόν, πρώτα, ακόμη και αν η ημερομηνία αυτή είναι κάπως επικείμενη,
αυτό είναι πραγματικά ακριβώς μια ευκαιρία να αρχίσουμε να σκεφτόμαστε το τελικό σχέδιο είναι αρκετά ρεαλιστικά.
Γνωρίζουμε μόνο τις απαρχές του μερικά από ό, τι θα εξακολουθεί να καλύπτει, κατά τη διάρκεια,
HTML, PHP και τα παρόμοια, αλλά είστε όλοι εξοικειωμένοι με το διαδίκτυο,
προκατάληψη και εγώ αυτή τη συζήτηση προς την ιστοσελίδα μόνο και μόνο επειδή
οι περισσότεροι άνθρωποι καταλήγουν να κάνουν Web-based τελικό έργων,
αλλά ότι δεν είναι καθόλου αναγκαία.
Χρησιμοποιώντας C είναι μια χαρά, στόχος C, Java,
οποιαδήποτε άλλη γλώσσα που να γνωρίζουν ή θέλουν να ξέρουν είναι αρκετά λεπτή.
Αλλά για να πάρει τους χυμούς που ρέει αρχικά, θα αναμένουμε την υποβολή προκαταρκτική πρόταση
η οποία, σύμφωνα με τον PDF στην ιστοσελίδα της, η οποία είναι τώρα στο cs50.net,
και στην κορυφή αριστερά θα δείτε τελικό σχέδιο
είναι οι προδιαγραφές για το τελικό σχέδιο,
και υπάρχουν λεπτομέρειες για την προκαταρκτική πρόταση και τα παρόμοια.
Είναι λίγο πολύ βράζει κάτω σε ένα μήνυμα ηλεκτρονικού ταχυδρομείου με τους συναδέλφους σας διδασκαλία
ακριβώς για να χτυπήσει επάνω μια συνομιλία μαζί του για το τι σκέφτεστε.
Στις projects.cs50.net είναι μια αποθήκη των ιδεών από τους λαούς στην πανεπιστημιούπολη
αν είστε αγωνίζονται να καταλήξει σε κάποια ιδέα,
και manual.cs50.net/APIs είναι μια σελίδα με συνδέσμους σε APIs.
>> Ποια, όμως, είναι ένα API;
Τι είναι ένα API; Το έχω πει τουλάχιστον δύο φορές,
σύμφωνα με τις μεταγραφές των προηγούμενων αρκετές εβδομάδες.
Τι είναι αυτό; [Φοιτητών, ακατάληπτο]
>> Εντάξει, καλά. Έτσι διεπαφή προγραμματισμού κάτι.
Διεπαφή προγραμματισμού εφαρμογών, και αυτό μπορεί να πάρει διάφορες μορφές,
αλλά τι πραγματικά αυτό σημαίνει ότι πρέπει να είναι ο κωδικός
ότι κάποιος άλλος hs γραπτή ή στοιχεία ότι κάποιος άλλος έχει συλλέξει
που είναι στη διάθεση σας σε κάποιο προγραμματικό τρόπο.
Μπορείτε να γράψετε κώδικα σε C, PHP, Python, Ruby,
ό, τι γλώσσα της επιλογής σας είναι συνήθως,
και μπορείτε να με κάποιο τρόπο να βασίζεται λειτουργικότητα κάποιου άλλου
ή κάποιου άλλου σετ δεδομένων.
Για παράδειγμα, αν πάω σε αυτόν τον σύνδεσμο εδώ,
και θα δείτε ένα ζευγάρι των συνδέσεων στην επόμενη σελίδα
σύμφωνα με την οποία έχουμε τη δική APIs CS50, η οποία είναι πολύ Χάρβαρντ-centric, και στη συνέχεια τρίτων APIs.
Μεταξύ των τρίτων APIs είναι πραγματικά χρήσιμα πράγματα
όπως είναι σε θέση να στείλει στους ανθρώπους του SMS,
να είναι σε θέση να λάβει μηνύματα κειμένου SMS από τους ανθρώπους.
Και τα πράγματα όπως αυτό που μπορείτε να έχετε καμία ιδέα για το πώς να εφαρμόσουν,
αλλά χάρη στις υπηρεσίες, κάποια δωρεάν και κάποια εμπορικά,
μπορείτε να χτίσετε στην κορυφή εκείνους και να κάνουμε κάτι που σας ενδιαφέρει.
Μεταξύ των APIs CS50 είναι αυτά πανεπιστημιούπολη με επίκεντρο τα πράγματα όπως
Μαθήματα του Χάρβαρντ, η ενέργεια, τα γεγονότα, τα τρόφιμα, χάρτες, ειδήσεις, tweets και τις δικές του Shuttleboy,
και αυτά είναι τα API που μοιάζουν λίγο κάτι σαν αυτό.
>> Επιτρέψτε μου να σηκώσει το API HarvardFood.
Αν έχετε ποτέ στην ιστοσελίδα του HUD, έχετε πιθανώς ήταν εκεί
για να δούμε τι ακριβώς είναι για δείπνο ή για να δείτε ποιες είναι οι ώρες είναι για κάποιο d-αίθουσα.
Λοιπόν, αυτό δεν είναι ιδιαίτερα εύκολο στην πλοήγηση,
και έτσι ό, τι κάναμε πριν από λίγο καιρό γράψαμε το λογισμικό,
συμβαίνει να είναι σε PHP, που στην πραγματικότητα οθόνη ξύνει το σύνολο του δικτυακού τόπου του HUD.
Για να ελέγξουν κάτι ξύστε σημαίνει να γράψει ένα πρόγραμμα σε μια γλώσσα όπως η PHP
που προσποιείται ότι είναι μια μηχανή αναζήτησης, ακόμα κι αν μπορεί να τρέξει σε μια γραμμή εντολών,
που προσποιείται ότι είναι ένα πρόγραμμα περιήγησης, συνδέεται με μια ιστοσελίδα,
λήψη της HTML, η γλώσσα στην οποία είναι γραμμένο,
και στη συνέχεια διαβάζει, ή πιο συγκεκριμένα, αναλύει
πάνω προς τα κάτω, αριστερά προς τα δεξιά.
Και αυτό που κάναμε ήταν ότι έγραψε τον κώδικα μας με τέτοιο τρόπο ώστε
κάθε φορά που είδαμε κάτι σε αυτό το HTML που έμοιαζε με κάτι από το μενού,
όπως χάμπουργκερ, στη συνέχεια, θα εισαγωγή, ότι στη δική μας βάση δεδομένων.
Και κάθε φορά που είδαμε θρεπτικό περιεχόμενο, θα εισαγάγει ότι στη δική μας βάση δεδομένων.
Και αυτό που κάναμε ήταν μόχλευσης το γεγονός ότι η ιστοσελίδα του HUD,
αν και θα μπορούσε να είναι ένα κομμάτι της μια πρόκληση για εμάς τους ανθρώπους να πλοηγηθείτε
κάτω από την κουκούλα, το σύνολο των HTML δημιουργείται από τα προγράμματα του υπολογιστή τους.
Έτσι, όλα τα HTML τους, ακόμα κι αν μπορεί να φαίνεται βρώμικο,
όπως και οι περισσότερες ιστοσελίδες κάτω από το καπό ακολουθεί ένα μοτίβο.
Έτσι περάσαμε μόλις μερικές ώρες υπολογίζει αυτό το μοτίβο
έτσι ώστε στο τέλος, πετάμε όλο το βρώμικο HTML,
όλα τα τολμηρή αισθητική του προσανατολισμό και πλάγιους χαρακτήρες και τα παρόμοια,
και ό, τι είμαστε σε θέση στη συνέχεια να κάνετε είναι να εκθέσει τα ίδια δεδομένα.
Για παράδειγμα, με αυτόν τον τρόπο.
Γι 'αυτό και, σύμφωνα με την τεκμηρίωση εδώ,
έχουν ενημερώσει τον κόσμο ότι αν ζητήσετε μια διεύθυνση URL
που μοιάζει με αυτό, food.cs50.net / κάτι,
και σας παρέχουμε ορισμένες παραμέτρους, οι οποίες θα μιλήσουμε για το σήμερα,
όπως η καταληκτική ημερομηνία ώρα, ημερομηνία έναρξης φορά, γεύμα και ούτω καθεξής,
τι servers μας θα επιστρέψει σε εσάς, για παράδειγμα,
είναι ένα αρχείο CSV, κόμμα separted αξίες όπως ένα αρχείο Excel,
που περιέχει τα πάντα για πρωινό στη συγκεκριμένη ημερομηνία τον Μάρτιο του περασμένου έτους
όταν έτυχε να γράψω αυτήν την τεκμηρίωση.
>> Για όσους είναι εξοικειωμένοι, CSV δεν είναι η μόνη μορφή αρχείου.
Υπάρχει μια άλλη μορφή, που είναι όλο και πιο ευέλικτο
που ονομάζεται JSON, Object Notation JavaScript.
Τα δεδομένα μπορεί να έρθει πίσω σε αυτή τη μορφή.
Έτσι, το όφελος εδώ είναι ότι αν βουτιά σε αυτό το API
ή οποιοδήποτε άλλο ή οτιδήποτε CS50 εκεί έξω στο διαδίκτυο,
ή και καθόλου, συνειδητοποιούν ότι ο κόσμος έχει αρχίσει όλο και περισσότερο να τυποποιήσει
πώς οι μηχανές επικοινωνούν.
Εμείς χρησιμοποιούν ένα τυποποιημένο έντυπο δεδομένων, όπως CSV ή JSON.
Και τι σημαίνει αυτό για σας είναι ότι μπορείτε να γράψετε το ενδιαφέρον μέρος ενός προγράμματος
που σας επιτρέπει χρήστη σας αναζήτηση σε μια τραπεζαρία-αίθουσα μενού,
που σας επιτρέπει να δημιουργήσετε λίστες με τα αγαπημένα που τους επιτρέπει να λαμβάνετε ειδοποιήσεις κειμένου
όταν το αγαπημένο γεύμα τους για να εξυπηρετηθούν σε κάποια αίθουσα δ-
με τη χρήση σύνολα δεδομένων και τη δημιουργία κάποιου άλλου πάνω από APIs τους.
Έτσι, περισσότερα για αυτό, με τη μορφή σεμιναρίων και την τεκμηρίωση που έχετε εδώ σε απευθείας σύνδεση.
Έτσι, εκείνοι, λοιπόν, είναι APIs.
>> Αυτό μας φέρνει πίσω σε HTML. Γρήγορη ανακεφαλαίωση.
Τι είναι η HTML;
[Φοιτητών, ακατάληπτο] >> Καλή. HyperText Markup Language.
Κάποιος άλλος, τι είναι Hypertext Markup Language;
HyperText Markup Language.
Εντάξει. Έτσι, HTML, HyperText.
HyperText αναφέρεται μόνο στο Web, ως επί το πλείστον.
Markup σημαίνει ότι δεν είναι στην πραγματικότητα μια γλώσσα προγραμματισμού, HTML.
Δεν είναι μια γλώσσα που μπορεί να εκφράσει τη λογική μέσα
Δεν έχει βρόχους. Δεν έχει προϋποθέσεις.
Δεν έχουν συναρτήσεις, per se.
Αντίθετα, δεν έχει αυτά τα πράγματα που ονομάζονται ετικέτες, ή πιο σωστά, στοιχεία.
Και αυτά τα στοιχεία έχουν ετικέτες ετικέτες έναρξης και τέλος,
ή ανοιχτό και κλειστό ετικέτες ετικέτες, και ό, τι αυτές οι ετικέτες γενικά σημαίνει για ένα πρόγραμμα περιήγησης είναι,
αρχίσουν να κάνουν κάτι και στη συνέχεια να σταματήσει να κάνει κάτι, αν και υπάρχουν εξαιρέσεις σε αυτό.
Μερικές φορές είναι απλά «να θέσει ένα διάλειμμα γραμμή εδώ, για παράδειγμα.
Και είδαμε παραδείγματα από ότι την άλλη μέρα, μεταξύ τολμηρό προσανατολισμό,
αλλαγές γραμμής, και στη συνέχεια, ένα ζευγάρι από άλλες ετικέτες.
Έτσι HTML είναι η γλώσσα στην οποία είναι γραμμένα ιστοσελίδες.
Έτσι, αν πάω σε κάτι όπως το Google.com
και τραβήξτε προς τα επάνω ακριβώς σελίδα τους στο σπίτι,
Υπενθυμίζω ότι, αν κάνετε δεξί κλικ ή πατήστε τον έλεγχο
και να κοιτάξουμε πηγή προβολή σελίδας, συνήθως
είναι ένα πλήρες χάος αυτές τις μέρες κάτω από την κουκούλα, αλλά αυτό είναι επειδή
υπολογιστές δεν νοιάζονται για λευκό χώρο, έτσι αυτό δεν πρέπει να εξετάσουμε πολύ.
Αλλά αν κάνετε ζουμ σε τμήματά του,
παρατηρήσετε ότι το Chrome, ακριβώς για να είναι ωραίο, έχει χρωματικό κώδικα τα πράγματα.
Πράγματι, αυτή είναι η πρώτη ετικέτα που είδαμε σε μια ιστοσελίδα.
Και πάλι, HTML 5, η τελευταία έκδοση αυτής της γλώσσας,
έχει αυτό το πράγμα στην αρχή,
<! DOCTYPE HTML, είτε πεζά ή κεφαλαία,
αλλά αυτό είναι ακριβώς το είδος της ένα πρότυπο που λέει, hey κόσμο, έρχεται εδώ ένα αρχείο HTML στην έκδοση 5.
>> Το ενδιαφέρον μέρος αρχίζει εδώ. Έτσι <html, και στη συνέχεια, υπήρχαν δύο παιδιά
από τα στοιχεία HTML τελευταία φορά.
Ποιες ήταν οι δύο κύριες παιδιά;
Κεφάλι και το σώμα, όπως ακριβώς ο τύπος με το τατουάζ πριν από λίγο.
Υπάρχουν δύο τμήματα της ιστοσελίδας, το κεφάλι και το σώμα,
ανάκληση και, στη συνέχεια, ότι ίσως η πιο απλή ιστοσελίδα που θα μπορούσε να κάνει μοιάζει με αυτό.
Και έχω εσοχή για να είναι ακριβώς το είδος του τακτοποιημένο και καθαρό με τον κωδικό μου,
αλλά αυτό που είναι πραγματικά σημαντικό εδώ είναι ότι δεν υπάρχει κάποια ιεραρχία σε αυτό.
Και κάθε ετικέτα που έχω ανοίξει έχω κλείσει και ότι υπάρχει ως εκ τούτου αυτή η συμμετρία
για το σύνολο της σήμανσης που έχω δημιουργήσει.
Έτσι, την τελευταία φορά που άρχισε να γράφει σελίδες για το φορητό υπολογιστή μου.
Άνοιξα επεξεργασία κειμένου, έσωσα το αρχείο ως hello.html,
Τράβηξα τότε το αρχείο στον browser μου, και voila, είχα μια σελίδα στο Διαδίκτυο.
Τώρα, δεν είναι αρκετά η περίπτωση? Είχα μια σελίδα στο σκληρό δίσκο μου,
και ήμουν κυριολεκτικά το μόνο άτομο στον κόσμο που θα δούμε ότι η ιστοσελίδα σε ένα πρόγραμμα περιήγησης.
>> Έτσι, σήμερα, έχουμε εισαγάγει μια πραγματική του web server
και η έννοια της εξυπηρέτησης στην πραγματικότητα περιεχόμενο στο Διαδίκτυο
και πώς αυτό όλα αρχίζει να ταιριάζουν μεταξύ τους.
Έτσι, αποδεικνύεται ότι όλο αυτό το διάστημα στη συσκευή CS50
είχατε έναν web server στον υπολογιστή σας.
Έχουμε, για να είμαστε δίκαιοι, που χρησιμοποιούνται μόνο για το gedit, για Clang, για GDB και τα παρόμοια,
αλλά επίσης εγκατασταθεί από μας για σας στη συσκευή είναι ένα web server,
και ότι ο διακομιστής web συμβαίνει να είναι ελεύθερη, ανοικτή πηγή,
μία από τις πιο δημοφιλείς στον κόσμο, που ονομάζεται Apache.
Πιο τεχνική ονομασία του είναι HTTPd, ο δ είναι για δαίμονας εδώ,
η οποία είναι μια τεχνική λέξη για ένα διακομιστή.
Έτσι εγκατασταθεί στη συσκευή CS50 είναι ένα web server, και τι σημαίνει αυτό;
Λοιπόν, ένας web server είναι, θεωρητικά, κάποια διακομιστή στο Internet που σερβίρει web περιεχόμενο.
Όταν ρωτήθηκε για ένα αρχείο, το φτύνει το HTML που συνθέτει αυτό το αρχείο, και voila.
Μπορείτε να δείτε την αρχική σελίδα κάποιου ιστοσελίδας.
Όμως, ένας διακομιστής είναι, πιο συγκεκριμένα, ένα κομμάτι του λογισμικού.
Δεν χρειάζεται να είναι σε μια φυσική μηχανή, απλά να είναι ένα κομμάτι του λογισμικού λειτουργίας.
Έτσι, η συσκευή CS50, φυσικά, είναι ένα κομμάτι του λογισμικού
ακόμα κι αν είναι το είδος του που προσποιείται ότι είναι μια μηχανή.
Είναι προσποιείται ότι είναι ένα εσωτερικό του υπολογιστή από έναν υπολογιστή,
αλλά αυτό απλά σημαίνει ότι η συσκευή μπορεί να τρέξει σίγουρα τα πράγματα όπως web servers.
Μπορεί να τρέξει πραγματικά email servers.
Θα μπορούσαμε να τρέξει ένα διακομιστή συνομιλίας στη συσκευή, εάν θέλαμε να,
και πράγματι, εμείς δεν τρέχει ένα άλλο είδος του διακομιστή, που είναι γνωστή ως ένα διακομιστή βάσης δεδομένων, mySQL.
Αλλά περισσότερα για αυτό την επόμενη εβδομάδα.
Αυτό σημαίνει ότι μπορώ να επισκεφθούν πραγματικά ιστοσελίδες
στο εσωτερικό της συσκευής μου χρησιμοποιώντας ένα πρόγραμμα περιήγησης στο εσωτερικό της συσκευής
ή ακόμα και για το φορητό υπολογιστή μου, μου Mac ή PC μου.
Λοιπόν, τι σημαίνει αυτό; Αποδεικνύεται ότι κάθε φορά που τρέχετε ένα Linux υπολογιστή,
παρατσούκλι του είναι "τοπικό κεντρικό υπολογιστή."
Δεν έχει ένα όνομα τομέα, γιατί δεν έχουν αγοράσει ένα domain name
για κάτι σαν τη συσκευή, έτσι προεπιλεγμένο όνομα του είναι τοπικό κεντρικό υπολογιστή.
>> Αλλά για να πάρει τη συσκευή να αρχίζει να εξυπηρετεί τις ιστοσελίδες,
πρέπει να τους δημιουργήσετε πρώτα.
Ας το κάνουμε αυτό. Επιτρέψτε μου να πάω σε ένα παράθυρο τερματικού εδώ
και παρατηρήστε ότι είμαι σε τυπικό John Harvard προτροπή μου.
Επιτρέψτε μου να προχωρήσει και πληκτρολογήστε ls, και θα δούμε μερικά γνωστά πράγματα από αυτό το εξάμηνο,
επιφάνεια εργασίας, λήψεις, dropbox και ούτω καθεξής,
αλλά τώρα έχουμε αρχίσει να στρέψουμε την προσοχή μας σε ένα ζευγάρι.
Σε πολλές Linux web servers που υπάρχει αυτός ο φάκελος που ονομάζεται δημόσια html,
αλλά θα πάμε για να παραλείψετε αυτό το ένα για τώρα και να επικεντρωθεί σε αυτό, vhosts.
Καθένας ξέρει τι είναι vhost;
Απλά ηλίθιο ορολογία για εικονική υποδοχής,
και τι σημαίνει αυτό είναι ότι σε μια τυπική σέρβερ
μπορείτε να φιλοξενήσετε στην πραγματικότητα πολλούς δικτυακούς τόπους.
Μπορείτε να αγοράσετε ένα όνομα τομέα, όπως foo.com, και μπορείτε να το φιλοξενήσει σε ένα διακομιστή.
Αλλά μπορείτε επίσης να αγοράσετε και bar.com φιλοξενήσει στον ίδιο διακομιστή.
Ο λόγος είναι, browsers είναι αρκετά έξυπνος για να ενημερώσει το διακομιστή
όταν ένας χρήστης ζητά κάποια ιστοσελίδα, τι όνομα τομέα που ο χρήστης θέλει για την αρχική σελίδα.
Λοιπόν, τι είναι ωραίο για αυτό δεν χρειάζεται ένα φυσικό εξυπηρετητή
ή ένα CS50 συσκευή για κάθε ιστοσελίδα μπορεί να θέλετε να δημιουργήσετε.
Μπορείτε να χρησιμοποιήσετε τον ίδιο διακομιστή και να αναπτύξουν εκατό διαφορετικές ιστοσελίδες.
Και πράγματι, αν είστε ένα πρόσωπο που προσπαθεί να ξεκινήσει μια ιστοσελίδα,
είτε για διασκέδαση είτε για επαγγελματικούς λόγους, συνήθως θα βγει στο διαδίκτυο,
και θα πληρώσει κάποιος για δέκα δολάρια το μήνα, εκατό δολάρια το μήνα
για να φιλοξενήσει την ιστοσελίδα σας για σας.
Και ο τρόπος που λειτουργεί είναι ότι χρεώνουν τους άλλους ανθρώπους
δέκα δολάρια το μήνα ή εκατό δολάρια το μήνα
για να φιλοξενήσει ιστοσελίδες άλλων ανθρώπων για ίδιο διακομιστή τους.
Ο λόγος που μπορεί να κάνει ότι είναι λόγω αυτής της χαρακτηριστικό που ονομάζεται bhosts,
αλλά περισσότερο για αυτό, όταν έρχεται η ώρα για την τελική έργα.
>> Προς το παρόν, ας βουτιά εκεί. Έτσι vhosts cd, και αν πληκτρολογήσετε ls τώρα,
παρατηρήσετε ότι υπάρχει ένας φάκελος που ονομάζεται εκεί τοπικό κεντρικό υπολογιστή.
Αυτό συμβαίνει επειδή, από προεπιλογή, οι αριθμοί συσκευών
είστε ποτέ πρόκειται να εκτελέσετε μία ιστοσελίδα σε μια συσκευή.
Αυτό δεν είναι πραγματικά το πραγματικό κόσμο? Δεν είναι ένα πραγματικό κόσμο του web server.
Έτσι, επιτρέψτε μου να πάω σε τοπικό κεντρικό υπολογιστή, και τώρα θα δούμε εκεί
ένα τελευταίο κατάλογο που ονομάζεται HTML.
Γι 'αυτό είναι λίγο βαθιά, η ιεραρχία, αλλά αν και όταν
αν αποφασίσετε να αρχίσει να αναπτύσσει πολλαπλές ιστοσελίδες για τους επόμενους μήνες ή τα έτη n,
αυτό το είδος της δομής του φακέλου τείνει να είναι χρήσιμη.
Τώρα ας πάμε σε HTML, όπως έκανα ακριβώς,
ls τύπου, και τίποτα δεν είναι εκεί.
Έτσι τώρα ας προχωρήσουμε και να κάνουμε αυτό. Επιτρέψτε μου να ανοίξει Chrome
στο εσωτερικό της συσκευής, και επιτρέψτε μου να πάω να http://localhost.
Έτσι κυριολεκτικά το όνομα για τη συσκευή μου, αρχίζει, και παίρνω δείκτη /.
Αυτό δεν είναι πραγματικά μου δείχνει κάτι ενδιαφέρον,
αλλά αποδεικνύεται ότι αυτό που βλέπουμε είναι ότι φακέλου, HTML.
Δεν υπάρχει τίποτα μέσα σε αυτόν το φάκελο αυτή τη στιγμή,
έτσι αντ 'αυτού, τι Πάω να πρέπει να κάνουμε είναι πρώτα να δημιουργήσετε ένα αρχείο.
Δημιουργήστε ένα αρχείο HTML, όπως κάναμε τη Δευτέρα, αλλά αυτή τη φορά έθεσε εσωτερικό της συσκευής.
Για όσους από εσάς προσπαθούν να παρακολουθήσει μαζί με φορητούς υπολογιστές τώρα,
επιτρέψτε μου να κάνετε ένα μέρος που θα πρέπει να καλύπτονται από το web-based PSET,
αλλά για να πάρει αυτό το έργο για πρώτη φορά,
εσείς πρόκειται να πρέπει να τρέξετε την εντολή: sudo έναρξη httpd υπηρεσία.
Και αυτό, πάλι, θα πρέπει να επαναληφθεί στην τελευταία PSET,
αλλά αν παίζετε μαζί στο σπίτι τώρα, ο web server
είναι απενεργοποιημένο στη συσκευή, και ότι είναι έτσι ώστε να μην υποσκάψει μέχρι RAM
και μνήμη για 7 εβδομάδες από την εξαμήνου όταν δεν το χρειάζεστε.
Έτσι, θα πρέπει να εκτελέσετε αυτήν την εντολή μία φορά, και θα πάρετε μια έξοδο όπως αυτό.
Στη συνέχεια, θα πρέπει να είναι σε θέση να παίξει μαζί εδώ.
Τώρα, ας πάμε πίσω σε αυτόν το φάκελο.
Αυτός ο φάκελος είναι κενός, οπότε επιτρέψτε μου να αρχίσετε να δημιουργείτε ένα αρχείο,
hello.html gedit.
>> Εντάξει. Gedit είναι ανοικτή, ως συνήθως. Επιτρέψτε μου να κάνω doctype, html,
html, επιτρέψτε μου να πάρει μπροστά από τον εαυτό μου και να αρχίσει το κλείσιμο ετικέτες μου εκ των προτέρων.
Τώρα έχω το κεφάλι. Επιτρέψτε μου να προχωρήσει και να κλείσει το κεφάλι,
επιτρέψτε μου να κάνω τώρα τον τίτλο της σελίδας, γειά σου κόσμο, όπως την τελευταία φορά,
κοντά τίτλο, τώρα επιτρέψτε μου να κάνω ένα σώμα.
Εδώ θα πω γεια, κόσμο με ορισμένες exclams
να καταστεί σαφές ότι πρόκειται για μια διαφορετική σειρά.
Κλείσιμο του σώματος, και τώρα επιτρέψτε μου να προχωρήσει και να αποθηκεύσετε το αρχείο.
Επιτρέψτε μου να πάω πίσω στο παράθυρο του τερματικού μου, και αν πληκτρολογήσετε ls,
Θα ήθελα, κατά πάσα πιθανότητα, δείτε hello.html. Και το κάνω.
Έτσι τώρα ας πάμε πίσω στο πρόγραμμα περιήγησής μου, κάντε κλικ στην επιλογή reload,
και μπορείτε να δείτε ότι είναι πράγματι μέσα από αυτό το φάκελο HTML.
Δεν βλέπω μια ιστοσελίδα ακόμα? Αυτό είναι Apache, τον web server,
απλά μου δείχνει τα περιεχόμενα της λίστας αυτόν τον κατάλογο.
Ακριβώς όπως το Mac OS ή Windows θα κάνει συνήθως με δική τοπικό σκληρό σας δίσκο.
Έτσι, αν θέλω να δω αυτή την ιστοσελίδα, μπορώ να κάνετε κλικ σε αυτό το σύνδεσμο λίγο εδώ, hello.html,
και πράγματι, αυτό είναι αυτό που περίμενα να δω.
Τώρα, και πάλι, αυτό δεν είναι μια διεύθυνση URL που κάποιος από εσάς να επισκεφθείτε αυτή τη στιγμή,
γιατί για σας, τοπικό κεντρικό υπολογιστή, εάν έχετε ένα φορητό υπολογιστή εδώ,
εννοεί στο δικό σας παράδειγμα της συσκευής.
Αυτό είναι για την προσωπική μου συσκευή,
αλλά αυτό είναι το είδος της άλαλος για μένα να έχουν, να έχουν
ένας χρήστης, όπως εγώ, κάντε κλικ στο hello.html για να δούμε πραγματικά το περιεχόμενο αυτής της σελίδας.
Αποδεικνύεται ότι οι διακομιστές Web, όπως Apache σας επιτρέπουν να έχετε ένα προεπιλεγμένο αρχείο για οποιοδήποτε web server.
Προσέξτε εδώ ότι έχουμε hello.html.
Ποια είναι η εντολή στο Linux για να μετονομάσετε ένα αρχείο;
>> MV, για κίνηση. Επιτρέψτε μου λοιπόν να το κάνουμε αυτό,
και επιτρέψτε μου να μετονομάσετε hello.html να index.html.
Επιτρέψτε μου να πληκτρολογήσετε ls για να επιβεβαιώσετε ότι είναι πλέον μετονομαστεί.
Τώρα, αυτό πρόκειται να - αν πάω πίσω στην τοπική υποδοχής,
παρατηρήσετε τώρα που βλέπω αυτόματα αυτή την ιστοσελίδα.
Αυτό είναι πανομοιότυπο με κάνει πραγματικά / index.html μου,
αλλά το ωραίο είναι ότι τώρα ο web server είναι υπολογίζει,
Ω, αν έχετε ένα αρχείο το οποίο, με συμβάσεις για τα ανθρώπινα, ονομάζεται index.html,
επιτρέψτε μου να δείξουν τον χρήστη ότι το αρχείο από προεπιλογή
και όχι κάποιο ηλίθιο λίστα καταλόγου που δεν είναι καθόλου φιλικό προς τον χρήστη.
Πράγματι, οι περισσότερες ιστοσελίδες που επισκέπτεστε στο Διαδίκτυο δεν έχουν μια λίστα με τα αρχεία για να κάνετε κλικ επάνω,
το μόνο που σας δείξει το περιεχόμενο. Έτσι, αυτό είναι το πώς μπορούμε να το κάνουμε αυτό, index.html.
Έτσι, αυτό είναι όλα διασκέδαση και καλή, αλλά αυτό είναι μια αρκετά απλή ιστοσελίδα.
Επιτρέψτε μου να προχωρήσει και να ανοίξει index.html σε vhosts μου,
τοπικούς οικοδεσπότες, html κατάλογο, και ας προσθέσω κάτι μεγαλύτερο ενδιαφέρον.
Έτσι, υπάρχει hello world? Ας πούμε, αντί «Αυτό είναι CS50, Harvard College του. . ".
Έτσι, η αρχή της περιγραφής καταλόγου διάρκεια κάποιου είδους εκεί.
Τώρα, αν θα φορτώσετε εκ νέου, θα πρέπει να δείτε αυτό στην αρχική σελίδα μου.
Εντάξει, και εγώ βλέπω αυτό, αλλά ας υποθέσουμε ότι θέλω να λίστα τώρα λίγο περισσότερο περιεχόμενο σε αυτό το αρχείο.
Θα μπορούσα να συνεχίσω εδώ κάτω και να πω, κανένας προϋποθέσεις,
αν και κάποιοι από εσάς ίσως όπως, «Χα χα χα, δεν προαπαιτούμενα».
Αλλά - επίσημα. Έτσι, reload, και τώρα έχουμε το ίδιο ιδιορρυθμία που είδαμε τελευταία φορά.
Αλλά γιατί συμβαίνει αυτό; Ήταν μια απλή αποτύπωση.
Γιατί αυτή η σελίδα σπάσει;
[Φοιτητών, ακατάληπτο] >> Ναι, έχουμε λύσει αυτό πριν
ρητά από το πρόγραμμα περιήγησης λέγοντας «να θέσει ένα διάλειμμα γραμμή εδώ.
Και αυτό συμβαίνει γιατί, πάλι, ένα πρόγραμμα περιήγησης είναι μόνο πρόκειται να κάνει
ρητά ποια είναι η γλώσσα σήμανσης που λέει να κάνει,
έτσι ακόμα κι αν θα μπορούσε να πατήστε enter μία ή δύο φορές ή ακόμη και δέκα φορές,
πρόκειται να τα συνδυάσουμε όλα σε ένα ενιαίο χώρο, μόνο με σύμβαση.
Έτσι, εάν θέλετε πραγματικά μια αλλαγή γραμμής, θα πρέπει να χρησιμοποιήσετε την ετικέτα br,
και τώρα ειδοποίηση, όπως η Δευτέρα, έβαλα το / στο εσωτερικό αυτής της ετικέτας,
μόνο και μόνο επειδή αυτό ακριβώς δεν αισθάνεται δεξιά
για να ξεκινήσει μια αλλαγή γραμμής σταματήσει στη συνέχεια με τίποτα στο μεταξύ.
>> Έτσι, η σύμβαση είναι σε HTML για να ανοίξει και να κλείσει μια ετικέτα ταυτόχρονα.
Ως μέρος, θα δείτε πολλές ιστοσελίδες σε βιβλία δεν το κάνουμε αυτό.
Είναι σωστό να κάνουμε ή να μην το κάνει, αλλά μπορούμε να πούμε
ότι ο σχεδιασμός-σοφός και στυλιστικά, αυτό είναι ακριβώς καλύτερα
γιατί τότε κάθε ετικέτα είναι τόσο ανοίγει και κλείνει με κάποιο τρόπο.
Έτσι τώρα ας αποθηκεύσετε και να φορτώσετε εκ νέου. Επιστρέψτε στο πρόγραμμα περιήγησης, εντάξει.
Τώρα είμαστε σημειώσει κάποια πρόοδο, αλλά αυτό δεν είναι αρκετό.
Ας πάμε μπροστά και να αρχίσετε να πληκτρολογείτε σε κάποιο μεγαλύτερο σώμα του κειμένου.
Έτσι, ας πούμε, "Μια γρήγορη καφέ αλεπού πηδάει πάνω από ένα χαλαρό σκυλί."
Και τώρα επιτρέψτε μου να αντιγράψετε και να επικολλήσετε αυτό μερικές φορές
έτσι ώστε να έχουμε μια παράγραφο του κειμένου.
Επιτρέψτε μου να επανέλθω εδώ. Έτσι δεν ψάχνει πολύ καλή.
Έχω μια αλλαγή γραμμής, έτσι ώστε να είναι εντάξει,
αλλά τώρα, όταν παίρνουμε το σημείο που έχει μια ιστοσελίδα
η οποία έχει πολλά περιεχόμενο και όχι μόνο και μόνο για να αποδείξει γραμμές HTML,
μπορούμε να αρχίσουμε να σκεφτόμαστε αυτά τα πράγματα όπως πραγματικά παραγράφους.
Και μπορούμε να αρχίσουμε να δομήσει την ιστοσελίδα μας λίγο πιο καθαρά.
Και πράγματι, αυτό που μπορώ να κάνω είναι να πάτε εδώ μέσα του tag το σώμα μου,
και ξέρετε τι, αν «Αυτό είναι CS50. . ". πραγματικά demarks την αρχή μιας παραγράφου,
καλά, ας ετικέτα ως τέτοια.
Επιτρέψτε μου περίπτωση, το κείμενο, μόνο με σύμβαση, επιτρέψτε μου να πω
ότι η παράγραφος αυτή τελειώνει εδώ,
και στη συνέχεια, αντί να κάνουν το διάλειμμα γραμμή, επιτρέψτε μου να πω
ότι αυτό ανήκει εκεί και ως μια νέα παράγραφο,
και εγώ θα πρέπει ακριβώς γρήγορα περίπτωση από μόνο πειράζουν όλα αυτά τα πράγματα.
>> Έτσι τώρα έχουμε μια εσοχή παραγράφου εκεί,
σήμανσης και τώρα μας έχει αρχίσει να πάρετε μια λίγο πιο
σημασιολογικά συνεπής με αυτό που προσπαθούμε να κάνουμε.
Έχουμε μια παράγραφο, οπότε ας το ονομάσουμε μια παράγραφο με την ετικέτα p.
Έχουμε μια δεύτερη παράγραφο, οπότε ας το ονομάσουμε μια παράγραφο με την ετικέτα p.
Και τώρα, τι ο browser θα κάνει συνήθως
είναι ακριβώς όπως σε ένα αγγλικό βιβλίο ή ένα δοκίμιο,
όπου θα δείτε συνήθως κάποιες αλλαγές γραμμής μεταξύ των παραγράφων.
Τα προγράμματα περιήγησης θα το κάνει αυτό για σας αυτόματα.
Έτσι τώρα έχουμε δύο παραγράφους και μπορούμε να συνεχίσουμε αυτό.
Αλλά, φυσικά, στο διαδίκτυο, όταν έχετε φορείς του κειμένου
δεν είναι συνήθως απλά τεράστιες σταγόνες του κειμένου.
Υπάρχουν συχνά υπερ-συνδέσεις εκεί.
Έτσι, αν θέλουμε, για παράδειγμα, περιλαμβάνει μερικές συνδέσεις εκεί,
ας υποθέσουμε τι θα μπορούσε να είναι ενδιαφέρον σε ό, τι ιστοσελίδα Είμαι εδώ είναι η δημιουργία -
επιτρέψτε μου να πάει στο Google.com,
και επιτρέψτε μου να ψάξει για ένα γρήγορο καφέ αλεπού.
Πηγαίνετε στο Google εικόνες, και, σχετικά με το πώς - αυτό είναι χαριτωμένο.
Θα πάμε με αυτό. Έτσι εδώ έχουμε ένα γρήγορο άλμα καφέ αλεπού πάνω από ένα χαλαρό σκυλί.
Λοιπόν, τι Πάω να κάνουμε εδώ, μόνο και μόνο για λόγους επίδειξης,
είναι ας υποθέσουμε ότι αυτή η εικόνα ήταν στον server μου,
και είχα τη δημιουργία αυτών των εικόνων.
Αυτό που έκανε ήταν απλά κάντε δεξί κλικ ή τον έλεγχο κλικ πάνω στην εικόνα,
και τι θα δείτε στα περισσότερα προγράμματα περιήγησης είναι ένα μικρό μενού -
να σταματήσει το κάνουμε αυτό - ένα μικρό μενού που σας επιτρέπει να επιλέξετε αντίγραφο θέση του συνδέσμου ή URL αντίγραφο.
Έτσι, επιτρέψτε μου να πάω πίσω τώρα σε HTML μου, και ας υποθέσουμε ότι θέλω
για αυτό το υπερ-σύνδεσης σε μια άλλη ιστοσελίδα.
>> Ποια ήταν η ετικέτα που ονομάζεται γι 'αυτό;
[Φοιτητών, ακατάληπτο] >> Ναι. Έτσι, a href για υπερ αναφορά.
Επιτρέψτε μου να προχωρήσει και να επικολλήσετε ότι μέσα
Είναι ένα αρκετά μακρύ URL, οπότε επιτρέψτε μου να μεγεθύνετε έξω.
Κλείσιμο παρένθεση, οπότε τώρα είμαι παρατηρήσετε τον τρόπο εδώ
επειδή η διεύθυνση URL που συνέβη να είναι αρκετά μεγάλο.
Επιτρέψτε μου να μετακινηθείτε προς τα πάνω από εδώ μέχρι το τέλος του γρήγορη καφέ αλεπού,
και στη συνέχεια, επιτρέψτε μου να κλείσει με αυτήν την ετικέτα </ a,
όπου έκλεισα μόνο το όνομα της ετικέτας.
Τώρα, επιτρέψτε μου να προχωρήσει και να αποθηκεύσετε το αρχείο, επαναλάβετε τη φόρτωση της ιστοσελίδας,
και τώρα, από προεπιλογή, αυτό πρόκειται να υπογραμμίζεται και μπλε για μένα,
αλλά πράγματι, μπορώ τώρα να κάντε κλικ σε αυτό και voila. Δεν υπάρχει αυτή η εικόνα.
Και αυτό δεν πρέπει να είναι μια εικόνα? Θα μπορούσε να συνδέεται με
σε κάποια άλλη τυχαία ιστοσελίδα στο Διαδίκτυο.
Θα μπορούσα να κάνω αυτό, για παράδειγμα, με CS50, έτσι ένα τελευταίο παράδειγμα εδώ.
«Αυτό είναι CS50« θα μπορούσε να έχει νόημα να πάμε ένα, href =
http://www.cs50.net, κοντά απόσπασμα, κοντά άγκυρα.
Έτσι, τώρα που είναι ακόμα πιο URL, και αυτή τη φορά δεν πρόκειται να συνδεθούν με μια εικόνα.
Είμαστε αντί πρόκειται να συνδεθεί με μια άλλη σελίδα.
Τώρα, έχουμε μια εικόνα εδώ.
Νιώθω σαν να μπορούμε να κάνουμε λίγο καλύτερη από ό, τι ακριβώς σύνδεση σε μια εικόνα.
Τι γίνεται αν θέλουμε να ενσαρκώσει στην πραγματικότητα στη δική μας ιστοσελίδα;
>> Λοιπόν, τι μπορώ να κάνω εδώ είναι, αντί να συνδέονται με αυτό το γραφικό,
επιτρέψτε μου να κοπεί, αντί το URL, και θα απαλλαγούμε από αυτό το υπερ-σύνδεσης και να καθαρίσει αυτό επάνω.
Και θα πάμε εδώ κάτω και να απαλλαγούμε από αυτό.
Δεν χρειάζεται πραγματικά όλα αυτά τα ποινές τώρα, οπότε επιτρέψτε μου να συντομεύσει την σελίδα λίγο.
Και στη συνέχεια κάτω εδώ επιτρέψτε μου να προχωρήσει σε μια νέα παράγραφο,
πω ότι δεν θέλετε το κείμενο τώρα? Θέλω μια εικόνα των οποίων η πηγή θα είναι ότι η διεύθυνση URL.
Μια εικόνα, όπως μια αλλαγή γραμμής, είτε είναι εκεί ή δεν είναι.
Επιτρέψτε μου λοιπόν να κλείσει αμέσως την ετικέτα.
Επιτρέψτε μου τώρα να προχωρήσει και να κλείσει την παράγραφο που είμαι μέσα,
και αν όλα πάνε καλά με γειά σου, τον κόσμο, αν φορτώσετε τώρα,
Ι, πράγματι, δείτε δεξιά μέσα τη δική του ιστοσελίδα μου μια εικόνα.
Έτσι τώρα έχουμε μια ετικέτα εικόνας, μια ετικέτα άγκυρα και τα παρόμοια,
και για το καλό μέτρο, επιτρέψτε μου να κάνω ένα άλλο πράγμα που είναι συχνά παραμελούνται
στις ιστοσελίδες αυτές τις μέρες: Ας παρέχουν κάποια περιγραφικό κείμενο για αυτή την εικόνα
για τους ανθρώπους που βρίσκονται σε μια φορητή συσκευή
και ως εκ τούτου μπορεί να μην είναι σε θέση να κατεβάσετε αυτή την εικόνα πολύ γρήγορα,
για τους ανθρώπους που είναι τυφλοί και δεν θα μπορούσε να είναι σε θέση να δείτε την εικόνα
αλλά θα μπορούσαν να έχουν ένα πρόγραμμα ανάγνωσης οθόνης που μπορεί να τους πει τι είναι αυτή η εικόνα της.
Και για να το κάνουμε αυτό, υπάρχει και ένα άλλο χαρακτηριστικό για ετικέτες εικόνας
alt ονομάζεται, για εναλλακτικό κείμενο.
Και τι μπορώ να κάνω εδώ είναι να πει, «Αυτή είναι μια γρήγορη καφέ αλεπού».
Έτσι ώστε, ακόμη και αν ο άνθρωπος δεν μπορεί να δει την εικόνα στην οθόνη,
αυτός ή αυτή μπορεί τουλάχιστον να ακούσει, όπως με κάποιο κομμάτι του λογισμικού,
τι πραγματικά υπάρχει στην οθόνη.
>> Αυτό δεν θα αλλάξει την αισθητική της σελίδας,
αλλά σίγουρα είναι καλή πρακτική για τους χρήστες.
Εντάξει, ας αφήσουμε αυτή την ιστοσελίδα στη σημερινή του μορφή,
αλλά ας δούμε αν μπορούμε να μην μπορούν πλέον να εισάγουν
κάποιες προσεγγίσεις καλύτερα να γράφω αυτές τις ιστοσελίδες,
κάποια μαθήματα που πρόκειται να μας εξυπηρετήσει καθώς και σελίδες μας γίνονται όλο και πιο πολύπλοκα.
Αυτό που δεν πρόκειται να κάνει κατά τη διάρκεια των επόμενων εβδομάδων
είναι τα πόδια σας μέσα από όλες τις αρκετές δεκάδες ετικέτες HTML ότι υπάρχουν.
Όπως ακριβώς στο μηδέν πίσω στην εβδομάδα 0, κατά πάσα πιθανότητα θα είναι αρκετό
για να δώσει ένα υψηλού επιπέδου επισκόπηση ορισμένων από τις έννοιες,
μια γρήγορη ξενάγηση μερικά από τα μπλοκ που ήταν πιθανότατα σε θέση,
πολύ άνετα, να περιηγηθείτε μόνοι σας, τα διάφορα κομμάτια του παζλ.
Και αυτό πρόκειται να συμβεί ξανά σε HTML, κατά πάσα πιθανότητα,
σύμφωνα με την οποία υπάρχει άφθονη πόρους στο Web που θα σας σημείο σε,
διάφορα βιβλία, αν προτιμάτε να διαβάσετε ένα βιβλίο,
που θα σας καθοδηγήσει μέσα από όλα τα διάφορα πράγματα που μπορείτε να κάνετε με την HTML,
αλλά πραγματικά, έχουμε δει μέχρι τώρα σε HTML περισσότερες από τις βασικές έννοιες.
Έχουμε την έννοια των ετικετών που ανοίγουν, κλείνουν ετικέτες.
Ορισμένες ετικέτες που αμφότερα ανοίγει και να κλείνει
με την έννοια ότι είναι άδειο? θα πρέπει να υπάρχει τίποτα μέσα τους
σαν μια ετικέτα εικόνας ή αλλαγή γραμμής, η οποία είναι ακριβώς εκεί.
Εξετάσαμε επίσης ήδη στην ιδέα ενός χαρακτηριστικού, όπως alt ή πηγή.
Σημειώστε ότι αυτά τα λόγια τείνουν, κατά συνθήκη, να είναι σύντομη και περιεκτική.
>> Δεν έχουν τη διακριτική ευχέρεια πάνω από τα λεγόμενα αυτά τα πράγματα,
κάποιος άλλος που εφευρέθηκε HTML ήρθε με αυτά τα ονόματα.
Έτσι, απλά πρέπει να αρχίσουν να γνωρίζουν ή να κοιτάζω προς τα πάνω, κάθε φορά που τα έχουν ανάγκη,
τι είναι τα ονόματα για αυτές τις ετικέτες και χαρακτηριστικά.
Στην περίπτωση αυτών των χαρακτηριστικών, αποδίδει γενικά
τροποποιήσει τη συμπεριφορά του κάποια ετικέτα.
Στην περίπτωση αυτή, το χαρακτηριστικό πηγή λέει την ετικέτα εικόνας
ποια είναι η πηγή της εικόνας θα πρέπει να είναι.
Η ιδιότητα href αφηγείται την ετικέτα άγκυρα ό, τι θα έπρεπε στην πραγματικότητα να σύνδεση.
Αλλά από την άποψη της δομής μιας ιστοσελίδας, παρόλο Facebook
και η Google και τα παρόμοια εμφάνιση όπως ένα πλήρες χάος
κάτω από το καπό με την πρώτη ματιά, αν αρχίσετε να διαβάσετε μέσα από αυτό
πιο μεθοδικά, ακολουθούν όλο αυτό το υλικό, το βασικό δομή.
Αλλά μπορούμε να βελτιώσουμε το στυλιζάρισμα από αυτά τα πράγματα.
Έτσι, επιτρέψτε μου να πάω σε κάποια παραδείγματα που έχω προετοιμαστεί εκ των προτέρων.
Επιτρέψτε μου να πάμε μπροστά και να τα αντιγράψετε από άλλο φάκελο εδώ
και να τους φέρουν σε αυτόν τον κατάλογο.
Στην εκ των προτέρων, τι έκανα ήταν να προετοιμάσει μερικά αρχεία:
search0, search1, search2, και search3 και 4.
Επιτρέψτε μου να πάμε μπροστά και να ανοίξει το πρώτο από αυτά τα αρχεία,
και ας δούμε αν δεν μπορούμε να αρχίσουμε να δημιουργήσει τη δική του μηχανή αναζήτησής μας.
Στην κορυφή αυτού του αρχείου, όπως είναι συνήθως η περίπτωση στην τάξη, ένα μάτσο σχόλια.
Στην HTML, όμως, τα μέσα με τα οποία ξεκινάτε ένα σχόλιο
είναι <- και τότε είστε μέσα από ένα σχόλιο, ένα πολυ-line σχόλιο.
Όταν είστε έτοιμοι για να σταματήσει αυτό το σχόλιο, μπορείτε να κάνετε ->.
Έτσι, πάντα στην κορυφή με μπλε χρώμα είναι μόνο ένα σχόλιο.
>> Αυτό είναι doctype δήλωση μου, η οποία και πάλι,
μπορείτε απλά να αντιγράψετε και να επικολλήσετε στην πίστη, για τώρα.
Αυτό ακριβώς λέει το πρόγραμμα περιήγησης, «Εδώ έρχεται μερικές HTML 5.
Κάτω από αυτό, στη γραμμή 14, είναι το πρώτο του πραγματικό ετικέτες μου,
και αυτό λέει ακριβώς, όπως και πριν, εδώ έρχεται κάποια HTML,
εδώ έρχεται η επικεφαλής της σελίδας μου, εδώ έρχεται ο τίτλος,
και στη συνέχεια, αντιστρόφως, αυτό είναι για τον τίτλο, αυτό είναι για το κεφάλι.
Εδώ έρχεται τώρα το σώμα της σελίδας μου.
Έτσι, ένα ζευγάρι νέων ετικετών τώρα: h1 σημαίνει για τον τομέα 1.
Υπάρχει μια παράδοση στην HTML για πολλά χρόνια πίσω
της έχουν διαφορετικά μεγέθη του κειμένου.
Και πίσω στην ημέρα, το καθένα σήμαινε, σε γενικές γραμμές, μόνο μεγάλο και τολμηρό.
Αλλά υπάρχει επίσης και h2, η οποία είναι μεγάλη, αλλά δεν είναι τόσο μεγάλο και τολμηρό.
Υπάρχει h3, το οποίο είναι το είδος των μεγάλων, αλλά δεν είναι τόσο μεγάλο και τολμηρό,
και ούτω καθεξής, σε όλη τη διαδρομή προς τα κάτω h6.
Αυτές τις μέρες, όμως, Η1, Η2 και Η3 είναι πραγματικά σήμαινε
να έχει περισσότερο νόημα να σημασιολογική τους,
όπου h1 είναι πραγματικά ένας τίτλος: ο τίτλος μιας ιστοσελίδας,
Ο τίτλος της στήλης ή κάτι τέτοιο από το κείμενο.
Έτσι έχω σκόπιμα είπε h1 CS50 αναζήτηση> h1
έτσι ώστε να διευκρινίζεται ότι αυτό είναι πραγματικά ο τίτλος, ο τίτλος της σελίδας μου.
Δεν είναι ο τίτλος με την έννοια γραμμή τίτλου,
αλλά ο τίτλος που πραγματικά να δείτε στην ιστοσελίδα ίδια, στο σώμα.
Τώρα αυτό, μπορείτε να μαντέψετε τι είναι,
ακόμα κι αν έχουμε μερικά νέα κομμάτια της σύνταξης.
Αυτό είναι μια μορφή. Έτσι, το web γίνεται πραγματικά ενδιαφέρον
όταν ιστοσελίδες πάρετε είσοδο από τους χρήστες.
Σε αυτή την κατηγορία, το πρόβλημα που αφορά τον προγραμματισμό web,
εμείς δεν πρόκειται να κάνει μια ιστοσελίδα, per se,
με στατικό περιεχόμενο που δείχνει τις φωτογραφίες που έχετε λάβει,
ή αυτό είναι το βιογραφικό μου, και τα πράγματα για μένα,
επειδή αυτά τα πράγματα είναι σχετικά εύκολο να βάλει μαζί.
Είναι δύσκολο να κάνει τα πράγματα όμορφα στο Web,
αλλά τουλάχιστον να βάλει επάνω το περιεχόμενο είναι αρκετά ασήμαντο.
Όμως, τα πράγματα γίνονται πολύ ενδιαφέροντα όταν κάποιος μπορεί να επισκεφθεί την ιστοσελίδα σας
και θα παράσχει στοιχεία και μπορούν να συμπληρώνουν φόρμες,
μπορεί να ελέγξει από κουτάκια και μπορούν να αλληλεπιδρούν με την ιστοσελίδα σας.
Και πράγματι, κατά πάσα πιθανότητα κάθε ιστοσελίδα που σας ενδιαφέρουν
αυτές τις μέρες, με κάθε λεπτομέρεια, είναι κατά κάποιο τρόπο διαδραστικό.
Facebook, Google, και τα παρόμοια, που να εισάγει ο χρήστης
και την παραγωγή προσαρμοσμένη εξόδου.
>> Ας αρχίσουμε να το κάνουμε αυτό τώρα. Ας μετάβαση τώρα
από απλά χρησιμοποιώντας HTML για τη σήμανση των στατικό περιεχόμενο
αντί ως ένας μηχανισμός για την παράδοση δυναμικού περιεχομένου.
Και προς αυτή την κατεύθυνση, ας εφαρμόσει τη δική μας μηχανή αναζήτησης.
Ας το κάνουμε ως εξής. Εδώ είναι η ετικέτα μορφή.
Το χαρακτηριστικό δράσης ορίζει ότι, όταν ο χρήστης συμπληρώνει αυτή τη φόρμα
με το πληκτρολόγιο τους, θα υποβληθεί σε αυτό το URL εδώ.
Έτσι είμαι το είδος της εξαπάτησης. Είναι πρόκειται να μας πάρει λίγο περισσότερο χρόνο
από μία τάξη να εφαρμόσει το σύνολο της μηχανής αναζήτησης,
έτσι θα κάνουμε ακριβώς το εμπρόσθιο άκρο, να το πω έτσι.
Θα κάνουμε το μέρος που σας επιτρέπει την αναζήτηση των χρηστών, και θα ταξινομήσετε της κλωτσιάς στο Google
το δύσκολο μέρος για την εξεύρεση των αποτελεσμάτων αναζήτησης,
αλλά, συγκεκριμένα, θα πάω να μιλήσω με τον web server της Google
χρησιμοποιώντας μία από δύο πολύ δημοφιλείς μεθόδους.
Ένας να πάρει, μια άλλη, ότι τελικά θα δούμε, είναι θέση,
αν και υπάρχουν άλλοι που είναι λιγότερο συχνά χρησιμοποιούνται.
Έτσι πάρτε μόνο φέρνει στο νου την ιδέα του, θέλω να πάρω κάποιο περιεχόμενο, να πάρετε κάποια αποτελέσματα αναζήτησης.
Αυτό, ίσως μπορείτε να μαντέψετε τι κάνει αυτό.
Αυτό είναι κάποιο είδος της εισόδου, είναι, στην πραγματικότητα, πρόκειται να μοιάσει με ένα πεδίο κειμένου,
και το όνομα αυτής της εισόδου, το όνομα της μεταβλητής, να το πω έτσι,
πρόκειται να q για αναζήτηση από την σύμβαση.
Και πάλι, ο τύπος αυτής της εισόδου δεν πρόκειται να είναι ένα κουτάκι?
δεν πρόκειται να είναι ένα μενού? πρόκειται να είναι ένα πεδίο κειμένου
όπως υποδηλώνεται από αυτό το χαρακτηριστικό εδώ, και αυτό το πλαίσιο κειμένου,
όπως αλλαγή γραμμής, είτε είναι εκεί ή όχι.
Έτσι έχουμε ένα άδειο στοιχείο με το κάθετο μέσα σε αυτό το tag.
Στη συνέχεια, Πάω να θέσει ένα διάλειμμα γραμμή, και μπορείτε, ίσως, μάντεψε τι αυτό πρόκειται να κάνει.
Αυτό είναι ένα άλλο είδος της input μορφή.
>> Αυτός πρόκειται να χρησιμοποιηθεί για την υποβολή του εντύπου.
Έτσι, αυτό θα είναι το μεγάλο κουμπί που ο χρήστης μπορεί να κάνει κλικ για να υποβάλετε το έντυπο,
και η ετικέτα σε αυτό το κουμπί πρόκειται να είναι «CS50 Αναζήτηση».
Κλείσιμο μορφή, κοντά σώμα, κοντά HTML.
Ας δούμε τι έχουμε με τη μορφή αυτής της ιστοσελίδας.
Έτσι, επιτρέψτε μου να πάω στον browser μου,
άσε με να φύγω, ακόμα, στην τοπική υποδοχής.
Αυτή εξακολουθεί να είναι index.html, οπότε αν θέλω να δω αυτό το αρχείο ονομάζεται search0,
Μπορώ να κάνω απλά / search0.html, εισάγετε -
και το πρώτο από τα λάθη μου.
Τι συμβαίνει; Εγώ σαφώς δεν έχουν άδεια
για να αποκτήσετε πρόσβαση σε αυτό το αρχείο, για κάποιο λόγο.
Αλλά αυτό είναι επειδή, σε αντίθεση με το έργο που έχουμε κάνει μέχρι στιγμής σε C,
όπου τα προγράμματα που γράφουν ότι είναι runable από εσάς,
εκτελέσιμο από εσάς, αυτό δεν είναι πραγματικά η περίπτωση στο Web,
σύμφωνα με την οποία μερικές φορές μπορεί να θέλετε να δημιουργήσετε αρχεία σε ένα διακομιστή,
αλλά δεν θέλετε ο κόσμος να είναι σε θέση να τους δουν.
Αντ 'αυτού, θέλετε ο κόσμος να δει κάποια αρχεία
αλλά όχι τους άλλους, μόνο και μόνο για χάρη της ιδιωτικής ζωής του.
Γι 'αυτό είναι περισσότερο από ένα opt-in βάση όταν κάνεις τα πράγματα στο διαδίκτυο.
Και επιτρέψτε μου να πληκτρολογήσετε ls πραγματικά εδώ,
και μπορείτε να δείτε τα αρχεία που έχω, αλλά θυμάμαι ότι αν κάνω ls-l για καιρό,
Θα πάρω μια μεγαλύτερη επιχείρηση που μου δίνει κάποιες περισσότερες λεπτομέρειες σχετικά με αυτά τα αρχεία
που είναι τώρα, πραγματικά, για πρώτη φορά σχετικά με εμάς.
Παρατηρήστε ότι στην άκρη δεξιά είναι τα ονόματα των αρχείων μου,
και στη συνέχεια ο χρόνος κατά τον οποίο τροποποιήθηκε τελευταία φορά ή να αντιγραφεί.
Αυτός ο αριθμός εδώ είναι τι; Θυμάστε;
Το μέγεθος σε bytes, πόσο μεγάλο είναι το αρχείο είναι.
>> Γι 'αυτό και φαίνεται να έχουν κάποιο είδος του λογότυπου εδώ που είναι μεγαλύτερο από ό, τι όλα τα άλλα αρχεία.
Αυτό είναι αυτό που είμαι, αυτό είναι ό, τι είμαι και τι ομάδα είμαι μέσα
Στη συνέχεια, όμως, εδώ στα αριστερά είναι λίγο αινιγματικό ακολουθία,
και μιλήσαμε, νομίζω, εν συντομία για το θέμα αυτό στο παρελθόν,
αλλά αυτό έχει να κάνει με τις άδειες.
Και ακόμα κι αν αυτό είναι λίγο θολό,
RW σημαίνει πιθανώς διαβάσει και να γράφουν.
Έτσι, αποδεικνύεται ότι αυτές οι παύλες δηλώνουν διαφορετικά σύνολα δικαιώματα για διαφορετικούς ανθρώπους.
Και το σχέδιο είναι, ουσιαστικά, ως εξής.
Όταν βλέπετε μια σειρά από παύλες εδώ, φαίνονται ως εξής.
Υπάρχει μια παύλα, τότε υπάρχει τρεις παύλες,
τότε υπάρχει ένας άλλος τρία, τότε υπάρχει ένα άλλο τρεις.
Το πρώτο είναι είτε μια παύλα ή διαφήμιση είναι για τον κατάλογο.
Έτσι, ότι το ένα είναι αρκετά εύκολο. Αν είναι ένας φάκελος, λέει δ, αλλιώς είναι ένα ενωτικό.
Υπάρχει ένα ζευγάρι άλλες περιπτώσεις, αλλά για τώρα θα το μόνο που νοιάζονται για τα αρχεία και τους καταλόγους.
Οι επόμενες τρεις παύλες - και έχω τοποθετηθεί τεχνητά τους χώρους.
Ήταν, προφανώς, δεν είναι εκεί όταν τους είδαμε πριν από λίγο.
Αυτά είναι τα δικαιώματα του ιδιοκτήτη του αρχείου,
και ανάκληση από ένα δευτερόλεπτο πριν ότι είχε διαβάσει και να γράφουν.
Αυτό ήταν επειδή εγώ, ως το πρόσωπο που δημιούργησε αυτό το αρχείο πριν από λίγο,
Ι, μόνο από προεπιλογή, σε έναν υπολογιστή Linux,
έχουν τη δυνατότητα να συνεχίσετε την ανάγνωση και το γράψιμο αυτού του αρχείου.
>> Έτσι, το λειτουργικό σύστημα μου δίνει ακριβώς RW αυτόματα.
Τα μέσα αυτά σχετίζονται με την ομάδα μου, ότι από τους φοιτητές,
το οποίο είναι το είδος της νόημα στη συσκευή, επειδή είμαι το μόνο πρόσωπο που χρησιμοποιεί τη συσκευή.
Έτσι, επιτρέψτε μου να ανεμίζουν τα χέρια μου στο ότι προς το παρόν.
Όμως, τα τελευταία από αυτά είναι πιο σημαντικά για το Web.
Αυτό είναι όλοι οι άλλοι στον κόσμο, και το γεγονός
ότι αυτό --- σημαίνει ότι κανένας άλλος στον κόσμο
έχει οποιαδήποτε δικαιώματα σε αυτό το αρχείο.
Είναι σαφές ότι ένα πρόβλημα, γι 'αυτό πρέπει να το διορθώσω αυτό
με κάποιο τρόπο δίνοντας στον κόσμο τι; Διαβάστε και γράψτε;
Αυτό είναι μάλλον χαζό, έτσι δεν είναι; Δεν θέλω κανέναν στο Web
να πάτε να επισκεφτείτε τη σελίδα μου και με κάποιο τρόπο να αλλάξει αυτό το αρχείο,
ακόμα κι αν πραγματικά δεν θα μπορούσε με ένα αρχείο HTML,
αλλά μόνο στην αρχή, ίσως απλά θέλουν να είναι σε θέση να το διαβάσετε.
Τι σημαίνει αυτό για να το διαβάσετε; Αυτό δεν σημαίνει ότι πρόκειται να ενδιαφέρονται για την πραγματική HTML,
αλλά το πρόγραμμα περιήγησης πρέπει να είναι σε θέση να αναλύσει τη γλώσσα σήμανσης,
πάνω προς τα κάτω, αριστερά προς τα δεξιά.
Έτσι, κάποιος στο διαδίκτυο πρέπει να είναι σε θέση να το διαβάσετε, γι 'αυτό ελάχιστα πρέπει να δώσει r.
Μπορώ να το κάνω αυτό σε λίγες διαφορετικούς τρόπους, αλλά ίσως
το απλούστερο είναι να εκτελέσετε την εντολή αυτή εδώ.
Chmod, λειτουργία αλλαγής, τότε a + r, ώστε όλοι, ο καθένας στον κόσμο + διαβάσετε,
και στη συνέχεια το όνομα του αρχείου, search0.html.
>> Τώρα αν κάνω ls-l και πάλι, παρατηρούμε ότι το αρχείο έχει αλλάξει,
και πράγματι, έχω ενεργοποιημένο r για τον καθένα.
Έχω μετατραπεί επίσης σε για την ομάδα μου, αλλά αυτό είναι εντάξει,
γιατί αν γύρισα σε σχετικά για τον καθένα, η ομάδα μου είναι ένα υποσύνολο αυτού.
Έτσι, αυτό είναι πάρα πολύ ωραία. Αυτό σημαίνει απλά ο υπολογιστής έχει πλέον καταστήσει αναγνώσιμο.
Τώρα, επιτρέψτε μου να πάω πίσω στο πρόγραμμα περιήγησής μου, κάντε κλικ στην επιλογή reload.
Ah-ha. Έχουμε τώρα CS50 Αναζήτηση.
Έχω ζουμ σε μια μικρή τεχνητή - αρκετά φρικτή μηχανή αναζήτησης.
Αλλά ας δούμε αν λειτουργεί πραγματικά.
Κατ 'αρχάς, επιτρέψτε μου να κάνω ένα γρήγορο έλεγχο λογική, επιτρέψτε μου να ελέγξει κάντε κλικ και δείτε τη σελίδα πηγή.
Παρατηρήστε ότι στο Chrome βλέπουμε τώρα την ίδια HTML που εγώ ο ίδιος δημιούργησε.
Μην μπερδευτείτε εδώ, όμως. Δεν μπορώ να αρχίσει να αλλάζει τον κωδικό εδώ,
επειδή το πρόγραμμα περιήγησης έχει μια προβολή μόνο για ανάγνωση αυτού του κώδικα.
Το πρόγραμμα περιήγησης ζήτησε μόνο τοπικό κεντρικό υπολογιστή για ένα αρχείο που ονομάζεται search0.html.
Είναι πλέον καθαρή σύμπτωση το γεγονός ότι η συσκευή
συμβαίνει να είναι στον ίδιο υπολογιστή ως browser μου.
Θα μπορούσα απλά να έχει, ισοδύναμα, έχουν πληκτρολογηθεί σε www.facebook.com/search0.html,
και αν είχε Facebook ένα αρχείο που ονομάζεται ότι, στη συνέχεια, θα ήθελα να βλέπουν τους HTML.
Και, φυσικά, δεν μπορώ να αλλάξω το αρχείο που έρχεται πίσω από το Facebook, είτε.
Έτσι τώρα είμαστε είδος θολώνοντας τις γραμμές.
Η συσκευή είναι τόσο ένας διακομιστής, που εξυπηρετούν έως και ιστοσελίδες,
αλλά είναι επίσης και ένας πελάτης, με την έννοια ότι είμαι με τη χρήση ενός προγράμματος περιήγησης
να μιλήσουμε πραγματικά σε αυτόν το διακομιστή.
Ας δούμε λοιπόν αν το Google μηχανή αναζήτησης μου δουλεύει.
Επιτρέψτε μου να πάμε μπροστά και να ψάξει για γρήγορη καφέ αλεπού, εισάγετε.
Και ιδού, τώρα έχω τη δική μου μηχανή αναζήτησης.
>> Αλλά πώς αυτό το έργο;
Κομμάτι από ένα τέντωμα, αλλά - και τώρα δεν μπορείτε να δείτε, ακριβώς, το μέρος αυτό είναι ενδιαφέρον.
Παρατηρήστε τι συμβαίνει.
Ανακοίνωση για τη διεύθυνση URL. Αποδεικνύεται ότι η μέθοδος αυτή,
καλείται να πάρει, είναι εξαιρετικά απλή.
Όταν καθορίζετε σε μια φόρμα που θέλετε να «πάρει» τα αποτελέσματα από κάποιο διακομιστή,
ό, τι πρόκειται να κάνετε είναι να πάρετε ό, τι πληκτρολογήσατε στη φόρμα
και να βάλει στη διεύθυνση URL.
Είναι πρόκειται να τυποποιήσει το πώς παίρνει μπει στο URL ως εξής.
Σημειώστε ότι αυτή είναι η διεύθυνση URL που ήταν η τιμή του χαρακτηριστικού δράση μου.
Αυτό είναι που ήθελα η φόρμα για να καταλήξετε.
Αλλά παρατηρήσετε στη συνέχεια, αυτό το ερωτηματικό.
Πρόκειται για μια σύμβαση για την οποία στο Web για να παρέχουν είσοδο του χρήστη
σε μια ιστοσελίδα, μπορείτε να προσθέσετε τη διεύθυνση URL ένα ερωτηματικό,
και στη συνέχεια, έχετε ένα σωρό ζευγάρια κλειδί-τιμή.
Το όνομα ενός κλειδιού, αλλιώς γνωστή ως παράμετρος στο Web,
τότε έχετε ένα ίσον, τότε έχετε την αξία αυτής της παραμέτρου.
Γι 'αυτό είναι ουσιαστικά ένα όνομα μεταβλητής και μια μεταβλητή τιμή,
αλλά τα ονόματα και τιμές αυτές μεταβλητή ήρθε από τη μορφή HTML.
Γιατί οι συν εκεί, δεν νομίζετε;
Επειδή δεν είχα πληκτρολογήστε + ανάμεσα στις λέξεις μου.
[Φοιτητών, ακατάληπτο]
>> Ναι, είναι ακριβώς για την απόσταση. Οι πιθανότητες είναι, κάθε φορά που έχετε δει ένα URL,
Δεν υπάρχει ποτέ οποιαδήποτε κενά σε αυτό, έστω και μόνο επειδή
αν υπήρχαν, δεν θα μπορούσε πραγματικά να αντιγράψετε και να επικολλήσετε
σε IM ή σε ένα μήνυμα ηλεκτρονικού ταχυδρομείου, γιατί θα σπάσει.
Θέλετε το όλο θέμα να είναι μια συνεχόμενη σειρά χαρακτήρων.
>> Έτσι, ο browser είναι αρκετά έξυπνος για να συνειδητοποιήσουμε, uh-uh.
Μην τοποθετείτε μόνο ένα χώρο εκεί. Επιτρέψτε μου να κωδικοποιήσει το χώρο με κάποιο πρότυπο τρόπο.
Μία από τις συμβάσεις για να γίνει αυτό είναι να έχει το πρόγραμμα περιήγησης
τίθενται αυτόματα μια +, όπου θα έχετε μια διαφορετική χώρο.
Έτσι, τώρα, ανακοίνωση η Google έχει το είδος του χρήστη και εύχρηστο.
Σίγουρα δεν δημιούργησε αυτή την ιστοσελίδα,
αλλά έχουν τη δική prepopulated πεδίο κειμένου τους
με ό, τι, ακριβώς, θα πληκτρολογήσει μέσα
Ας υποθέσουμε ότι θέλω να ψάξει για κάτι άλλο, όπως ένα χαλαρό σκυλί.
Μπορώ να πληκτρολογήσετε μόνο αυτό εδώ, εκ νέου αναζήτηση.
Παρατηρήστε ότι η διεύθυνση URL αλλάζει εδώ,
αλλά στη συνέχεια παρατηρήσετε ότι μπορώ πράγματι να ψάξετε για κάτι που θέλω
μόνο με την κατανόηση πώς το έργο διευθύνσεις URL.
Θα μπορούσα να κάνω τεμπέλης γάτα, εισαγωγή,
παρατηρήσετε και τώρα παίρνω ένα πολύ τεμπέλης - θα πρέπει να είμαστε; Νιώθω σαν να έπρεπε.
Έχω μια πολύ τεμπέλης γάτα.
Εντάξει. Αυτό είναι ένα από τα πιο χαζό πράγματα που έχουμε κάνει.
Αλλά αυτό είναι μια γάτα τεμπέλης.
Εν πάση περιπτώσει, αυτό είναι το βασικό πακέτο εδώ;
Τώρα είμαστε είδος του παιχνιδιού στον κόσμο του HTTP.
HTML είναι ακριβώς αυτή η γλώσσα σήμανσης, ανοικτή ετικέτα, tag κλεισίματος,
που λέει το πρόγραμμα περιήγησης πώς να καταστήσει το περιεχόμενο σε μια ιστοσελίδα.
Αλλά όταν αρχίσουν να διαβιβάζουν δεδομένα μέσω του Internet
μεταξύ του web browser και server, αυτό είναι όπου αυτό το πρωτόκολλο
γνωστή ως HyperText Transfer Protocol αναλαμβάνει.
Αυτό είναι το είδος του ανθρώπου σύμβαση? Όταν ο Σαμ και εγώ τίναξε τα χέρια, τη Δευτέρα,
ξεκινώντας μια σύνδεση και στη συνέχεια, το κλείσιμο μιας σύνδεσης, η ίδια η ιδέα εδώ.
Πώς τα αποτελέσματα της Google έρχεται πίσω σε μένα;
Πώς υποβολή της φόρμας μου πηγαίνοντας στο Google;
Λοιπόν, θυμάμαι από την άλλη μέρα που ό, τι πραγματικά συμβαίνει
κάτω από το καπό όταν ζητάτε μια ιστοσελίδα είναι,
browser σας στέλνει ένα κάπως αινιγματικό μήνυμα-όπως
GET / HTTP/1.1 για την προεπιλεγμένη αρχική σελίδα.
>> Ή, στην περίπτωση αυτή, γιατί ειδικά ζητηθεί νωρίτερα
search0.html, τότε αυτό θα είναι το κάπως αινιγματικό μήνυμα-
ότι ο φυλλομετρητής μου στέλνει στη συσκευή.
Ή, στην περίπτωση αυτή της Google, τι πραγματικά αποστέλλονται
είναι ένα αίτημα προς / αναζήτησης και στη συνέχεια; q = τεμπέλης γάτα, με ένα συν εκεί.
Έτσι, αυτό το μήνυμα, ότι εγώ, ο άνθρωπος, είμαι ποτέ δακτυλογράφηση,
αλλά έχει σταλεί από το πρόγραμμα περιήγησης μου, αυτό είναι το πώς συμβαίνει HTTP.
Αυτό είναι το ισοδύναμο του ότι ανακινήθηκε χέρια μας.
Αυτό είναι το αίτημα, και ο server είναι έτοιμος να στείλει μια απάντηση.
Έτσι, ας ρίξουμε μια ματιά σε αυτό κάτω από την κουκούλα.
Όπως και πριν, μπορούμε να ανοίξουμε αυτό το ειδικό πεδίο σε ένα πρόγραμμα περιήγησης.
Δείτε τη σελίδα, να επιθεωρεί τα στοιχεία.
Έτσι, κάτω από επιθεωρήσει στοιχείο, παρατηρούμε ότι αυτό που συνέβη στο Chrome,
και IE και Firefox έχουν παρόμοιους μηχανισμούς,
έχουμε αυτά τα εργαλεία ανάπτυξης προσβάσιμα σε μας.
Κανονική άνθρωποι δεν χρησιμοποιούν αυτές τις καρτέλες.
Αλλά, τώρα, είναι ενδιαφέρονται για το τι συμβαίνει
κάτω από την κουκούλα στο επίπεδο του δικτύου.
Έτσι, αν έχω τραβήξει μέχρι το επίπεδο δικτύου εδώ,
επιτρέψτε μου να προχωρήσει και να επεκταθεί αυτό το παράθυρο,
ανοίξει αυτήν την καταχώρηση εδώ, και να εξετάσουμε τις κεφαλίδες.
Έτσι τι συμβαίνει όταν ζητά ένα αρχείο από έναν web server
Είναι browser μου στέλνει ένα σωρό πράγματα.
Και επιτρέψτε μου να δείτε πηγή. Έτσι, κάτω από τις κεφαλίδες αίτησης,
και αυτό ακριβώς δείχνει Chrome με κάποια διαγνωστική έξοδος,
περίπου όπως ένα πρόγραμμα εντοπισμού σφαλμάτων κάποιου είδους,
παρατηρήσετε ότι αυτό που έχω επισημανθεί εδώ είναι ακριβώς ό, τι
Chrome στέλνει στο διακομιστή, προκειμένου να ζητήσει ένα αρχείο με όνομα search0.html.
Είναι χαρακτηριστικό το διακομιστή αυτό που σκέφτεται είναι το όνομά του,
χάρη σε αυτόν τον τομέα του παχέος εντέρου υποδοχής, τότε υπάρχει κάποια
αρκετά απόκρυφα πράγματα εδώ, σαν κάτι να κάνει με τις ημερομηνίες και ώρες,
κάτι να κάνει με τις γλώσσες που καταλαβαίνει το πρόγραμμα περιήγησης,
αλλά οι πραγματικά σημαντικές γραμμές είναι αυτά τα δύο πρώτα εδώ.
>> Τι κάνει ο server ανταποκρίνεται με; Λοιπόν, αν μετακινηθείτε προς τα κάτω εδώ
και δείτε την πηγή του αυτό το πράγμα, να παρατηρήσετε ότι ο διακομιστής
ανταποκρίθηκε με μια κάπως αινιγματικό μήνυμα, καθώς, 304 δεν έχει τροποποιηθεί.
Αυτό είναι λίγο περίεργο? Επιτρέψτε μου να προσπαθήσω πραγματικά να διορθώσετε αυτό.
Επιτρέψτε μου να κρατάτε πατημένο το πλήκτρο SHIFT και κάντε κλικ reload εδώ
για να αναγκάσει το πρόγραμμα περιήγησης για να κάνουν πραγματικά αυτό το αίτημα για πρώτη φορά.
Στη συνέχεια, επιτρέψτε μου να μεγεθύνετε, και θα δούμε τώρα ότι η απάντηση του server,
επειδή είχα στροφή, είναι 200 ​​OK.
Έτσι έχετε δει ποτέ κατά πάσα πιθανότητα τον αριθμό 200
στο πλαίσιο του Web, αλλά τι αριθμούς
Μερικές φορές έχετε δει απροσδόκητα από ένα διακομιστή;
404, το αρχείο δεν βρέθηκε? 403, απαγορευμένο? 500, σφάλμα διακομιστή.
Έτσι, υπάρχουν αυτές οι αριθμητικοί κωδικοί που ο κόσμος χρησιμοποιεί το Web
για να δηλώσουν τα λάθη, όπως ακριβώς και Γ λειτουργίες
μπορεί να επιστρέψει τα λάθη και κυρίως να επιστρέψουν κωδικών εξόδου.
200, όμως, που σπάνια βλέπουμε, γιατί αυτό σημαίνει ότι όλα είναι καλά.
Και 304 ίσως επειδή ποτέ δεν δείτε τι σημαίνει αυτό;
Ότι τίποτα δεν έχει - ας δούμε αν μπορούμε να τη μιμηθεί και πάλι -
Ω, τώρα δεν είναι συνεργασία. 304 είπε ότι δεν τροποποιηθεί,
έτσι γιατί ήταν ο server ανταποκρίνεται ακόμα;
Λοιπόν, για την αποτελεσματικότητα, ένα web server αυτόματα για σας,
αν το αρχείο δεν έχει αλλάξει, δεν θα αναμεταδώσει το σύνολο της HTML αρχείο.
Θα πω μόνο το πρόγραμμα περιήγησης δεν έχει αλλάξει.
Απλά χρησιμοποιήστε το αντίγραφο που έχετε ήδη.
Έτσι υπάρχει αυτή η έννοια της προσωρινής αποθήκευσης στο Web
για την απόδοση, έτσι ώστε να μην χάνετε χρόνο και το εύρος ζώνης των αποβλήτων
λήψη αρχείων ξανά και ξανά χωρίς λόγο.
>> Αλλά αυτή την ιστοσελίδα, τώρα, ήταν εξαιρετικά απλή,
και το μόνο μου έδειξε την HTML που ήρθε πίσω.
Ας χρησιμοποιούν πραγματικά την καρτέλα του δικτύου τώρα να κάνετε μια αναζήτηση στο Google, όπως γρήγορη καφέ αλεπού.
Επιτρέψτε μου στη συνέχεια κάντε κλικ CS50 αναζήτηση,
και τώρα, παρατηρήσετε στο κάτω μέρος εδώ ένα σωρό πράγματα επέστρεψε
γιατί όταν επισκέπτομαι ένα πραγματικό δικτυακό τόπο όπως το Google.com,
έχουν εικόνες, έχουν το κείμενο, έχουν μια γλώσσα που ονομάζεται JavaScript εκεί.
Έτσι, κάθε σειρά στον πίνακα αυτό εδώ κάτω
αντιπροσωπεύει κάτι που το Google φτύσει σε απάντηση στην ενιαία αίτηση μου.
Το ένα με νοιάζει, όμως, είναι αυτή η πρώτη.
Και αν πάω στην αναζήτηση, αίτημα, κάντε κλικ εδώ δείτε την πηγή,
παρατηρήσετε ότι, πράγματι, το αινιγματικό μήνυμα ότι ο φυλλομετρητής μου έστειλε
στο Google ήταν αυτές οι δύο γραμμές εδώ,
ακολουθείται από κάποιο απόκρυφες πληροφορίες εδώ κάτω που θα αγνοήσει για τώρα.
Αλλά ειδοποίηση, πάρα πολύ, τι Chrome είναι αρκετά βολικό με,
είναι, επίσης, δείχνοντάς μου το ερώτημα συμβολοσειρά που στάλη
Έτσι, αντί να μου δείξει αυτό, το οποίο κυριολεκτικά αποστέλλονται,
αν δείτε αποκωδικοποιηθεί, Chrome, μόνο για σκοπούς εντοπισμού σφαλμάτων,
για τους προγραμματιστές σαν εμάς, είναι ακριβώς δείχνοντάς μου έναν άνθρωπο-friendly version του -
αυτό δεν είναι το πώς θα σημάνει αλεπού, προφανώς.
Είμαι παρατηρήσει ακριβώς αυτό τώρα - αλλά αυτό σας δείχνει ό, τι εγώ, προφανώς, πληκτρολογήσει.
Εν τω μεταξύ, η απάντηση που ήρθε πίσω από τον server είναι και πάλι 200 ​​OK.
Αλλά συμπεριλαμβάνεται στην απάντηση, φυσικά,
αν δείτε πραγματικά HTML της σελίδας -
Συγγνώμη, αυτό είναι μια μικρή συντόμευση πληκτρολογίου πάει στραβά σήμερα.
>> Θα ασχοληθώ με αυτό αργότερα. Έτσι, αν δείτε πραγματικά πηγή της σελίδας,
που μπορώ να κάνω εδώ κάτω πατώντας απάντηση,
αυτό είναι αυτό που πράγματι φτύσει πίσω, επιπλέον του εν λόγω κρυπτικό 200 ΟΚ μήνυμα από το διακομιστή.
Λίγο αινιγματικά, αλλά πού είναι όλα αυτά προέρχονται από;
Λοιπόν, ας κάνουμε κάτι άλλο εδώ. Μια άλλη κάπως αινιγματικά-εντολή,
αλλά το είδος αυτού του ατόμου από πετυχημένος σε ότι μας αποκαλύπτει τι ακριβώς συμβαίνει κάτω από την κουκούλα.
Έτσι είμαι πίσω στο Mac μου εδώ, έχω συνδεθεί
μέσω ενός προγράμματος που ονομάζεται SSH, Secure Shell, σε έναν άλλο διακομιστή
επειδή οι περισσότεροι από τους υπολογιστές του Χάρβαρντ μπλοκάρει την εντολή είμαστε για να τρέξει
επειδή υπάρχει αυτή η εντολή σε μερικούς servers που ονομάζεται traceroute
που σας επιτρέπει να εντοπίσει τη διαδρομή μεταξύ των σημείων Α και Β,
και μέχρι στιγμής έχουμε ήδη λάβει εντελώς δεδομένο
ότι μπορώ να πληκτρολογήσετε το Google.com και με κάποιο τρόπο να πάρει πίσω τα δεδομένα
από στα μισά του δρόμου σε όλη τη χώρα ή στα μισά του δρόμου σε όλο τον κόσμο.
Με traceroute μπορούμε πραγματικά να βουτήξει σε λίγο βαθύτερα
ως προς το πώς λειτουργεί το Ίντερνετ, και να δούμε τι συμβαίνει κάτω από την κουκούλα.
Ας προχωρήσουμε και αυθαίρετα εντοπίσει μια διαδρομή για την, ας πούμε, Stanford.edu,
που είναι σε όλη τη χώρα, και πατήστε enter.
Αυτή η εντολή μπορεί να είναι πολύ γρήγορη ή αργή υπερ-,
αλλά αυτό που βλέπουμε, τώρα γραμμή προς γραμμή,
είναι κάθε ένα από τα βήματα ή λυκίσκου μεταξύ μας και Πάλο Άλτο, ή το Stanford,
όπου έχουν τον web server τους.
Έτσι, τι κάνει κάθε μία από αυτές τις γραμμές αντιπροσωπεύουν πιο συγκεκριμένα, όμως;
Ένα κομμάτι της αργκό από το Internet; [Φοιτητών, ακατάληπτο]
>> Τι είναι αυτό; [Φοιτητών, ακατάληπτο]
>> Ω, έτσι υπάρχουν φορές, αλλά τι κάνει κάθε σειρά - τι εννοώ με hop;
>> Λοιπόν, υπάρχουν αυτά τα πράγματα στο διαδίκτυο που ονομάζεται δρομολογητές.
Και routers, όπως υποδηλώνει το όνομα, πληροφορίες για τις διαδρομές από το σημείο Α στο σημείο Β.
Αλλά υπάρχουν πολλά σημεία πέρα ​​από ένα και β.
Υπάρχει γ και δ και ε και στ μεταξύ γραμμής 1,
η οποία συμβαίνει να είναι η διεύθυνση IP του υπολογιστή μου,
ή αριθμητική διεύθυνση μου, το οποίο προσδιορίζει μοναδικά τον υπολογιστή μου,
και το βήμα 15, το οποίο στην πραγματικότητα είναι η έκτη του web server,
προφανώς, την οποία είμαι συναχθεί από αυτό, ή την έκδοση 6 του web server τους στο Πανεπιστήμιο του Στάνφορντ.
Αλλά αυτό είναι το είδος του τακτοποιημένο είναι, μπορούμε να δούμε τη διαδρομή
ότι το 0 είναι μου και του 1, λαμβάνοντας από τον υπολογιστή μου στο Στάνφορντ.
Έτσι το βήμα 1 είναι η διεύθυνση του υπολογιστή μου.
Κάθε υπολογιστής στο Internet έχει ένα μοναδικό αναγνωριστικό που μοιάζει με αυτό.
Number.number.number.number.
Κάπου σε αυτό το πανεπιστήμιο, πιθανότατα στο κέντρο της επιστήμης,
είναι ένα router που ονομάζεται πύλη Πυρήνας 2-te83, ότι κι αν σημαίνει,
έτσι αυτό είναι ένα από τα μεγάλα φανταχτερά Χάρβαρντ δρομολογητές ότι δρομολογεί μια μεγάλη κίνηση τους.
Εδώ είναι ένα άλλο από δρομολογητές του Χάρβαρντ, αυτό είναι πύλη των συνόρων,
έννοια των συνόρων είναι κατά πάσα πιθανότητα για την περιφέρεια της πανεπιστημιούπολης κάπου.
Στη συνέχεια, υπάρχει nox ένα, γραμμή 4, η οποία είναι η Βόρεια Crossroads,
το οποίο είναι ένα μεγάλο ISP, την υπηρεσία παροχής Internet,
ότι μέρη όπως το Χάρβαρντ συνδέσετε μέχρι.
Αλλά τότε τα πράγματα γίνονται λίγο ενδιαφέρον στη γραμμή 6.
Πού είναι κομμάτια μου ξαφνικά; Κάνσας.
Ο κόσμος έχει τη συνήθεια να χρησιμοποιούν τους κωδικούς αεροδρόμιο που βρίσκεται σε πολλά από αυτά τα πράγματα,
ή τουλάχιστον συντομογραφίες για τα κράτη ή πόλεις,
έτσι ώστε να μοιάζει, σε μόλις 60 ms,
ένα πακέτο πληροφοριών, το 0 και 1 είναι από το φορητό υπολογιστή μου
πήρε όλα ο τρόπος για να Κάνσας, και πάλι, σε 60 ms.
>> Επιπλέον, μετά το Κάνσας, πήραν μια περιήγηση μέσω του Χιούστον, κατά πάσα πιθανότητα,
όπως προτείνεται από το όνομα του διακομιστή.
Έτσι ακριβώς όπως ένα διακομιστή στο Internet πρέπει να έχει αριθμητική διεύθυνση,
Μπορεί επίσης, προαιρετικά, να έχουν μια ελαφρώς πιο φιλικό προς τον άνθρωπο διεύθυνση ότι οι άνθρωποι ήρθαν με.
Τώρα, στο βήμα 8, δεν γνωρίζουμε τι είναι αυτό.
Μερικές φορές routers ακριβώς το είδος του αγνοήσετε,
και το μόνο που δεν μπορώ να απαντήσω στις ερωτήσεις, έτσι ώστε να είναι ωραία.
Το ένα μετά το βήμα 8 είναι προφανώς πού; Ι.Α.
Σημειώστε σε μόνο 78 ms, τι μας παίρνει τους ανθρώπους σαν 6 + ώρες για να κάνουμε φυσική,
παίρνει πακέτα πληροφοριών στο Διαδίκτυο 78 ms να ταξιδέψουν τόσο μακριά.
Βήμα 10 είναι στο Λος Άντζελες, καθώς και το βήμα 11 φαίνεται να έχουν περάσει βόρεια, μέχρι κοντά στο Stanford.
Αυτό είναι router όριο τους, ή δρομολογητή σύνορα.
Ένα ζευγάρι βήματα στο Πανεπιστήμιο του Στάνφορντ, που μας αγνοούν,
και, τέλος, φτάνουμε τον web server σε μόλις 87 ms.
Τώρα, όλοι από αυτούς τους αριθμούς, ως καλλιέργειας,
απλά να σας πω πόσο καιρό παίρνει για να πάρει δεδομένα από μένα
σε κάθε ένα από αυτά τα routers, και δεν είναι σωρευτικά.
Τι αυτό το πρόγραμμα δεν είναι, στέλνει πρώτα ένα μήνυμα, ουσιαστικά, για το πρώτο router.
Τότε το ένα στο δεύτερο router? Τότε στην τρίτη δρομολογητή,
μετρώντας κάθε φορά. Έτσι, θεωρητικά, αυτοί οι χρόνοι θα αυξάνεται
ή τουλάχιστον πολύ κοντά το ένα στο άλλο,
και, μάλιστα, αυτοί που είναι εδώ στην πανεπιστημιούπολη είναι υπερ-μικρό.
Από τη στιγμή που θα αρχίσεις να κάνεις σε όλη τη χώρα, που λαμβάνει δεδομένα
λίγο περισσότερο χρόνο για να ταξιδέψουν, κοντά στα 100 ms, ή να δώσει.
Αλλά ας πάμε την άλλη κατεύθυνση τώρα. Τι θα λέγατε για Πανεπιστήμιο του Cambridge στο Ηνωμένο Βασίλειο;
Επιτρέψτε μου να τρέξει αντί του traceroute www.cam για Cambridge,
. Ac για την ακαδημαϊκή,. Uk, και πατήστε enter εδώ.
Αυτό ήταν όμορφη βλασφημία γρήγορα.
Δεδομένα μου κυριολεκτικά πήγε στο Κέιμπριτζ, στην Αγγλία, στην εν λόγω κλάσμα του δευτερολέπτου του χρόνου.
>> Ας δούμε λοιπόν το δρόμο που πήρε.
Χάρβαρντ, Χάρβαρντ, Χάρβαρντ, Βόρεια Crossroads,
η οποία είναι μια υπηρεσία παροχής Internet, και στη συνέχεια, αυτό είναι η Βόρεια Crossroads, και στη συνέχεια, μπαμ.
Ποια είναι ανάμεσα από τις βαθμίδες 6 και 7, δρομολογητή 6 και 7;
Η Ατλαντικό Ωκεανό. Και είμαστε συνάγοντας αυτό από το γεγονός ότι
πάμε από εδώ 20 ms 80 ms για εδώ.
Έτσι, κάτι πήρε 60 ms, ή να δώσει, να πάρει πάνω.
Και αυτό ήταν πιθανώς ένα μεγάλο σώμα του νερού.
Τι συμβαίνει μετά από αυτό; Λοιπόν, εδώ είμαστε στο Λονδίνο,
μόλις 88 ms αργότερα. Περισσότερα Λονδίνο, Λονδίνο περισσότερο,
δεν είναι σίγουρος πού είναι αυτό, αλλά υποθέτουμε ότι είναι έξω από το Λονδίνο,
Cambridge εδώ, και τελικά εμείς - στην κυριολεξία, του Πανεπιστημίου του Cambridge
. Something.net, και έπειτα, τελικά, στη γραμμή 16,
του web server τους είναι προφανώς ονομάζεται Σκορπιού
κάτω από την κουκούλα, παρόλο που γνωρίζουμε ως www.
Είδος μυαλό-blowing, νομίζω. Την πρώτη φορά που το έκανα ποτέ αυτό, φύσηξε το μυαλό μου εντελώς.
Δυστυχώς, Χάρβαρντ μπλοκάρει αυτό το είδος της κυκλοφορίας, τυπικά, στο δίκτυο.
Έτσι δεν μπορείτε να το κάνετε εύκολα σούπερ.
Realize, όμως, αυτό είναι δυνατόν εδώ.
Εντάξει. Ας ρίξουμε 5-λεπτά διάλειμμα μας εδώ. Θα επανέλθω και να βουτήξει στα βαθιά.
Έτσι, είμαστε πίσω, και έχουμε το είδος της ambled περίπου σε λίγες διαφορετικές κατευθύνσεις εδώ.
Ας συνοψίσουμε ακριβώς τι συμβαίνει εδώ.
Ξεκινήσαμε τη συζήτηση μιλώντας για αυτό που ονομάζεται γλώσσα HTML.
Και πάλι, δεν είναι γλώσσα προγραμματισμού. Είναι απλά μια γλώσσα σήμανσης
που είναι σε μεγάλο βαθμό για την αισθητική και τη δόμηση του περιεχομένου, με τη μορφή μιας ιστοσελίδας.
Αλλά HTML, ως εκ τούτου, χρειάζεται κάποιο είδος του μηχανισμού
για ταξίδια μεταξύ του web browser και του server.
HTML επομένως είδους βόλτες πάνω από αυτή την άλλη γλώσσα,
ή πιο σωστά, ένα πρωτόκολλο, που είναι γνωστή ως HTTP.
>> Και HTTP, όπως έχουμε δει μέχρι στιγμής,
Είναι το είδος της ανάλογη με αυτή του ανθρώπου σύμβαση χειραψία.
Όταν ένα πρόγραμμα περιήγησης θέλει να ζητήσει μια σελίδα από ένα διακομιστή,
ότι στέλνει "πάρει" αίτημα από το πρόγραμμα περιήγησης στο διακομιστή,
και στη συνέχεια, ο διακομιστής απαντά με έναν αριθμό, όπως 200, όλα είναι εντάξει,
καθώς και το HTML ή κάποια κακή αριθμό, όπως 404, το αρχείο δεν βρέθηκε.
Αλλά εν τω μεταξύ, HTTP ίδια δεν είναι το Διαδίκτυο, per se.
HTTP είναι απλά μια υπηρεσία, ένα χαρακτηριστικό γνώρισμα του Διαδικτύου
σαν G συνομιλίας είναι μια άλλη υπηρεσία, όπως και το ηλεκτρονικό ταχυδρομείο είναι μια άλλη υπηρεσία.
Υπάρχει όλα τα είδη των πραγμάτων που μπορούμε να κάνουμε στο Internet.
HTTP είναι μόνο μία από αυτές τις εφαρμογές.
Έτσι, στην κορυφή του - HTTP είναι πάνω από κάτι άλλο
την οποία δεν ανέφερε το όνομα, μπορεί να έχετε ακούσει για το όνομα, το πρωτόκολλο TCP / IP.
Έτσι, η ιστορία μας είπε ακριβώς εκεί είναι όλα σχετικά με
τρόπο με τον οποίο τα δεδομένα ταξιδεύει από το σημείο Α στο σημείο Β.
Και σε αυτή την περίπτωση, είδαμε σε ένα πολύ χαμηλό επίπεδο
δρομολογητή σε δρομολογητή σε δρομολογητή σε δρομολογητή,
πώς τα δεδομένα είναι στην πραγματικότητα που μεταδίδεται.
Αλλά κατά μήκος του τρόπου, με τον οποίο πρόκειται να συναντήσει διάφορα εμπόδια.
Εκτός από αυτά τα routers, υπάρχουν πράγματα που ονομάζεται τείχη προστασίας στο Διαδίκτυο,
και έτσι τα δεδομένα, όπως ότι ήταν απλά μετάδοση
από μένα στο Στάνφορντ, από μένα στο Καίμπριτζ,
αποστέλλεται, σε αυτό το επίπεδο, κάτι που ονομάζεται διεύθυνση IP.
Είδαμε αυτό πριν από λίγο, και μια διεύθυνση IP
είναι απλά μια αριθμητική διεύθυνση του w.x.y.z μορφή,
όπου κάθε μία από αυτές είναι μεταξύ των, ή να δώσει, 0 και 255,
αν δεν μπορείτε να χρησιμοποιήσετε αρκετά όλα αυτά τα νούμερα.
Αλλά καθένα από αυτά κατόχων τόπος είναι ένας αριθμός μεταξύ 0 και 255.
Έτσι, μια διεύθυνση IP αυτές τις μέρες είναι 32 bits.
>> Τώρα, αυτό μας δίνει πόσες πιθανές διευθύνσεις IP στον κόσμο;
Περίπου 4 δισεκατομμύρια, επειδή κάθε φορά που μετράμε σε δυνάμεις του 2
σε όλη τη διαδρομή μέχρι και 32 της κάτι, που δίνει συνήθως μας 4 δις ευρώ.
Έτσι, αυτό είναι ένα πολύ IP διευθύνσεις, αλλά μπορεί να έχετε διαβάσει,
ή μπορεί να παρατηρήσετε τώρα στον τύπο,
μια ώθηση προς μια νέα έκδοση του IP που ονομάζεται IPv6.
Αυτή τη στιγμή είμαστε με την έκδοση 4.
Εκεί πραγματικά δεν έχει μια έκδοση 5, είμαστε απλά άλμα δικαίωμα σε 6.
Έκδοση 6 πρόκειται να χρησιμοποιήσει 128 bits για τις διευθύνσεις IP, η οποία είναι freaking τεράστια.
Εμείς δεν θα πρέπει να τρέξει έξω για αρκετό καιρό τώρα,
αλλά έχουμε αρχίσει να τρέχει από διευθύνσεις IP έκδοση 4,
επειδή όλοι μας έχουμε όχι μόνο πράγματα, όπως φορητούς και επιτραπέζιους υπολογιστές,
πολλοί από εμάς έχουν τα τηλέφωνα, πολλοί από εμάς έχουν και άλλες συσκευές
όπως TiVo και τα παρόμοια που έχουν οι ίδιοι διευθύνσεις IP.
Χάρβαρντ ίδια έχει δεκάδες χιλιάδες υπολογιστές.
Έτσι, ο κόσμος είναι πραγματικά τρέχει από διευθύνσεις IP, τουλάχιστον από αυτή τη μορφή.
Έτσι, μέσα στα επόμενα λίγα χρόνια, θα έχετε την ευκαιρία να δείτε τις διευθύνσεις
στους υπολογιστές σας πιθανώς να αλλάξει σιγά-σιγά
καθώς όλο και περισσότερες εταιρείες και τα πανεπιστήμια αρχίζουν να στηρίξει την νεότερη έκδοση.
Αλλά μια διεύθυνση IP δεν είναι επαρκής για τον υπολογιστή Α να ζητήσει τα δεδομένα από τον υπολογιστή b.
Επειδή ο υπολογιστής β θα μπορούσε να είναι ένας server,
και ένα διακομιστή, όπως ανέφερα προηγουμένως, μπορεί να κάνει τσαμπιά από τα πράγματα.
Μπορεί να φιλοξενήσει ιστοσελίδες, μπορεί να είναι ένα e-mail server,
μπορεί να είναι ένας διακομιστής Skype, αυτό μπορεί να είναι ένα διακομιστή συνομιλίας G.
>> Όλες αυτές οι διαφορετικές υπηρεσίες που μπορούν να παρέχονται σε ένα διακομιστή
θα μπορούσαν όλα, φυσικά, να είναι στο ίδιο μηχάνημα.
Έτσι, εκτός από τις διευθύνσεις IP,
ο κόσμος έχει τα πράγματα που ονομάζονται θύρες στο Διαδίκτυο.
Το λιμάνι είναι απλά ένας αριθμός? Έτσι υπάρχει ένας μοναδικός αριθμός για HTTP.
Αριθμός του είναι 80.
HTTP χρησιμοποιεί επίσης τον αριθμό 443, αλλά πιο συγκεκριμένα, για το κρυπτογραφημένο HTTPS.
Κάθε φορά που βλέπετε το s, για την ασφαλή, που είναι χρησιμοποιώντας ένα διαφορετικό αριθμό.
Υπάρχουν και άλλοι αριθμοί, όπως το 25, που χρησιμοποιείται για κάτι που ονομάζεται SMTP, αλλιώς γνωστό ως e-mail.
Υπάρχει κάτι που ονομάζεται 22 για SSH,
υπάρχει και ένα σωρό άλλα λιμάνια εκεί έξω.
Τώρα, εμείς οι άνθρωποι σπάνια βλέπουν αυτούς τους αριθμούς.
Ωστόσο, όταν πληκτρολογείτε μια διεύθυνση σαν http://www.facebook.com,
το πρόγραμμα περιήγησης εισαγωγή κρυφά 80, επειδή είστε με τη χρήση HTTP.
Αν, αντίθετα, HTTPS τύπου, είναι κρυφά εισαγωγή 443.
Και μπορούμε να δούμε το είδος του αυτό το χέρι αν έχω τραβήξει ένα Brower
και πηγαίνετε στο http://www.facebook.com:80.
Ως εκ τούτου αναφέρονται ρητά όχι μόνο το όνομα του δικτυακού τόπου
αλλά το λιμάνι που θέλω να μιλήσω, και πατήστε enter.
Παρατηρήστε ότι εξαφανίζεται, επειδή το πρόγραμμα περιήγησης υποθέτει,
Ω, 80, δεν είμαι καν πρόκειται να ενοχλεί που δείχνουν ότι σε εσάς.
Αλλά ο λόγος για αυτό είναι ότι αν πραγματικά ήθελε να στείλει κάποιος ένα μήνυμα ηλεκτρονικού ταχυδρομείου,
Θα ήθελα πραγματικά να το στείλετε σε αυτούς στη θύρα 25, ότι το να είσαι SMTP.
Ένα κομμάτι από μια υπεραπλούστευση, αλλά κάποιοι από εσάς έχετε φίλους
που πραγματικά εργάζονται στο Facebook, και, ομοίως, να έχει διακομιστές που λαμβάνουν e-mail.
>> Κάθε φορά που στέλνετε ένα e-mail, gmail τι κάνει για σας
ή το Outlook ή όποια και αν είναι το πρόγραμμα που χρησιμοποιείτε,
Είναι το είδος της κρυφά εισάγοντας τον αριθμό αυτό καθώς, το 25, σε αυτή την περίπτωση.
Είναι αυτός ο συνδυασμός της διεύθυνσης IP και τον αριθμό που προσδιορίζει με μοναδικό τρόπο
ένας υπολογιστής στο Διαδίκτυο και μια ειδική υπηρεσία σε αυτόν τον υπολογιστή.
Τώρα, βέβαια, οι περισσότεροι από μας έχουν πιθανώς ποτέ πληκτρολογήσει χειροκίνητα μια διεύθυνση IP.
Ίσως έχετε στη συσκευή, αλλά στον πραγματικό κόσμο, όχι τόσο πολύ.
Γιατί δεν πληκτρολογείτε τις διευθύνσεις IP σε προγράμματα περιήγησης;
Δεν θα μπορούσε να λειτουργήσει, στην πραγματικότητα, μπορούμε να δούμε αυτό? Επιτρέψτε μου να σας δείξω
μια άλλη εντολή που θα πρέπει να εργαστεί πιο οπουδήποτε στην πανεπιστημιούπολη του Χάρβαρντ σε Mac ή PC.
Υπάρχει αυτή η εντολή ονομάζεται nslookup, το όνομα του διακομιστή αναζήτησης.
Αν κοιτάζω ψηλά www.cnn.com, αποδεικνύεται ότι έχει CNN - ω, ενδιαφέρουσα.
CNN έχει αρχίσει να χρησιμοποιεί το Amazon web services.
Ίσως γνωρίζετε του cloud computing, το ένα της Amazon από τους μεγάλους παίκτες στο cloud computing.
Αυτό που έκανε ήταν απλά, είπα, «Δώστε μου τη διεύθυνση του web server του CNN,"
αλλά αποδεικνύεται ότι τον web server του CNN διοικείται από το Amazon,
Amazon Web Services, το γεγονός αυτό δείχνει.
Και η διεύθυνση του server είναι αυτό εδώ.
Έτσι, δεν είμαι σίγουρος αν αυτό θα λειτουργήσει, επειδή δεν χρησιμοποιούνται για να χρησιμοποιήσετε το Amazon.
Αλλά ας προσπαθήσουμε αυτό? Http://, διεύθυνση IP, πληκτρολογήστε, και -
είναι αυτό που πρόκειται να λειτουργήσει;
Ναι. Είναι πρόκειται να λειτουργήσει. Internet είναι εξαιρετικά αργή σήμερα.
Αλλά, σε μια στιγμή, θα δείτε κάποια είδηση.
Εκεί πάμε. Bank of America είναι να εναχθεί. Εντάξει.
>> Αυτό οφείλεται στο γεγονός ότι αυτή η διεύθυνση IP που συμβαίνει μόνο για να με συνώνυμη με www.cnn.com.
Φυσικά, θα ήταν τρομερό marketing να πω, επισκεφτείτε μας στο Web στη διεύθυνση 50.112.94.127.
Ποτέ δεν θα θυμάται. Έτσι, ακόμη και αυτές τις ημέρες μπορείτε να ανακαλέσετε τα πράγματα
όπως 1-800-COLLECT ή μνημονικά ο κόσμος ήρθε με για τους αριθμούς τηλεφώνου.
Ποια, πριν από τα κινητά τηλέφωνα, ήταν μάλλον δύσκολο να θυμάστε
έως ότου μπορείτε να πληκτρολογήσετε απλά μέσα και να ξεχάσουμε αυτό.
Έτσι, το Web, επίσης, έχει αυτή τη σύμβαση των ονομάτων και των διευθύνσεων IP,
και υπάρχουν αυτά τα πράγματα έξω εκεί κάλεσε DNS servers,
συστήματα servers όνομα τομέα, που μεταφράζουν διευθύνσεις IP σε ονόματα και το αντίστροφο.
Έτσι, αυτό είναι ό, τι συμβαίνει κάτω από την κουκούλα.
Στο τέλος, έχουμε το πρωτόκολλο TCP / IP, το οποίο είναι αυτό πολύ χαμηλού επιπέδου πρωτόκολλο
ότι, πραγματικά, παίρνει μόνο 0 και 1 της σε ολόκληρο το Διαδίκτυο,
και το κάνει αυτό με την τοποθέτηση τους σε έναν εικονικό φάκελο,
αν θέλετε, και το γράψιμο στο εξωτερικό του φακέλου
η διεύθυνση IP του προορισμού, καθώς και το αριθμητικό αριθμό θύρας
της υπηρεσίας για τον προορισμό που θέλει να μιλήσει.
Εν τω μεταξύ, στο φάκελο υπάρχει επίσης κάτι που είναι γνωστό ως διεύθυνση επιστροφής,
η οποία είναι η διεύθυνση IP σας, έτσι ώστε όταν το CNN παίρνει ένα πακέτο πληροφοριών από εσάς,
Ανοίγει το εικονικό φάκελο, βλέπει ότι θέλετε την αρχική σελίδα,
γνωρίζει από την πλευρά του αποστολέα αυτόν τον εικονικό φάκελο ποιον να στείλετε την HTML πίσω.
Έτσι, ας ρίξουμε μια ματιά σε αυτό σε λίγο περισσότερες λεπτομέρειες.
Αυτό είναι από μια εταιρεία που ονομάζεται Ericson, από λίγα χρόνια πίσω.
Και πήραν κάποιες ελευθερίες με το πώς το Διαδίκτυο λειτουργεί πραγματικά,
αλλά δίνει μια πολύ πιο οπτική εικόνα από την απλή κιμωλία μέχρι εδώ.
Γι 'αυτό σας δώσω "A Bit του Διαδικτύου."
>> [Αφηγητής] Για πρώτη φορά στην ιστορία,
άνθρωποι και μηχανήματα εργάζονται από κοινού, πραγματοποιώντας ένα όνειρο.
Μια ένωση δύναμη που δεν γνωρίζει γεωγραφικά σύνορα.
Χωρίς τη φυλή, το θρήσκευμα, το χρώμα ή.
Μια νέα εποχή όπου η επικοινωνία φέρνει πραγματικά τους ανθρώπους.
Αυτό είναι
Το Dawn of the Net.
Θέλετε να μάθετε πώς λειτουργεί; Κάντε κλικ εδώ για να ξεκινήσετε το ταξίδι σας στο Διαδίκτυο.
Τώρα, τι ακριβώς συνέβη όταν κάνετε κλικ σε αυτό το σύνδεσμο;
Ξεκινήσατε μια ροή των πληροφοριών.
Αυτή η πληροφορία ταξιδεύει κάτω στη δική σας προσωπική mailroom
όπου ο κ. πακέτα IP, να το ονομάζει, και το στέλνει στο δρόμο του.
Κάθε πακέτο έχει περιορισμένο μέγεθος της.
Το δωμάτιο ταχυδρομείου πρέπει να αποφασίσει πώς να διαιρέσει τις πληροφορίες
και πώς να το πακέτο.
Τώρα, η συσκευασία χρειάζεται μια ετικέτα που περιέχει σημαντικές πληροφορίες
όπως η διεύθυνση του αποστολέα, τη διεύθυνση του δέκτη, και τον τύπο του πακέτου που είναι.
Επειδή το συγκεκριμένο πακέτο θα πάει επάνω στο Διαδίκτυο,
παίρνει επίσης μια διεύθυνση για το διακομιστή μεσολάβησης,
η οποία έχει μια ειδική λειτουργία, όπως θα δούμε αργότερα.
Το πακέτο έχει τώρα ξεκινήσει στο τοπικό σας δίκτυο, ή LAN.
Το δίκτυο αυτό χρησιμοποιείται για τη σύνδεση όλων των τοπικών ηλεκτρονικών υπολογιστών »
δρομολογητές, εκτυπωτές, και τα λοιπά, για την ανταλλαγή πληροφοριών εντός των φυσικών τοίχους του κτιρίου.
Το LAN είναι ένα όμορφο μέρος ανεξέλεγκτη, και, δυστυχώς,
ατυχήματα μπορούν να συμβούν.
Η εθνική οδός του LAN είναι γεμάτη με όλα τα είδη των πληροφοριών.
Αυτά είναι πακέτα IP, Novell πακέτα, πακέτα AppleTalk.
Θα πάμε ενάντια κυκλοφορίας, ως συνήθως.
Η τοπική δρομολογητής διαβάζει τη διεύθυνση και, εάν είναι αναγκαίο,
ανυψώνει το πακέτο σε άλλο δίκτυο.
Αχ, το router. Ένα σύμβολο ελέγχου σε μια φαινομενικά ανοργάνωτα κόσμο.
[Router μουρμουρίζοντας και μιλάμε για το ίδιο]
>> [Αφηγητής] Εκεί είναι, συστηματική, αδιάφορος, μεθοδική,
συντηρητική, και μερικές φορές δεν είναι αρκετά μέχρι την ταχύτητα.
Αλλά τουλάχιστον αυτός είναι ακριβής, για το μεγαλύτερο μέρος.
Καθώς τα πακέτα φεύγουν από το router, που κάνουν τον τρόπο τους στο εταιρικό Internet
και το κεφάλι για την αλλαγή router.
Λίγο πιο αποτελεσματική από ό, τι το router, ο διακόπτης router παίζει γρήγορα και χαλαρά με πακέτα IP,
επιδέξια τους δρομολόγησης κατά μήκος το δρόμο τους.
Μια «μάγος φλίπερ,« ψηφιακό αν θέλετε.
[Switch Router μιλάει στον εαυτό του]
[Αφηγητής] Όπως πακέτα που φθάνουν στον προορισμό τους,
από όπου και αν πάρει από τη διασύνδεση του δικτύου,
έτοιμη να αποσταλεί στο επόμενο επίπεδο.
Σε αυτή την περίπτωση, το πληρεξούσιο.
Το πληρεξούσιο χρησιμοποιείται από πολλές εταιρείες ως ένα είδος μεσάζοντα
προκειμένου να μειωθεί το φορτίο στη σύνδεση Internet
και για λόγους ασφαλείας, καθώς και.
Όπως μπορείτε να δείτε, τα πακέτα είναι όλα σε διάφορα μεγέθη ανάλογα με το περιεχόμενό τους.
Ο πληρεξούσιος ανοίγει το πακέτο και κοιτάζει για τη διεύθυνση ιστού ή τη διεύθυνση URL.
Ανάλογα με το αν η διεύθυνση είναι αποδεκτή,
το πακέτο αποστέλλεται με το Internet.
Υπάρχουν, ωστόσο, κάποιες διευθύνσεις οι οποίες δεν ανταποκρίνονται με την έγκριση της μεσολάβησης.
Δηλαδή, την εταιρική διαχείριση ή τις κατευθυντήριες γραμμές.
Αυτά είναι συνοπτικά εξετάζονται.
Θα έχουμε τίποτα τέτοιο.
Για εκείνους που το κάνουν, είναι στο δρόμο και πάλι.
>> Έπειτα επάνω, το τείχος προστασίας.
Το τείχος προστασίας της εταιρείας εξυπηρετεί δύο σκοπούς.
Εμποδίζει μάλλον κάποια δυσάρεστα πράγματα από το Internet από που έρχονται μέσα στο Intranet,
και μπορεί επίσης να αποτρέψει ευαίσθητες εταιρικές πληροφορίες από την αποστολή έξω επάνω στο Διαδίκτυο.
Μόλις μέσω του τείχους προστασίας, ένας δρομολογητής παίρνει το πακέτο
και την τοποθετεί σε ένα πολύ στενότερο δρόμο, ή το εύρος ζώνης, όπως λέμε.
Προφανώς, ο δρόμος δεν είναι αρκετά ευρύ ώστε να λάβει όλα.
Τώρα, μπορεί να αναρωτιέστε τι συμβαίνει σε όλα τα πακέτα που δεν το κάνει κατά μήκος του τρόπου.
Λοιπόν, όταν ο κ. IP δεν λάβουν βεβαίωση
ότι ένα πακέτο έχει ληφθεί σε εύθετο χρόνο,
στέλνει απλά ένα πακέτο αντικατάστασης.
Είμαστε τώρα έτοιμοι να εισέλθουν στον κόσμο του Διαδικτύου.
Μια αραχνιά των διασυνδεδεμένων δικτύων που εκτείνονται σε όλο το πλανήτη μας.
Εδώ, δρομολογητές και τους διακόπτες να δημιουργήσουν δεσμούς μεταξύ των δικτύων.
Τώρα, η Net, είναι ένα εντελώς διαφορετικό περιβάλλον από ό, τι θα βρείτε
μέσα στα προστατευτικά τείχη του LAN σας.
Από εδώ, είναι η Άγρια Δύση.
Αφθονία του χώρου, πολλές ευκαιρίες,
πολλά πράγματα για να εξερευνήσετε και θέσεις για να πάνε.
Χάρη στην πολύ λίγο έλεγχο και ρύθμιση,
νέες ιδέες βρίσκουν γόνιμο έδαφος για να ωθήσει το φάκελο των δυνατοτήτων τους.
Αλλά επειδή από αυτήν την ελευθερία, ορισμένους κινδύνους και παραμονεύουν.
Θα Ποτέ δεν ξέρεις πότε θα συναντήσετε την επίφοβη ping του θανάτου,
μια ειδική έκδοση ενός κανονικού ping αίτημα,
την οποία κάποιος ηλίθιος σκέφτηκε να χαλάσουν ανυποψίαστους οικοδεσπότες.
Το μονοπάτι πακέτα μας να μπορεί να είναι μέσω δορυφόρου,
τηλεφωνικές γραμμές, ασύρματες, ή ακόμη και υπερωκεάνια καλώδιο.
Δεν λαμβάνουν πάντα τα ταχύτερα ή βραχύτερες διαδρομές είναι δυνατόν,
αλλά θα πάρει τελικά εκεί.
Ίσως αυτός είναι ο λόγος που μερικές φορές ονομάζεται "The World Wide Wait".
Αλλά όταν όλα λειτουργούν ομαλά,
μπορείτε να παρακάμψουν τον κόσμο πάνω από πέντε φορές κατά την πτώση ενός καπέλο, κυριολεκτικά.
Και όλα αυτά για το κόστος μιας τοπικής κλήσης ή λιγότερο.
Κοντά στο τέλος του προορισμού μας, θα βρούμε ένα άλλο τείχος προστασίας.
>> Ανάλογα με την προοπτική σας ως ενός πακέτου δεδομένων,
το firewall θα μπορούσε να είναι ένα προπύργιο της ασφάλειας ή επίφοβη αντίπαλο.
Όλα εξαρτώνται από το ποια πλευρά είστε και ποιες είναι οι προθέσεις σας.
Το τείχος προστασίας έχει σχεδιαστεί για να αφήσει μόνο τα πακέτα που πληρούν τα κριτήρια του.
Αυτό το τείχος προστασίας που λειτουργούν στις θύρες 80 και 25.
Όλες οι προσπάθειες για να εισέλθουν μέσω άλλων λιμένων κλείσει για τις επιχειρήσεις.
Θύρα 25 χρησιμοποιείται για πακέτα ταχυδρομείου,
ενώ η θύρα 80 είναι η είσοδος για τα πακέτα από το Internet για να τον web server.
Μέσα από το τείχος προστασίας, πακέτα ελέγχονται πιο διεξοδικά.
Μερικά πακέτα που κάνουν εύκολα μέσω του τελωνείου,
ενώ άλλοι φαίνονται ακριβώς λίγο αμφίβολη.
Τώρα, ο αξιωματικός firewall δεν είναι εύκολο να ξεγελαστούν,
όπως όταν το ping του θανάτου πακέτο προσπαθεί να συγκαλύψει ως ένα κανονικό πακέτο ping.
[Αξιωματικός Firewall μιλάμε για πακέτα]
[Αφηγητής] Για τα πακέτα αρκετά τυχερός για να το κάνει αυτό τώρα,
το ταξίδι είναι σχεδόν τελειώσει.
Είναι απλά ένα line up για το περιβάλλον που πρέπει να ληφθούν επάνω στο web server.
Σήμερα, ένας web server μπορεί να τρέξει σε πολλά πράγματα,
από έναν κεντρικό υπολογιστή σε ένα web cam στον υπολογιστή στο γραφείο σας.
Γιατί να μην το ψυγείο σας;
Με την κατάλληλη ρύθμιση, μπορείτε να μάθετε αν έχετε τα φόντα
Κοτόπουλο για Cacciatore, ή αν έχετε να πάτε για ψώνια.
Θυμηθείτε, αυτό είναι η αυγή του Net.
Σχεδόν όλα είναι δυνατά.
Ένα-ένα, λαμβάνονται τα πακέτα,
άνοιξε, και χύμα.
Οι πληροφορίες που περιέχει, δηλαδή, το αίτημά σας για πληροφορίες,
αποστέλλεται για την εφαρμογή του web server.
Το πακέτο είναι η ίδια ανακυκλωμένα,
έτοιμος να χρησιμοποιηθεί εκ νέου, και γεμίζεται με ζητούμενες πληροφορίες σας,
απευθύνεται, και έστειλε στο δρόμο του πίσω σε σας.
Επιστροφή παρελθόν το τείχος προστασίας, δρομολογητές, και μέσω του Διαδικτύου.
Επιστροφή μέσω τείχος προστασίας της εταιρείας σας
και στο περιβάλλον σας,
έτοιμη να παράσχει web browser σας με τις πληροφορίες που ζητήσατε.
Δηλαδή, αυτή η ταινία.
Ευχαριστημένος με τις προσπάθειές τους, και να εμπιστευθεί τον καλύτερο κόσμο,
έμπιστος πακέτα δεδομένων μας οδηγούν μακριά μακάρια στο ηλιοβασίλεμα από μια άλλη ημέρα,
γνωρίζοντας πλήρως ότι έχουν υπηρετήσει τους κυρίους καλά.
Τώρα, δεν είναι ότι ένα ευτυχισμένο τέλος;
[Malan] Εντάξει, αυτό είναι αρκετό. Θα σας δούμε την επόμενη εβδομάδα.
[CS50.TV]