1 00:00:00,000 --> 00:00:02,620 [Powered by Google Translate] [Εβδομάδα 7, Συνέχεια] 2 00:00:02,620 --> 00:00:05,090 [David J. Malan, Πανεπιστήμιο Χάρβαρντ] 3 00:00:05,090 --> 00:00:07,780 [Αυτό είναι CS50.] [CS50.TV] 4 00:00:07,780 --> 00:00:09,810 Εντάξει. Welcome Back. Αυτό είναι CS50, 5 00:00:09,810 --> 00:00:12,100 και αυτό είναι το τέλος της εβδομάδας 7. 6 00:00:12,100 --> 00:00:15,460 Έτσι, ένα από αυτά τα ηλίθια μικρά πράγματα που πηγαίνει γύρω από το Internet 7 00:00:15,460 --> 00:00:24,080 και εμείς slurped επάνω, και θα πρέπει να κάνει τώρα λίγο geeky νόημα για σας. 8 00:00:24,080 --> 00:00:28,330 Λοιπόν, αυτό ήταν αστείο για αυτόν τον τύπο από ό, τι ήταν για σας παιδιά. 9 00:00:28,330 --> 00:00:32,619 Μιλώντας, επίσης, παιδιά, 10 00:00:32,619 --> 00:00:42,550 Σήμερα είναι τα γενέθλια του Nate. 11 00:00:42,550 --> 00:00:46,630 Για να σας δώσω μια αίσθηση του πόσο καλό Nate και εγώ είμαστε 12 00:00:46,630 --> 00:00:50,140 στην ανάπτυξη web-based την κατηγορία της Δευτέρας και βασίζεται τώρα σε αυτό, 13 00:00:50,140 --> 00:00:53,170 Νόμιζα ότι είχα σηκώσει αρχική σελίδα Nate, αν δεν το έχετε δει ακόμα. 14 00:00:53,170 --> 00:00:57,020 Αυτό εδώ HTML, μεταξύ άλλων, του Nate. 15 00:00:57,020 --> 00:00:59,380 Έτσι, δείτε πηγαίο κώδικα του, αν θέλετε να δείτε πώς να το κάνετε αυτό, και Nate, 16 00:00:59,380 --> 00:01:02,250 αν θα μπορούσαμε να σας embarass μόνο εν συντομία, το προσωπικό σας πήρε λίγο κάτι 17 00:01:02,250 --> 00:01:06,080 αν θέλετε να μοιραστείτε κάποια επιδόρπιο με μερικά από τα παιδιά στην τάξη εδώ. 18 00:01:06,080 --> 00:01:10,150 Αν θέλετε να έρθει κάτω. 19 00:01:10,150 --> 00:01:14,350 Μπορείτε όλοι χειροκροτούν και είναι πολύ ωραίο, αλλά δεν κάθεται κανείς οπουδήποτε κοντά Nate, 20 00:01:14,350 --> 00:01:17,560 για κάποιο λόγο, σε αυτή τη ζώνη πίσω. 21 00:01:17,560 --> 00:01:24,020 Έτσι, ίσως μπορείτε να βρείτε κάποια παιδιά να απολαμβάνουν αυτά με. 22 00:01:24,020 --> 00:01:33,380 Χρόνια πολλά, Nate. 23 00:01:33,380 --> 00:01:37,660 >> Πρόσθετες τυπικούς χαιρετισμούς: Δείξαμε ένα ζευγάρι κλιπ από CS50x μαθητές μας. 24 00:01:37,660 --> 00:01:39,710 Αν θα θέλατε να δείτε ποιος άλλος είναι στον κόσμο 25 00:01:39,710 --> 00:01:41,850 Αυτό είναι μετά μαζί, μπορείτε να κατευθυνθείτε προς αυτό το URL, 26 00:01:41,850 --> 00:01:45,780 όπου Ιωσήφ, ένας από τους ΤΡ μας, έχει βάλει μαζί ένα μοντάζ των ειδών 27 00:01:45,780 --> 00:01:50,290 του ο καθένας που έχει υποβάλει αυτά τα βίντεο, μεταξύ των οποίων και ο Rick Astley. 28 00:01:50,290 --> 00:01:53,010 Και αν μετακινηθείτε μέσω αυτών, είναι πραγματικά αρκετά εμπνέει 29 00:01:53,010 --> 00:01:56,890 για να δείτε την ποικιλία των χωρών και των πόλεων από τις οποίες οι άνθρωποι χαιρετούν. 30 00:01:56,890 --> 00:02:00,830 Έτσι, αν θέλετε να ρίξετε μια ματιά σε αυτό, που θα είναι μέσα από το τέλος του εξαμήνου. 31 00:02:00,830 --> 00:02:05,370 Σήμερα συνεχίζουμε το βλέμμα μας στο Web, web προγραμματισμό, HTML και τα παρόμοια, 32 00:02:05,370 --> 00:02:08,280 και εμείς επίσης να έχουν το γεύμα έρχεται αυτή την Παρασκευή 33 00:02:08,280 --> 00:02:11,360 αν θέλετε, και κυρίως, δεν το έχουν πράξει στο παρελθόν. 34 00:02:11,360 --> 00:02:13,630 Το θέμα της Παρασκευής θα είναι τα γενέθλια του Nate, 35 00:02:13,630 --> 00:02:15,700 οπότε αν θέλετε να έχετε το γεύμα γενεθλίων με Nate 36 00:02:15,700 --> 00:02:17,500 και άλλοι, μερικοί από τους φίλους μας από τη βιομηχανία, 37 00:02:17,500 --> 00:02:19,300 παρακαλούμε να το κεφάλι σε αυτό το URL εκεί. 38 00:02:19,300 --> 00:02:22,510 Διάστημα, όπως πάντα, είναι περιορισμένη. Επίσης, αν έχετε ξεχάσει, 39 00:02:22,510 --> 00:02:26,460 συνειδητοποιούν ότι την επόμενη εβδομάδα είναι η προθεσμία για το πρόβλημα που κυνήγι οδοκαθαριστών 4, η 40 00:02:26,460 --> 00:02:30,070 σύμφωνα με την οποία μετά την ανάκτηση όλων αυτών των JPEGS από card.raw, 41 00:02:30,070 --> 00:02:32,880 εσείς και οι φίλοι σας το τμήμα, αν θέλετε, μπορείτε να δοκιμάσετε φωτογράφηση 42 00:02:32,880 --> 00:02:36,100 όπως πολλοί από τους επιστήμονες της πληροφορικής από την κάρτα μνήμης όσο το δυνατόν, 43 00:02:36,100 --> 00:02:39,070 και εσείς και το τμήμα σας τότε θα κερδίσει ένα υπέροχο βραβείο. 44 00:02:39,070 --> 00:02:44,470 Ανατρέξτε πίσω με τις προδιαγραφές PSET 4 ως προς το τι πρέπει να υποβάλουν και από πότε. 45 00:02:44,470 --> 00:02:47,650 Επίσης, αν θέλετε να έχετε εργόχειρο σας απαθανάτισε 46 00:02:47,650 --> 00:02:51,400 στην ιστοσελίδα του μαθήματος και την ιστορία της ένδυσης, 47 00:02:51,400 --> 00:02:54,010 ξέρετε ότι είστε ευπρόσδεκτοι τώρα να αρχίσουν την υποβολή σχεδίων 48 00:02:54,010 --> 00:02:57,180 για την T-shirts του τρέχοντος έτους και μπλούζες και τα παρόμοια. 49 00:02:57,180 --> 00:02:59,200 Θα κάνουμε το καλύτερό μας για να συμπεριλάβει όσο μπορούμε, 50 00:02:59,200 --> 00:03:01,440 αλλά θα έχουμε ορισμένα μέλη του προσωπικού της αναθεώρησης όλα τα σχέδια 51 00:03:01,440 --> 00:03:04,180 για να βεβαιωθείτε ότι είναι σύμφωνο με τις προδιαγραφές, 52 00:03:04,180 --> 00:03:07,500 και στη συνέχεια να πάρει γενικά μια χούφτα από αυτά να εκτεθούν. 53 00:03:07,500 --> 00:03:10,620 Έτσι, εάν είστε ο τύπος σχεδιασμού, απλά γνωρίζουμε ότι οι απαιτήσεις 54 00:03:10,620 --> 00:03:14,030 για τα γραφικά είναι PNG, τουλάχιστον 200 DPI, 55 00:03:14,030 --> 00:03:16,520 δεν πρέπει να είναι περισσότερο από 4000 x 4000 εικονοστοιχεία, 56 00:03:16,520 --> 00:03:19,010 και όχι περισσότερο από 10 MB, αλλά είστε ευπρόσδεκτοι να χρησιμοποιήσετε τα πράγματα όπως 57 00:03:19,010 --> 00:03:22,430 Photoshop ή το GIMP ή διάφορα προγράμματα γραφικού, 58 00:03:22,430 --> 00:03:24,590 ό, τι έχετε στη διάθεσή σας. 59 00:03:24,590 --> 00:03:28,280 >> Επίσης, στον ορίζοντα είναι το τελικό σχέδιο. Το τελικό σχέδιο είναι πραγματικά το αποκορύφωμα του 50, 60 00:03:28,280 --> 00:03:30,560 σύμφωνα με την οποία το σύνολο των εργασιών κατά τη διάρκεια, 61 00:03:30,560 --> 00:03:33,170 Είναι η ευκαιρία σας να κάνετε πραγματικά δικό σας. 62 00:03:33,170 --> 00:03:35,280 Και αυτό μπορεί να είναι απλά να κάνουμε κάτι για διασκέδαση, 63 00:03:35,280 --> 00:03:38,160 μπορεί να είναι να λύσει κάποιο πιεστικό πρόβλημα φοιτητική ομάδα σας έχει, 64 00:03:38,160 --> 00:03:40,980 για κάποια νέα ιστοσελίδα, κάποια νέα μηχανισμός συλλογής δεδομένων. 65 00:03:40,980 --> 00:03:43,420 Μπορεί να είναι ένα κινητό εφαρμογή για το Android, για iOS. 66 00:03:43,420 --> 00:03:46,030 Πραγματικά, ο ουρανός είναι το όριο, και κατά τη διάρκεια των επόμενων εβδομάδων, 67 00:03:46,030 --> 00:03:50,900 όπως έχουμε μετάβαση από C σε αυτές τις υψηλότερου επιπέδου γλώσσες όπως η PHP και JavaScript, 68 00:03:50,900 --> 00:03:55,150 θα βρείτε τον εαυτό σας όλο και περισσότερο εξοικειωμένοι με μερικές πραγματικές τεχνικές, 69 00:03:55,150 --> 00:03:57,800 μερικά πραγματικά εργαλεία, και να συμπληρώσει ότι, 70 00:03:57,800 --> 00:04:00,170 γνωρίζουμε ότι η πορεία έχει μια ιστορία σεμιναρίων, 71 00:04:00,170 --> 00:04:02,880 σύμφωνα με την οποία κατά τη διάρκεια των επόμενων εβδομάδων, μερικά από το διδακτικό προσωπικό 72 00:04:02,880 --> 00:04:06,160 και φίλοι μας από την πανεπιστημιούπολη θα προσφέρει προαιρετικά σεμινάρια 73 00:04:06,160 --> 00:04:08,540 που πηγαίνουν πάνω και πέρα ​​από αυτό που συνήθως γίνεται σε τμήμα 74 00:04:08,540 --> 00:04:11,090 να σας παρουσιάσουμε τα πράγματα όπως τον προγραμματισμό Android, 75 00:04:11,090 --> 00:04:13,450 να σας παρουσιάσουμε τα πράγματα όπως το iOS προγραμματισμού 76 00:04:13,450 --> 00:04:15,950 ή πιο προηγμένη web-ανάπτυξη τεχνικών. 77 00:04:15,950 --> 00:04:17,970 Υπάρχει μια ολόκληρη ιστορία αυτών των ήδη online. 78 00:04:17,970 --> 00:04:25,000 Αν πάτε σε cs50.net/seminars, έχουμε ήδη κάνει αυτό για αρκετά χρόνια, 79 00:04:25,000 --> 00:04:28,740 και θα δείτε ότι εδώ αρχειοθετούνται με αρχεία PDF και βίντεο και τα παρόμοια 80 00:04:28,740 --> 00:04:33,090 είναι αρκετές δεκάδες βίντεο από τα σεμινάρια. 81 00:04:33,090 --> 00:04:37,380 Πέρυσι, για παράδειγμα, είχαμε ένα σεμινάριο για τις τεχνικές acing συνεντεύξεις σας, 82 00:04:37,380 --> 00:04:40,980 αν είστε πραγματικά ψάχνει να πάει μακριά και να κάνει ένα οικοτροφείο ή πλήρους απασχόλησης συναυλία. 83 00:04:40,980 --> 00:04:43,450 Windows mobile ανάπτυξη, την ανάπτυξη του Android, το Google Maps, 84 00:04:43,450 --> 00:04:47,700 API, CSS, την ανάπτυξη για το BlackBerry, το Emacs. 85 00:04:47,700 --> 00:04:52,610 Αλήθεια, είστε ευπρόσδεκτοι να ρίξετε μια ματιά σε οποιοδήποτε από αυτά τα σεμινάρια με την ησυχία σας. 86 00:04:52,610 --> 00:04:57,080 Και εμείς θα πρέπει να κατέχει ορισμένες νέες αυτό το εξάμηνο, καθώς και. 87 00:04:57,080 --> 00:04:59,020 >> Έτσι, αυτό που είναι μπροστά με το τελικό σχέδιο; 88 00:04:59,020 --> 00:05:01,090 Λοιπόν, πρώτα, ακόμη και αν η ημερομηνία αυτή είναι κάπως επικείμενη, 89 00:05:01,090 --> 00:05:06,460 αυτό είναι πραγματικά ακριβώς μια ευκαιρία να αρχίσουμε να σκεφτόμαστε το τελικό σχέδιο είναι αρκετά ρεαλιστικά. 90 00:05:06,460 --> 00:05:10,550 Γνωρίζουμε μόνο τις απαρχές του μερικά από ό, τι θα εξακολουθεί να καλύπτει, κατά τη διάρκεια, 91 00:05:10,550 --> 00:05:13,470 HTML, PHP και τα παρόμοια, αλλά είστε όλοι εξοικειωμένοι με το διαδίκτυο, 92 00:05:13,470 --> 00:05:16,270 προκατάληψη και εγώ αυτή τη συζήτηση προς την ιστοσελίδα μόνο και μόνο επειδή 93 00:05:16,270 --> 00:05:18,380 οι περισσότεροι άνθρωποι καταλήγουν να κάνουν Web-based τελικό έργων, 94 00:05:18,380 --> 00:05:20,260 αλλά ότι δεν είναι καθόλου αναγκαία. 95 00:05:20,260 --> 00:05:22,260 Χρησιμοποιώντας C είναι μια χαρά, στόχος C, Java, 96 00:05:22,260 --> 00:05:25,350 οποιαδήποτε άλλη γλώσσα που να γνωρίζουν ή θέλουν να ξέρουν είναι αρκετά λεπτή. 97 00:05:25,350 --> 00:05:29,370 Αλλά για να πάρει τους χυμούς που ρέει αρχικά, θα αναμένουμε την υποβολή προκαταρκτική πρόταση 98 00:05:29,370 --> 00:05:33,520 η οποία, σύμφωνα με τον PDF στην ιστοσελίδα της, η οποία είναι τώρα στο cs50.net, 99 00:05:33,520 --> 00:05:36,080 και στην κορυφή αριστερά θα δείτε τελικό σχέδιο 100 00:05:36,080 --> 00:05:38,920 είναι οι προδιαγραφές για το τελικό σχέδιο, 101 00:05:38,920 --> 00:05:41,470 και υπάρχουν λεπτομέρειες για την προκαταρκτική πρόταση και τα παρόμοια. 102 00:05:41,470 --> 00:05:44,760 Είναι λίγο πολύ βράζει κάτω σε ένα μήνυμα ηλεκτρονικού ταχυδρομείου με τους συναδέλφους σας διδασκαλία 103 00:05:44,760 --> 00:05:48,450 ακριβώς για να χτυπήσει επάνω μια συνομιλία μαζί του για το τι σκέφτεστε. 104 00:05:48,450 --> 00:05:52,510 Στις projects.cs50.net είναι μια αποθήκη των ιδεών από τους λαούς στην πανεπιστημιούπολη 105 00:05:52,510 --> 00:05:54,480 αν είστε αγωνίζονται να καταλήξει σε κάποια ιδέα, 106 00:05:54,480 --> 00:06:01,140 και manual.cs50.net/APIs είναι μια σελίδα με συνδέσμους σε APIs. 107 00:06:01,140 --> 00:06:06,710 >> Ποια, όμως, είναι ένα API; 108 00:06:06,710 --> 00:06:09,790 Τι είναι ένα API; Το έχω πει τουλάχιστον δύο φορές, 109 00:06:09,790 --> 00:06:12,640 σύμφωνα με τις μεταγραφές των προηγούμενων αρκετές εβδομάδες. 110 00:06:12,640 --> 00:06:17,050 Τι είναι αυτό; [Φοιτητών, ακατάληπτο] 111 00:06:17,050 --> 00:06:19,340 >> Εντάξει, καλά. Έτσι διεπαφή προγραμματισμού κάτι. 112 00:06:19,340 --> 00:06:22,710 Διεπαφή προγραμματισμού εφαρμογών, και αυτό μπορεί να πάρει διάφορες μορφές, 113 00:06:22,710 --> 00:06:25,850 αλλά τι πραγματικά αυτό σημαίνει ότι πρέπει να είναι ο κωδικός 114 00:06:25,850 --> 00:06:29,660 ότι κάποιος άλλος hs γραπτή ή στοιχεία ότι κάποιος άλλος έχει συλλέξει 115 00:06:29,660 --> 00:06:33,670 που είναι στη διάθεση σας σε κάποιο προγραμματικό τρόπο. 116 00:06:33,670 --> 00:06:36,630 Μπορείτε να γράψετε κώδικα σε C, PHP, Python, Ruby, 117 00:06:36,630 --> 00:06:38,760 ό, τι γλώσσα της επιλογής σας είναι συνήθως, 118 00:06:38,760 --> 00:06:42,240 και μπορείτε να με κάποιο τρόπο να βασίζεται λειτουργικότητα κάποιου άλλου 119 00:06:42,240 --> 00:06:44,440 ή κάποιου άλλου σετ δεδομένων. 120 00:06:44,440 --> 00:06:47,210 Για παράδειγμα, αν πάω σε αυτόν τον σύνδεσμο εδώ, 121 00:06:47,210 --> 00:06:50,750 και θα δείτε ένα ζευγάρι των συνδέσεων στην επόμενη σελίδα 122 00:06:50,750 --> 00:06:56,093 σύμφωνα με την οποία έχουμε τη δική APIs CS50, η οποία είναι πολύ Χάρβαρντ-centric, και στη συνέχεια τρίτων APIs. 123 00:06:56,930 --> 00:06:59,300 Μεταξύ των τρίτων APIs είναι πραγματικά χρήσιμα πράγματα 124 00:06:59,300 --> 00:07:01,780 όπως είναι σε θέση να στείλει στους ανθρώπους του SMS, 125 00:07:01,780 --> 00:07:04,690 να είναι σε θέση να λάβει μηνύματα κειμένου SMS από τους ανθρώπους. 126 00:07:04,690 --> 00:07:08,160 Και τα πράγματα όπως αυτό που μπορείτε να έχετε καμία ιδέα για το πώς να εφαρμόσουν, 127 00:07:08,160 --> 00:07:10,440 αλλά χάρη στις υπηρεσίες, κάποια δωρεάν και κάποια εμπορικά, 128 00:07:10,440 --> 00:07:14,000 μπορείτε να χτίσετε στην κορυφή εκείνους και να κάνουμε κάτι που σας ενδιαφέρει. 129 00:07:14,000 --> 00:07:16,990 Μεταξύ των APIs CS50 είναι αυτά πανεπιστημιούπολη με επίκεντρο τα πράγματα όπως 130 00:07:16,990 --> 00:07:21,480 Μαθήματα του Χάρβαρντ, η ενέργεια, τα γεγονότα, τα τρόφιμα, χάρτες, ειδήσεις, tweets και τις δικές του Shuttleboy, 131 00:07:21,480 --> 00:07:23,940 και αυτά είναι τα API που μοιάζουν λίγο κάτι σαν αυτό. 132 00:07:23,940 --> 00:07:26,990 >> Επιτρέψτε μου να σηκώσει το API HarvardFood. 133 00:07:26,990 --> 00:07:30,620 Αν έχετε ποτέ στην ιστοσελίδα του HUD, έχετε πιθανώς ήταν εκεί 134 00:07:30,620 --> 00:07:35,410 για να δούμε τι ακριβώς είναι για δείπνο ή για να δείτε ποιες είναι οι ώρες είναι για κάποιο d-αίθουσα. 135 00:07:35,410 --> 00:07:38,000 Λοιπόν, αυτό δεν είναι ιδιαίτερα εύκολο στην πλοήγηση, 136 00:07:38,000 --> 00:07:41,100 και έτσι ό, τι κάναμε πριν από λίγο καιρό γράψαμε το λογισμικό, 137 00:07:41,100 --> 00:07:47,270 συμβαίνει να είναι σε PHP, που στην πραγματικότητα οθόνη ξύνει το σύνολο του δικτυακού τόπου του HUD. 138 00:07:47,270 --> 00:07:51,400 Για να ελέγξουν κάτι ξύστε σημαίνει να γράψει ένα πρόγραμμα σε μια γλώσσα όπως η PHP 139 00:07:51,400 --> 00:07:55,270 που προσποιείται ότι είναι μια μηχανή αναζήτησης, ακόμα κι αν μπορεί να τρέξει σε μια γραμμή εντολών, 140 00:07:55,270 --> 00:07:58,180 που προσποιείται ότι είναι ένα πρόγραμμα περιήγησης, συνδέεται με μια ιστοσελίδα, 141 00:07:58,180 --> 00:08:01,480 λήψη της HTML, η γλώσσα στην οποία είναι γραμμένο, 142 00:08:01,480 --> 00:08:04,300 και στη συνέχεια διαβάζει, ή πιο συγκεκριμένα, αναλύει 143 00:08:04,300 --> 00:08:06,140 πάνω προς τα κάτω, αριστερά προς τα δεξιά. 144 00:08:06,140 --> 00:08:08,870 Και αυτό που κάναμε ήταν ότι έγραψε τον κώδικα μας με τέτοιο τρόπο ώστε 145 00:08:08,870 --> 00:08:12,910 κάθε φορά που είδαμε κάτι σε αυτό το HTML που έμοιαζε με κάτι από το μενού, 146 00:08:12,910 --> 00:08:16,470 όπως χάμπουργκερ, στη συνέχεια, θα εισαγωγή, ότι στη δική μας βάση δεδομένων. 147 00:08:16,470 --> 00:08:20,410 Και κάθε φορά που είδαμε θρεπτικό περιεχόμενο, θα εισαγάγει ότι στη δική μας βάση δεδομένων. 148 00:08:20,410 --> 00:08:23,090 Και αυτό που κάναμε ήταν μόχλευσης το γεγονός ότι η ιστοσελίδα του HUD, 149 00:08:23,090 --> 00:08:27,280 αν και θα μπορούσε να είναι ένα κομμάτι της μια πρόκληση για εμάς τους ανθρώπους να πλοηγηθείτε 150 00:08:27,280 --> 00:08:32,559 κάτω από την κουκούλα, το σύνολο των HTML δημιουργείται από τα προγράμματα του υπολογιστή τους. 151 00:08:32,559 --> 00:08:35,159 Έτσι, όλα τα HTML τους, ακόμα κι αν μπορεί να φαίνεται βρώμικο, 152 00:08:35,159 --> 00:08:38,026 όπως και οι περισσότερες ιστοσελίδες κάτω από το καπό ακολουθεί ένα μοτίβο. 153 00:08:38,260 --> 00:08:40,799 Έτσι περάσαμε μόλις μερικές ώρες υπολογίζει αυτό το μοτίβο 154 00:08:40,799 --> 00:08:44,240 έτσι ώστε στο τέλος, πετάμε όλο το βρώμικο HTML, 155 00:08:44,240 --> 00:08:47,340 όλα τα τολμηρή αισθητική του προσανατολισμό και πλάγιους χαρακτήρες και τα παρόμοια, 156 00:08:47,340 --> 00:08:52,350 και ό, τι είμαστε σε θέση στη συνέχεια να κάνετε είναι να εκθέσει τα ίδια δεδομένα. 157 00:08:52,350 --> 00:08:54,870 Για παράδειγμα, με αυτόν τον τρόπο. 158 00:08:54,870 --> 00:08:56,840 Γι 'αυτό και, σύμφωνα με την τεκμηρίωση εδώ, 159 00:08:56,840 --> 00:08:59,190 έχουν ενημερώσει τον κόσμο ότι αν ζητήσετε μια διεύθυνση URL 160 00:08:59,190 --> 00:09:03,310 που μοιάζει με αυτό, food.cs50.net / κάτι, 161 00:09:03,310 --> 00:09:07,220 και σας παρέχουμε ορισμένες παραμέτρους, οι οποίες θα μιλήσουμε για το σήμερα, 162 00:09:07,220 --> 00:09:11,780 όπως η καταληκτική ημερομηνία ώρα, ημερομηνία έναρξης φορά, γεύμα και ούτω καθεξής, 163 00:09:11,780 --> 00:09:14,090 τι servers μας θα επιστρέψει σε εσάς, για παράδειγμα, 164 00:09:14,090 --> 00:09:18,740 είναι ένα αρχείο CSV, κόμμα separted αξίες όπως ένα αρχείο Excel, 165 00:09:18,740 --> 00:09:23,140 που περιέχει τα πάντα για πρωινό στη συγκεκριμένη ημερομηνία τον Μάρτιο του περασμένου έτους 166 00:09:23,140 --> 00:09:25,450 όταν έτυχε να γράψω αυτήν την τεκμηρίωση. 167 00:09:25,450 --> 00:09:27,870 >> Για όσους είναι εξοικειωμένοι, CSV δεν είναι η μόνη μορφή αρχείου. 168 00:09:27,870 --> 00:09:30,610 Υπάρχει μια άλλη μορφή, που είναι όλο και πιο ευέλικτο 169 00:09:30,610 --> 00:09:32,670 που ονομάζεται JSON, Object Notation JavaScript. 170 00:09:32,670 --> 00:09:34,770 Τα δεδομένα μπορεί να έρθει πίσω σε αυτή τη μορφή. 171 00:09:34,770 --> 00:09:38,110 Έτσι, το όφελος εδώ είναι ότι αν βουτιά σε αυτό το API 172 00:09:38,110 --> 00:09:41,170 ή οποιοδήποτε άλλο ή οτιδήποτε CS50 εκεί έξω στο διαδίκτυο, 173 00:09:41,170 --> 00:09:45,560 ή και καθόλου, συνειδητοποιούν ότι ο κόσμος έχει αρχίσει όλο και περισσότερο να τυποποιήσει 174 00:09:45,560 --> 00:09:47,670 πώς οι μηχανές επικοινωνούν. 175 00:09:47,670 --> 00:09:50,660 Εμείς χρησιμοποιούν ένα τυποποιημένο έντυπο δεδομένων, όπως CSV ή JSON. 176 00:09:50,660 --> 00:09:54,320 Και τι σημαίνει αυτό για σας είναι ότι μπορείτε να γράψετε το ενδιαφέρον μέρος ενός προγράμματος 177 00:09:54,320 --> 00:09:56,580 που σας επιτρέπει χρήστη σας αναζήτηση σε μια τραπεζαρία-αίθουσα μενού, 178 00:09:56,580 --> 00:10:00,010 που σας επιτρέπει να δημιουργήσετε λίστες με τα αγαπημένα που τους επιτρέπει να λαμβάνετε ειδοποιήσεις κειμένου 179 00:10:00,010 --> 00:10:02,480 όταν το αγαπημένο γεύμα τους για να εξυπηρετηθούν σε κάποια αίθουσα δ- 180 00:10:02,480 --> 00:10:07,090 με τη χρήση σύνολα δεδομένων και τη δημιουργία κάποιου άλλου πάνω από APIs τους. 181 00:10:07,090 --> 00:10:13,600 Έτσι, περισσότερα για αυτό, με τη μορφή σεμιναρίων και την τεκμηρίωση που έχετε εδώ σε απευθείας σύνδεση. 182 00:10:13,600 --> 00:10:16,450 Έτσι, εκείνοι, λοιπόν, είναι APIs. 183 00:10:16,450 --> 00:10:18,900 >> Αυτό μας φέρνει πίσω σε HTML. Γρήγορη ανακεφαλαίωση. 184 00:10:18,900 --> 00:10:22,920 Τι είναι η HTML; 185 00:10:22,920 --> 00:10:25,000 [Φοιτητών, ακατάληπτο] >> Καλή. HyperText Markup Language. 186 00:10:25,000 --> 00:10:31,300 Κάποιος άλλος, τι είναι Hypertext Markup Language; 187 00:10:31,300 --> 00:10:37,340 HyperText Markup Language. 188 00:10:37,340 --> 00:10:40,330 Εντάξει. Έτσι, HTML, HyperText. 189 00:10:40,330 --> 00:10:43,100 HyperText αναφέρεται μόνο στο Web, ως επί το πλείστον. 190 00:10:43,100 --> 00:10:45,730 Markup σημαίνει ότι δεν είναι στην πραγματικότητα μια γλώσσα προγραμματισμού, HTML. 191 00:10:45,730 --> 00:10:48,120 Δεν είναι μια γλώσσα που μπορεί να εκφράσει τη λογική μέσα 192 00:10:48,120 --> 00:10:50,710 Δεν έχει βρόχους. Δεν έχει προϋποθέσεις. 193 00:10:50,710 --> 00:10:52,820 Δεν έχουν συναρτήσεις, per se. 194 00:10:52,820 --> 00:10:56,680 Αντίθετα, δεν έχει αυτά τα πράγματα που ονομάζονται ετικέτες, ή πιο σωστά, στοιχεία. 195 00:10:56,680 --> 00:10:59,970 Και αυτά τα στοιχεία έχουν ετικέτες ετικέτες έναρξης και τέλος, 196 00:10:59,970 --> 00:11:04,300 ή ανοιχτό και κλειστό ετικέτες ετικέτες, και ό, τι αυτές οι ετικέτες γενικά σημαίνει για ένα πρόγραμμα περιήγησης είναι, 197 00:11:04,300 --> 00:11:09,270 αρχίσουν να κάνουν κάτι και στη συνέχεια να σταματήσει να κάνει κάτι, αν και υπάρχουν εξαιρέσεις σε αυτό. 198 00:11:09,270 --> 00:11:12,480 Μερικές φορές είναι απλά «να θέσει ένα διάλειμμα γραμμή εδώ, για παράδειγμα. 199 00:11:12,480 --> 00:11:15,150 Και είδαμε παραδείγματα από ότι την άλλη μέρα, μεταξύ τολμηρό προσανατολισμό, 200 00:11:15,150 --> 00:11:17,430 αλλαγές γραμμής, και στη συνέχεια, ένα ζευγάρι από άλλες ετικέτες. 201 00:11:17,430 --> 00:11:19,880 Έτσι HTML είναι η γλώσσα στην οποία είναι γραμμένα ιστοσελίδες. 202 00:11:19,880 --> 00:11:23,760 Έτσι, αν πάω σε κάτι όπως το Google.com 203 00:11:23,760 --> 00:11:26,180 και τραβήξτε προς τα επάνω ακριβώς σελίδα τους στο σπίτι, 204 00:11:26,180 --> 00:11:29,690 Υπενθυμίζω ότι, αν κάνετε δεξί κλικ ή πατήστε τον έλεγχο 205 00:11:29,690 --> 00:11:32,140 και να κοιτάξουμε πηγή προβολή σελίδας, συνήθως 206 00:11:32,140 --> 00:11:34,420 είναι ένα πλήρες χάος αυτές τις μέρες κάτω από την κουκούλα, αλλά αυτό είναι επειδή 207 00:11:34,420 --> 00:11:38,170 υπολογιστές δεν νοιάζονται για λευκό χώρο, έτσι αυτό δεν πρέπει να εξετάσουμε πολύ. 208 00:11:38,170 --> 00:11:40,240 Αλλά αν κάνετε ζουμ σε τμήματά του, 209 00:11:40,240 --> 00:11:43,460 παρατηρήσετε ότι το Chrome, ακριβώς για να είναι ωραίο, έχει χρωματικό κώδικα τα πράγματα. 210 00:11:43,460 --> 00:11:48,460 Πράγματι, αυτή είναι η πρώτη ετικέτα που είδαμε σε μια ιστοσελίδα. 211 00:11:48,460 --> 00:11:51,750 Και πάλι, HTML 5, η τελευταία έκδοση αυτής της γλώσσας, 212 00:11:51,750 --> 00:11:53,830 έχει αυτό το πράγμα στην αρχή, 213 00:11:53,830 --> 00:11:57,820 00:12:03,580 αλλά αυτό είναι ακριβώς το είδος της ένα πρότυπο που λέει, hey κόσμο, έρχεται εδώ ένα αρχείο HTML στην έκδοση 5. 215 00:12:03,580 --> 00:12:08,920 >> Το ενδιαφέρον μέρος αρχίζει εδώ. Έτσι 00:12:11,640 από τα στοιχεία HTML τελευταία φορά. 217 00:12:11,640 --> 00:12:14,630 Ποιες ήταν οι δύο κύριες παιδιά; 218 00:12:14,630 --> 00:12:17,170 Κεφάλι και το σώμα, όπως ακριβώς ο τύπος με το τατουάζ πριν από λίγο. 219 00:12:17,170 --> 00:12:19,640 Υπάρχουν δύο τμήματα της ιστοσελίδας, το κεφάλι και το σώμα, 220 00:12:19,640 --> 00:12:23,750 ανάκληση και, στη συνέχεια, ότι ίσως η πιο απλή ιστοσελίδα που θα μπορούσε να κάνει μοιάζει με αυτό. 221 00:12:23,750 --> 00:12:27,460 Και έχω εσοχή για να είναι ακριβώς το είδος του τακτοποιημένο και καθαρό με τον κωδικό μου, 222 00:12:27,460 --> 00:12:30,710 αλλά αυτό που είναι πραγματικά σημαντικό εδώ είναι ότι δεν υπάρχει κάποια ιεραρχία σε αυτό. 223 00:12:30,710 --> 00:12:35,420 Και κάθε ετικέτα που έχω ανοίξει έχω κλείσει και ότι υπάρχει ως εκ τούτου αυτή η συμμετρία 224 00:12:35,420 --> 00:12:38,300 για το σύνολο της σήμανσης που έχω δημιουργήσει. 225 00:12:38,300 --> 00:12:41,620 Έτσι, την τελευταία φορά που άρχισε να γράφει σελίδες για το φορητό υπολογιστή μου. 226 00:12:41,620 --> 00:12:45,470 Άνοιξα επεξεργασία κειμένου, έσωσα το αρχείο ως hello.html, 227 00:12:45,470 --> 00:12:50,190 Τράβηξα τότε το αρχείο στον browser μου, και voila, είχα μια σελίδα στο Διαδίκτυο. 228 00:12:50,190 --> 00:12:53,110 Τώρα, δεν είναι αρκετά η περίπτωση? Είχα μια σελίδα στο σκληρό δίσκο μου, 229 00:12:53,110 --> 00:12:58,260 και ήμουν κυριολεκτικά το μόνο άτομο στον κόσμο που θα δούμε ότι η ιστοσελίδα σε ένα πρόγραμμα περιήγησης. 230 00:12:58,260 --> 00:13:00,670 >> Έτσι, σήμερα, έχουμε εισαγάγει μια πραγματική του web server 231 00:13:00,670 --> 00:13:02,750 και η έννοια της εξυπηρέτησης στην πραγματικότητα περιεχόμενο στο Διαδίκτυο 232 00:13:02,750 --> 00:13:04,970 και πώς αυτό όλα αρχίζει να ταιριάζουν μεταξύ τους. 233 00:13:04,970 --> 00:13:08,350 Έτσι, αποδεικνύεται ότι όλο αυτό το διάστημα στη συσκευή CS50 234 00:13:08,350 --> 00:13:11,590 είχατε έναν web server στον υπολογιστή σας. 235 00:13:11,590 --> 00:13:16,560 Έχουμε, για να είμαστε δίκαιοι, που χρησιμοποιούνται μόνο για το gedit, για Clang, για GDB και τα παρόμοια, 236 00:13:16,560 --> 00:13:21,000 αλλά επίσης εγκατασταθεί από μας για σας στη συσκευή είναι ένα web server, 237 00:13:21,000 --> 00:13:23,940 και ότι ο διακομιστής web συμβαίνει να είναι ελεύθερη, ανοικτή πηγή, 238 00:13:23,940 --> 00:13:26,580 μία από τις πιο δημοφιλείς στον κόσμο, που ονομάζεται Apache. 239 00:13:26,580 --> 00:13:31,340 Πιο τεχνική ονομασία του είναι HTTPd, ο δ είναι για δαίμονας εδώ, 240 00:13:31,340 --> 00:13:34,110 η οποία είναι μια τεχνική λέξη για ένα διακομιστή. 241 00:13:34,110 --> 00:13:38,690 Έτσι εγκατασταθεί στη συσκευή CS50 είναι ένα web server, και τι σημαίνει αυτό; 242 00:13:38,690 --> 00:13:43,740 Λοιπόν, ένας web server είναι, θεωρητικά, κάποια διακομιστή στο Internet που σερβίρει web περιεχόμενο. 243 00:13:43,740 --> 00:13:48,630 Όταν ρωτήθηκε για ένα αρχείο, το φτύνει το HTML που συνθέτει αυτό το αρχείο, και voila. 244 00:13:48,630 --> 00:13:51,370 Μπορείτε να δείτε την αρχική σελίδα κάποιου ιστοσελίδας. 245 00:13:51,370 --> 00:13:54,970 Όμως, ένας διακομιστής είναι, πιο συγκεκριμένα, ένα κομμάτι του λογισμικού. 246 00:13:54,970 --> 00:13:59,190 Δεν χρειάζεται να είναι σε μια φυσική μηχανή, απλά να είναι ένα κομμάτι του λογισμικού λειτουργίας. 247 00:13:59,190 --> 00:14:01,980 Έτσι, η συσκευή CS50, φυσικά, είναι ένα κομμάτι του λογισμικού 248 00:14:01,980 --> 00:14:04,270 ακόμα κι αν είναι το είδος του που προσποιείται ότι είναι μια μηχανή. 249 00:14:04,270 --> 00:14:06,960 Είναι προσποιείται ότι είναι ένα εσωτερικό του υπολογιστή από έναν υπολογιστή, 250 00:14:06,960 --> 00:14:11,140 αλλά αυτό απλά σημαίνει ότι η συσκευή μπορεί να τρέξει σίγουρα τα πράγματα όπως web servers. 251 00:14:11,140 --> 00:14:13,260 Μπορεί να τρέξει πραγματικά email servers. 252 00:14:13,260 --> 00:14:16,440 Θα μπορούσαμε να τρέξει ένα διακομιστή συνομιλίας στη συσκευή, εάν θέλαμε να, 253 00:14:16,440 --> 00:14:20,780 και πράγματι, εμείς δεν τρέχει ένα άλλο είδος του διακομιστή, που είναι γνωστή ως ένα διακομιστή βάσης δεδομένων, mySQL. 254 00:14:20,780 --> 00:14:22,620 Αλλά περισσότερα για αυτό την επόμενη εβδομάδα. 255 00:14:22,620 --> 00:14:26,400 Αυτό σημαίνει ότι μπορώ να επισκεφθούν πραγματικά ιστοσελίδες 256 00:14:26,400 --> 00:14:30,480 στο εσωτερικό της συσκευής μου χρησιμοποιώντας ένα πρόγραμμα περιήγησης στο εσωτερικό της συσκευής 257 00:14:30,480 --> 00:14:33,600 ή ακόμα και για το φορητό υπολογιστή μου, μου Mac ή PC μου. 258 00:14:33,600 --> 00:14:37,780 Λοιπόν, τι σημαίνει αυτό; Αποδεικνύεται ότι κάθε φορά που τρέχετε ένα Linux υπολογιστή, 259 00:14:37,780 --> 00:14:40,910 παρατσούκλι του είναι "τοπικό κεντρικό υπολογιστή." 260 00:14:40,910 --> 00:14:43,370 Δεν έχει ένα όνομα τομέα, γιατί δεν έχουν αγοράσει ένα domain name 261 00:14:43,370 --> 00:14:46,590 για κάτι σαν τη συσκευή, έτσι προεπιλεγμένο όνομα του είναι τοπικό κεντρικό υπολογιστή. 262 00:14:46,590 --> 00:14:50,470 >> Αλλά για να πάρει τη συσκευή να αρχίζει να εξυπηρετεί τις ιστοσελίδες, 263 00:14:50,470 --> 00:14:52,270 πρέπει να τους δημιουργήσετε πρώτα. 264 00:14:52,270 --> 00:14:55,200 Ας το κάνουμε αυτό. Επιτρέψτε μου να πάω σε ένα παράθυρο τερματικού εδώ 265 00:14:55,200 --> 00:14:58,190 και παρατηρήστε ότι είμαι σε τυπικό John Harvard προτροπή μου. 266 00:14:58,190 --> 00:15:01,670 Επιτρέψτε μου να προχωρήσει και πληκτρολογήστε ls, και θα δούμε μερικά γνωστά πράγματα από αυτό το εξάμηνο, 267 00:15:01,670 --> 00:15:04,580 επιφάνεια εργασίας, λήψεις, dropbox και ούτω καθεξής, 268 00:15:04,580 --> 00:15:07,540 αλλά τώρα έχουμε αρχίσει να στρέψουμε την προσοχή μας σε ένα ζευγάρι. 269 00:15:07,540 --> 00:15:11,530 Σε πολλές Linux web servers που υπάρχει αυτός ο φάκελος που ονομάζεται δημόσια html, 270 00:15:11,530 --> 00:15:15,630 αλλά θα πάμε για να παραλείψετε αυτό το ένα για τώρα και να επικεντρωθεί σε αυτό, vhosts. 271 00:15:15,630 --> 00:15:18,850 Καθένας ξέρει τι είναι vhost; 272 00:15:18,850 --> 00:15:21,110 Απλά ηλίθιο ορολογία για εικονική υποδοχής, 273 00:15:21,110 --> 00:15:23,850 και τι σημαίνει αυτό είναι ότι σε μια τυπική σέρβερ 274 00:15:23,850 --> 00:15:26,810 μπορείτε να φιλοξενήσετε στην πραγματικότητα πολλούς δικτυακούς τόπους. 275 00:15:26,810 --> 00:15:31,500 Μπορείτε να αγοράσετε ένα όνομα τομέα, όπως foo.com, και μπορείτε να το φιλοξενήσει σε ένα διακομιστή. 276 00:15:31,500 --> 00:15:36,100 Αλλά μπορείτε επίσης να αγοράσετε και bar.com φιλοξενήσει στον ίδιο διακομιστή. 277 00:15:36,100 --> 00:15:40,250 Ο λόγος είναι, browsers είναι αρκετά έξυπνος για να ενημερώσει το διακομιστή 278 00:15:40,250 --> 00:15:45,880 όταν ένας χρήστης ζητά κάποια ιστοσελίδα, τι όνομα τομέα που ο χρήστης θέλει για την αρχική σελίδα. 279 00:15:45,880 --> 00:15:48,760 Λοιπόν, τι είναι ωραίο για αυτό δεν χρειάζεται ένα φυσικό εξυπηρετητή 280 00:15:48,760 --> 00:15:52,040 ή ένα CS50 συσκευή για κάθε ιστοσελίδα μπορεί να θέλετε να δημιουργήσετε. 281 00:15:52,040 --> 00:15:55,520 Μπορείτε να χρησιμοποιήσετε τον ίδιο διακομιστή και να αναπτύξουν εκατό διαφορετικές ιστοσελίδες. 282 00:15:55,520 --> 00:15:58,770 Και πράγματι, αν είστε ένα πρόσωπο που προσπαθεί να ξεκινήσει μια ιστοσελίδα, 283 00:15:58,770 --> 00:16:02,100 είτε για διασκέδαση είτε για επαγγελματικούς λόγους, συνήθως θα βγει στο διαδίκτυο, 284 00:16:02,100 --> 00:16:04,650 και θα πληρώσει κάποιος για δέκα δολάρια το μήνα, εκατό δολάρια το μήνα 285 00:16:04,650 --> 00:16:06,670 για να φιλοξενήσει την ιστοσελίδα σας για σας. 286 00:16:06,670 --> 00:16:11,060 Και ο τρόπος που λειτουργεί είναι ότι χρεώνουν τους άλλους ανθρώπους 287 00:16:11,060 --> 00:16:13,160 δέκα δολάρια το μήνα ή εκατό δολάρια το μήνα 288 00:16:13,160 --> 00:16:17,200 για να φιλοξενήσει ιστοσελίδες άλλων ανθρώπων για ίδιο διακομιστή τους. 289 00:16:17,200 --> 00:16:20,740 Ο λόγος που μπορεί να κάνει ότι είναι λόγω αυτής της χαρακτηριστικό που ονομάζεται bhosts, 290 00:16:20,740 --> 00:16:23,790 αλλά περισσότερο για αυτό, όταν έρχεται η ώρα για την τελική έργα. 291 00:16:23,790 --> 00:16:28,360 >> Προς το παρόν, ας βουτιά εκεί. Έτσι vhosts cd, και αν πληκτρολογήσετε ls τώρα, 292 00:16:28,360 --> 00:16:31,370 παρατηρήσετε ότι υπάρχει ένας φάκελος που ονομάζεται εκεί τοπικό κεντρικό υπολογιστή. 293 00:16:31,370 --> 00:16:33,440 Αυτό συμβαίνει επειδή, από προεπιλογή, οι αριθμοί συσκευών 294 00:16:33,440 --> 00:16:36,160 είστε ποτέ πρόκειται να εκτελέσετε μία ιστοσελίδα σε μια συσκευή. 295 00:16:36,160 --> 00:16:38,970 Αυτό δεν είναι πραγματικά το πραγματικό κόσμο? Δεν είναι ένα πραγματικό κόσμο του web server. 296 00:16:38,970 --> 00:16:41,690 Έτσι, επιτρέψτε μου να πάω σε τοπικό κεντρικό υπολογιστή, και τώρα θα δούμε εκεί 297 00:16:41,690 --> 00:16:44,290 ένα τελευταίο κατάλογο που ονομάζεται HTML. 298 00:16:44,290 --> 00:16:47,080 Γι 'αυτό είναι λίγο βαθιά, η ιεραρχία, αλλά αν και όταν 299 00:16:47,080 --> 00:16:51,230 αν αποφασίσετε να αρχίσει να αναπτύσσει πολλαπλές ιστοσελίδες για τους επόμενους μήνες ή τα έτη n, 300 00:16:51,230 --> 00:16:54,370 αυτό το είδος της δομής του φακέλου τείνει να είναι χρήσιμη. 301 00:16:54,370 --> 00:16:56,560 Τώρα ας πάμε σε HTML, όπως έκανα ακριβώς, 302 00:16:56,560 --> 00:16:59,010 ls τύπου, και τίποτα δεν είναι εκεί. 303 00:16:59,010 --> 00:17:01,390 Έτσι τώρα ας προχωρήσουμε και να κάνουμε αυτό. Επιτρέψτε μου να ανοίξει Chrome 304 00:17:01,390 --> 00:17:07,300 στο εσωτερικό της συσκευής, και επιτρέψτε μου να πάω να http://localhost. 305 00:17:07,300 --> 00:17:14,440 Έτσι κυριολεκτικά το όνομα για τη συσκευή μου, αρχίζει, και παίρνω δείκτη /. 306 00:17:14,440 --> 00:17:18,290 Αυτό δεν είναι πραγματικά μου δείχνει κάτι ενδιαφέρον, 307 00:17:18,290 --> 00:17:23,400 αλλά αποδεικνύεται ότι αυτό που βλέπουμε είναι ότι φακέλου, HTML. 308 00:17:23,400 --> 00:17:25,770 Δεν υπάρχει τίποτα μέσα σε αυτόν το φάκελο αυτή τη στιγμή, 309 00:17:25,770 --> 00:17:28,750 έτσι αντ 'αυτού, τι Πάω να πρέπει να κάνουμε είναι πρώτα να δημιουργήσετε ένα αρχείο. 310 00:17:28,750 --> 00:17:33,530 Δημιουργήστε ένα αρχείο HTML, όπως κάναμε τη Δευτέρα, αλλά αυτή τη φορά έθεσε εσωτερικό της συσκευής. 311 00:17:33,530 --> 00:17:36,830 Για όσους από εσάς προσπαθούν να παρακολουθήσει μαζί με φορητούς υπολογιστές τώρα, 312 00:17:36,830 --> 00:17:42,040 επιτρέψτε μου να κάνετε ένα μέρος που θα πρέπει να καλύπτονται από το web-based PSET, 313 00:17:42,040 --> 00:17:44,280 αλλά για να πάρει αυτό το έργο για πρώτη φορά, 314 00:17:44,280 --> 00:17:49,830 εσείς πρόκειται να πρέπει να τρέξετε την εντολή: sudo έναρξη httpd υπηρεσία. 315 00:17:49,830 --> 00:17:52,670 Και αυτό, πάλι, θα πρέπει να επαναληφθεί στην τελευταία PSET, 316 00:17:52,670 --> 00:17:55,460 αλλά αν παίζετε μαζί στο σπίτι τώρα, ο web server 317 00:17:55,460 --> 00:17:58,660 είναι απενεργοποιημένο στη συσκευή, και ότι είναι έτσι ώστε να μην υποσκάψει μέχρι RAM 318 00:17:58,660 --> 00:18:01,960 και μνήμη για 7 εβδομάδες από την εξαμήνου όταν δεν το χρειάζεστε. 319 00:18:01,960 --> 00:18:05,190 Έτσι, θα πρέπει να εκτελέσετε αυτήν την εντολή μία φορά, και θα πάρετε μια έξοδο όπως αυτό. 320 00:18:05,190 --> 00:18:07,920 Στη συνέχεια, θα πρέπει να είναι σε θέση να παίξει μαζί εδώ. 321 00:18:07,920 --> 00:18:10,330 Τώρα, ας πάμε πίσω σε αυτόν το φάκελο. 322 00:18:10,330 --> 00:18:12,770 Αυτός ο φάκελος είναι κενός, οπότε επιτρέψτε μου να αρχίσετε να δημιουργείτε ένα αρχείο, 323 00:18:12,770 --> 00:18:16,360 hello.html gedit. 324 00:18:16,360 --> 00:18:20,930 >> Εντάξει. Gedit είναι ανοικτή, ως συνήθως. Επιτρέψτε μου να κάνω doctype, html, 325 00:18:20,930 --> 00:18:25,270 html, επιτρέψτε μου να πάρει μπροστά από τον εαυτό μου και να αρχίσει το κλείσιμο ετικέτες μου εκ των προτέρων. 326 00:18:25,270 --> 00:18:28,380 Τώρα έχω το κεφάλι. Επιτρέψτε μου να προχωρήσει και να κλείσει το κεφάλι, 327 00:18:28,380 --> 00:18:32,450 επιτρέψτε μου να κάνω τώρα τον τίτλο της σελίδας, γειά σου κόσμο, όπως την τελευταία φορά, 328 00:18:32,450 --> 00:18:34,790 κοντά τίτλο, τώρα επιτρέψτε μου να κάνω ένα σώμα. 329 00:18:34,790 --> 00:18:38,130 Εδώ θα πω γεια, κόσμο με ορισμένες exclams 330 00:18:38,130 --> 00:18:40,550 να καταστεί σαφές ότι πρόκειται για μια διαφορετική σειρά. 331 00:18:40,550 --> 00:18:45,800 Κλείσιμο του σώματος, και τώρα επιτρέψτε μου να προχωρήσει και να αποθηκεύσετε το αρχείο. 332 00:18:45,800 --> 00:18:48,470 Επιτρέψτε μου να πάω πίσω στο παράθυρο του τερματικού μου, και αν πληκτρολογήσετε ls, 333 00:18:48,470 --> 00:18:51,830 Θα ήθελα, κατά πάσα πιθανότητα, δείτε hello.html. Και το κάνω. 334 00:18:51,830 --> 00:18:55,070 Έτσι τώρα ας πάμε πίσω στο πρόγραμμα περιήγησής μου, κάντε κλικ στην επιλογή reload, 335 00:18:55,070 --> 00:18:58,930 και μπορείτε να δείτε ότι είναι πράγματι μέσα από αυτό το φάκελο HTML. 336 00:18:58,930 --> 00:19:02,310 Δεν βλέπω μια ιστοσελίδα ακόμα? Αυτό είναι Apache, τον web server, 337 00:19:02,310 --> 00:19:04,670 απλά μου δείχνει τα περιεχόμενα της λίστας αυτόν τον κατάλογο. 338 00:19:04,670 --> 00:19:08,260 Ακριβώς όπως το Mac OS ή Windows θα κάνει συνήθως με δική τοπικό σκληρό σας δίσκο. 339 00:19:08,260 --> 00:19:12,730 Έτσι, αν θέλω να δω αυτή την ιστοσελίδα, μπορώ να κάνετε κλικ σε αυτό το σύνδεσμο λίγο εδώ, hello.html, 340 00:19:12,730 --> 00:19:15,160 και πράγματι, αυτό είναι αυτό που περίμενα να δω. 341 00:19:15,160 --> 00:19:18,080 Τώρα, και πάλι, αυτό δεν είναι μια διεύθυνση URL που κάποιος από εσάς να επισκεφθείτε αυτή τη στιγμή, 342 00:19:18,080 --> 00:19:20,760 γιατί για σας, τοπικό κεντρικό υπολογιστή, εάν έχετε ένα φορητό υπολογιστή εδώ, 343 00:19:20,760 --> 00:19:23,050 εννοεί στο δικό σας παράδειγμα της συσκευής. 344 00:19:23,050 --> 00:19:25,900 Αυτό είναι για την προσωπική μου συσκευή, 345 00:19:25,900 --> 00:19:29,080 αλλά αυτό είναι το είδος της άλαλος για μένα να έχουν, να έχουν 346 00:19:29,080 --> 00:19:34,480 ένας χρήστης, όπως εγώ, κάντε κλικ στο hello.html για να δούμε πραγματικά το περιεχόμενο αυτής της σελίδας. 347 00:19:34,480 --> 00:19:42,590 Αποδεικνύεται ότι οι διακομιστές Web, όπως Apache σας επιτρέπουν να έχετε ένα προεπιλεγμένο αρχείο για οποιοδήποτε web server. 348 00:19:42,590 --> 00:19:44,640 Προσέξτε εδώ ότι έχουμε hello.html. 349 00:19:44,640 --> 00:19:48,410 Ποια είναι η εντολή στο Linux για να μετονομάσετε ένα αρχείο; 350 00:19:48,410 --> 00:19:50,870 >> MV, για κίνηση. Επιτρέψτε μου λοιπόν να το κάνουμε αυτό, 351 00:19:50,870 --> 00:19:55,870 και επιτρέψτε μου να μετονομάσετε hello.html να index.html. 352 00:19:55,870 --> 00:19:58,610 Επιτρέψτε μου να πληκτρολογήσετε ls για να επιβεβαιώσετε ότι είναι πλέον μετονομαστεί. 353 00:19:58,610 --> 00:20:03,250 Τώρα, αυτό πρόκειται να - αν πάω πίσω στην τοπική υποδοχής, 354 00:20:03,250 --> 00:20:06,710 παρατηρήσετε τώρα που βλέπω αυτόματα αυτή την ιστοσελίδα. 355 00:20:06,710 --> 00:20:11,740 Αυτό είναι πανομοιότυπο με κάνει πραγματικά / index.html μου, 356 00:20:11,740 --> 00:20:14,740 αλλά το ωραίο είναι ότι τώρα ο web server είναι υπολογίζει, 357 00:20:14,740 --> 00:20:18,830 Ω, αν έχετε ένα αρχείο το οποίο, με συμβάσεις για τα ανθρώπινα, ονομάζεται index.html, 358 00:20:18,830 --> 00:20:21,200 επιτρέψτε μου να δείξουν τον χρήστη ότι το αρχείο από προεπιλογή 359 00:20:21,200 --> 00:20:25,290 και όχι κάποιο ηλίθιο λίστα καταλόγου που δεν είναι καθόλου φιλικό προς τον χρήστη. 360 00:20:25,290 --> 00:20:28,900 Πράγματι, οι περισσότερες ιστοσελίδες που επισκέπτεστε στο Διαδίκτυο δεν έχουν μια λίστα με τα αρχεία για να κάνετε κλικ επάνω, 361 00:20:28,900 --> 00:20:34,040 το μόνο που σας δείξει το περιεχόμενο. Έτσι, αυτό είναι το πώς μπορούμε να το κάνουμε αυτό, index.html. 362 00:20:34,040 --> 00:20:37,000 Έτσι, αυτό είναι όλα διασκέδαση και καλή, αλλά αυτό είναι μια αρκετά απλή ιστοσελίδα. 363 00:20:37,000 --> 00:20:41,640 Επιτρέψτε μου να προχωρήσει και να ανοίξει index.html σε vhosts μου, 364 00:20:41,640 --> 00:20:47,620 τοπικούς οικοδεσπότες, html κατάλογο, και ας προσθέσω κάτι μεγαλύτερο ενδιαφέρον. 365 00:20:47,620 --> 00:20:56,120 Έτσι, υπάρχει hello world? Ας πούμε, αντί «Αυτό είναι CS50, Harvard College του. . ". 366 00:20:56,120 --> 00:21:00,000 Έτσι, η αρχή της περιγραφής καταλόγου διάρκεια κάποιου είδους εκεί. 367 00:21:00,000 --> 00:21:03,780 Τώρα, αν θα φορτώσετε εκ νέου, θα πρέπει να δείτε αυτό στην αρχική σελίδα μου. 368 00:21:03,780 --> 00:21:09,560 Εντάξει, και εγώ βλέπω αυτό, αλλά ας υποθέσουμε ότι θέλω να λίστα τώρα λίγο περισσότερο περιεχόμενο σε αυτό το αρχείο. 369 00:21:09,560 --> 00:21:15,160 Θα μπορούσα να συνεχίσω εδώ κάτω και να πω, κανένας προϋποθέσεις, 370 00:21:15,160 --> 00:21:18,740 αν και κάποιοι από εσάς ίσως όπως, «Χα χα χα, δεν προαπαιτούμενα». 371 00:21:18,740 --> 00:21:24,320 Αλλά - επίσημα. Έτσι, reload, και τώρα έχουμε το ίδιο ιδιορρυθμία που είδαμε τελευταία φορά. 372 00:21:24,320 --> 00:21:26,240 Αλλά γιατί συμβαίνει αυτό; Ήταν μια απλή αποτύπωση. 373 00:21:26,240 --> 00:21:31,440 Γιατί αυτή η σελίδα σπάσει; 374 00:21:31,440 --> 00:21:34,170 [Φοιτητών, ακατάληπτο] >> Ναι, έχουμε λύσει αυτό πριν 375 00:21:34,170 --> 00:21:37,440 ρητά από το πρόγραμμα περιήγησης λέγοντας «να θέσει ένα διάλειμμα γραμμή εδώ. 376 00:21:37,440 --> 00:21:39,440 Και αυτό συμβαίνει γιατί, πάλι, ένα πρόγραμμα περιήγησης είναι μόνο πρόκειται να κάνει 377 00:21:39,440 --> 00:21:42,610 ρητά ποια είναι η γλώσσα σήμανσης που λέει να κάνει, 378 00:21:42,610 --> 00:21:45,730 έτσι ακόμα κι αν θα μπορούσε να πατήστε enter μία ή δύο φορές ή ακόμη και δέκα φορές, 379 00:21:45,730 --> 00:21:49,870 πρόκειται να τα συνδυάσουμε όλα σε ένα ενιαίο χώρο, μόνο με σύμβαση. 380 00:21:49,870 --> 00:21:52,770 Έτσι, εάν θέλετε πραγματικά μια αλλαγή γραμμής, θα πρέπει να χρησιμοποιήσετε την ετικέτα br, 381 00:21:52,770 --> 00:21:56,840 και τώρα ειδοποίηση, όπως η Δευτέρα, έβαλα το / στο εσωτερικό αυτής της ετικέτας, 382 00:21:56,840 --> 00:22:00,090 μόνο και μόνο επειδή αυτό ακριβώς δεν αισθάνεται δεξιά 383 00:22:00,090 --> 00:22:02,990 για να ξεκινήσει μια αλλαγή γραμμής σταματήσει στη συνέχεια με τίποτα στο μεταξύ. 384 00:22:02,990 --> 00:22:07,740 >> Έτσι, η σύμβαση είναι σε HTML για να ανοίξει και να κλείσει μια ετικέτα ταυτόχρονα. 385 00:22:07,740 --> 00:22:11,050 Ως μέρος, θα δείτε πολλές ιστοσελίδες σε βιβλία δεν το κάνουμε αυτό. 386 00:22:11,050 --> 00:22:14,240 Είναι σωστό να κάνουμε ή να μην το κάνει, αλλά μπορούμε να πούμε 387 00:22:14,240 --> 00:22:17,430 ότι ο σχεδιασμός-σοφός και στυλιστικά, αυτό είναι ακριβώς καλύτερα 388 00:22:17,430 --> 00:22:20,540 γιατί τότε κάθε ετικέτα είναι τόσο ανοίγει και κλείνει με κάποιο τρόπο. 389 00:22:20,540 --> 00:22:23,370 Έτσι τώρα ας αποθηκεύσετε και να φορτώσετε εκ νέου. Επιστρέψτε στο πρόγραμμα περιήγησης, εντάξει. 390 00:22:23,370 --> 00:22:26,680 Τώρα είμαστε σημειώσει κάποια πρόοδο, αλλά αυτό δεν είναι αρκετό. 391 00:22:26,680 --> 00:22:33,210 Ας πάμε μπροστά και να αρχίσετε να πληκτρολογείτε σε κάποιο μεγαλύτερο σώμα του κειμένου. 392 00:22:33,210 --> 00:22:40,610 Έτσι, ας πούμε, "Μια γρήγορη καφέ αλεπού πηδάει πάνω από ένα χαλαρό σκυλί." 393 00:22:40,610 --> 00:22:42,700 Και τώρα επιτρέψτε μου να αντιγράψετε και να επικολλήσετε αυτό μερικές φορές 394 00:22:42,700 --> 00:22:45,040 έτσι ώστε να έχουμε μια παράγραφο του κειμένου. 395 00:22:45,040 --> 00:22:47,780 Επιτρέψτε μου να επανέλθω εδώ. Έτσι δεν ψάχνει πολύ καλή. 396 00:22:47,780 --> 00:22:50,000 Έχω μια αλλαγή γραμμής, έτσι ώστε να είναι εντάξει, 397 00:22:50,000 --> 00:22:52,140 αλλά τώρα, όταν παίρνουμε το σημείο που έχει μια ιστοσελίδα 398 00:22:52,140 --> 00:22:55,640 η οποία έχει πολλά περιεχόμενο και όχι μόνο και μόνο για να αποδείξει γραμμές HTML, 399 00:22:55,640 --> 00:22:58,570 μπορούμε να αρχίσουμε να σκεφτόμαστε αυτά τα πράγματα όπως πραγματικά παραγράφους. 400 00:22:58,570 --> 00:23:01,590 Και μπορούμε να αρχίσουμε να δομήσει την ιστοσελίδα μας λίγο πιο καθαρά. 401 00:23:01,590 --> 00:23:05,120 Και πράγματι, αυτό που μπορώ να κάνω είναι να πάτε εδώ μέσα του tag το σώμα μου, 402 00:23:05,120 --> 00:23:09,400 και ξέρετε τι, αν «Αυτό είναι CS50. . ". πραγματικά demarks την αρχή μιας παραγράφου, 403 00:23:09,400 --> 00:23:11,310 καλά, ας ετικέτα ως τέτοια. 404 00:23:11,310 --> 00:23:13,570 Επιτρέψτε μου περίπτωση, το κείμενο, μόνο με σύμβαση, επιτρέψτε μου να πω 405 00:23:13,570 --> 00:23:15,710 ότι η παράγραφος αυτή τελειώνει εδώ, 406 00:23:15,710 --> 00:23:18,320 και στη συνέχεια, αντί να κάνουν το διάλειμμα γραμμή, επιτρέψτε μου να πω 407 00:23:18,320 --> 00:23:23,300 ότι αυτό ανήκει εκεί και ως μια νέα παράγραφο, 408 00:23:23,300 --> 00:23:27,610 και εγώ θα πρέπει ακριβώς γρήγορα περίπτωση από μόνο πειράζουν όλα αυτά τα πράγματα. 409 00:23:27,610 --> 00:23:30,660 >> Έτσι τώρα έχουμε μια εσοχή παραγράφου εκεί, 410 00:23:30,660 --> 00:23:33,510 σήμανσης και τώρα μας έχει αρχίσει να πάρετε μια λίγο πιο 411 00:23:33,510 --> 00:23:37,070 σημασιολογικά συνεπής με αυτό που προσπαθούμε να κάνουμε. 412 00:23:37,070 --> 00:23:40,130 Έχουμε μια παράγραφο, οπότε ας το ονομάσουμε μια παράγραφο με την ετικέτα p. 413 00:23:40,130 --> 00:23:43,370 Έχουμε μια δεύτερη παράγραφο, οπότε ας το ονομάσουμε μια παράγραφο με την ετικέτα p. 414 00:23:43,370 --> 00:23:45,850 Και τώρα, τι ο browser θα κάνει συνήθως 415 00:23:45,850 --> 00:23:48,490 είναι ακριβώς όπως σε ένα αγγλικό βιβλίο ή ένα δοκίμιο, 416 00:23:48,490 --> 00:23:51,280 όπου θα δείτε συνήθως κάποιες αλλαγές γραμμής μεταξύ των παραγράφων. 417 00:23:51,280 --> 00:23:53,720 Τα προγράμματα περιήγησης θα το κάνει αυτό για σας αυτόματα. 418 00:23:53,720 --> 00:23:56,680 Έτσι τώρα έχουμε δύο παραγράφους και μπορούμε να συνεχίσουμε αυτό. 419 00:23:56,680 --> 00:23:58,770 Αλλά, φυσικά, στο διαδίκτυο, όταν έχετε φορείς του κειμένου 420 00:23:58,770 --> 00:24:01,370 δεν είναι συνήθως απλά τεράστιες σταγόνες του κειμένου. 421 00:24:01,370 --> 00:24:04,040 Υπάρχουν συχνά υπερ-συνδέσεις εκεί. 422 00:24:04,040 --> 00:24:07,250 Έτσι, αν θέλουμε, για παράδειγμα, περιλαμβάνει μερικές συνδέσεις εκεί, 423 00:24:07,250 --> 00:24:10,760 ας υποθέσουμε τι θα μπορούσε να είναι ενδιαφέρον σε ό, τι ιστοσελίδα Είμαι εδώ είναι η δημιουργία - 424 00:24:10,760 --> 00:24:12,780 επιτρέψτε μου να πάει στο Google.com, 425 00:24:12,780 --> 00:24:16,540 και επιτρέψτε μου να ψάξει για ένα γρήγορο καφέ αλεπού. 426 00:24:16,540 --> 00:24:22,150 Πηγαίνετε στο Google εικόνες, και, σχετικά με το πώς - αυτό είναι χαριτωμένο. 427 00:24:22,150 --> 00:24:27,420 Θα πάμε με αυτό. Έτσι εδώ έχουμε ένα γρήγορο άλμα καφέ αλεπού πάνω από ένα χαλαρό σκυλί. 428 00:24:27,420 --> 00:24:30,560 Λοιπόν, τι Πάω να κάνουμε εδώ, μόνο και μόνο για λόγους επίδειξης, 429 00:24:30,560 --> 00:24:32,950 είναι ας υποθέσουμε ότι αυτή η εικόνα ήταν στον server μου, 430 00:24:32,950 --> 00:24:35,240 και είχα τη δημιουργία αυτών των εικόνων. 431 00:24:35,240 --> 00:24:38,720 Αυτό που έκανε ήταν απλά κάντε δεξί κλικ ή τον έλεγχο κλικ πάνω στην εικόνα, 432 00:24:38,720 --> 00:24:42,370 και τι θα δείτε στα περισσότερα προγράμματα περιήγησης είναι ένα μικρό μενού - 433 00:24:42,370 --> 00:24:48,800 να σταματήσει το κάνουμε αυτό - ένα μικρό μενού που σας επιτρέπει να επιλέξετε αντίγραφο θέση του συνδέσμου ή URL αντίγραφο. 434 00:24:48,800 --> 00:24:52,750 Έτσι, επιτρέψτε μου να πάω πίσω τώρα σε HTML μου, και ας υποθέσουμε ότι θέλω 435 00:24:52,750 --> 00:24:56,420 για αυτό το υπερ-σύνδεσης σε μια άλλη ιστοσελίδα. 436 00:24:56,420 --> 00:24:58,640 >> Ποια ήταν η ετικέτα που ονομάζεται γι 'αυτό; 437 00:24:58,640 --> 00:25:01,650 [Φοιτητών, ακατάληπτο] >> Ναι. Έτσι, a href για υπερ αναφορά. 438 00:25:01,650 --> 00:25:04,660 Επιτρέψτε μου να προχωρήσει και να επικολλήσετε ότι μέσα 439 00:25:04,660 --> 00:25:07,290 Είναι ένα αρκετά μακρύ URL, οπότε επιτρέψτε μου να μεγεθύνετε έξω. 440 00:25:07,290 --> 00:25:09,950 Κλείσιμο παρένθεση, οπότε τώρα είμαι παρατηρήσετε τον τρόπο εδώ 441 00:25:09,950 --> 00:25:11,960 επειδή η διεύθυνση URL που συνέβη να είναι αρκετά μεγάλο. 442 00:25:11,960 --> 00:25:15,180 Επιτρέψτε μου να μετακινηθείτε προς τα πάνω από εδώ μέχρι το τέλος του γρήγορη καφέ αλεπού, 443 00:25:15,180 --> 00:25:18,830 και στη συνέχεια, επιτρέψτε μου να κλείσει με αυτήν την ετικέτα 00:25:21,280 όπου έκλεισα μόνο το όνομα της ετικέτας. 445 00:25:21,280 --> 00:25:24,470 Τώρα, επιτρέψτε μου να προχωρήσει και να αποθηκεύσετε το αρχείο, επαναλάβετε τη φόρτωση της ιστοσελίδας, 446 00:25:24,470 --> 00:25:27,880 και τώρα, από προεπιλογή, αυτό πρόκειται να υπογραμμίζεται και μπλε για μένα, 447 00:25:27,880 --> 00:25:31,980 αλλά πράγματι, μπορώ τώρα να κάντε κλικ σε αυτό και voila. Δεν υπάρχει αυτή η εικόνα. 448 00:25:31,980 --> 00:25:33,990 Και αυτό δεν πρέπει να είναι μια εικόνα? Θα μπορούσε να συνδέεται με 449 00:25:33,990 --> 00:25:36,270 σε κάποια άλλη τυχαία ιστοσελίδα στο Διαδίκτυο. 450 00:25:36,270 --> 00:25:39,610 Θα μπορούσα να κάνω αυτό, για παράδειγμα, με CS50, έτσι ένα τελευταίο παράδειγμα εδώ. 451 00:25:39,610 --> 00:25:42,730 «Αυτό είναι CS50« θα μπορούσε να έχει νόημα να πάμε ένα, href = 452 00:25:42,730 --> 00:25:50,340 http://www.cs50.net, κοντά απόσπασμα, κοντά άγκυρα. 453 00:25:50,340 --> 00:25:53,990 Έτσι, τώρα που είναι ακόμα πιο URL, και αυτή τη φορά δεν πρόκειται να συνδεθούν με μια εικόνα. 454 00:25:53,990 --> 00:25:57,880 Είμαστε αντί πρόκειται να συνδεθεί με μια άλλη σελίδα. 455 00:25:57,880 --> 00:25:59,840 Τώρα, έχουμε μια εικόνα εδώ. 456 00:25:59,840 --> 00:26:02,970 Νιώθω σαν να μπορούμε να κάνουμε λίγο καλύτερη από ό, τι ακριβώς σύνδεση σε μια εικόνα. 457 00:26:02,970 --> 00:26:05,760 Τι γίνεται αν θέλουμε να ενσαρκώσει στην πραγματικότητα στη δική μας ιστοσελίδα; 458 00:26:05,760 --> 00:26:09,290 >> Λοιπόν, τι μπορώ να κάνω εδώ είναι, αντί να συνδέονται με αυτό το γραφικό, 459 00:26:09,290 --> 00:26:14,690 επιτρέψτε μου να κοπεί, αντί το URL, και θα απαλλαγούμε από αυτό το υπερ-σύνδεσης και να καθαρίσει αυτό επάνω. 460 00:26:14,690 --> 00:26:17,190 Και θα πάμε εδώ κάτω και να απαλλαγούμε από αυτό. 461 00:26:17,190 --> 00:26:20,910 Δεν χρειάζεται πραγματικά όλα αυτά τα ποινές τώρα, οπότε επιτρέψτε μου να συντομεύσει την σελίδα λίγο. 462 00:26:20,910 --> 00:26:24,530 Και στη συνέχεια κάτω εδώ επιτρέψτε μου να προχωρήσει σε μια νέα παράγραφο, 463 00:26:24,530 --> 00:26:30,100 πω ότι δεν θέλετε το κείμενο τώρα? Θέλω μια εικόνα των οποίων η πηγή θα είναι ότι η διεύθυνση URL. 464 00:26:30,100 --> 00:26:33,100 Μια εικόνα, όπως μια αλλαγή γραμμής, είτε είναι εκεί ή δεν είναι. 465 00:26:33,100 --> 00:26:35,900 Επιτρέψτε μου λοιπόν να κλείσει αμέσως την ετικέτα. 466 00:26:35,900 --> 00:26:39,440 Επιτρέψτε μου τώρα να προχωρήσει και να κλείσει την παράγραφο που είμαι μέσα, 467 00:26:39,440 --> 00:26:43,010 και αν όλα πάνε καλά με γειά σου, τον κόσμο, αν φορτώσετε τώρα, 468 00:26:43,010 --> 00:26:45,520 Ι, πράγματι, δείτε δεξιά μέσα τη δική του ιστοσελίδα μου μια εικόνα. 469 00:26:45,520 --> 00:26:48,570 Έτσι τώρα έχουμε μια ετικέτα εικόνας, μια ετικέτα άγκυρα και τα παρόμοια, 470 00:26:48,570 --> 00:26:51,320 και για το καλό μέτρο, επιτρέψτε μου να κάνω ένα άλλο πράγμα που είναι συχνά παραμελούνται 471 00:26:51,320 --> 00:26:55,900 στις ιστοσελίδες αυτές τις μέρες: Ας παρέχουν κάποια περιγραφικό κείμενο για αυτή την εικόνα 472 00:26:55,900 --> 00:26:58,090 για τους ανθρώπους που βρίσκονται σε μια φορητή συσκευή 473 00:26:58,090 --> 00:27:00,640 και ως εκ τούτου μπορεί να μην είναι σε θέση να κατεβάσετε αυτή την εικόνα πολύ γρήγορα, 474 00:27:00,640 --> 00:27:03,310 για τους ανθρώπους που είναι τυφλοί και δεν θα μπορούσε να είναι σε θέση να δείτε την εικόνα 475 00:27:03,310 --> 00:27:06,480 αλλά θα μπορούσαν να έχουν ένα πρόγραμμα ανάγνωσης οθόνης που μπορεί να τους πει τι είναι αυτή η εικόνα της. 476 00:27:06,480 --> 00:27:09,100 Και για να το κάνουμε αυτό, υπάρχει και ένα άλλο χαρακτηριστικό για ετικέτες εικόνας 477 00:27:09,100 --> 00:27:11,290 alt ονομάζεται, για εναλλακτικό κείμενο. 478 00:27:11,290 --> 00:27:14,650 Και τι μπορώ να κάνω εδώ είναι να πει, «Αυτή είναι μια γρήγορη καφέ αλεπού». 479 00:27:14,650 --> 00:27:17,650 Έτσι ώστε, ακόμη και αν ο άνθρωπος δεν μπορεί να δει την εικόνα στην οθόνη, 480 00:27:17,650 --> 00:27:20,560 αυτός ή αυτή μπορεί τουλάχιστον να ακούσει, όπως με κάποιο κομμάτι του λογισμικού, 481 00:27:20,560 --> 00:27:23,080 τι πραγματικά υπάρχει στην οθόνη. 482 00:27:23,080 --> 00:27:25,040 >> Αυτό δεν θα αλλάξει την αισθητική της σελίδας, 483 00:27:25,040 --> 00:27:27,640 αλλά σίγουρα είναι καλή πρακτική για τους χρήστες. 484 00:27:27,640 --> 00:27:31,760 Εντάξει, ας αφήσουμε αυτή την ιστοσελίδα στη σημερινή του μορφή, 485 00:27:31,760 --> 00:27:33,890 αλλά ας δούμε αν μπορούμε να μην μπορούν πλέον να εισάγουν 486 00:27:33,890 --> 00:27:36,210 κάποιες προσεγγίσεις καλύτερα να γράφω αυτές τις ιστοσελίδες, 487 00:27:36,210 --> 00:27:39,980 κάποια μαθήματα που πρόκειται να μας εξυπηρετήσει καθώς και σελίδες μας γίνονται όλο και πιο πολύπλοκα. 488 00:27:39,980 --> 00:27:42,220 Αυτό που δεν πρόκειται να κάνει κατά τη διάρκεια των επόμενων εβδομάδων 489 00:27:42,220 --> 00:27:46,810 είναι τα πόδια σας μέσα από όλες τις αρκετές δεκάδες ετικέτες HTML ότι υπάρχουν. 490 00:27:46,810 --> 00:27:49,800 Όπως ακριβώς στο μηδέν πίσω στην εβδομάδα 0, κατά πάσα πιθανότητα θα είναι αρκετό 491 00:27:49,800 --> 00:27:52,120 για να δώσει ένα υψηλού επιπέδου επισκόπηση ορισμένων από τις έννοιες, 492 00:27:52,120 --> 00:27:54,530 μια γρήγορη ξενάγηση μερικά από τα μπλοκ που ήταν πιθανότατα σε θέση, 493 00:27:54,530 --> 00:27:58,240 πολύ άνετα, να περιηγηθείτε μόνοι σας, τα διάφορα κομμάτια του παζλ. 494 00:27:58,240 --> 00:28:00,460 Και αυτό πρόκειται να συμβεί ξανά σε HTML, κατά πάσα πιθανότητα, 495 00:28:00,460 --> 00:28:04,320 σύμφωνα με την οποία υπάρχει άφθονη πόρους στο Web που θα σας σημείο σε, 496 00:28:04,320 --> 00:28:06,920 διάφορα βιβλία, αν προτιμάτε να διαβάσετε ένα βιβλίο, 497 00:28:06,920 --> 00:28:10,560 που θα σας καθοδηγήσει μέσα από όλα τα διάφορα πράγματα που μπορείτε να κάνετε με την HTML, 498 00:28:10,560 --> 00:28:16,100 αλλά πραγματικά, έχουμε δει μέχρι τώρα σε HTML περισσότερες από τις βασικές έννοιες. 499 00:28:16,100 --> 00:28:19,900 Έχουμε την έννοια των ετικετών που ανοίγουν, κλείνουν ετικέτες. 500 00:28:19,900 --> 00:28:22,100 Ορισμένες ετικέτες που αμφότερα ανοίγει και να κλείνει 501 00:28:22,100 --> 00:28:24,620 με την έννοια ότι είναι άδειο? θα πρέπει να υπάρχει τίποτα μέσα τους 502 00:28:24,620 --> 00:28:27,490 σαν μια ετικέτα εικόνας ή αλλαγή γραμμής, η οποία είναι ακριβώς εκεί. 503 00:28:27,490 --> 00:28:32,330 Εξετάσαμε επίσης ήδη στην ιδέα ενός χαρακτηριστικού, όπως alt ή πηγή. 504 00:28:32,330 --> 00:28:36,410 Σημειώστε ότι αυτά τα λόγια τείνουν, κατά συνθήκη, να είναι σύντομη και περιεκτική. 505 00:28:36,410 --> 00:28:39,140 >> Δεν έχουν τη διακριτική ευχέρεια πάνω από τα λεγόμενα αυτά τα πράγματα, 506 00:28:39,140 --> 00:28:42,060 κάποιος άλλος που εφευρέθηκε HTML ήρθε με αυτά τα ονόματα. 507 00:28:42,060 --> 00:28:44,710 Έτσι, απλά πρέπει να αρχίσουν να γνωρίζουν ή να κοιτάζω προς τα πάνω, κάθε φορά που τα έχουν ανάγκη, 508 00:28:44,710 --> 00:28:47,160 τι είναι τα ονόματα για αυτές τις ετικέτες και χαρακτηριστικά. 509 00:28:47,160 --> 00:28:49,510 Στην περίπτωση αυτών των χαρακτηριστικών, αποδίδει γενικά 510 00:28:49,510 --> 00:28:52,900 τροποποιήσει τη συμπεριφορά του κάποια ετικέτα. 511 00:28:52,900 --> 00:28:55,710 Στην περίπτωση αυτή, το χαρακτηριστικό πηγή λέει την ετικέτα εικόνας 512 00:28:55,710 --> 00:28:57,940 ποια είναι η πηγή της εικόνας θα πρέπει να είναι. 513 00:28:57,940 --> 00:29:04,460 Η ιδιότητα href αφηγείται την ετικέτα άγκυρα ό, τι θα έπρεπε στην πραγματικότητα να σύνδεση. 514 00:29:04,460 --> 00:29:06,800 Αλλά από την άποψη της δομής μιας ιστοσελίδας, παρόλο Facebook 515 00:29:06,800 --> 00:29:09,680 και η Google και τα παρόμοια εμφάνιση όπως ένα πλήρες χάος 516 00:29:09,680 --> 00:29:12,560 κάτω από το καπό με την πρώτη ματιά, αν αρχίσετε να διαβάσετε μέσα από αυτό 517 00:29:12,560 --> 00:29:16,950 πιο μεθοδικά, ακολουθούν όλο αυτό το υλικό, το βασικό δομή. 518 00:29:16,950 --> 00:29:19,660 Αλλά μπορούμε να βελτιώσουμε το στυλιζάρισμα από αυτά τα πράγματα. 519 00:29:19,660 --> 00:29:24,180 Έτσι, επιτρέψτε μου να πάω σε κάποια παραδείγματα που έχω προετοιμαστεί εκ των προτέρων. 520 00:29:24,180 --> 00:29:27,280 Επιτρέψτε μου να πάμε μπροστά και να τα αντιγράψετε από άλλο φάκελο εδώ 521 00:29:27,280 --> 00:29:29,380 και να τους φέρουν σε αυτόν τον κατάλογο. 522 00:29:29,380 --> 00:29:32,210 Στην εκ των προτέρων, τι έκανα ήταν να προετοιμάσει μερικά αρχεία: 523 00:29:32,210 --> 00:29:35,670 search0, search1, search2, και search3 και 4. 524 00:29:35,670 --> 00:29:38,740 Επιτρέψτε μου να πάμε μπροστά και να ανοίξει το πρώτο από αυτά τα αρχεία, 525 00:29:38,740 --> 00:29:42,570 και ας δούμε αν δεν μπορούμε να αρχίσουμε να δημιουργήσει τη δική του μηχανή αναζήτησής μας. 526 00:29:42,570 --> 00:29:46,530 Στην κορυφή αυτού του αρχείου, όπως είναι συνήθως η περίπτωση στην τάξη, ένα μάτσο σχόλια. 527 00:29:46,530 --> 00:29:49,760 Στην HTML, όμως, τα μέσα με τα οποία ξεκινάτε ένα σχόλιο 528 00:29:49,760 --> 00:29:55,640 είναι <- και τότε είστε μέσα από ένα σχόλιο, ένα πολυ-line σχόλιο. 529 00:29:55,640 --> 00:29:59,800 Όταν είστε έτοιμοι για να σταματήσει αυτό το σχόλιο, μπορείτε να κάνετε ->. 530 00:29:59,800 --> 00:30:02,380 Έτσι, πάντα στην κορυφή με μπλε χρώμα είναι μόνο ένα σχόλιο. 531 00:30:02,380 --> 00:30:04,620 >> Αυτό είναι doctype δήλωση μου, η οποία και πάλι, 532 00:30:04,620 --> 00:30:07,080 μπορείτε απλά να αντιγράψετε και να επικολλήσετε στην πίστη, για τώρα. 533 00:30:07,080 --> 00:30:10,410 Αυτό ακριβώς λέει το πρόγραμμα περιήγησης, «Εδώ έρχεται μερικές HTML 5. 534 00:30:10,410 --> 00:30:13,600 Κάτω από αυτό, στη γραμμή 14, είναι το πρώτο του πραγματικό ετικέτες μου, 535 00:30:13,600 --> 00:30:16,900 και αυτό λέει ακριβώς, όπως και πριν, εδώ έρχεται κάποια HTML, 536 00:30:16,900 --> 00:30:19,460 εδώ έρχεται η επικεφαλής της σελίδας μου, εδώ έρχεται ο τίτλος, 537 00:30:19,460 --> 00:30:23,900 και στη συνέχεια, αντιστρόφως, αυτό είναι για τον τίτλο, αυτό είναι για το κεφάλι. 538 00:30:23,900 --> 00:30:26,460 Εδώ έρχεται τώρα το σώμα της σελίδας μου. 539 00:30:26,460 --> 00:30:31,040 Έτσι, ένα ζευγάρι νέων ετικετών τώρα: h1 σημαίνει για τον τομέα 1. 540 00:30:31,040 --> 00:30:33,850 Υπάρχει μια παράδοση στην HTML για πολλά χρόνια πίσω 541 00:30:33,850 --> 00:30:37,990 της έχουν διαφορετικά μεγέθη του κειμένου. 542 00:30:37,990 --> 00:30:41,980 Και πίσω στην ημέρα, το καθένα σήμαινε, σε γενικές γραμμές, μόνο μεγάλο και τολμηρό. 543 00:30:41,980 --> 00:30:45,860 Αλλά υπάρχει επίσης και h2, η οποία είναι μεγάλη, αλλά δεν είναι τόσο μεγάλο και τολμηρό. 544 00:30:45,860 --> 00:30:49,320 Υπάρχει h3, το οποίο είναι το είδος των μεγάλων, αλλά δεν είναι τόσο μεγάλο και τολμηρό, 545 00:30:49,320 --> 00:30:52,380 και ούτω καθεξής, σε όλη τη διαδρομή προς τα κάτω h6. 546 00:30:52,380 --> 00:30:55,550 Αυτές τις μέρες, όμως, Η1, Η2 και Η3 είναι πραγματικά σήμαινε 547 00:30:55,550 --> 00:30:57,980 να έχει περισσότερο νόημα να σημασιολογική τους, 548 00:30:57,980 --> 00:31:01,100 όπου h1 είναι πραγματικά ένας τίτλος: ο τίτλος μιας ιστοσελίδας, 549 00:31:01,100 --> 00:31:04,210 Ο τίτλος της στήλης ή κάτι τέτοιο από το κείμενο. 550 00:31:04,210 --> 00:31:09,030 Έτσι έχω σκόπιμα είπε h1 CS50 αναζήτηση> h1 551 00:31:09,030 --> 00:31:12,640 έτσι ώστε να διευκρινίζεται ότι αυτό είναι πραγματικά ο τίτλος, ο τίτλος της σελίδας μου. 552 00:31:12,640 --> 00:31:14,850 Δεν είναι ο τίτλος με την έννοια γραμμή τίτλου, 553 00:31:14,850 --> 00:31:18,960 αλλά ο τίτλος που πραγματικά να δείτε στην ιστοσελίδα ίδια, στο σώμα. 554 00:31:18,960 --> 00:31:20,990 Τώρα αυτό, μπορείτε να μαντέψετε τι είναι, 555 00:31:20,990 --> 00:31:23,110 ακόμα κι αν έχουμε μερικά νέα κομμάτια της σύνταξης. 556 00:31:23,110 --> 00:31:25,930 Αυτό είναι μια μορφή. Έτσι, το web γίνεται πραγματικά ενδιαφέρον 557 00:31:25,930 --> 00:31:28,770 όταν ιστοσελίδες πάρετε είσοδο από τους χρήστες. 558 00:31:28,770 --> 00:31:31,700 Σε αυτή την κατηγορία, το πρόβλημα που αφορά τον προγραμματισμό web, 559 00:31:31,700 --> 00:31:33,880 εμείς δεν πρόκειται να κάνει μια ιστοσελίδα, per se, 560 00:31:33,880 --> 00:31:37,570 με στατικό περιεχόμενο που δείχνει τις φωτογραφίες που έχετε λάβει, 561 00:31:37,570 --> 00:31:40,010 ή αυτό είναι το βιογραφικό μου, και τα πράγματα για μένα, 562 00:31:40,010 --> 00:31:42,450 επειδή αυτά τα πράγματα είναι σχετικά εύκολο να βάλει μαζί. 563 00:31:42,450 --> 00:31:44,400 Είναι δύσκολο να κάνει τα πράγματα όμορφα στο Web, 564 00:31:44,400 --> 00:31:46,390 αλλά τουλάχιστον να βάλει επάνω το περιεχόμενο είναι αρκετά ασήμαντο. 565 00:31:46,390 --> 00:31:49,380 Όμως, τα πράγματα γίνονται πολύ ενδιαφέροντα όταν κάποιος μπορεί να επισκεφθεί την ιστοσελίδα σας 566 00:31:49,380 --> 00:31:52,260 και θα παράσχει στοιχεία και μπορούν να συμπληρώνουν φόρμες, 567 00:31:52,260 --> 00:31:55,800 μπορεί να ελέγξει από κουτάκια και μπορούν να αλληλεπιδρούν με την ιστοσελίδα σας. 568 00:31:55,800 --> 00:31:57,780 Και πράγματι, κατά πάσα πιθανότητα κάθε ιστοσελίδα που σας ενδιαφέρουν 569 00:31:57,780 --> 00:32:00,710 αυτές τις μέρες, με κάθε λεπτομέρεια, είναι κατά κάποιο τρόπο διαδραστικό. 570 00:32:00,710 --> 00:32:03,110 Facebook, Google, και τα παρόμοια, που να εισάγει ο χρήστης 571 00:32:03,110 --> 00:32:05,100 και την παραγωγή προσαρμοσμένη εξόδου. 572 00:32:05,100 --> 00:32:07,780 >> Ας αρχίσουμε να το κάνουμε αυτό τώρα. Ας μετάβαση τώρα 573 00:32:07,780 --> 00:32:11,150 από απλά χρησιμοποιώντας HTML για τη σήμανση των στατικό περιεχόμενο 574 00:32:11,150 --> 00:32:14,790 αντί ως ένας μηχανισμός για την παράδοση δυναμικού περιεχομένου. 575 00:32:14,790 --> 00:32:17,350 Και προς αυτή την κατεύθυνση, ας εφαρμόσει τη δική μας μηχανή αναζήτησης. 576 00:32:17,350 --> 00:32:20,820 Ας το κάνουμε ως εξής. Εδώ είναι η ετικέτα μορφή. 577 00:32:20,820 --> 00:32:24,090 Το χαρακτηριστικό δράσης ορίζει ότι, όταν ο χρήστης συμπληρώνει αυτή τη φόρμα 578 00:32:24,090 --> 00:32:28,400 με το πληκτρολόγιο τους, θα υποβληθεί σε αυτό το URL εδώ. 579 00:32:28,400 --> 00:32:31,230 Έτσι είμαι το είδος της εξαπάτησης. Είναι πρόκειται να μας πάρει λίγο περισσότερο χρόνο 580 00:32:31,230 --> 00:32:33,780 από μία τάξη να εφαρμόσει το σύνολο της μηχανής αναζήτησης, 581 00:32:33,780 --> 00:32:35,880 έτσι θα κάνουμε ακριβώς το εμπρόσθιο άκρο, να το πω έτσι. 582 00:32:35,880 --> 00:32:38,650 Θα κάνουμε το μέρος που σας επιτρέπει την αναζήτηση των χρηστών, και θα ταξινομήσετε της κλωτσιάς στο Google 583 00:32:38,650 --> 00:32:40,950 το δύσκολο μέρος για την εξεύρεση των αποτελεσμάτων αναζήτησης, 584 00:32:40,950 --> 00:32:43,520 αλλά, συγκεκριμένα, θα πάω να μιλήσω με τον web server της Google 585 00:32:43,520 --> 00:32:46,710 χρησιμοποιώντας μία από δύο πολύ δημοφιλείς μεθόδους. 586 00:32:46,710 --> 00:32:50,000 Ένας να πάρει, μια άλλη, ότι τελικά θα δούμε, είναι θέση, 587 00:32:50,000 --> 00:32:52,660 αν και υπάρχουν άλλοι που είναι λιγότερο συχνά χρησιμοποιούνται. 588 00:32:52,660 --> 00:32:56,440 Έτσι πάρτε μόνο φέρνει στο νου την ιδέα του, θέλω να πάρω κάποιο περιεχόμενο, να πάρετε κάποια αποτελέσματα αναζήτησης. 589 00:32:56,440 --> 00:32:58,440 Αυτό, ίσως μπορείτε να μαντέψετε τι κάνει αυτό. 590 00:32:58,440 --> 00:33:01,900 Αυτό είναι κάποιο είδος της εισόδου, είναι, στην πραγματικότητα, πρόκειται να μοιάσει με ένα πεδίο κειμένου, 591 00:33:01,900 --> 00:33:05,200 και το όνομα αυτής της εισόδου, το όνομα της μεταβλητής, να το πω έτσι, 592 00:33:05,200 --> 00:33:08,610 πρόκειται να q για αναζήτηση από την σύμβαση. 593 00:33:08,610 --> 00:33:11,700 Και πάλι, ο τύπος αυτής της εισόδου δεν πρόκειται να είναι ένα κουτάκι? 594 00:33:11,700 --> 00:33:13,890 δεν πρόκειται να είναι ένα μενού? πρόκειται να είναι ένα πεδίο κειμένου 595 00:33:13,890 --> 00:33:18,060 όπως υποδηλώνεται από αυτό το χαρακτηριστικό εδώ, και αυτό το πλαίσιο κειμένου, 596 00:33:18,060 --> 00:33:20,680 όπως αλλαγή γραμμής, είτε είναι εκεί ή όχι. 597 00:33:20,680 --> 00:33:24,480 Έτσι έχουμε ένα άδειο στοιχείο με το κάθετο μέσα σε αυτό το tag. 598 00:33:24,480 --> 00:33:28,050 Στη συνέχεια, Πάω να θέσει ένα διάλειμμα γραμμή, και μπορείτε, ίσως, μάντεψε τι αυτό πρόκειται να κάνει. 599 00:33:28,050 --> 00:33:30,210 Αυτό είναι ένα άλλο είδος της input μορφή. 600 00:33:30,210 --> 00:33:32,350 >> Αυτός πρόκειται να χρησιμοποιηθεί για την υποβολή του εντύπου. 601 00:33:32,350 --> 00:33:36,140 Έτσι, αυτό θα είναι το μεγάλο κουμπί που ο χρήστης μπορεί να κάνει κλικ για να υποβάλετε το έντυπο, 602 00:33:36,140 --> 00:33:40,800 και η ετικέτα σε αυτό το κουμπί πρόκειται να είναι «CS50 Αναζήτηση». 603 00:33:40,800 --> 00:33:44,170 Κλείσιμο μορφή, κοντά σώμα, κοντά HTML. 604 00:33:44,170 --> 00:33:46,280 Ας δούμε τι έχουμε με τη μορφή αυτής της ιστοσελίδας. 605 00:33:46,280 --> 00:33:48,260 Έτσι, επιτρέψτε μου να πάω στον browser μου, 606 00:33:48,260 --> 00:33:50,360 άσε με να φύγω, ακόμα, στην τοπική υποδοχής. 607 00:33:50,360 --> 00:33:54,650 Αυτή εξακολουθεί να είναι index.html, οπότε αν θέλω να δω αυτό το αρχείο ονομάζεται search0, 608 00:33:54,650 --> 00:33:59,710 Μπορώ να κάνω απλά / search0.html, εισάγετε - 609 00:33:59,710 --> 00:34:01,880 και το πρώτο από τα λάθη μου. 610 00:34:01,880 --> 00:34:04,400 Τι συμβαίνει; Εγώ σαφώς δεν έχουν άδεια 611 00:34:04,400 --> 00:34:06,430 για να αποκτήσετε πρόσβαση σε αυτό το αρχείο, για κάποιο λόγο. 612 00:34:06,430 --> 00:34:10,170 Αλλά αυτό είναι επειδή, σε αντίθεση με το έργο που έχουμε κάνει μέχρι στιγμής σε C, 613 00:34:10,170 --> 00:34:14,340 όπου τα προγράμματα που γράφουν ότι είναι runable από εσάς, 614 00:34:14,340 --> 00:34:17,590 εκτελέσιμο από εσάς, αυτό δεν είναι πραγματικά η περίπτωση στο Web, 615 00:34:17,590 --> 00:34:21,010 σύμφωνα με την οποία μερικές φορές μπορεί να θέλετε να δημιουργήσετε αρχεία σε ένα διακομιστή, 616 00:34:21,010 --> 00:34:23,310 αλλά δεν θέλετε ο κόσμος να είναι σε θέση να τους δουν. 617 00:34:23,310 --> 00:34:25,469 Αντ 'αυτού, θέλετε ο κόσμος να δει κάποια αρχεία 618 00:34:25,469 --> 00:34:27,730 αλλά όχι τους άλλους, μόνο και μόνο για χάρη της ιδιωτικής ζωής του. 619 00:34:27,730 --> 00:34:30,730 Γι 'αυτό είναι περισσότερο από ένα opt-in βάση όταν κάνεις τα πράγματα στο διαδίκτυο. 620 00:34:30,730 --> 00:34:32,810 Και επιτρέψτε μου να πληκτρολογήσετε ls πραγματικά εδώ, 621 00:34:32,810 --> 00:34:37,440 και μπορείτε να δείτε τα αρχεία που έχω, αλλά θυμάμαι ότι αν κάνω ls-l για καιρό, 622 00:34:37,440 --> 00:34:41,520 Θα πάρω μια μεγαλύτερη επιχείρηση που μου δίνει κάποιες περισσότερες λεπτομέρειες σχετικά με αυτά τα αρχεία 623 00:34:41,520 --> 00:34:45,139 που είναι τώρα, πραγματικά, για πρώτη φορά σχετικά με εμάς. 624 00:34:45,139 --> 00:34:47,840 Παρατηρήστε ότι στην άκρη δεξιά είναι τα ονόματα των αρχείων μου, 625 00:34:47,840 --> 00:34:50,690 και στη συνέχεια ο χρόνος κατά τον οποίο τροποποιήθηκε τελευταία φορά ή να αντιγραφεί. 626 00:34:50,690 --> 00:34:54,370 Αυτός ο αριθμός εδώ είναι τι; Θυμάστε; 627 00:34:54,370 --> 00:34:56,400 Το μέγεθος σε bytes, πόσο μεγάλο είναι το αρχείο είναι. 628 00:34:56,400 --> 00:34:59,520 >> Γι 'αυτό και φαίνεται να έχουν κάποιο είδος του λογότυπου εδώ που είναι μεγαλύτερο από ό, τι όλα τα άλλα αρχεία. 629 00:34:59,520 --> 00:35:03,610 Αυτό είναι αυτό που είμαι, αυτό είναι ό, τι είμαι και τι ομάδα είμαι μέσα 630 00:35:03,610 --> 00:35:07,430 Στη συνέχεια, όμως, εδώ στα αριστερά είναι λίγο αινιγματικό ακολουθία, 631 00:35:07,430 --> 00:35:10,040 και μιλήσαμε, νομίζω, εν συντομία για το θέμα αυτό στο παρελθόν, 632 00:35:10,040 --> 00:35:12,050 αλλά αυτό έχει να κάνει με τις άδειες. 633 00:35:12,050 --> 00:35:14,020 Και ακόμα κι αν αυτό είναι λίγο θολό, 634 00:35:14,020 --> 00:35:17,270 RW σημαίνει πιθανώς διαβάσει και να γράφουν. 635 00:35:17,270 --> 00:35:22,560 Έτσι, αποδεικνύεται ότι αυτές οι παύλες δηλώνουν διαφορετικά σύνολα δικαιώματα για διαφορετικούς ανθρώπους. 636 00:35:22,560 --> 00:35:24,730 Και το σχέδιο είναι, ουσιαστικά, ως εξής. 637 00:35:24,730 --> 00:35:27,650 Όταν βλέπετε μια σειρά από παύλες εδώ, φαίνονται ως εξής. 638 00:35:27,650 --> 00:35:30,450 Υπάρχει μια παύλα, τότε υπάρχει τρεις παύλες, 639 00:35:30,450 --> 00:35:33,390 τότε υπάρχει ένας άλλος τρία, τότε υπάρχει ένα άλλο τρεις. 640 00:35:33,390 --> 00:35:36,800 Το πρώτο είναι είτε μια παύλα ή διαφήμιση είναι για τον κατάλογο. 641 00:35:36,800 --> 00:35:40,220 Έτσι, ότι το ένα είναι αρκετά εύκολο. Αν είναι ένας φάκελος, λέει δ, αλλιώς είναι ένα ενωτικό. 642 00:35:40,220 --> 00:35:44,080 Υπάρχει ένα ζευγάρι άλλες περιπτώσεις, αλλά για τώρα θα το μόνο που νοιάζονται για τα αρχεία και τους καταλόγους. 643 00:35:44,080 --> 00:35:48,090 Οι επόμενες τρεις παύλες - και έχω τοποθετηθεί τεχνητά τους χώρους. 644 00:35:48,090 --> 00:35:50,490 Ήταν, προφανώς, δεν είναι εκεί όταν τους είδαμε πριν από λίγο. 645 00:35:50,490 --> 00:35:52,900 Αυτά είναι τα δικαιώματα του ιδιοκτήτη του αρχείου, 646 00:35:52,900 --> 00:35:55,840 και ανάκληση από ένα δευτερόλεπτο πριν ότι είχε διαβάσει και να γράφουν. 647 00:35:55,840 --> 00:35:58,560 Αυτό ήταν επειδή εγώ, ως το πρόσωπο που δημιούργησε αυτό το αρχείο πριν από λίγο, 648 00:35:58,560 --> 00:36:01,250 Ι, μόνο από προεπιλογή, σε έναν υπολογιστή Linux, 649 00:36:01,250 --> 00:36:03,910 έχουν τη δυνατότητα να συνεχίσετε την ανάγνωση και το γράψιμο αυτού του αρχείου. 650 00:36:03,910 --> 00:36:07,170 >> Έτσι, το λειτουργικό σύστημα μου δίνει ακριβώς RW αυτόματα. 651 00:36:07,170 --> 00:36:10,840 Τα μέσα αυτά σχετίζονται με την ομάδα μου, ότι από τους φοιτητές, 652 00:36:10,840 --> 00:36:14,590 το οποίο είναι το είδος της νόημα στη συσκευή, επειδή είμαι το μόνο πρόσωπο που χρησιμοποιεί τη συσκευή. 653 00:36:14,590 --> 00:36:16,620 Έτσι, επιτρέψτε μου να ανεμίζουν τα χέρια μου στο ότι προς το παρόν. 654 00:36:16,620 --> 00:36:19,190 Όμως, τα τελευταία από αυτά είναι πιο σημαντικά για το Web. 655 00:36:19,190 --> 00:36:21,580 Αυτό είναι όλοι οι άλλοι στον κόσμο, και το γεγονός 656 00:36:21,580 --> 00:36:24,600 ότι αυτό --- σημαίνει ότι κανένας άλλος στον κόσμο 657 00:36:24,600 --> 00:36:26,680 έχει οποιαδήποτε δικαιώματα σε αυτό το αρχείο. 658 00:36:26,680 --> 00:36:29,180 Είναι σαφές ότι ένα πρόβλημα, γι 'αυτό πρέπει να το διορθώσω αυτό 659 00:36:29,180 --> 00:36:33,830 με κάποιο τρόπο δίνοντας στον κόσμο τι; Διαβάστε και γράψτε; 660 00:36:33,830 --> 00:36:35,850 Αυτό είναι μάλλον χαζό, έτσι δεν είναι; Δεν θέλω κανέναν στο Web 661 00:36:35,850 --> 00:36:38,530 να πάτε να επισκεφτείτε τη σελίδα μου και με κάποιο τρόπο να αλλάξει αυτό το αρχείο, 662 00:36:38,530 --> 00:36:40,800 ακόμα κι αν πραγματικά δεν θα μπορούσε με ένα αρχείο HTML, 663 00:36:40,800 --> 00:36:44,110 αλλά μόνο στην αρχή, ίσως απλά θέλουν να είναι σε θέση να το διαβάσετε. 664 00:36:44,110 --> 00:36:47,910 Τι σημαίνει αυτό για να το διαβάσετε; Αυτό δεν σημαίνει ότι πρόκειται να ενδιαφέρονται για την πραγματική HTML, 665 00:36:47,910 --> 00:36:51,820 αλλά το πρόγραμμα περιήγησης πρέπει να είναι σε θέση να αναλύσει τη γλώσσα σήμανσης, 666 00:36:51,820 --> 00:36:53,720 πάνω προς τα κάτω, αριστερά προς τα δεξιά. 667 00:36:53,720 --> 00:36:57,990 Έτσι, κάποιος στο διαδίκτυο πρέπει να είναι σε θέση να το διαβάσετε, γι 'αυτό ελάχιστα πρέπει να δώσει r. 668 00:36:57,990 --> 00:37:00,240 Μπορώ να το κάνω αυτό σε λίγες διαφορετικούς τρόπους, αλλά ίσως 669 00:37:00,240 --> 00:37:03,080 το απλούστερο είναι να εκτελέσετε την εντολή αυτή εδώ. 670 00:37:03,080 --> 00:37:10,860 Chmod, λειτουργία αλλαγής, τότε a + r, ώστε όλοι, ο καθένας στον κόσμο + διαβάσετε, 671 00:37:10,860 --> 00:37:13,830 και στη συνέχεια το όνομα του αρχείου, search0.html. 672 00:37:13,830 --> 00:37:18,310 >> Τώρα αν κάνω ls-l και πάλι, παρατηρούμε ότι το αρχείο έχει αλλάξει, 673 00:37:18,310 --> 00:37:21,440 και πράγματι, έχω ενεργοποιημένο r για τον καθένα. 674 00:37:21,440 --> 00:37:23,350 Έχω μετατραπεί επίσης σε για την ομάδα μου, αλλά αυτό είναι εντάξει, 675 00:37:23,350 --> 00:37:27,150 γιατί αν γύρισα σε σχετικά για τον καθένα, η ομάδα μου είναι ένα υποσύνολο αυτού. 676 00:37:27,150 --> 00:37:31,480 Έτσι, αυτό είναι πάρα πολύ ωραία. Αυτό σημαίνει απλά ο υπολογιστής έχει πλέον καταστήσει αναγνώσιμο. 677 00:37:31,480 --> 00:37:34,430 Τώρα, επιτρέψτε μου να πάω πίσω στο πρόγραμμα περιήγησής μου, κάντε κλικ στην επιλογή reload. 678 00:37:34,430 --> 00:37:36,330 Ah-ha. Έχουμε τώρα CS50 Αναζήτηση. 679 00:37:36,330 --> 00:37:39,830 Έχω ζουμ σε μια μικρή τεχνητή - αρκετά φρικτή μηχανή αναζήτησης. 680 00:37:39,830 --> 00:37:41,930 Αλλά ας δούμε αν λειτουργεί πραγματικά. 681 00:37:41,930 --> 00:37:45,880 Κατ 'αρχάς, επιτρέψτε μου να κάνω ένα γρήγορο έλεγχο λογική, επιτρέψτε μου να ελέγξει κάντε κλικ και δείτε τη σελίδα πηγή. 682 00:37:45,880 --> 00:37:50,780 Παρατηρήστε ότι στο Chrome βλέπουμε τώρα την ίδια HTML που εγώ ο ίδιος δημιούργησε. 683 00:37:50,780 --> 00:37:55,420 Μην μπερδευτείτε εδώ, όμως. Δεν μπορώ να αρχίσει να αλλάζει τον κωδικό εδώ, 684 00:37:55,420 --> 00:37:59,420 επειδή το πρόγραμμα περιήγησης έχει μια προβολή μόνο για ανάγνωση αυτού του κώδικα. 685 00:37:59,420 --> 00:38:06,060 Το πρόγραμμα περιήγησης ζήτησε μόνο τοπικό κεντρικό υπολογιστή για ένα αρχείο που ονομάζεται search0.html. 686 00:38:06,060 --> 00:38:09,490 Είναι πλέον καθαρή σύμπτωση το γεγονός ότι η συσκευή 687 00:38:09,490 --> 00:38:13,480 συμβαίνει να είναι στον ίδιο υπολογιστή ως browser μου. 688 00:38:13,480 --> 00:38:20,470 Θα μπορούσα απλά να έχει, ισοδύναμα, έχουν πληκτρολογηθεί σε www.facebook.com/search0.html, 689 00:38:20,470 --> 00:38:23,830 και αν είχε Facebook ένα αρχείο που ονομάζεται ότι, στη συνέχεια, θα ήθελα να βλέπουν τους HTML. 690 00:38:23,830 --> 00:38:27,360 Και, φυσικά, δεν μπορώ να αλλάξω το αρχείο που έρχεται πίσω από το Facebook, είτε. 691 00:38:27,360 --> 00:38:29,360 Έτσι τώρα είμαστε είδος θολώνοντας τις γραμμές. 692 00:38:29,360 --> 00:38:32,130 Η συσκευή είναι τόσο ένας διακομιστής, που εξυπηρετούν έως και ιστοσελίδες, 693 00:38:32,130 --> 00:38:34,870 αλλά είναι επίσης και ένας πελάτης, με την έννοια ότι είμαι με τη χρήση ενός προγράμματος περιήγησης 694 00:38:34,870 --> 00:38:37,630 να μιλήσουμε πραγματικά σε αυτόν το διακομιστή. 695 00:38:37,630 --> 00:38:39,610 Ας δούμε λοιπόν αν το Google μηχανή αναζήτησης μου δουλεύει. 696 00:38:39,610 --> 00:38:44,930 Επιτρέψτε μου να πάμε μπροστά και να ψάξει για γρήγορη καφέ αλεπού, εισάγετε. 697 00:38:44,930 --> 00:38:47,540 Και ιδού, τώρα έχω τη δική μου μηχανή αναζήτησης. 698 00:38:47,540 --> 00:38:51,460 >> Αλλά πώς αυτό το έργο; 699 00:38:51,460 --> 00:38:55,380 Κομμάτι από ένα τέντωμα, αλλά - και τώρα δεν μπορείτε να δείτε, ακριβώς, το μέρος αυτό είναι ενδιαφέρον. 700 00:38:55,380 --> 00:38:57,370 Παρατηρήστε τι συμβαίνει. 701 00:38:57,370 --> 00:39:00,430 Ανακοίνωση για τη διεύθυνση URL. Αποδεικνύεται ότι η μέθοδος αυτή, 702 00:39:00,430 --> 00:39:02,780 καλείται να πάρει, είναι εξαιρετικά απλή. 703 00:39:02,780 --> 00:39:10,270 Όταν καθορίζετε σε μια φόρμα που θέλετε να «πάρει» τα αποτελέσματα από κάποιο διακομιστή, 704 00:39:10,270 --> 00:39:13,200 ό, τι πρόκειται να κάνετε είναι να πάρετε ό, τι πληκτρολογήσατε στη φόρμα 705 00:39:13,200 --> 00:39:15,290 και να βάλει στη διεύθυνση URL. 706 00:39:15,290 --> 00:39:18,580 Είναι πρόκειται να τυποποιήσει το πώς παίρνει μπει στο URL ως εξής. 707 00:39:18,580 --> 00:39:22,290 Σημειώστε ότι αυτή είναι η διεύθυνση URL που ήταν η τιμή του χαρακτηριστικού δράση μου. 708 00:39:22,290 --> 00:39:24,730 Αυτό είναι που ήθελα η φόρμα για να καταλήξετε. 709 00:39:24,730 --> 00:39:26,950 Αλλά παρατηρήσετε στη συνέχεια, αυτό το ερωτηματικό. 710 00:39:26,950 --> 00:39:30,230 Πρόκειται για μια σύμβαση για την οποία στο Web για να παρέχουν είσοδο του χρήστη 711 00:39:30,230 --> 00:39:35,320 σε μια ιστοσελίδα, μπορείτε να προσθέσετε τη διεύθυνση URL ένα ερωτηματικό, 712 00:39:35,320 --> 00:39:38,330 και στη συνέχεια, έχετε ένα σωρό ζευγάρια κλειδί-τιμή. 713 00:39:38,330 --> 00:39:42,380 Το όνομα ενός κλειδιού, αλλιώς γνωστή ως παράμετρος στο Web, 714 00:39:42,380 --> 00:39:46,380 τότε έχετε ένα ίσον, τότε έχετε την αξία αυτής της παραμέτρου. 715 00:39:46,380 --> 00:39:49,810 Γι 'αυτό είναι ουσιαστικά ένα όνομα μεταβλητής και μια μεταβλητή τιμή, 716 00:39:49,810 --> 00:39:54,250 αλλά τα ονόματα και τιμές αυτές μεταβλητή ήρθε από τη μορφή HTML. 717 00:39:54,250 --> 00:39:56,250 Γιατί οι συν εκεί, δεν νομίζετε; 718 00:39:56,250 --> 00:39:59,340 Επειδή δεν είχα πληκτρολογήστε + ανάμεσα στις λέξεις μου. 719 00:39:59,340 --> 00:40:01,430 [Φοιτητών, ακατάληπτο] 720 00:40:01,430 --> 00:40:05,080 >> Ναι, είναι ακριβώς για την απόσταση. Οι πιθανότητες είναι, κάθε φορά που έχετε δει ένα URL, 721 00:40:05,080 --> 00:40:07,320 Δεν υπάρχει ποτέ οποιαδήποτε κενά σε αυτό, έστω και μόνο επειδή 722 00:40:07,320 --> 00:40:09,440 αν υπήρχαν, δεν θα μπορούσε πραγματικά να αντιγράψετε και να επικολλήσετε 723 00:40:09,440 --> 00:40:12,700 σε IM ή σε ένα μήνυμα ηλεκτρονικού ταχυδρομείου, γιατί θα σπάσει. 724 00:40:12,700 --> 00:40:15,420 Θέλετε το όλο θέμα να είναι μια συνεχόμενη σειρά χαρακτήρων. 725 00:40:15,450 --> 00:40:18,450 >> Έτσι, ο browser είναι αρκετά έξυπνος για να συνειδητοποιήσουμε, uh-uh. 726 00:40:18,450 --> 00:40:22,610 Μην τοποθετείτε μόνο ένα χώρο εκεί. Επιτρέψτε μου να κωδικοποιήσει το χώρο με κάποιο πρότυπο τρόπο. 727 00:40:22,610 --> 00:40:25,170 Μία από τις συμβάσεις για να γίνει αυτό είναι να έχει το πρόγραμμα περιήγησης 728 00:40:25,170 --> 00:40:29,350 τίθενται αυτόματα μια +, όπου θα έχετε μια διαφορετική χώρο. 729 00:40:29,350 --> 00:40:32,140 Έτσι, τώρα, ανακοίνωση η Google έχει το είδος του χρήστη και εύχρηστο. 730 00:40:32,140 --> 00:40:34,380 Σίγουρα δεν δημιούργησε αυτή την ιστοσελίδα, 731 00:40:34,380 --> 00:40:37,200 αλλά έχουν τη δική prepopulated πεδίο κειμένου τους 732 00:40:37,200 --> 00:40:39,490 με ό, τι, ακριβώς, θα πληκτρολογήσει μέσα 733 00:40:39,490 --> 00:40:43,090 Ας υποθέσουμε ότι θέλω να ψάξει για κάτι άλλο, όπως ένα χαλαρό σκυλί. 734 00:40:43,090 --> 00:40:45,340 Μπορώ να πληκτρολογήσετε μόνο αυτό εδώ, εκ νέου αναζήτηση. 735 00:40:45,340 --> 00:40:47,730 Παρατηρήστε ότι η διεύθυνση URL αλλάζει εδώ, 736 00:40:47,730 --> 00:40:51,390 αλλά στη συνέχεια παρατηρήσετε ότι μπορώ πράγματι να ψάξετε για κάτι που θέλω 737 00:40:51,390 --> 00:40:53,610 μόνο με την κατανόηση πώς το έργο διευθύνσεις URL. 738 00:40:53,610 --> 00:40:56,840 Θα μπορούσα να κάνω τεμπέλης γάτα, εισαγωγή, 739 00:40:56,840 --> 00:41:01,370 παρατηρήσετε και τώρα παίρνω ένα πολύ τεμπέλης - θα πρέπει να είμαστε; Νιώθω σαν να έπρεπε. 740 00:41:01,370 --> 00:41:09,900 Έχω μια πολύ τεμπέλης γάτα. 741 00:41:09,900 --> 00:41:11,930 Εντάξει. Αυτό είναι ένα από τα πιο χαζό πράγματα που έχουμε κάνει. 742 00:41:11,930 --> 00:41:17,160 Αλλά αυτό είναι μια γάτα τεμπέλης. 743 00:41:17,160 --> 00:41:19,730 Εν πάση περιπτώσει, αυτό είναι το βασικό πακέτο εδώ; 744 00:41:19,730 --> 00:41:22,830 Τώρα είμαστε είδος του παιχνιδιού στον κόσμο του HTTP. 745 00:41:22,830 --> 00:41:26,050 HTML είναι ακριβώς αυτή η γλώσσα σήμανσης, ανοικτή ετικέτα, tag κλεισίματος, 746 00:41:26,050 --> 00:41:29,490 που λέει το πρόγραμμα περιήγησης πώς να καταστήσει το περιεχόμενο σε μια ιστοσελίδα. 747 00:41:29,490 --> 00:41:32,850 Αλλά όταν αρχίσουν να διαβιβάζουν δεδομένα μέσω του Internet 748 00:41:32,850 --> 00:41:36,290 μεταξύ του web browser και server, αυτό είναι όπου αυτό το πρωτόκολλο 749 00:41:36,290 --> 00:41:39,370 γνωστή ως HyperText Transfer Protocol αναλαμβάνει. 750 00:41:39,370 --> 00:41:42,630 Αυτό είναι το είδος του ανθρώπου σύμβαση? Όταν ο Σαμ και εγώ τίναξε τα χέρια, τη Δευτέρα, 751 00:41:42,630 --> 00:41:48,300 ξεκινώντας μια σύνδεση και στη συνέχεια, το κλείσιμο μιας σύνδεσης, η ίδια η ιδέα εδώ. 752 00:41:48,300 --> 00:41:53,100 Πώς τα αποτελέσματα της Google έρχεται πίσω σε μένα; 753 00:41:53,100 --> 00:41:55,290 Πώς υποβολή της φόρμας μου πηγαίνοντας στο Google; 754 00:41:55,290 --> 00:41:58,160 Λοιπόν, θυμάμαι από την άλλη μέρα που ό, τι πραγματικά συμβαίνει 755 00:41:58,160 --> 00:42:02,150 κάτω από το καπό όταν ζητάτε μια ιστοσελίδα είναι, 756 00:42:02,150 --> 00:42:04,860 browser σας στέλνει ένα κάπως αινιγματικό μήνυμα-όπως 757 00:42:04,860 --> 00:42:09,510 GET / HTTP/1.1 για την προεπιλεγμένη αρχική σελίδα. 758 00:42:09,510 --> 00:42:13,000 >> Ή, στην περίπτωση αυτή, γιατί ειδικά ζητηθεί νωρίτερα 759 00:42:13,000 --> 00:42:17,340 search0.html, τότε αυτό θα είναι το κάπως αινιγματικό μήνυμα- 760 00:42:17,340 --> 00:42:20,040 ότι ο φυλλομετρητής μου στέλνει στη συσκευή. 761 00:42:20,040 --> 00:42:23,090 Ή, στην περίπτωση αυτή της Google, τι πραγματικά αποστέλλονται 762 00:42:23,090 --> 00:42:33,740 είναι ένα αίτημα προς / αναζήτησης και στη συνέχεια; q = τεμπέλης γάτα, με ένα συν εκεί. 763 00:42:33,740 --> 00:42:36,790 Έτσι, αυτό το μήνυμα, ότι εγώ, ο άνθρωπος, είμαι ποτέ δακτυλογράφηση, 764 00:42:36,790 --> 00:42:40,620 αλλά έχει σταλεί από το πρόγραμμα περιήγησης μου, αυτό είναι το πώς συμβαίνει HTTP. 765 00:42:40,620 --> 00:42:43,240 Αυτό είναι το ισοδύναμο του ότι ανακινήθηκε χέρια μας. 766 00:42:43,240 --> 00:42:46,320 Αυτό είναι το αίτημα, και ο server είναι έτοιμος να στείλει μια απάντηση. 767 00:42:46,320 --> 00:42:48,560 Έτσι, ας ρίξουμε μια ματιά σε αυτό κάτω από την κουκούλα. 768 00:42:48,560 --> 00:42:55,320 Όπως και πριν, μπορούμε να ανοίξουμε αυτό το ειδικό πεδίο σε ένα πρόγραμμα περιήγησης. 769 00:42:55,320 --> 00:42:58,720 Δείτε τη σελίδα, να επιθεωρεί τα στοιχεία. 770 00:42:58,720 --> 00:43:01,550 Έτσι, κάτω από επιθεωρήσει στοιχείο, παρατηρούμε ότι αυτό που συνέβη στο Chrome, 771 00:43:01,550 --> 00:43:04,160 και IE και Firefox έχουν παρόμοιους μηχανισμούς, 772 00:43:04,160 --> 00:43:07,370 έχουμε αυτά τα εργαλεία ανάπτυξης προσβάσιμα σε μας. 773 00:43:07,370 --> 00:43:09,630 Κανονική άνθρωποι δεν χρησιμοποιούν αυτές τις καρτέλες. 774 00:43:09,630 --> 00:43:11,940 Αλλά, τώρα, είναι ενδιαφέρονται για το τι συμβαίνει 775 00:43:11,940 --> 00:43:13,890 κάτω από την κουκούλα στο επίπεδο του δικτύου. 776 00:43:13,890 --> 00:43:16,130 Έτσι, αν έχω τραβήξει μέχρι το επίπεδο δικτύου εδώ, 777 00:43:16,130 --> 00:43:18,510 επιτρέψτε μου να προχωρήσει και να επεκταθεί αυτό το παράθυρο, 778 00:43:18,510 --> 00:43:21,840 ανοίξει αυτήν την καταχώρηση εδώ, και να εξετάσουμε τις κεφαλίδες. 779 00:43:21,840 --> 00:43:26,010 Έτσι τι συμβαίνει όταν ζητά ένα αρχείο από έναν web server 780 00:43:26,010 --> 00:43:29,410 Είναι browser μου στέλνει ένα σωρό πράγματα. 781 00:43:29,410 --> 00:43:32,390 Και επιτρέψτε μου να δείτε πηγή. Έτσι, κάτω από τις κεφαλίδες αίτησης, 782 00:43:32,390 --> 00:43:35,250 και αυτό ακριβώς δείχνει Chrome με κάποια διαγνωστική έξοδος, 783 00:43:35,250 --> 00:43:37,340 περίπου όπως ένα πρόγραμμα εντοπισμού σφαλμάτων κάποιου είδους, 784 00:43:37,340 --> 00:43:40,500 παρατηρήσετε ότι αυτό που έχω επισημανθεί εδώ είναι ακριβώς ό, τι 785 00:43:40,500 --> 00:43:47,060 Chrome στέλνει στο διακομιστή, προκειμένου να ζητήσει ένα αρχείο με όνομα search0.html. 786 00:43:47,060 --> 00:43:50,160 Είναι χαρακτηριστικό το διακομιστή αυτό που σκέφτεται είναι το όνομά του, 787 00:43:50,160 --> 00:43:52,210 χάρη σε αυτόν τον τομέα του παχέος εντέρου υποδοχής, τότε υπάρχει κάποια 788 00:43:52,210 --> 00:43:56,950 αρκετά απόκρυφα πράγματα εδώ, σαν κάτι να κάνει με τις ημερομηνίες και ώρες, 789 00:43:56,950 --> 00:43:59,720 κάτι να κάνει με τις γλώσσες που καταλαβαίνει το πρόγραμμα περιήγησης, 790 00:43:59,720 --> 00:44:02,850 αλλά οι πραγματικά σημαντικές γραμμές είναι αυτά τα δύο πρώτα εδώ. 791 00:44:02,850 --> 00:44:05,490 >> Τι κάνει ο server ανταποκρίνεται με; Λοιπόν, αν μετακινηθείτε προς τα κάτω εδώ 792 00:44:05,490 --> 00:44:08,510 και δείτε την πηγή του αυτό το πράγμα, να παρατηρήσετε ότι ο διακομιστής 793 00:44:08,510 --> 00:44:13,700 ανταποκρίθηκε με μια κάπως αινιγματικό μήνυμα, καθώς, 304 δεν έχει τροποποιηθεί. 794 00:44:13,700 --> 00:44:16,030 Αυτό είναι λίγο περίεργο? Επιτρέψτε μου να προσπαθήσω πραγματικά να διορθώσετε αυτό. 795 00:44:16,030 --> 00:44:18,670 Επιτρέψτε μου να κρατάτε πατημένο το πλήκτρο SHIFT και κάντε κλικ reload εδώ 796 00:44:18,670 --> 00:44:22,460 για να αναγκάσει το πρόγραμμα περιήγησης για να κάνουν πραγματικά αυτό το αίτημα για πρώτη φορά. 797 00:44:22,460 --> 00:44:25,700 Στη συνέχεια, επιτρέψτε μου να μεγεθύνετε, και θα δούμε τώρα ότι η απάντηση του server, 798 00:44:25,700 --> 00:44:28,950 επειδή είχα στροφή, είναι 200 ​​OK. 799 00:44:28,950 --> 00:44:31,170 Έτσι έχετε δει ποτέ κατά πάσα πιθανότητα τον αριθμό 200 800 00:44:31,170 --> 00:44:33,300 στο πλαίσιο του Web, αλλά τι αριθμούς 801 00:44:33,300 --> 00:44:36,760 Μερικές φορές έχετε δει απροσδόκητα από ένα διακομιστή; 802 00:44:36,760 --> 00:44:42,010 404, το αρχείο δεν βρέθηκε? 403, απαγορευμένο? 500, σφάλμα διακομιστή. 803 00:44:42,010 --> 00:44:44,890 Έτσι, υπάρχουν αυτές οι αριθμητικοί κωδικοί που ο κόσμος χρησιμοποιεί το Web 804 00:44:44,890 --> 00:44:47,870 για να δηλώσουν τα λάθη, όπως ακριβώς και Γ λειτουργίες 805 00:44:47,870 --> 00:44:51,030 μπορεί να επιστρέψει τα λάθη και κυρίως να επιστρέψουν κωδικών εξόδου. 806 00:44:51,030 --> 00:44:54,160 200, όμως, που σπάνια βλέπουμε, γιατί αυτό σημαίνει ότι όλα είναι καλά. 807 00:44:54,160 --> 00:44:59,000 Και 304 ίσως επειδή ποτέ δεν δείτε τι σημαίνει αυτό; 808 00:44:59,000 --> 00:45:03,330 Ότι τίποτα δεν έχει - ας δούμε αν μπορούμε να τη μιμηθεί και πάλι - 809 00:45:03,330 --> 00:45:07,170 Ω, τώρα δεν είναι συνεργασία. 304 είπε ότι δεν τροποποιηθεί, 810 00:45:07,170 --> 00:45:09,170 έτσι γιατί ήταν ο server ανταποκρίνεται ακόμα; 811 00:45:09,170 --> 00:45:12,550 Λοιπόν, για την αποτελεσματικότητα, ένα web server αυτόματα για σας, 812 00:45:12,550 --> 00:45:16,570 αν το αρχείο δεν έχει αλλάξει, δεν θα αναμεταδώσει το σύνολο της HTML αρχείο. 813 00:45:16,570 --> 00:45:19,150 Θα πω μόνο το πρόγραμμα περιήγησης δεν έχει αλλάξει. 814 00:45:19,150 --> 00:45:21,220 Απλά χρησιμοποιήστε το αντίγραφο που έχετε ήδη. 815 00:45:21,220 --> 00:45:22,650 Έτσι υπάρχει αυτή η έννοια της προσωρινής αποθήκευσης στο Web 816 00:45:22,650 --> 00:45:25,840 για την απόδοση, έτσι ώστε να μην χάνετε χρόνο και το εύρος ζώνης των αποβλήτων 817 00:45:25,840 --> 00:45:29,160 λήψη αρχείων ξανά και ξανά χωρίς λόγο. 818 00:45:29,160 --> 00:45:31,460 >> Αλλά αυτή την ιστοσελίδα, τώρα, ήταν εξαιρετικά απλή, 819 00:45:31,460 --> 00:45:34,980 και το μόνο μου έδειξε την HTML που ήρθε πίσω. 820 00:45:34,980 --> 00:45:40,940 Ας χρησιμοποιούν πραγματικά την καρτέλα του δικτύου τώρα να κάνετε μια αναζήτηση στο Google, όπως γρήγορη καφέ αλεπού. 821 00:45:40,940 --> 00:45:43,010 Επιτρέψτε μου στη συνέχεια κάντε κλικ CS50 αναζήτηση, 822 00:45:43,010 --> 00:45:46,950 και τώρα, παρατηρήσετε στο κάτω μέρος εδώ ένα σωρό πράγματα επέστρεψε 823 00:45:46,950 --> 00:45:49,900 γιατί όταν επισκέπτομαι ένα πραγματικό δικτυακό τόπο όπως το Google.com, 824 00:45:49,900 --> 00:45:53,520 έχουν εικόνες, έχουν το κείμενο, έχουν μια γλώσσα που ονομάζεται JavaScript εκεί. 825 00:45:53,520 --> 00:45:55,940 Έτσι, κάθε σειρά στον πίνακα αυτό εδώ κάτω 826 00:45:55,940 --> 00:46:01,490 αντιπροσωπεύει κάτι που το Google φτύσει σε απάντηση στην ενιαία αίτηση μου. 827 00:46:01,490 --> 00:46:04,160 Το ένα με νοιάζει, όμως, είναι αυτή η πρώτη. 828 00:46:04,160 --> 00:46:08,420 Και αν πάω στην αναζήτηση, αίτημα, κάντε κλικ εδώ δείτε την πηγή, 829 00:46:08,420 --> 00:46:11,300 παρατηρήσετε ότι, πράγματι, το αινιγματικό μήνυμα ότι ο φυλλομετρητής μου έστειλε 830 00:46:11,300 --> 00:46:15,010 στο Google ήταν αυτές οι δύο γραμμές εδώ, 831 00:46:15,010 --> 00:46:18,420 ακολουθείται από κάποιο απόκρυφες πληροφορίες εδώ κάτω που θα αγνοήσει για τώρα. 832 00:46:18,420 --> 00:46:20,890 Αλλά ειδοποίηση, πάρα πολύ, τι Chrome είναι αρκετά βολικό με, 833 00:46:20,890 --> 00:46:24,540 είναι, επίσης, δείχνοντάς μου το ερώτημα συμβολοσειρά που στάλη 834 00:46:24,540 --> 00:46:27,410 Έτσι, αντί να μου δείξει αυτό, το οποίο κυριολεκτικά αποστέλλονται, 835 00:46:27,410 --> 00:46:30,800 αν δείτε αποκωδικοποιηθεί, Chrome, μόνο για σκοπούς εντοπισμού σφαλμάτων, 836 00:46:30,800 --> 00:46:34,270 για τους προγραμματιστές σαν εμάς, είναι ακριβώς δείχνοντάς μου έναν άνθρωπο-friendly version του - 837 00:46:34,270 --> 00:46:36,390 αυτό δεν είναι το πώς θα σημάνει αλεπού, προφανώς. 838 00:46:36,390 --> 00:46:40,520 Είμαι παρατηρήσει ακριβώς αυτό τώρα - αλλά αυτό σας δείχνει ό, τι εγώ, προφανώς, πληκτρολογήσει. 839 00:46:40,520 --> 00:46:45,340 Εν τω μεταξύ, η απάντηση που ήρθε πίσω από τον server είναι και πάλι 200 ​​OK. 840 00:46:45,340 --> 00:46:47,930 Αλλά συμπεριλαμβάνεται στην απάντηση, φυσικά, 841 00:46:47,930 --> 00:46:51,920 αν δείτε πραγματικά HTML της σελίδας - 842 00:46:51,920 --> 00:46:55,440 Συγγνώμη, αυτό είναι μια μικρή συντόμευση πληκτρολογίου πάει στραβά σήμερα. 843 00:46:55,440 --> 00:46:59,020 >> Θα ασχοληθώ με αυτό αργότερα. Έτσι, αν δείτε πραγματικά πηγή της σελίδας, 844 00:46:59,020 --> 00:47:02,990 που μπορώ να κάνω εδώ κάτω πατώντας απάντηση, 845 00:47:02,990 --> 00:47:10,080 αυτό είναι αυτό που πράγματι φτύσει πίσω, επιπλέον του εν λόγω κρυπτικό 200 ΟΚ μήνυμα από το διακομιστή. 846 00:47:10,080 --> 00:47:12,520 Λίγο αινιγματικά, αλλά πού είναι όλα αυτά προέρχονται από; 847 00:47:12,520 --> 00:47:15,570 Λοιπόν, ας κάνουμε κάτι άλλο εδώ. Μια άλλη κάπως αινιγματικά-εντολή, 848 00:47:15,570 --> 00:47:20,530 αλλά το είδος αυτού του ατόμου από πετυχημένος σε ότι μας αποκαλύπτει τι ακριβώς συμβαίνει κάτω από την κουκούλα. 849 00:47:20,530 --> 00:47:22,530 Έτσι είμαι πίσω στο Mac μου εδώ, έχω συνδεθεί 850 00:47:22,530 --> 00:47:25,980 μέσω ενός προγράμματος που ονομάζεται SSH, Secure Shell, σε έναν άλλο διακομιστή 851 00:47:25,980 --> 00:47:28,940 επειδή οι περισσότεροι από τους υπολογιστές του Χάρβαρντ μπλοκάρει την εντολή είμαστε για να τρέξει 852 00:47:28,940 --> 00:47:31,640 επειδή υπάρχει αυτή η εντολή σε μερικούς servers που ονομάζεται traceroute 853 00:47:31,640 --> 00:47:34,810 που σας επιτρέπει να εντοπίσει τη διαδρομή μεταξύ των σημείων Α και Β, 854 00:47:34,810 --> 00:47:37,020 και μέχρι στιγμής έχουμε ήδη λάβει εντελώς δεδομένο 855 00:47:37,020 --> 00:47:40,170 ότι μπορώ να πληκτρολογήσετε το Google.com και με κάποιο τρόπο να πάρει πίσω τα δεδομένα 856 00:47:40,170 --> 00:47:43,530 από στα μισά του δρόμου σε όλη τη χώρα ή στα μισά του δρόμου σε όλο τον κόσμο. 857 00:47:43,530 --> 00:47:45,810 Με traceroute μπορούμε πραγματικά να βουτήξει σε λίγο βαθύτερα 858 00:47:45,810 --> 00:47:49,370 ως προς το πώς λειτουργεί το Ίντερνετ, και να δούμε τι συμβαίνει κάτω από την κουκούλα. 859 00:47:49,370 --> 00:47:54,440 Ας προχωρήσουμε και αυθαίρετα εντοπίσει μια διαδρομή για την, ας πούμε, Stanford.edu, 860 00:47:54,440 --> 00:47:57,150 που είναι σε όλη τη χώρα, και πατήστε enter. 861 00:47:57,150 --> 00:47:59,380 Αυτή η εντολή μπορεί να είναι πολύ γρήγορη ή αργή υπερ-, 862 00:47:59,380 --> 00:48:02,010 αλλά αυτό που βλέπουμε, τώρα γραμμή προς γραμμή, 863 00:48:02,010 --> 00:48:08,060 είναι κάθε ένα από τα βήματα ή λυκίσκου μεταξύ μας και Πάλο Άλτο, ή το Stanford, 864 00:48:08,060 --> 00:48:11,010 όπου έχουν τον web server τους. 865 00:48:11,010 --> 00:48:16,600 Έτσι, τι κάνει κάθε μία από αυτές τις γραμμές αντιπροσωπεύουν πιο συγκεκριμένα, όμως; 866 00:48:16,600 --> 00:48:19,100 Ένα κομμάτι της αργκό από το Internet; [Φοιτητών, ακατάληπτο] 867 00:48:19,100 --> 00:48:21,570 >> Τι είναι αυτό; [Φοιτητών, ακατάληπτο] 868 00:48:21,570 --> 00:48:25,390 >> Ω, έτσι υπάρχουν φορές, αλλά τι κάνει κάθε σειρά - τι εννοώ με hop; 869 00:48:25,390 --> 00:48:29,140 >> Λοιπόν, υπάρχουν αυτά τα πράγματα στο διαδίκτυο που ονομάζεται δρομολογητές. 870 00:48:29,140 --> 00:48:33,020 Και routers, όπως υποδηλώνει το όνομα, πληροφορίες για τις διαδρομές από το σημείο Α στο σημείο Β. 871 00:48:33,020 --> 00:48:36,920 Αλλά υπάρχουν πολλά σημεία πέρα ​​από ένα και β. 872 00:48:36,920 --> 00:48:40,010 Υπάρχει γ και δ και ε και στ μεταξύ γραμμής 1, 873 00:48:40,010 --> 00:48:43,480 η οποία συμβαίνει να είναι η διεύθυνση IP του υπολογιστή μου, 874 00:48:43,480 --> 00:48:46,890 ή αριθμητική διεύθυνση μου, το οποίο προσδιορίζει μοναδικά τον υπολογιστή μου, 875 00:48:46,890 --> 00:48:50,300 και το βήμα 15, το οποίο στην πραγματικότητα είναι η έκτη του web server, 876 00:48:50,300 --> 00:48:54,640 προφανώς, την οποία είμαι συναχθεί από αυτό, ή την έκδοση 6 του web server τους στο Πανεπιστήμιο του Στάνφορντ. 877 00:48:54,640 --> 00:48:56,680 Αλλά αυτό είναι το είδος του τακτοποιημένο είναι, μπορούμε να δούμε τη διαδρομή 878 00:48:56,680 --> 00:49:00,480 ότι το 0 είναι μου και του 1, λαμβάνοντας από τον υπολογιστή μου στο Στάνφορντ. 879 00:49:00,480 --> 00:49:02,500 Έτσι το βήμα 1 είναι η διεύθυνση του υπολογιστή μου. 880 00:49:02,500 --> 00:49:05,760 Κάθε υπολογιστής στο Internet έχει ένα μοναδικό αναγνωριστικό που μοιάζει με αυτό. 881 00:49:05,760 --> 00:49:08,150 Number.number.number.number. 882 00:49:08,150 --> 00:49:10,370 Κάπου σε αυτό το πανεπιστήμιο, πιθανότατα στο κέντρο της επιστήμης, 883 00:49:10,370 --> 00:49:16,780 είναι ένα router που ονομάζεται πύλη Πυρήνας 2-te83, ότι κι αν σημαίνει, 884 00:49:16,780 --> 00:49:20,590 έτσι αυτό είναι ένα από τα μεγάλα φανταχτερά Χάρβαρντ δρομολογητές ότι δρομολογεί μια μεγάλη κίνηση τους. 885 00:49:20,590 --> 00:49:24,640 Εδώ είναι ένα άλλο από δρομολογητές του Χάρβαρντ, αυτό είναι πύλη των συνόρων, 886 00:49:24,640 --> 00:49:28,310 έννοια των συνόρων είναι κατά πάσα πιθανότητα για την περιφέρεια της πανεπιστημιούπολης κάπου. 887 00:49:28,480 --> 00:49:32,790 Στη συνέχεια, υπάρχει nox ένα, γραμμή 4, η οποία είναι η Βόρεια Crossroads, 888 00:49:32,790 --> 00:49:35,070 το οποίο είναι ένα μεγάλο ISP, την υπηρεσία παροχής Internet, 889 00:49:35,070 --> 00:49:37,740 ότι μέρη όπως το Χάρβαρντ συνδέσετε μέχρι. 890 00:49:37,740 --> 00:49:40,760 Αλλά τότε τα πράγματα γίνονται λίγο ενδιαφέρον στη γραμμή 6. 891 00:49:40,760 --> 00:49:45,960 Πού είναι κομμάτια μου ξαφνικά; Κάνσας. 892 00:49:45,960 --> 00:49:49,300 Ο κόσμος έχει τη συνήθεια να χρησιμοποιούν τους κωδικούς αεροδρόμιο που βρίσκεται σε πολλά από αυτά τα πράγματα, 893 00:49:49,300 --> 00:49:52,900 ή τουλάχιστον συντομογραφίες για τα κράτη ή πόλεις, 894 00:49:52,900 --> 00:49:56,490 έτσι ώστε να μοιάζει, σε μόλις 60 ms, 895 00:49:56,490 --> 00:49:59,420 ένα πακέτο πληροφοριών, το 0 και 1 είναι από το φορητό υπολογιστή μου 896 00:49:59,420 --> 00:50:03,210 πήρε όλα ο τρόπος για να Κάνσας, και πάλι, σε 60 ms. 897 00:50:03,210 --> 00:50:08,180 >> Επιπλέον, μετά το Κάνσας, πήραν μια περιήγηση μέσω του Χιούστον, κατά πάσα πιθανότητα, 898 00:50:08,180 --> 00:50:10,140 όπως προτείνεται από το όνομα του διακομιστή. 899 00:50:10,140 --> 00:50:13,310 Έτσι ακριβώς όπως ένα διακομιστή στο Internet πρέπει να έχει αριθμητική διεύθυνση, 900 00:50:13,310 --> 00:50:18,360 Μπορεί επίσης, προαιρετικά, να έχουν μια ελαφρώς πιο φιλικό προς τον άνθρωπο διεύθυνση ότι οι άνθρωποι ήρθαν με. 901 00:50:18,360 --> 00:50:20,510 Τώρα, στο βήμα 8, δεν γνωρίζουμε τι είναι αυτό. 902 00:50:20,510 --> 00:50:22,550 Μερικές φορές routers ακριβώς το είδος του αγνοήσετε, 903 00:50:22,550 --> 00:50:25,010 και το μόνο που δεν μπορώ να απαντήσω στις ερωτήσεις, έτσι ώστε να είναι ωραία. 904 00:50:25,010 --> 00:50:29,290 Το ένα μετά το βήμα 8 είναι προφανώς πού; Ι.Α. 905 00:50:29,290 --> 00:50:35,290 Σημειώστε σε μόνο 78 ms, τι μας παίρνει τους ανθρώπους σαν 6 + ώρες για να κάνουμε φυσική, 906 00:50:35,290 --> 00:50:40,110 παίρνει πακέτα πληροφοριών στο Διαδίκτυο 78 ms να ταξιδέψουν τόσο μακριά. 907 00:50:40,110 --> 00:50:45,890 Βήμα 10 είναι στο Λος Άντζελες, καθώς και το βήμα 11 φαίνεται να έχουν περάσει βόρεια, μέχρι κοντά στο Stanford. 908 00:50:45,890 --> 00:50:48,750 Αυτό είναι router όριο τους, ή δρομολογητή σύνορα. 909 00:50:48,750 --> 00:50:51,240 Ένα ζευγάρι βήματα στο Πανεπιστήμιο του Στάνφορντ, που μας αγνοούν, 910 00:50:51,240 --> 00:50:55,610 και, τέλος, φτάνουμε τον web server σε μόλις 87 ms. 911 00:50:55,610 --> 00:50:57,760 Τώρα, όλοι από αυτούς τους αριθμούς, ως καλλιέργειας, 912 00:50:57,760 --> 00:51:00,640 απλά να σας πω πόσο καιρό παίρνει για να πάρει δεδομένα από μένα 913 00:51:00,640 --> 00:51:03,530 σε κάθε ένα από αυτά τα routers, και δεν είναι σωρευτικά. 914 00:51:03,530 --> 00:51:06,960 Τι αυτό το πρόγραμμα δεν είναι, στέλνει πρώτα ένα μήνυμα, ουσιαστικά, για το πρώτο router. 915 00:51:06,960 --> 00:51:09,490 Τότε το ένα στο δεύτερο router? Τότε στην τρίτη δρομολογητή, 916 00:51:09,490 --> 00:51:12,610 μετρώντας κάθε φορά. Έτσι, θεωρητικά, αυτοί οι χρόνοι θα αυξάνεται 917 00:51:12,610 --> 00:51:14,860 ή τουλάχιστον πολύ κοντά το ένα στο άλλο, 918 00:51:14,860 --> 00:51:18,090 και, μάλιστα, αυτοί που είναι εδώ στην πανεπιστημιούπολη είναι υπερ-μικρό. 919 00:51:18,090 --> 00:51:20,820 Από τη στιγμή που θα αρχίσεις να κάνεις σε όλη τη χώρα, που λαμβάνει δεδομένα 920 00:51:20,820 --> 00:51:24,830 λίγο περισσότερο χρόνο για να ταξιδέψουν, κοντά στα 100 ms, ή να δώσει. 921 00:51:24,830 --> 00:51:28,330 Αλλά ας πάμε την άλλη κατεύθυνση τώρα. Τι θα λέγατε για Πανεπιστήμιο του Cambridge στο Ηνωμένο Βασίλειο; 922 00:51:28,330 --> 00:51:32,540 Επιτρέψτε μου να τρέξει αντί του traceroute www.cam για Cambridge, 923 00:51:32,540 --> 00:51:36,710 . Ac για την ακαδημαϊκή,. Uk, και πατήστε enter εδώ. 924 00:51:36,710 --> 00:51:38,830 Αυτό ήταν όμορφη βλασφημία γρήγορα. 925 00:51:38,830 --> 00:51:43,300 Δεδομένα μου κυριολεκτικά πήγε στο Κέιμπριτζ, στην Αγγλία, στην εν λόγω κλάσμα του δευτερολέπτου του χρόνου. 926 00:51:43,300 --> 00:51:45,340 >> Ας δούμε λοιπόν το δρόμο που πήρε. 927 00:51:45,340 --> 00:51:47,520 Χάρβαρντ, Χάρβαρντ, Χάρβαρντ, Βόρεια Crossroads, 928 00:51:47,520 --> 00:51:52,690 η οποία είναι μια υπηρεσία παροχής Internet, και στη συνέχεια, αυτό είναι η Βόρεια Crossroads, και στη συνέχεια, μπαμ. 929 00:51:52,690 --> 00:51:58,320 Ποια είναι ανάμεσα από τις βαθμίδες 6 και 7, δρομολογητή 6 και 7; 930 00:51:58,320 --> 00:52:02,040 Η Ατλαντικό Ωκεανό. Και είμαστε συνάγοντας αυτό από το γεγονός ότι 931 00:52:02,040 --> 00:52:06,530 πάμε από εδώ 20 ms 80 ms για εδώ. 932 00:52:06,530 --> 00:52:10,050 Έτσι, κάτι πήρε 60 ms, ή να δώσει, να πάρει πάνω. 933 00:52:10,050 --> 00:52:12,910 Και αυτό ήταν πιθανώς ένα μεγάλο σώμα του νερού. 934 00:52:12,910 --> 00:52:15,250 Τι συμβαίνει μετά από αυτό; Λοιπόν, εδώ είμαστε στο Λονδίνο, 935 00:52:15,250 --> 00:52:18,860 μόλις 88 ms αργότερα. Περισσότερα Λονδίνο, Λονδίνο περισσότερο, 936 00:52:18,860 --> 00:52:21,730 δεν είναι σίγουρος πού είναι αυτό, αλλά υποθέτουμε ότι είναι έξω από το Λονδίνο, 937 00:52:21,730 --> 00:52:26,390 Cambridge εδώ, και τελικά εμείς - στην κυριολεξία, του Πανεπιστημίου του Cambridge 938 00:52:26,390 --> 00:52:29,500 . Something.net, και έπειτα, τελικά, στη γραμμή 16, 939 00:52:29,500 --> 00:52:31,720 του web server τους είναι προφανώς ονομάζεται Σκορπιού 940 00:52:31,720 --> 00:52:35,500 κάτω από την κουκούλα, παρόλο που γνωρίζουμε ως www. 941 00:52:35,500 --> 00:52:38,790 Είδος μυαλό-blowing, νομίζω. Την πρώτη φορά που το έκανα ποτέ αυτό, φύσηξε το μυαλό μου εντελώς. 942 00:52:38,790 --> 00:52:41,670 Δυστυχώς, Χάρβαρντ μπλοκάρει αυτό το είδος της κυκλοφορίας, τυπικά, στο δίκτυο. 943 00:52:41,670 --> 00:52:44,340 Έτσι δεν μπορείτε να το κάνετε εύκολα σούπερ. 944 00:52:44,340 --> 00:52:48,500 Realize, όμως, αυτό είναι δυνατόν εδώ. 945 00:52:48,500 --> 00:52:53,630 Εντάξει. Ας ρίξουμε 5-λεπτά διάλειμμα μας εδώ. Θα επανέλθω και να βουτήξει στα βαθιά. 946 00:52:53,630 --> 00:53:00,850 Έτσι, είμαστε πίσω, και έχουμε το είδος της ambled περίπου σε λίγες διαφορετικές κατευθύνσεις εδώ. 947 00:53:00,850 --> 00:53:03,700 Ας συνοψίσουμε ακριβώς τι συμβαίνει εδώ. 948 00:53:03,700 --> 00:53:07,990 Ξεκινήσαμε τη συζήτηση μιλώντας για αυτό που ονομάζεται γλώσσα HTML. 949 00:53:07,990 --> 00:53:10,680 Και πάλι, δεν είναι γλώσσα προγραμματισμού. Είναι απλά μια γλώσσα σήμανσης 950 00:53:10,680 --> 00:53:15,490 που είναι σε μεγάλο βαθμό για την αισθητική και τη δόμηση του περιεχομένου, με τη μορφή μιας ιστοσελίδας. 951 00:53:15,490 --> 00:53:19,220 Αλλά HTML, ως εκ τούτου, χρειάζεται κάποιο είδος του μηχανισμού 952 00:53:19,220 --> 00:53:22,870 για ταξίδια μεταξύ του web browser και του server. 953 00:53:22,870 --> 00:53:28,360 HTML επομένως είδους βόλτες πάνω από αυτή την άλλη γλώσσα, 954 00:53:28,360 --> 00:53:31,280 ή πιο σωστά, ένα πρωτόκολλο, που είναι γνωστή ως HTTP. 955 00:53:31,280 --> 00:53:33,730 >> Και HTTP, όπως έχουμε δει μέχρι στιγμής, 956 00:53:33,730 --> 00:53:37,140 Είναι το είδος της ανάλογη με αυτή του ανθρώπου σύμβαση χειραψία. 957 00:53:37,140 --> 00:53:39,940 Όταν ένα πρόγραμμα περιήγησης θέλει να ζητήσει μια σελίδα από ένα διακομιστή, 958 00:53:39,940 --> 00:53:43,450 ότι στέλνει "πάρει" αίτημα από το πρόγραμμα περιήγησης στο διακομιστή, 959 00:53:43,450 --> 00:53:48,040 και στη συνέχεια, ο διακομιστής απαντά με έναν αριθμό, όπως 200, όλα είναι εντάξει, 960 00:53:48,040 --> 00:53:53,290 καθώς και το HTML ή κάποια κακή αριθμό, όπως 404, το αρχείο δεν βρέθηκε. 961 00:53:53,290 --> 00:53:58,220 Αλλά εν τω μεταξύ, HTTP ίδια δεν είναι το Διαδίκτυο, per se. 962 00:53:58,220 --> 00:54:01,550 HTTP είναι απλά μια υπηρεσία, ένα χαρακτηριστικό γνώρισμα του Διαδικτύου 963 00:54:01,550 --> 00:54:05,530 σαν G συνομιλίας είναι μια άλλη υπηρεσία, όπως και το ηλεκτρονικό ταχυδρομείο είναι μια άλλη υπηρεσία. 964 00:54:05,530 --> 00:54:09,180 Υπάρχει όλα τα είδη των πραγμάτων που μπορούμε να κάνουμε στο Internet. 965 00:54:09,180 --> 00:54:12,670 HTTP είναι μόνο μία από αυτές τις εφαρμογές. 966 00:54:12,670 --> 00:54:17,210 Έτσι, στην κορυφή του - HTTP είναι πάνω από κάτι άλλο 967 00:54:17,210 --> 00:54:21,750 την οποία δεν ανέφερε το όνομα, μπορεί να έχετε ακούσει για το όνομα, το πρωτόκολλο TCP / IP. 968 00:54:21,750 --> 00:54:25,160 Έτσι, η ιστορία μας είπε ακριβώς εκεί είναι όλα σχετικά με 969 00:54:25,160 --> 00:54:28,720 τρόπο με τον οποίο τα δεδομένα ταξιδεύει από το σημείο Α στο σημείο Β. 970 00:54:28,720 --> 00:54:30,950 Και σε αυτή την περίπτωση, είδαμε σε ένα πολύ χαμηλό επίπεδο 971 00:54:30,950 --> 00:54:33,060 δρομολογητή σε δρομολογητή σε δρομολογητή σε δρομολογητή, 972 00:54:33,060 --> 00:54:35,390 πώς τα δεδομένα είναι στην πραγματικότητα που μεταδίδεται. 973 00:54:35,390 --> 00:54:40,510 Αλλά κατά μήκος του τρόπου, με τον οποίο πρόκειται να συναντήσει διάφορα εμπόδια. 974 00:54:40,510 --> 00:54:43,770 Εκτός από αυτά τα routers, υπάρχουν πράγματα που ονομάζεται τείχη προστασίας στο Διαδίκτυο, 975 00:54:43,770 --> 00:54:46,680 και έτσι τα δεδομένα, όπως ότι ήταν απλά μετάδοση 976 00:54:46,680 --> 00:54:49,720 από μένα στο Στάνφορντ, από μένα στο Καίμπριτζ, 977 00:54:49,720 --> 00:54:54,560 αποστέλλεται, σε αυτό το επίπεδο, κάτι που ονομάζεται διεύθυνση IP. 978 00:54:54,560 --> 00:54:57,340 Είδαμε αυτό πριν από λίγο, και μια διεύθυνση IP 979 00:54:57,340 --> 00:55:02,480 είναι απλά μια αριθμητική διεύθυνση του w.x.y.z μορφή, 980 00:55:02,480 --> 00:55:08,070 όπου κάθε μία από αυτές είναι μεταξύ των, ή να δώσει, 0 και 255, 981 00:55:08,070 --> 00:55:10,080 αν δεν μπορείτε να χρησιμοποιήσετε αρκετά όλα αυτά τα νούμερα. 982 00:55:10,080 --> 00:55:14,220 Αλλά καθένα από αυτά κατόχων τόπος είναι ένας αριθμός μεταξύ 0 και 255. 983 00:55:14,220 --> 00:55:16,820 Έτσι, μια διεύθυνση IP αυτές τις μέρες είναι 32 bits. 984 00:55:16,820 --> 00:55:20,780 >> Τώρα, αυτό μας δίνει πόσες πιθανές διευθύνσεις IP στον κόσμο; 985 00:55:20,780 --> 00:55:24,420 Περίπου 4 δισεκατομμύρια, επειδή κάθε φορά που μετράμε σε δυνάμεις του 2 986 00:55:24,420 --> 00:55:27,760 σε όλη τη διαδρομή μέχρι και 32 της κάτι, που δίνει συνήθως μας 4 δις ευρώ. 987 00:55:27,760 --> 00:55:30,160 Έτσι, αυτό είναι ένα πολύ IP διευθύνσεις, αλλά μπορεί να έχετε διαβάσει, 988 00:55:30,160 --> 00:55:32,410 ή μπορεί να παρατηρήσετε τώρα στον τύπο, 989 00:55:32,410 --> 00:55:36,020 μια ώθηση προς μια νέα έκδοση του IP που ονομάζεται IPv6. 990 00:55:36,020 --> 00:55:38,290 Αυτή τη στιγμή είμαστε με την έκδοση 4. 991 00:55:38,290 --> 00:55:41,060 Εκεί πραγματικά δεν έχει μια έκδοση 5, είμαστε απλά άλμα δικαίωμα σε 6. 992 00:55:41,060 --> 00:55:46,760 Έκδοση 6 πρόκειται να χρησιμοποιήσει 128 bits για τις διευθύνσεις IP, η οποία είναι freaking τεράστια. 993 00:55:46,760 --> 00:55:49,430 Εμείς δεν θα πρέπει να τρέξει έξω για αρκετό καιρό τώρα, 994 00:55:49,430 --> 00:55:52,980 αλλά έχουμε αρχίσει να τρέχει από διευθύνσεις IP έκδοση 4, 995 00:55:52,980 --> 00:55:56,110 επειδή όλοι μας έχουμε όχι μόνο πράγματα, όπως φορητούς και επιτραπέζιους υπολογιστές, 996 00:55:56,110 --> 00:55:58,700 πολλοί από εμάς έχουν τα τηλέφωνα, πολλοί από εμάς έχουν και άλλες συσκευές 997 00:55:58,700 --> 00:56:01,600 όπως TiVo και τα παρόμοια που έχουν οι ίδιοι διευθύνσεις IP. 998 00:56:01,600 --> 00:56:03,720 Χάρβαρντ ίδια έχει δεκάδες χιλιάδες υπολογιστές. 999 00:56:03,720 --> 00:56:07,970 Έτσι, ο κόσμος είναι πραγματικά τρέχει από διευθύνσεις IP, τουλάχιστον από αυτή τη μορφή. 1000 00:56:07,970 --> 00:56:10,340 Έτσι, μέσα στα επόμενα λίγα χρόνια, θα έχετε την ευκαιρία να δείτε τις διευθύνσεις 1001 00:56:10,340 --> 00:56:12,870 στους υπολογιστές σας πιθανώς να αλλάξει σιγά-σιγά 1002 00:56:12,870 --> 00:56:16,740 καθώς όλο και περισσότερες εταιρείες και τα πανεπιστήμια αρχίζουν να στηρίξει την νεότερη έκδοση. 1003 00:56:16,740 --> 00:56:22,770 Αλλά μια διεύθυνση IP δεν είναι επαρκής για τον υπολογιστή Α να ζητήσει τα δεδομένα από τον υπολογιστή b. 1004 00:56:22,770 --> 00:56:24,950 Επειδή ο υπολογιστής β θα μπορούσε να είναι ένας server, 1005 00:56:24,950 --> 00:56:27,600 και ένα διακομιστή, όπως ανέφερα προηγουμένως, μπορεί να κάνει τσαμπιά από τα πράγματα. 1006 00:56:27,600 --> 00:56:29,940 Μπορεί να φιλοξενήσει ιστοσελίδες, μπορεί να είναι ένα e-mail server, 1007 00:56:29,940 --> 00:56:32,310 μπορεί να είναι ένας διακομιστής Skype, αυτό μπορεί να είναι ένα διακομιστή συνομιλίας G. 1008 00:56:32,310 --> 00:56:35,870 >> Όλες αυτές οι διαφορετικές υπηρεσίες που μπορούν να παρέχονται σε ένα διακομιστή 1009 00:56:35,870 --> 00:56:38,330 θα μπορούσαν όλα, φυσικά, να είναι στο ίδιο μηχάνημα. 1010 00:56:38,330 --> 00:56:40,380 Έτσι, εκτός από τις διευθύνσεις IP, 1011 00:56:40,380 --> 00:56:43,250 ο κόσμος έχει τα πράγματα που ονομάζονται θύρες στο Διαδίκτυο. 1012 00:56:43,250 --> 00:56:47,830 Το λιμάνι είναι απλά ένας αριθμός? Έτσι υπάρχει ένας μοναδικός αριθμός για HTTP. 1013 00:56:47,830 --> 00:56:50,280 Αριθμός του είναι 80. 1014 00:56:50,280 --> 00:56:55,870 HTTP χρησιμοποιεί επίσης τον αριθμό 443, αλλά πιο συγκεκριμένα, για το κρυπτογραφημένο HTTPS. 1015 00:56:55,870 --> 00:57:00,030 Κάθε φορά που βλέπετε το s, για την ασφαλή, που είναι χρησιμοποιώντας ένα διαφορετικό αριθμό. 1016 00:57:00,030 --> 00:57:06,580 Υπάρχουν και άλλοι αριθμοί, όπως το 25, που χρησιμοποιείται για κάτι που ονομάζεται SMTP, αλλιώς γνωστό ως e-mail. 1017 00:57:06,580 --> 00:57:09,620 Υπάρχει κάτι που ονομάζεται 22 για SSH, 1018 00:57:09,620 --> 00:57:11,850 υπάρχει και ένα σωρό άλλα λιμάνια εκεί έξω. 1019 00:57:11,850 --> 00:57:14,460 Τώρα, εμείς οι άνθρωποι σπάνια βλέπουν αυτούς τους αριθμούς. 1020 00:57:14,460 --> 00:57:21,970 Ωστόσο, όταν πληκτρολογείτε μια διεύθυνση σαν http://www.facebook.com, 1021 00:57:21,970 --> 00:57:26,560 το πρόγραμμα περιήγησης εισαγωγή κρυφά 80, επειδή είστε με τη χρήση HTTP. 1022 00:57:26,560 --> 00:57:30,630 Αν, αντίθετα, HTTPS τύπου, είναι κρυφά εισαγωγή 443. 1023 00:57:30,630 --> 00:57:35,180 Και μπορούμε να δούμε το είδος του αυτό το χέρι αν έχω τραβήξει ένα Brower 1024 00:57:35,180 --> 00:57:41,850 και πηγαίνετε στο http://www.facebook.com:80. 1025 00:57:41,850 --> 00:57:44,550 Ως εκ τούτου αναφέρονται ρητά όχι μόνο το όνομα του δικτυακού τόπου 1026 00:57:44,550 --> 00:57:47,650 αλλά το λιμάνι που θέλω να μιλήσω, και πατήστε enter. 1027 00:57:47,650 --> 00:57:50,170 Παρατηρήστε ότι εξαφανίζεται, επειδή το πρόγραμμα περιήγησης υποθέτει, 1028 00:57:50,170 --> 00:57:53,360 Ω, 80, δεν είμαι καν πρόκειται να ενοχλεί που δείχνουν ότι σε εσάς. 1029 00:57:53,360 --> 00:57:56,400 Αλλά ο λόγος για αυτό είναι ότι αν πραγματικά ήθελε να στείλει κάποιος ένα μήνυμα ηλεκτρονικού ταχυδρομείου, 1030 00:57:56,400 --> 00:58:02,340 Θα ήθελα πραγματικά να το στείλετε σε αυτούς στη θύρα 25, ότι το να είσαι SMTP. 1031 00:58:02,340 --> 00:58:04,890 Ένα κομμάτι από μια υπεραπλούστευση, αλλά κάποιοι από εσάς έχετε φίλους 1032 00:58:04,890 --> 00:58:09,290 που πραγματικά εργάζονται στο Facebook, και, ομοίως, να έχει διακομιστές που λαμβάνουν e-mail. 1033 00:58:09,290 --> 00:58:12,610 >> Κάθε φορά που στέλνετε ένα e-mail, gmail τι κάνει για σας 1034 00:58:12,610 --> 00:58:14,960 ή το Outlook ή όποια και αν είναι το πρόγραμμα που χρησιμοποιείτε, 1035 00:58:14,960 --> 00:58:19,270 Είναι το είδος της κρυφά εισάγοντας τον αριθμό αυτό καθώς, το 25, σε αυτή την περίπτωση. 1036 00:58:19,270 --> 00:58:24,490 Είναι αυτός ο συνδυασμός της διεύθυνσης IP και τον αριθμό που προσδιορίζει με μοναδικό τρόπο 1037 00:58:24,490 --> 00:58:29,190 ένας υπολογιστής στο Διαδίκτυο και μια ειδική υπηρεσία σε αυτόν τον υπολογιστή. 1038 00:58:29,190 --> 00:58:33,460 Τώρα, βέβαια, οι περισσότεροι από μας έχουν πιθανώς ποτέ πληκτρολογήσει χειροκίνητα μια διεύθυνση IP. 1039 00:58:33,460 --> 00:58:37,340 Ίσως έχετε στη συσκευή, αλλά στον πραγματικό κόσμο, όχι τόσο πολύ. 1040 00:58:37,340 --> 00:58:42,750 Γιατί δεν πληκτρολογείτε τις διευθύνσεις IP σε προγράμματα περιήγησης; 1041 00:58:42,750 --> 00:58:45,860 Δεν θα μπορούσε να λειτουργήσει, στην πραγματικότητα, μπορούμε να δούμε αυτό? Επιτρέψτε μου να σας δείξω 1042 00:58:45,860 --> 00:58:50,000 μια άλλη εντολή που θα πρέπει να εργαστεί πιο οπουδήποτε στην πανεπιστημιούπολη του Χάρβαρντ σε Mac ή PC. 1043 00:58:50,000 --> 00:58:53,970 Υπάρχει αυτή η εντολή ονομάζεται nslookup, το όνομα του διακομιστή αναζήτησης. 1044 00:58:53,970 --> 00:58:59,960 Αν κοιτάζω ψηλά www.cnn.com, αποδεικνύεται ότι έχει CNN - ω, ενδιαφέρουσα. 1045 00:58:59,960 --> 00:59:03,180 CNN έχει αρχίσει να χρησιμοποιεί το Amazon web services. 1046 00:59:03,180 --> 00:59:06,380 Ίσως γνωρίζετε του cloud computing, το ένα της Amazon από τους μεγάλους παίκτες στο cloud computing. 1047 00:59:06,380 --> 00:59:10,240 Αυτό που έκανε ήταν απλά, είπα, «Δώστε μου τη διεύθυνση του web server του CNN," 1048 00:59:10,240 --> 00:59:14,090 αλλά αποδεικνύεται ότι τον web server του CNN διοικείται από το Amazon, 1049 00:59:14,090 --> 00:59:16,030 Amazon Web Services, το γεγονός αυτό δείχνει. 1050 00:59:16,030 --> 00:59:19,680 Και η διεύθυνση του server είναι αυτό εδώ. 1051 00:59:19,680 --> 00:59:22,350 Έτσι, δεν είμαι σίγουρος αν αυτό θα λειτουργήσει, επειδή δεν χρησιμοποιούνται για να χρησιμοποιήσετε το Amazon. 1052 00:59:22,350 --> 00:59:32,830 Αλλά ας προσπαθήσουμε αυτό? Http://, διεύθυνση IP, πληκτρολογήστε, και - 1053 00:59:32,830 --> 00:59:35,690 είναι αυτό που πρόκειται να λειτουργήσει; 1054 00:59:35,690 --> 00:59:39,280 Ναι. Είναι πρόκειται να λειτουργήσει. Internet είναι εξαιρετικά αργή σήμερα. 1055 00:59:39,280 --> 00:59:43,680 Αλλά, σε μια στιγμή, θα δείτε κάποια είδηση. 1056 00:59:43,680 --> 00:59:48,360 Εκεί πάμε. Bank of America είναι να εναχθεί. Εντάξει. 1057 00:59:48,360 --> 00:59:54,000 >> Αυτό οφείλεται στο γεγονός ότι αυτή η διεύθυνση IP που συμβαίνει μόνο για να με συνώνυμη με www.cnn.com. 1058 00:59:54,000 --> 00:59:59,920 Φυσικά, θα ήταν τρομερό marketing να πω, επισκεφτείτε μας στο Web στη διεύθυνση 50.112.94.127. 1059 00:59:59,920 --> 01:00:02,370 Ποτέ δεν θα θυμάται. Έτσι, ακόμη και αυτές τις ημέρες μπορείτε να ανακαλέσετε τα πράγματα 1060 01:00:02,370 --> 01:00:07,210 όπως 1-800-COLLECT ή μνημονικά ο κόσμος ήρθε με για τους αριθμούς τηλεφώνου. 1061 01:00:07,210 --> 01:00:09,540 Ποια, πριν από τα κινητά τηλέφωνα, ήταν μάλλον δύσκολο να θυμάστε 1062 01:00:09,540 --> 01:00:11,800 έως ότου μπορείτε να πληκτρολογήσετε απλά μέσα και να ξεχάσουμε αυτό. 1063 01:00:11,800 --> 01:00:15,730 Έτσι, το Web, επίσης, έχει αυτή τη σύμβαση των ονομάτων και των διευθύνσεων IP, 1064 01:00:15,730 --> 01:00:17,770 και υπάρχουν αυτά τα πράγματα έξω εκεί κάλεσε DNS servers, 1065 01:00:17,770 --> 01:00:23,870 συστήματα servers όνομα τομέα, που μεταφράζουν διευθύνσεις IP σε ονόματα και το αντίστροφο. 1066 01:00:23,870 --> 01:00:26,340 Έτσι, αυτό είναι ό, τι συμβαίνει κάτω από την κουκούλα. 1067 01:00:26,340 --> 01:00:29,540 Στο τέλος, έχουμε το πρωτόκολλο TCP / IP, το οποίο είναι αυτό πολύ χαμηλού επιπέδου πρωτόκολλο 1068 01:00:29,540 --> 01:00:32,570 ότι, πραγματικά, παίρνει μόνο 0 και 1 της σε ολόκληρο το Διαδίκτυο, 1069 01:00:32,570 --> 01:00:36,030 και το κάνει αυτό με την τοποθέτηση τους σε έναν εικονικό φάκελο, 1070 01:00:36,030 --> 01:00:38,820 αν θέλετε, και το γράψιμο στο εξωτερικό του φακέλου 1071 01:00:38,820 --> 01:00:43,930 η διεύθυνση IP του προορισμού, καθώς και το αριθμητικό αριθμό θύρας 1072 01:00:43,930 --> 01:00:47,520 της υπηρεσίας για τον προορισμό που θέλει να μιλήσει. 1073 01:00:47,520 --> 01:00:51,060 Εν τω μεταξύ, στο φάκελο υπάρχει επίσης κάτι που είναι γνωστό ως διεύθυνση επιστροφής, 1074 01:00:51,060 --> 01:00:55,600 η οποία είναι η διεύθυνση IP σας, έτσι ώστε όταν το CNN παίρνει ένα πακέτο πληροφοριών από εσάς, 1075 01:00:55,600 --> 01:00:58,710 Ανοίγει το εικονικό φάκελο, βλέπει ότι θέλετε την αρχική σελίδα, 1076 01:00:58,710 --> 01:01:04,630 γνωρίζει από την πλευρά του αποστολέα αυτόν τον εικονικό φάκελο ποιον να στείλετε την HTML πίσω. 1077 01:01:04,630 --> 01:01:07,470 Έτσι, ας ρίξουμε μια ματιά σε αυτό σε λίγο περισσότερες λεπτομέρειες. 1078 01:01:07,470 --> 01:01:11,370 Αυτό είναι από μια εταιρεία που ονομάζεται Ericson, από λίγα χρόνια πίσω. 1079 01:01:11,370 --> 01:01:14,780 Και πήραν κάποιες ελευθερίες με το πώς το Διαδίκτυο λειτουργεί πραγματικά, 1080 01:01:14,780 --> 01:01:18,920 αλλά δίνει μια πολύ πιο οπτική εικόνα από την απλή κιμωλία μέχρι εδώ. 1081 01:01:18,920 --> 01:01:26,690 Γι 'αυτό σας δώσω "A Bit του Διαδικτύου." 1082 01:02:26,660 --> 01:02:29,840 >> [Αφηγητής] Για πρώτη φορά στην ιστορία, 1083 01:02:29,840 --> 01:02:35,260 άνθρωποι και μηχανήματα εργάζονται από κοινού, πραγματοποιώντας ένα όνειρο. 1084 01:02:35,260 --> 01:02:38,910 Μια ένωση δύναμη που δεν γνωρίζει γεωγραφικά σύνορα. 1085 01:02:38,910 --> 01:02:43,230 Χωρίς τη φυλή, το θρήσκευμα, το χρώμα ή. 1086 01:02:43,230 --> 01:02:47,770 Μια νέα εποχή όπου η επικοινωνία φέρνει πραγματικά τους ανθρώπους. 1087 01:02:47,770 --> 01:02:50,070 Αυτό είναι 1088 01:02:50,070 --> 01:02:54,980 Το Dawn of the Net. 1089 01:02:54,980 --> 01:03:04,640 Θέλετε να μάθετε πώς λειτουργεί; Κάντε κλικ εδώ για να ξεκινήσετε το ταξίδι σας στο Διαδίκτυο. 1090 01:03:04,640 --> 01:03:07,890 Τώρα, τι ακριβώς συνέβη όταν κάνετε κλικ σε αυτό το σύνδεσμο; 1091 01:03:07,890 --> 01:03:10,150 Ξεκινήσατε μια ροή των πληροφοριών. 1092 01:03:10,150 --> 01:03:13,310 Αυτή η πληροφορία ταξιδεύει κάτω στη δική σας προσωπική mailroom 1093 01:03:13,310 --> 01:03:18,500 όπου ο κ. πακέτα IP, να το ονομάζει, και το στέλνει στο δρόμο του. 1094 01:03:18,500 --> 01:03:20,960 Κάθε πακέτο έχει περιορισμένο μέγεθος της. 1095 01:03:20,960 --> 01:03:23,880 Το δωμάτιο ταχυδρομείου πρέπει να αποφασίσει πώς να διαιρέσει τις πληροφορίες 1096 01:03:23,880 --> 01:03:26,070 και πώς να το πακέτο. 1097 01:03:26,070 --> 01:03:29,550 Τώρα, η συσκευασία χρειάζεται μια ετικέτα που περιέχει σημαντικές πληροφορίες 1098 01:03:29,550 --> 01:03:35,570 όπως η διεύθυνση του αποστολέα, τη διεύθυνση του δέκτη, και τον τύπο του πακέτου που είναι. 1099 01:03:51,700 --> 01:03:54,980 Επειδή το συγκεκριμένο πακέτο θα πάει επάνω στο Διαδίκτυο, 1100 01:03:54,980 --> 01:03:57,720 παίρνει επίσης μια διεύθυνση για το διακομιστή μεσολάβησης, 1101 01:03:57,720 --> 01:04:01,520 η οποία έχει μια ειδική λειτουργία, όπως θα δούμε αργότερα. 1102 01:04:01,520 --> 01:04:06,650 Το πακέτο έχει τώρα ξεκινήσει στο τοπικό σας δίκτυο, ή LAN. 1103 01:04:06,650 --> 01:04:10,160 Το δίκτυο αυτό χρησιμοποιείται για τη σύνδεση όλων των τοπικών ηλεκτρονικών υπολογιστών » 1104 01:04:10,160 --> 01:04:15,900 δρομολογητές, εκτυπωτές, και τα λοιπά, για την ανταλλαγή πληροφοριών εντός των φυσικών τοίχους του κτιρίου. 1105 01:04:15,900 --> 01:04:20,290 Το LAN είναι ένα όμορφο μέρος ανεξέλεγκτη, και, δυστυχώς, 1106 01:04:20,290 --> 01:04:23,950 ατυχήματα μπορούν να συμβούν. 1107 01:04:31,190 --> 01:04:34,710 Η εθνική οδός του LAN είναι γεμάτη με όλα τα είδη των πληροφοριών. 1108 01:04:34,710 --> 01:04:38,900 Αυτά είναι πακέτα IP, Novell πακέτα, πακέτα AppleTalk. 1109 01:04:38,900 --> 01:04:41,270 Θα πάμε ενάντια κυκλοφορίας, ως συνήθως. 1110 01:04:41,270 --> 01:04:44,260 Η τοπική δρομολογητής διαβάζει τη διεύθυνση και, εάν είναι αναγκαίο, 1111 01:04:44,260 --> 01:04:48,520 ανυψώνει το πακέτο σε άλλο δίκτυο. 1112 01:04:48,520 --> 01:04:54,270 Αχ, το router. Ένα σύμβολο ελέγχου σε μια φαινομενικά ανοργάνωτα κόσμο. 1113 01:04:54,270 --> 01:05:05,480 [Router μουρμουρίζοντας και μιλάμε για το ίδιο] 1114 01:05:05,480 --> 01:05:10,030 >> [Αφηγητής] Εκεί είναι, συστηματική, αδιάφορος, μεθοδική, 1115 01:05:10,030 --> 01:05:14,150 συντηρητική, και μερικές φορές δεν είναι αρκετά μέχρι την ταχύτητα. 1116 01:05:14,150 --> 01:05:17,680 Αλλά τουλάχιστον αυτός είναι ακριβής, για το μεγαλύτερο μέρος. 1117 01:05:32,270 --> 01:05:36,820 Καθώς τα πακέτα φεύγουν από το router, που κάνουν τον τρόπο τους στο εταιρικό Internet 1118 01:05:36,820 --> 01:05:40,830 και το κεφάλι για την αλλαγή router. 1119 01:05:40,830 --> 01:05:46,250 Λίγο πιο αποτελεσματική από ό, τι το router, ο διακόπτης router παίζει γρήγορα και χαλαρά με πακέτα IP, 1120 01:05:46,250 --> 01:05:48,920 επιδέξια τους δρομολόγησης κατά μήκος το δρόμο τους. 1121 01:05:48,920 --> 01:05:52,130 Μια «μάγος φλίπερ,« ψηφιακό αν θέλετε. 1122 01:05:52,130 --> 01:06:04,270 [Switch Router μιλάει στον εαυτό του] 1123 01:06:09,830 --> 01:06:12,150 [Αφηγητής] Όπως πακέτα που φθάνουν στον προορισμό τους, 1124 01:06:12,150 --> 01:06:14,740 από όπου και αν πάρει από τη διασύνδεση του δικτύου, 1125 01:06:14,740 --> 01:06:18,040 έτοιμη να αποσταλεί στο επόμενο επίπεδο. 1126 01:06:18,040 --> 01:06:21,010 Σε αυτή την περίπτωση, το πληρεξούσιο. 1127 01:06:21,010 --> 01:06:25,040 Το πληρεξούσιο χρησιμοποιείται από πολλές εταιρείες ως ένα είδος μεσάζοντα 1128 01:06:25,040 --> 01:06:27,630 προκειμένου να μειωθεί το φορτίο στη σύνδεση Internet 1129 01:06:27,630 --> 01:06:32,240 και για λόγους ασφαλείας, καθώς και. 1130 01:06:32,240 --> 01:06:38,750 Όπως μπορείτε να δείτε, τα πακέτα είναι όλα σε διάφορα μεγέθη ανάλογα με το περιεχόμενό τους. 1131 01:06:55,210 --> 01:07:01,890 Ο πληρεξούσιος ανοίγει το πακέτο και κοιτάζει για τη διεύθυνση ιστού ή τη διεύθυνση URL. 1132 01:07:01,890 --> 01:07:04,950 Ανάλογα με το αν η διεύθυνση είναι αποδεκτή, 1133 01:07:04,950 --> 01:07:08,000 το πακέτο αποστέλλεται με το Internet. 1134 01:07:13,890 --> 01:07:19,630 Υπάρχουν, ωστόσο, κάποιες διευθύνσεις οι οποίες δεν ανταποκρίνονται με την έγκριση της μεσολάβησης. 1135 01:07:19,630 --> 01:07:25,680 Δηλαδή, την εταιρική διαχείριση ή τις κατευθυντήριες γραμμές. 1136 01:07:25,680 --> 01:07:30,580 Αυτά είναι συνοπτικά εξετάζονται. 1137 01:07:30,580 --> 01:07:32,410 Θα έχουμε τίποτα τέτοιο. 1138 01:07:32,410 --> 01:07:36,350 Για εκείνους που το κάνουν, είναι στο δρόμο και πάλι. 1139 01:07:46,850 --> 01:07:53,310 >> Έπειτα επάνω, το τείχος προστασίας. 1140 01:07:53,310 --> 01:07:57,410 Το τείχος προστασίας της εταιρείας εξυπηρετεί δύο σκοπούς. 1141 01:07:57,410 --> 01:08:02,420 Εμποδίζει μάλλον κάποια δυσάρεστα πράγματα από το Internet από που έρχονται μέσα στο Intranet, 1142 01:08:02,420 --> 01:08:10,280 και μπορεί επίσης να αποτρέψει ευαίσθητες εταιρικές πληροφορίες από την αποστολή έξω επάνω στο Διαδίκτυο. 1143 01:08:10,280 --> 01:08:12,980 Μόλις μέσω του τείχους προστασίας, ένας δρομολογητής παίρνει το πακέτο 1144 01:08:12,980 --> 01:08:18,180 και την τοποθετεί σε ένα πολύ στενότερο δρόμο, ή το εύρος ζώνης, όπως λέμε. 1145 01:08:18,180 --> 01:08:23,720 Προφανώς, ο δρόμος δεν είναι αρκετά ευρύ ώστε να λάβει όλα. 1146 01:08:23,720 --> 01:08:29,319 Τώρα, μπορεί να αναρωτιέστε τι συμβαίνει σε όλα τα πακέτα που δεν το κάνει κατά μήκος του τρόπου. 1147 01:08:29,319 --> 01:08:32,270 Λοιπόν, όταν ο κ. IP δεν λάβουν βεβαίωση 1148 01:08:32,270 --> 01:08:35,000 ότι ένα πακέτο έχει ληφθεί σε εύθετο χρόνο, 1149 01:08:35,000 --> 01:08:39,890 στέλνει απλά ένα πακέτο αντικατάστασης. 1150 01:08:39,890 --> 01:08:44,760 Είμαστε τώρα έτοιμοι να εισέλθουν στον κόσμο του Διαδικτύου. 1151 01:08:44,760 --> 01:08:49,370 Μια αραχνιά των διασυνδεδεμένων δικτύων που εκτείνονται σε όλο το πλανήτη μας. 1152 01:08:49,370 --> 01:08:56,050 Εδώ, δρομολογητές και τους διακόπτες να δημιουργήσουν δεσμούς μεταξύ των δικτύων. 1153 01:08:56,050 --> 01:08:59,200 Τώρα, η Net, είναι ένα εντελώς διαφορετικό περιβάλλον από ό, τι θα βρείτε 1154 01:08:59,200 --> 01:09:01,569 μέσα στα προστατευτικά τείχη του LAN σας. 1155 01:09:01,569 --> 01:09:04,060 Από εδώ, είναι η Άγρια Δύση. 1156 01:09:04,060 --> 01:09:06,359 Αφθονία του χώρου, πολλές ευκαιρίες, 1157 01:09:06,359 --> 01:09:09,760 πολλά πράγματα για να εξερευνήσετε και θέσεις για να πάνε. 1158 01:09:09,760 --> 01:09:12,760 Χάρη στην πολύ λίγο έλεγχο και ρύθμιση, 1159 01:09:12,760 --> 01:09:18,300 νέες ιδέες βρίσκουν γόνιμο έδαφος για να ωθήσει το φάκελο των δυνατοτήτων τους. 1160 01:09:18,300 --> 01:09:22,330 Αλλά επειδή από αυτήν την ελευθερία, ορισμένους κινδύνους και παραμονεύουν. 1161 01:09:22,330 --> 01:09:27,000 Θα Ποτέ δεν ξέρεις πότε θα συναντήσετε την επίφοβη ping του θανάτου, 1162 01:09:27,000 --> 01:09:29,890 μια ειδική έκδοση ενός κανονικού ping αίτημα, 1163 01:09:29,890 --> 01:09:35,720 την οποία κάποιος ηλίθιος σκέφτηκε να χαλάσουν ανυποψίαστους οικοδεσπότες. 1164 01:09:35,720 --> 01:09:39,130 Το μονοπάτι πακέτα μας να μπορεί να είναι μέσω δορυφόρου, 1165 01:09:39,130 --> 01:09:43,090 τηλεφωνικές γραμμές, ασύρματες, ή ακόμη και υπερωκεάνια καλώδιο. 1166 01:09:43,090 --> 01:09:46,520 Δεν λαμβάνουν πάντα τα ταχύτερα ή βραχύτερες διαδρομές είναι δυνατόν, 1167 01:09:46,520 --> 01:09:50,290 αλλά θα πάρει τελικά εκεί. 1168 01:09:50,290 --> 01:09:55,230 Ίσως αυτός είναι ο λόγος που μερικές φορές ονομάζεται "The World Wide Wait". 1169 01:09:55,230 --> 01:09:57,980 Αλλά όταν όλα λειτουργούν ομαλά, 1170 01:09:57,980 --> 01:10:03,800 μπορείτε να παρακάμψουν τον κόσμο πάνω από πέντε φορές κατά την πτώση ενός καπέλο, κυριολεκτικά. 1171 01:10:03,800 --> 01:10:08,230 Και όλα αυτά για το κόστος μιας τοπικής κλήσης ή λιγότερο. 1172 01:10:08,230 --> 01:10:15,070 Κοντά στο τέλος του προορισμού μας, θα βρούμε ένα άλλο τείχος προστασίας. 1173 01:10:15,070 --> 01:10:18,420 >> Ανάλογα με την προοπτική σας ως ενός πακέτου δεδομένων, 1174 01:10:18,420 --> 01:10:23,730 το firewall θα μπορούσε να είναι ένα προπύργιο της ασφάλειας ή επίφοβη αντίπαλο. 1175 01:10:23,730 --> 01:10:28,530 Όλα εξαρτώνται από το ποια πλευρά είστε και ποιες είναι οι προθέσεις σας. 1176 01:10:28,530 --> 01:10:34,990 Το τείχος προστασίας έχει σχεδιαστεί για να αφήσει μόνο τα πακέτα που πληρούν τα κριτήρια του. 1177 01:10:34,990 --> 01:10:39,360 Αυτό το τείχος προστασίας που λειτουργούν στις θύρες 80 και 25. 1178 01:10:39,360 --> 01:10:46,630 Όλες οι προσπάθειες για να εισέλθουν μέσω άλλων λιμένων κλείσει για τις επιχειρήσεις. 1179 01:10:57,660 --> 01:11:03,480 Θύρα 25 χρησιμοποιείται για πακέτα ταχυδρομείου, 1180 01:11:03,480 --> 01:11:10,720 ενώ η θύρα 80 είναι η είσοδος για τα πακέτα από το Internet για να τον web server. 1181 01:11:10,720 --> 01:11:15,080 Μέσα από το τείχος προστασίας, πακέτα ελέγχονται πιο διεξοδικά. 1182 01:11:15,080 --> 01:11:17,970 Μερικά πακέτα που κάνουν εύκολα μέσω του τελωνείου, 1183 01:11:17,970 --> 01:11:21,420 ενώ άλλοι φαίνονται ακριβώς λίγο αμφίβολη. 1184 01:11:21,420 --> 01:11:24,060 Τώρα, ο αξιωματικός firewall δεν είναι εύκολο να ξεγελαστούν, 1185 01:11:24,060 --> 01:11:32,120 όπως όταν το ping του θανάτου πακέτο προσπαθεί να συγκαλύψει ως ένα κανονικό πακέτο ping. 1186 01:11:32,120 --> 01:11:37,520 [Αξιωματικός Firewall μιλάμε για πακέτα] 1187 01:11:37,520 --> 01:11:40,510 [Αφηγητής] Για τα πακέτα αρκετά τυχερός για να το κάνει αυτό τώρα, 1188 01:11:40,510 --> 01:11:45,730 το ταξίδι είναι σχεδόν τελειώσει. 1189 01:11:45,730 --> 01:11:52,130 Είναι απλά ένα line up για το περιβάλλον που πρέπει να ληφθούν επάνω στο web server. 1190 01:11:52,130 --> 01:11:55,440 Σήμερα, ένας web server μπορεί να τρέξει σε πολλά πράγματα, 1191 01:11:55,440 --> 01:11:59,230 από έναν κεντρικό υπολογιστή σε ένα web cam στον υπολογιστή στο γραφείο σας. 1192 01:11:59,230 --> 01:12:01,720 Γιατί να μην το ψυγείο σας; 1193 01:12:01,720 --> 01:12:04,870 Με την κατάλληλη ρύθμιση, μπορείτε να μάθετε αν έχετε τα φόντα 1194 01:12:04,870 --> 01:12:08,390 Κοτόπουλο για Cacciatore, ή αν έχετε να πάτε για ψώνια. 1195 01:12:08,390 --> 01:12:11,760 Θυμηθείτε, αυτό είναι η αυγή του Net. 1196 01:12:11,760 --> 01:12:17,310 Σχεδόν όλα είναι δυνατά. 1197 01:12:17,310 --> 01:12:20,440 Ένα-ένα, λαμβάνονται τα πακέτα, 1198 01:12:20,440 --> 01:12:26,320 άνοιξε, και χύμα. 1199 01:12:26,320 --> 01:12:31,200 Οι πληροφορίες που περιέχει, δηλαδή, το αίτημά σας για πληροφορίες, 1200 01:12:31,200 --> 01:12:34,830 αποστέλλεται για την εφαρμογή του web server. 1201 01:12:41,540 --> 01:12:47,140 Το πακέτο είναι η ίδια ανακυκλωμένα, 1202 01:12:47,140 --> 01:12:57,570 έτοιμος να χρησιμοποιηθεί εκ νέου, και γεμίζεται με ζητούμενες πληροφορίες σας, 1203 01:12:57,570 --> 01:13:03,340 απευθύνεται, και έστειλε στο δρόμο του πίσω σε σας. 1204 01:13:03,340 --> 01:13:13,250 Επιστροφή παρελθόν το τείχος προστασίας, δρομολογητές, και μέσω του Διαδικτύου. 1205 01:13:13,250 --> 01:13:21,020 Επιστροφή μέσω τείχος προστασίας της εταιρείας σας 1206 01:13:21,020 --> 01:13:24,180 και στο περιβάλλον σας, 1207 01:13:24,180 --> 01:13:31,180 έτοιμη να παράσχει web browser σας με τις πληροφορίες που ζητήσατε. 1208 01:13:31,180 --> 01:13:39,840 Δηλαδή, αυτή η ταινία. 1209 01:13:39,840 --> 01:13:43,550 Ευχαριστημένος με τις προσπάθειές τους, και να εμπιστευθεί τον καλύτερο κόσμο, 1210 01:13:43,550 --> 01:13:50,250 έμπιστος πακέτα δεδομένων μας οδηγούν μακριά μακάρια στο ηλιοβασίλεμα από μια άλλη ημέρα, 1211 01:13:50,250 --> 01:13:56,880 γνωρίζοντας πλήρως ότι έχουν υπηρετήσει τους κυρίους καλά. 1212 01:13:56,880 --> 01:14:02,560 Τώρα, δεν είναι ότι ένα ευτυχισμένο τέλος; 1213 01:14:02,560 --> 01:14:07,040 [Malan] Εντάξει, αυτό είναι αρκετό. Θα σας δούμε την επόμενη εβδομάδα. 1214 01:14:07,040 --> 01:14:10,040 [CS50.TV]