1 00:00:00,000 --> 00:00:02,620 [Powered by Google Translate] [Woche 7, Fortsetzung] 2 00:00:02,620 --> 00:00:05,090 [David J. Malan, Harvard University] 3 00:00:05,090 --> 00:00:07,780 [Dies ist CS50.] [CS50.TV] 4 00:00:07,780 --> 00:00:09,810 Gut. Welcome Back. Dies ist CS50, 5 00:00:09,810 --> 00:00:12,100 und das ist das Ende der Woche 7. 6 00:00:12,100 --> 00:00:15,460 So eine dieser dummen kleinen Dinge, die rund um das Internet geht 7 00:00:15,460 --> 00:00:24,080 und wir schlürften up, und es sollte nun ein wenig geeky Sinn für Sie. 8 00:00:24,080 --> 00:00:28,330 Nun, es war lustiger zu diesem Kerl, als es an euch war. 9 00:00:28,330 --> 00:00:32,619 Apropos, gut, Jungs, 10 00:00:32,619 --> 00:00:42,550 heute ist Nate Geburtstag. 11 00:00:42,550 --> 00:00:46,630 Um Ihnen ein Gefühl dafür, wie gute Nate und ich sind 12 00:00:46,630 --> 00:00:50,140 bei Web-Entwicklung am Montag der Klasse und auf Basis nun an diesem 13 00:00:50,140 --> 00:00:53,170 Ich dachte, ich hätte ziehen Nate Homepage, wenn Sie es noch nicht gesehen. 14 00:00:53,170 --> 00:00:57,020 Das hier ia Nates HTML. 15 00:00:57,020 --> 00:00:59,380 So sehen sein Sourcecode, wenn Sie möchten, um zu sehen, wie dies zu tun, und Nate, 16 00:00:59,380 --> 00:01:02,250 wenn wir Sie nur kurz in Verlegenheit bringen, bekam das Personal Ihnen eine Kleinigkeit 17 00:01:02,250 --> 00:01:06,080 wenn Sie möchten, um einen Nachtisch mit einigen der Kinder in der Klasse zu teilen. 18 00:01:06,080 --> 00:01:10,150 Wenn Sie möchten, kommen nach unten. 19 00:01:10,150 --> 00:01:14,350 Sie alle applaudieren und sind sehr nett, aber niemand irgendwo sitzen in der Nähe Nate, 20 00:01:14,350 --> 00:01:17,560 aus irgendeinem Grund in dieser Zone zurück. 21 00:01:17,560 --> 00:01:24,020 Also vielleicht finden Sie einige Leute, diese mit zu genießen. 22 00:01:24,020 --> 00:01:33,380 Happy Birthday, Nate. 23 00:01:33,380 --> 00:01:37,660 >> Zusätzliche hellos: Wir zeigten ein paar Clips aus unserem CS50x Studenten. 24 00:01:37,660 --> 00:01:39,710 Wenn Sie sehen möchten, wer sonst ist es in der Welt 25 00:01:39,710 --> 00:01:41,850 das ist gefolgt sind, können Sie zu dieser URL Kopf, 26 00:01:41,850 --> 00:01:45,780 wo Joseph, einer unserer TFs, hat zusammen eine Montage von Arten gesetzt 27 00:01:45,780 --> 00:01:50,290 eines jeden, der worden Einreichung hat diese Videos, darunter Rick Astley. 28 00:01:50,290 --> 00:01:53,010 Und wenn Sie durch diese scrollen, es ist wirklich sehr inspirierend 29 00:01:53,010 --> 00:01:56,890 die Vielfalt der Länder und Städte, aus denen Menschen hagelt sehen. 30 00:01:56,890 --> 00:02:00,830 Also, wenn Sie möchten, einen Blick auf, dass zu nehmen, das wird sich bis zum Ende des Semesters. 31 00:02:00,830 --> 00:02:05,370 Heute setzen wir unsere Blick auf die Web, Web-Programmierung, HTML und dergleichen, 32 00:02:05,370 --> 00:02:08,280 und wir haben auch Mittag kommen an diesem Freitag 33 00:02:08,280 --> 00:02:11,360 wenn Sie möchten, und vor allem haben nicht getan. 34 00:02:11,360 --> 00:02:13,630 An diesem Freitag das Thema wird Nate Geburtstag sein, 35 00:02:13,630 --> 00:02:15,700 so, wenn Sie möchten, Geburtstag Mittagessen mit Nate haben 36 00:02:15,700 --> 00:02:17,500 und andere, einige unserer Freunde aus Industrie, 37 00:02:17,500 --> 00:02:19,300 Sie Kopf zu dieser URL gibt. 38 00:02:19,300 --> 00:02:22,510 Space, wie immer, ist begrenzt. Auch, wenn Sie vergessen haben, 39 00:02:22,510 --> 00:02:26,460 erkennen, dass nächste Woche ist die Frist für die Problem-Set 4 der Schnitzeljagd, 40 00:02:26,460 --> 00:02:30,070 wobei nach der Wiederherstellung all diese JPEGS von card.raw, 41 00:02:30,070 --> 00:02:32,880 Sie und Ihre Abschnitt mates, wenn Sie möchten, können Sie versuchen zu fotografieren 42 00:02:32,880 --> 00:02:36,100 so viele der Informatikern aus dieser Speicherkarte möglichst 43 00:02:36,100 --> 00:02:39,070 und du und deine Abschnitt wird dann gewinnen Sie einen tollen Preis. 44 00:02:39,070 --> 00:02:44,470 Beziehen Sie sich auf pset 4-Spezifikation, was zu unterwerfen und bis wann. 45 00:02:44,470 --> 00:02:47,650 Auch, wenn Sie möchten, dass Ihr Werk verewigt 46 00:02:47,650 --> 00:02:51,400 Auf dem Kurs der Website und ihrer Geschichte von Bekleidung, 47 00:02:51,400 --> 00:02:54,010 wissen, dass Sie sind jetzt willkommen zu starten Einreichung Designs 48 00:02:54,010 --> 00:02:57,180 für den diesjährigen T-Shirts und Sweatshirts und dergleichen. 49 00:02:57,180 --> 00:02:59,200 Wir werden unser Bestes tun, um so viele wie möglich sind, 50 00:02:59,200 --> 00:03:01,440 aber wir haben einige Mitglieder des Personals bewerten alle Entwürfe 51 00:03:01,440 --> 00:03:04,180 um sicherzustellen, dass sie im Einklang mit den Vorgaben, 52 00:03:04,180 --> 00:03:07,500 und wir dann in der Regel holen eine Handvoll von ihnen ausgestellt werden. 53 00:03:07,500 --> 00:03:10,620 Also, wenn Sie die Bauart sind, weiß nur, dass die Anforderungen 54 00:03:10,620 --> 00:03:14,030 für Grafiken sind PNG, mindestens 200 DPI, 55 00:03:14,030 --> 00:03:16,520 sie sollten nicht mehr als 4000 x 4000 Pixel aufweisen, 56 00:03:16,520 --> 00:03:19,010 und nicht mehr als 10 MB, aber du bist willkommen, um Dinge wie verwenden 57 00:03:19,010 --> 00:03:22,430 Photoshop oder GIMP oder verschiedene Grafik-Programme, 58 00:03:22,430 --> 00:03:24,590 was haben Sie zu Ihrer Verfügung. 59 00:03:24,590 --> 00:03:28,280 >> Auch am Horizont ist das letzte Projekt. Das endgültige Projekt ist wirklich der Höhepunkt von 50, 60 00:03:28,280 --> 00:03:30,560 wobei von allen Aufgaben im Kurs, 61 00:03:30,560 --> 00:03:33,170 es ist Ihre Chance, wirklich Ihr eigenes Ding machen. 62 00:03:33,170 --> 00:03:35,280 Und das kann ganz einfach sein, etwas zum Spaß tun, 63 00:03:35,280 --> 00:03:38,160 es sein kann, etwas drängendes Problem Ihren Studentenausweis Gruppe zu lösen, 64 00:03:38,160 --> 00:03:40,980 für einige neue Website, einige neue Kollektion für Daten. 65 00:03:40,980 --> 00:03:43,420 Es kann eine mobile Anwendung für Android sein, für iOS. 66 00:03:43,420 --> 00:03:46,030 Wirklich, ist der Himmel die Grenze, und im Laufe der nächsten Wochen 67 00:03:46,030 --> 00:03:50,900 wie wir Übergang von C zu diesen höheren Sprachen wie PHP und JavaScript, 68 00:03:50,900 --> 00:03:55,150 Sie finden sich zunehmend vertraut mit einigen realen Techniken, 69 00:03:55,150 --> 00:03:57,800 einige der realen Welt Werkzeuge, um und zu ergänzen, dass 70 00:03:57,800 --> 00:04:00,170 wissen, dass das natürlich eine Geschichte von Seminaren hat, 71 00:04:00,170 --> 00:04:02,880 wobei im Laufe der nächsten Wochen wird ein Teil des Lehrpersonals 72 00:04:02,880 --> 00:04:06,160 und Freunde von uns aus auf dem Campus bieten optional Seminaren 73 00:04:06,160 --> 00:04:08,540 welche darüber hinaus, was üblicherweise in Abschnitt vorgenommen gehen 74 00:04:08,540 --> 00:04:11,090 Sie Dinge wie Android Programmierung einzuführen, 75 00:04:11,090 --> 00:04:13,450 Sie Dinge wie iOS-Programmierung einführen 76 00:04:13,450 --> 00:04:15,950 oder erweiterte Web-Entwicklung Techniken. 77 00:04:15,950 --> 00:04:17,970 Es gibt eine ganze Geschichte dieser bereits online. 78 00:04:17,970 --> 00:04:25,000 Wenn Sie cs50.net/seminars gehen, haben wir dies seit einigen Jahren, 79 00:04:25,000 --> 00:04:28,740 und du wirst sehen, dass hier mit PDFs und Videos archiviert und dergleichen 80 00:04:28,740 --> 00:04:33,090 sind mehrere Dutzend Videos von Seminaren. 81 00:04:33,090 --> 00:04:37,380 Im vergangenen Jahr, zum Beispiel, hatten wir ein Seminar zum Thema acing Ihre technischen Interviews, 82 00:04:37,380 --> 00:04:40,980 wenn du eigentlich auf der Suche zu gehen und ein Praktikum machen oder Vollzeit-Gig. 83 00:04:40,980 --> 00:04:43,450 Windows-Mobile-Entwicklung, Android Entwicklung, Google Maps, 84 00:04:43,450 --> 00:04:47,700 API, CSS, entwickelt für den BlackBerry, Emacs. 85 00:04:47,700 --> 00:04:52,610 Wirklich, Sie begrüßen zu dürfen, um einen Blick auf jeder dieser Seminare an Ihrer Bequemlichkeit zu nehmen. 86 00:04:52,610 --> 00:04:57,080 Und wir werden halten einige neue dieses Semester, wie gut. 87 00:04:57,080 --> 00:04:59,020 >> Also, was ist vor dem endgültigen Projekt? 88 00:04:59,020 --> 00:05:01,090 Nun, zunächst einmal, obwohl dieses Datum ist etwas bevorsteht, 89 00:05:01,090 --> 00:05:06,460 das ist wirklich nur eine Gelegenheit, sich Gedanken über das endgültige Projekt ganz realistisch starten. 90 00:05:06,460 --> 00:05:10,550 Wir wissen nur die Anfänge der einiges von dem was wir noch im Laufe werden abdeckt, 91 00:05:10,550 --> 00:05:13,470 HTML, PHP und dergleichen, aber ihr seid alle mit dem Web vertraut, 92 00:05:13,470 --> 00:05:16,270 und ich Bias dieses Gespräch auf der Web nur, weil 93 00:05:16,270 --> 00:05:18,380 die meisten Menschen am Ende dabei Web-basierte letzten Projekte, 94 00:05:18,380 --> 00:05:20,260 aber das ist keineswegs Voraussetzung. 95 00:05:20,260 --> 00:05:22,260 Mit C ist in Ordnung, Objective C, Java, 96 00:05:22,260 --> 00:05:25,350 jede andere Sprache, die Sie kennen oder vielleicht wissen wollen, ist ganz gut. 97 00:05:25,350 --> 00:05:29,370 Aber die Säfte fließen zunächst erhalten, werden wir erwarten, dass die Vorlage eines preproposal 98 00:05:29,370 --> 00:05:33,520 die, gemäß dem PDF auf der Website, die jetzt bei cs50.net, 99 00:05:33,520 --> 00:05:36,080 und in der oberen linken sehen Sie endgültige Projekt 100 00:05:36,080 --> 00:05:38,920 ist die Spezifikation für das endgültige Projekt, 101 00:05:38,920 --> 00:05:41,470 und es gibt Einzelheiten zur preproposal und dergleichen. 102 00:05:41,470 --> 00:05:44,760 Es ist ziemlich viel darauf an, eine E-Mail an deine Lehre Kollegen 103 00:05:44,760 --> 00:05:48,450 nur um ein Gespräch mit ihm oder ihr über das, was du denkst. 104 00:05:48,450 --> 00:05:52,510 Auf projects.cs50.net ist ein Repository von Ideen von Leuten auf dem Campus 105 00:05:52,510 --> 00:05:54,480 Wenn Sie kämpfen, um mit einer Idee, 106 00:05:54,480 --> 00:06:01,140 und manual.cs50.net/APIs ist eine Sammlung von Links zu APIs. 107 00:06:01,140 --> 00:06:06,710 >> Was aber ist ein API? 108 00:06:06,710 --> 00:06:09,790 Was ist ein API? Ich habe es mindestens zweimal, 109 00:06:09,790 --> 00:06:12,640 nach den Niederschriften der vergangenen Wochen. 110 00:06:12,640 --> 00:06:17,050 Was ist das? [Student, unverständlich] 111 00:06:17,050 --> 00:06:19,340 >> Okay, gut. So etwas Programmierschnittstelle. 112 00:06:19,340 --> 00:06:22,710 Anwendungsprogrammierungsschnittstelle, und dies kann mehrere Formen annehmen, 113 00:06:22,710 --> 00:06:25,850 Aber was das wirklich darauf an, ist der Code 114 00:06:25,850 --> 00:06:29,660 dass jemand anderes hs geschrieben oder Daten, dass jemand anderes gesammelt hat 115 00:06:29,660 --> 00:06:33,670 Das ist Ihnen zur Verfügung gestellt in einigen programmatischen Weg. 116 00:06:33,670 --> 00:06:36,630 Sie können Code in C, PHP, Python, Ruby zu schreiben, 117 00:06:36,630 --> 00:06:38,760 was der Sprache Ihrer Wahl in der Regel ist, 118 00:06:38,760 --> 00:06:42,240 und man kann irgendwie auf jemand anderes die Funktionalität aufbauen 119 00:06:42,240 --> 00:06:44,440 oder jemand anderes Daten-Set. 120 00:06:44,440 --> 00:06:47,210 Zum Beispiel, wenn ich gehe, um diesen Link hier, 121 00:06:47,210 --> 00:06:50,750 und du wirst ein Paar von Links auf der nachfolgenden Seite sehen 122 00:06:50,750 --> 00:06:56,093 wobei wir CS50 eigenen APIs, die sehr Harvard-centric sind, und dann Dritter APIs. 123 00:06:56,930 --> 00:06:59,300 Unter den Drittanbieter-APIs sind wirklich nützliche Dinge 124 00:06:59,300 --> 00:07:01,780 wie die Möglichkeit, SMS an Personen zu senden, 125 00:07:01,780 --> 00:07:04,690 in der Lage, SMS-Nachrichten von Leuten erhalten. 126 00:07:04,690 --> 00:07:08,160 Und solche Dinge, die Sie keine Ahnung, wie man selbst implementieren haben könnte, 127 00:07:08,160 --> 00:07:10,440 aber dank Dienste, einige freie und einige kommerzielle, 128 00:07:10,440 --> 00:07:14,000 Sie können oben die bauen und etwas tun für Sie von Interesse. 129 00:07:14,000 --> 00:07:16,990 Unter CS50-APIs sind diese Campus-centric Dinge wie 130 00:07:16,990 --> 00:07:21,480 Harvard Kurse, Energie, Veranstaltungen, Essen, Karten, Nachrichten, Tweets und Shuttleboy eigenen, 131 00:07:21,480 --> 00:07:23,940 und diese sind APIs, die ein wenig so aussehen. 132 00:07:23,940 --> 00:07:26,990 >> Lassen Sie mich hochziehen HarvardFood API. 133 00:07:26,990 --> 00:07:30,620 Wenn Sie jemals in HUD Website gewesen sind, haben Sie wahrscheinlich dort gewesen 134 00:07:30,620 --> 00:07:35,410 nur um zu sehen, was es zum Abendessen oder zu sehen, was die Stunde für einige d-Halle sind. 135 00:07:35,410 --> 00:07:38,000 Nun, es ist nicht besonders leicht zu navigieren, 136 00:07:38,000 --> 00:07:41,100 und so was hatten wir vor einiger Zeit wurde schrieben wir Software, 137 00:07:41,100 --> 00:07:47,270 es geschieht in PHP, die tatsächlich Bildschirm kratzt die Gesamtheit der HUD-Website sein. 138 00:07:47,270 --> 00:07:51,400 Um Kratzen etwas Bildschirm bedeutet, ein Programm in einer Sprache wie PHP zu schreiben 139 00:07:51,400 --> 00:07:55,270 das vorgibt, ein Browser zu sein, obwohl Sie es vielleicht an einer Eingabeaufforderung ausführen, 140 00:07:55,270 --> 00:07:58,180 das vorgibt, ein Browser sein, eine Verbindung zu einer Website, 141 00:07:58,180 --> 00:08:01,480 lädt die HTML, die Sprache, in der es geschrieben ist, 142 00:08:01,480 --> 00:08:04,300 und dann liest, oder genauer gesagt, analysiert er 143 00:08:04,300 --> 00:08:06,140 oben nach unten, von links nach rechts. 144 00:08:06,140 --> 00:08:08,870 Und was wir taten, war, schrieben wir unseren Code in einer solchen Weise, dass 145 00:08:08,870 --> 00:08:12,910 jedes Mal sahen wir etwas in dieser HTML-Code, wie etwas auf der Speisekarte sah, 146 00:08:12,910 --> 00:08:16,470 wie Hamburger, würden wir dann, dass in unsere eigene Datenbank zu importieren. 147 00:08:16,470 --> 00:08:20,410 Und jedes Mal sahen wir Nährstoffgehalt, würden wir das in unsere eigene Datenbank zu importieren. 148 00:08:20,410 --> 00:08:23,090 Und was wir taten, war nutzen die Tatsache, dass HUD-Website, 149 00:08:23,090 --> 00:08:27,280 auch wenn es vielleicht ein bisschen eine Herausforderung für uns Menschen zu navigieren sein 150 00:08:27,280 --> 00:08:32,559 unter der Haube, wird die gesamte Datei durch ihre eigene Computerprogramme erzeugt. 151 00:08:32,559 --> 00:08:35,159 So alle ihre HTML, obwohl es aussehen könnte, chaotisch, 152 00:08:35,159 --> 00:08:38,026 wie die meisten Websites unter der Haube folgt ein Muster. 153 00:08:38,260 --> 00:08:40,799 So wir haben gerade ein paar Stunden herauszufinden, dieses Muster 154 00:08:40,799 --> 00:08:44,240 so dass am Ende, werfen wir weg alle chaotisch HTML, 155 00:08:44,240 --> 00:08:47,340 alle die Ästhetik der mutige Verkleidung und kursiv und dergleichen, 156 00:08:47,340 --> 00:08:52,350 und was wir sind dann in der Lage zu tun ist, aussetzen, dass dieselben Daten. 157 00:08:52,350 --> 00:08:54,870 Zum Beispiel werden auf diese Weise. 158 00:08:54,870 --> 00:08:56,840 Also haben wir, nach der Dokumentation hier 159 00:08:56,840 --> 00:08:59,190 informiert die Welt, dass, wenn Sie eine URL anfordern 160 00:08:59,190 --> 00:09:03,310 so aussieht, food.cs50.net / etwas, 161 00:09:03,310 --> 00:09:07,220 und Sie stellen bestimmte Parameter, über die wir heute sprechen werden, 162 00:09:07,220 --> 00:09:11,780 wie End-Datum, Uhrzeit, Start-Datum, Uhrzeit, Essen und so weiter, 163 00:09:11,780 --> 00:09:14,090 was unsere Server werden zu euch zurückkehren, zum Beispiel, 164 00:09:14,090 --> 00:09:18,740 wird eine CSV-Datei, Komma separted Werte wie eine Excel-Datei, 165 00:09:18,740 --> 00:09:23,140 enthält alles, was für das Frühstück an diesem Tag im März letzten Jahres 166 00:09:23,140 --> 00:09:25,450 wenn ich zu schreiben, diese Dokumentation passiert. 167 00:09:25,450 --> 00:09:27,870 >> Für diejenigen, die ist CSV nicht das einzige Dateiformat. 168 00:09:27,870 --> 00:09:30,610 Es gibt ein anderes Format, das umso vielseitiger ist 169 00:09:30,610 --> 00:09:32,670 als JSON, JavaScript Object Notation. 170 00:09:32,670 --> 00:09:34,770 Die Daten können kommen zurück in diesem Format. 171 00:09:34,770 --> 00:09:38,110 Also das Essen zum Mitnehmen ist hier, dass, ob Sie tauchen ein in dieser API 172 00:09:38,110 --> 00:09:41,170 oder jede andere von CS50 oder irgend etwas da draußen auf dem Internet, 173 00:09:41,170 --> 00:09:45,560 oder überhaupt nicht erkennen, dass die Welt zunehmend begann zu standardisieren 174 00:09:45,560 --> 00:09:47,670 wie Maschinen miteinander kommunizieren. 175 00:09:47,670 --> 00:09:50,660 Wir verwenden Standard-Datenformate wie CSV oder JSON. 176 00:09:50,660 --> 00:09:54,320 Und was bedeutet das für Sie ist, können Sie die interessante Teil eines Programms schreiben 177 00:09:54,320 --> 00:09:56,580 das lässt Ihre Benutzer suchen einen Speisesaal Menü 178 00:09:56,580 --> 00:10:00,010 das lässt sie erstellen Listen der Favoriten, die sie bekommen Textbenachrichtigungen können 179 00:10:00,010 --> 00:10:02,480 wenn ihr Lieblingsgericht ist etwa in irgendeiner d-Saal serviert werden 180 00:10:02,480 --> 00:10:07,090 indem jemand anderes Datensätze und Gebäude auf ihre APIs. 181 00:10:07,090 --> 00:10:13,600 So mehr dazu in Form von Seminaren und der Dokumentation, dass Sie hier sind online. 182 00:10:13,600 --> 00:10:16,450 Also diejenigen, dann sind APIs. 183 00:10:16,450 --> 00:10:18,900 >> Das bringt uns zurück zu HTML. Kurze Wiederholung. 184 00:10:18,900 --> 00:10:22,920 Was ist HTML? 185 00:10:22,920 --> 00:10:25,000 [Student, unverständlich] >> Gut. HyperText Markup Language. 186 00:10:25,000 --> 00:10:31,300 Jemand anderes, was ist Hypertext Markup Language? 187 00:10:31,300 --> 00:10:37,340 HyperText Markup Language. 188 00:10:37,340 --> 00:10:40,330 Okay. So HTML, Hypertext. 189 00:10:40,330 --> 00:10:43,100 HyperText lediglich verweist im Web, zum größten Teil. 190 00:10:43,100 --> 00:10:45,730 Markup bedeutet, dass es nicht wirklich eine Programmiersprache HTML. 191 00:10:45,730 --> 00:10:48,120 Es ist nicht eine Sprache, die man logisch in. ausdrücken 192 00:10:48,120 --> 00:10:50,710 Es muss nicht Schleifen. Es muss nicht Bedingungen. 193 00:10:50,710 --> 00:10:52,820 Es muss nicht Funktionen per se. 194 00:10:52,820 --> 00:10:56,680 Vielmehr hat er diese Dinge genannt Tags, oder genauer, Elemente. 195 00:10:56,680 --> 00:10:59,970 Und diese Elemente haben Start-Tags und End-Tags, 196 00:10:59,970 --> 00:11:04,300 oder offenen Tags und geschlossene Tags, und was diese Tags in der Regel für einen Browser ist meine, 197 00:11:04,300 --> 00:11:09,270 beginnen, etwas zu tun und dann aufhören, etwas zu tun, obwohl es Ausnahmen, dass sind. 198 00:11:09,270 --> 00:11:12,480 Manchmal ist es nur 'setzen einen Zeilenumbruch hier ", zum Beispiel. 199 00:11:12,480 --> 00:11:15,150 Und wir sahen Beispiele, dass die anderen Tage, zwischen bold orientiert, 200 00:11:15,150 --> 00:11:17,430 Zeilenumbrüche und dann ein paar anderen Tags. 201 00:11:17,430 --> 00:11:19,880 So HTML ist die Sprache, in der Webseiten geschrieben werden. 202 00:11:19,880 --> 00:11:23,760 Also, wenn ich gehen, um so etwas wie Google.com 203 00:11:23,760 --> 00:11:26,180 und ziehen Sie nur ihre Homepage 204 00:11:26,180 --> 00:11:29,690 daran erinnern, dass, wenn Sie einen Rechtsklick oder steuern Sie 205 00:11:29,690 --> 00:11:32,140 und Ansicht-Seite Quelle zu suchen, in der Regel 206 00:11:32,140 --> 00:11:34,420 es ist ein komplettes Chaos in diesen Tagen unter der Haube, aber das ist, weil 207 00:11:34,420 --> 00:11:38,170 Computer nicht über Leerzeichen kümmern, so dass diese nicht auch hübsch aussehen. 208 00:11:38,170 --> 00:11:40,240 Aber wenn wir uns auf Teile davon zu vergrößern, 209 00:11:40,240 --> 00:11:43,460 feststellen, dass Chrome, nur nett zu sein, hat die Farbe Dinge codiert. 210 00:11:43,460 --> 00:11:48,460 Tatsächlich ist dies der allererste tag dass wir in einer Web-Seite gesehen. 211 00:11:48,460 --> 00:11:51,750 Und wieder, HTML 5, die neueste Version dieser Sprache, 212 00:11:51,750 --> 00:11:53,830 ist dieses Ding am Anfang haben, 213 00:11:53,830 --> 00:11:57,820 00:12:03,580 aber das ist nur eine Art Standard, der sagt, hey Welt, hier kommt eine HTML-Datei in der Version 5. 215 00:12:03,580 --> 00:12:08,920 >> Der interessante Teil beginnt hier. So 00:12:11,640 der HTML-Elemente letzten Zeit. 217 00:12:11,640 --> 00:12:14,630 Was waren das für zwei Kinder? 218 00:12:14,630 --> 00:12:17,170 Kopf und Körper, wie der Mann mit der Tätowierung vor einem Augenblick. 219 00:12:17,170 --> 00:12:19,640 Es gibt zwei Teile der Web-Seite, Kopf und Körper, 220 00:12:19,640 --> 00:12:23,750 und Recall, dann, dass vielleicht die einfachste Web-Seite könnten wir wie folgt aussieht. 221 00:12:23,750 --> 00:12:27,460 Und ich habe es eingerückt nur um Art sauber und ordentlich mit meinem Code ist, 222 00:12:27,460 --> 00:12:30,710 aber was ist hier wirklich wichtig ist, dass es einige Hierarchie dazu. 223 00:12:30,710 --> 00:12:35,420 Und jeder Tag, dass ich öffnete ich geschlossen haben und dass es daher diese Symmetrie 224 00:12:35,420 --> 00:12:38,300 alle Markup, dass ich erstellt habe. 225 00:12:38,300 --> 00:12:41,620 So wir das letzte Mal zu schreiben begann Webseiten auf meinen eigenen Laptop. 226 00:12:41,620 --> 00:12:45,470 Ich öffnete Text bearbeiten, sparte ich die Datei als hello.html, 227 00:12:45,470 --> 00:12:50,190 Ich habe dann zog die Datei auf meinem Browser und voila, hatte ich eine Seite im Internet. 228 00:12:50,190 --> 00:12:53,110 Nun, es ist nicht ganz der Fall, ich hatte eine Seite auf meiner Festplatte, 229 00:12:53,110 --> 00:12:58,260 und ich war buchstäblich die einzige Person auf der Welt, dass Web-Seite in einem Browser sehen würde. 230 00:12:58,260 --> 00:13:00,670 >> Also heute stellen wir eine tatsächliche Web-Server 231 00:13:00,670 --> 00:13:02,750 und der Begriff der Wirklichkeit dient Inhalte im Internet 232 00:13:02,750 --> 00:13:04,970 und wie das alles zusammen passen beginnt. 233 00:13:04,970 --> 00:13:08,350 So stellt sich heraus, dass die ganze Zeit in der CS50 Appliance 234 00:13:08,350 --> 00:13:11,590 Sie haben eine Web-Server auf Ihrem Computer. 235 00:13:11,590 --> 00:13:16,560 Wir haben, in Fairness, es nur für gedit verwendet, Clang für GDB und dergleichen, 236 00:13:16,560 --> 00:13:21,000 sondern auch von uns für Sie installiert im Gerät ist ein Web-Server, 237 00:13:21,000 --> 00:13:23,940 und dass Web-Server passiert, frei zu sein, ein Open Source, 238 00:13:23,940 --> 00:13:26,580 einer der beliebtesten in der Welt, genannt Apache. 239 00:13:26,580 --> 00:13:31,340 Seine mehr technische Name ist HTTPd, wobei das d für daemon hier 240 00:13:31,340 --> 00:13:34,110 was ein technisches Wort für einen Server. 241 00:13:34,110 --> 00:13:38,690 So in der CS50 Gerät installiert ist ein Web-Server, und was bedeutet das? 242 00:13:38,690 --> 00:13:43,740 Nun, das ist ein Web-Server, konzeptionell, einige Server im Internet, die bis dient Web-Inhalten. 243 00:13:43,740 --> 00:13:48,630 Wenn für eine Datei gefragt, spuckt es aus dem HTML-Code, diese Datei komponiert, und voila. 244 00:13:48,630 --> 00:13:51,370 Sie sehen einige Homepage der Website. 245 00:13:51,370 --> 00:13:54,970 Aber ein Server ist, genauer gesagt, eine Software. 246 00:13:54,970 --> 00:13:59,190 Es muss nicht auf einer physischen Maschine sein, es muss nur ein Stück Software läuft. 247 00:13:59,190 --> 00:14:01,980 So dass die CS50 Gerät selbstverständlich ist ein Stück Software 248 00:14:01,980 --> 00:14:04,270 obwohl es ist eine Art der vorgibt, eine Maschine sein. 249 00:14:04,270 --> 00:14:06,960 Es vorgibt, ein Computer innerhalb eines Computers sein, 250 00:14:06,960 --> 00:14:11,140 aber das bedeutet nur, dass das Gerät kann sicherlich laufen die Dinge wie Web-Server. 251 00:14:11,140 --> 00:14:13,260 Es kann tatsächlich ausführen E-Mail-Servern. 252 00:14:13,260 --> 00:14:16,440 Wir könnten eine Instant Messaging-Server in das Gerät, wenn wir wollten, 253 00:14:16,440 --> 00:14:20,780 und in der Tat haben wir eine andere Art von Server als Datenbank-Server bekannt, mySQL laufen. 254 00:14:20,780 --> 00:14:22,620 Aber mehr dazu nächste Woche. 255 00:14:22,620 --> 00:14:26,400 Dies bedeutet, dass ich tatsächlich Webseiten besuchen 256 00:14:26,400 --> 00:14:30,480 Innere mein Gerät mithilfe eines Browsers im Inneren des Gerätes 257 00:14:30,480 --> 00:14:33,600 oder sogar auf meinen eigenen Laptop, mein Mac oder mein PC. 258 00:14:33,600 --> 00:14:37,780 Also, was bedeutet das? Es stellt sich heraus, dass jede Zeit, die Sie mit einem Linux-Computer 259 00:14:37,780 --> 00:14:40,910 seinen Spitznamen "local host." 260 00:14:40,910 --> 00:14:43,370 Es muss nicht einen Domain-Namen, weil wir nicht einen Domain-Namen gekauft haben 261 00:14:43,370 --> 00:14:46,590 für so etwas wie das Gerät, so dass ihr Standardname lautet lokalen Host. 262 00:14:46,590 --> 00:14:50,470 >> Aber um sich das Gerät zu starten serviert Web-Seiten, 263 00:14:50,470 --> 00:14:52,270 wir müssen sie zuerst erstellen. 264 00:14:52,270 --> 00:14:55,200 Also lasst uns das tun. Lassen Sie mich in einem Terminal-Fenster hier gehen 265 00:14:55,200 --> 00:14:58,190 und merke, dass ich an meinem typischen John Harvard prompt bin. 266 00:14:58,190 --> 00:15:01,670 Lassen Sie mich gehen Sie vor und geben Sie ls, und wir werden einige bekannte Dinge aus diesem Semester zu sehen, 267 00:15:01,670 --> 00:15:04,580 Desktop, Downloads, Dropbox und so weiter, 268 00:15:04,580 --> 00:15:07,540 aber jetzt beginnen wir unsere Aufmerksamkeit auf ein paar. 269 00:15:07,540 --> 00:15:11,530 Auf vielen Linux-Web-Server gibt es diese Ordner namens öffentlichen html, 270 00:15:11,530 --> 00:15:15,630 aber wir werden, dass ein einmal überspringen und sich auf diesem, vhosts. 271 00:15:15,630 --> 00:15:18,850 Wer weiß, was für ein vhost ist? 272 00:15:18,850 --> 00:15:21,110 Einfach nur dumm Jargon für virtuellen Host, 273 00:15:21,110 --> 00:15:23,850 und was dies bedeutet, dass auf einem typischen Server 274 00:15:23,850 --> 00:15:26,810 Sie können tatsächlich als Host für mehrere Websites. 275 00:15:26,810 --> 00:15:31,500 Sie können einen Domain-Namen wie foo.com, und Sie können es auf einem Server hosten. 276 00:15:31,500 --> 00:15:36,100 Aber man kann auch kaufen bar.com und hosten sie auf dem gleichen Server. 277 00:15:36,100 --> 00:15:40,250 Der Grund dafür ist, sind Browser intelligent genug, um den Server zu informieren 278 00:15:40,250 --> 00:15:45,880 wenn ein Benutzer anfordert etwas Webseite, was Domain-Namen der Nutzer will das Homepage. 279 00:15:45,880 --> 00:15:48,760 Also, was ist schön, darüber wird Sie nicht brauchen ein physischer Server 280 00:15:48,760 --> 00:15:52,040 oder ein CS50 Appliance für jede Website möchten Sie vielleicht zu schaffen. 281 00:15:52,040 --> 00:15:55,520 Sie können den gleichen Server und entwickeln hundert verschiedenen Webseiten. 282 00:15:55,520 --> 00:15:58,770 Und in der Tat, wenn Sie eine Person, die versucht, eine Website zu starten, 283 00:15:58,770 --> 00:16:02,100 ob zum Spaß oder für Unternehmen, in der Regel werden Sie gehen über das Internet, 284 00:16:02,100 --> 00:16:04,650 und du wirst jemand zahlen zehn Dollar im Monat, hundert Dollar pro Monat 285 00:16:04,650 --> 00:16:06,670 Ihre Website für Sie zu hosten. 286 00:16:06,670 --> 00:16:11,060 Und der Weg, der funktioniert, ist sie dort verlangen andere Menschen 287 00:16:11,060 --> 00:16:13,160 zehn Dollar pro Monat oder hundert Dollar pro Monat 288 00:16:13,160 --> 00:16:17,200 anderer Leute Webseiten auf ihre demselben Server hosten. 289 00:16:17,200 --> 00:16:20,740 Der Grund warum sie das tun kann, ist, weil dieses Feature namens bhosts, 290 00:16:20,740 --> 00:16:23,790 sondern mehr auf, dass, wenn es an der Zeit für die endgültige Projekte geht. 291 00:16:23,790 --> 00:16:28,360 >> Denn jetzt, lasst uns einfach dort zu tauchen. So cd vhosts, und wenn ich ls jetzt 292 00:16:28,360 --> 00:16:31,370 feststellen, dass es ein Ordner dort als lokalen Host. 293 00:16:31,370 --> 00:16:33,440 Das ist, da standardmäßig die Appliance Zahlen 294 00:16:33,440 --> 00:16:36,160 Sie jemals eine Website auf einem Gerät laufen. 295 00:16:36,160 --> 00:16:38,970 Das ist nicht wirklich die reale Welt, es ist nicht eine reale Web-Server. 296 00:16:38,970 --> 00:16:41,690 Also lassen Sie mich in lokalen Host zu gehen, und jetzt werden wir dort sehen 297 00:16:41,690 --> 00:16:44,290 ein letztes Verzeichnis namens HTML. 298 00:16:44,290 --> 00:16:47,080 So ist es ein wenig tief, die Hierarchie, aber ob und wann 299 00:16:47,080 --> 00:16:51,230 Sie entscheiden, zu entwickeln beginnen mehrere Websites in den nächsten n Monate oder Jahre, 300 00:16:51,230 --> 00:16:54,370 diese Art von Ordner-Struktur neigt dazu, hilfreich sein. 301 00:16:54,370 --> 00:16:56,560 Lassen Sie uns nun in HTML gehen, wie ich tat genau, 302 00:16:56,560 --> 00:16:59,010 ls, und nichts ist da. 303 00:16:59,010 --> 00:17:01,390 So, jetzt lass uns weitermachen und tun. Lassen Sie mich eröffnen Chrome 304 00:17:01,390 --> 00:17:07,300 im Inneren des Geräts, und lassen Sie mich http://localhost gehen. 305 00:17:07,300 --> 00:17:14,440 So wörtlich der Name für mein Gerät geben, und ich bekomme index of /. 306 00:17:14,440 --> 00:17:18,290 Dies ist nicht wirklich zeigt mir nichts von Interesse, 307 00:17:18,290 --> 00:17:23,400 aber es stellt sich heraus, dass das, was wir sehen, ist, dass Ordner, HTML. 308 00:17:23,400 --> 00:17:25,770 Es gibt nichts in diesem Ordner gerade jetzt, 309 00:17:25,770 --> 00:17:28,750 so statt, was werde ich tun müssen, ist zunächst eine Datei. 310 00:17:28,750 --> 00:17:33,530 Erstellen Sie eine HTML-Datei, wie wir es am Montag, aber diesmal legte es in das Gerät. 311 00:17:33,530 --> 00:17:36,830 Für diejenigen unter Ihnen, die versuchen zu folgen zusammen mit Laptops sind jetzt 312 00:17:36,830 --> 00:17:42,040 lass es mich tun ein beiseite, die in der Web-basierten pset abgedeckt werde, 313 00:17:42,040 --> 00:17:44,280 sondern um sich dies für das erste Mal zu arbeiten, 314 00:17:44,280 --> 00:17:49,830 Sie gehen zu müssen, um diesen Befehl auszuführen: sudo service httpd start. 315 00:17:49,830 --> 00:17:52,670 Und dies wiederum wird in der letzten pset wiederholt werden, 316 00:17:52,670 --> 00:17:55,460 aber wenn Sie Mitspielen jetzt zu Hause, der Web-Server 317 00:17:55,460 --> 00:17:58,660 ausgeschaltet ist im Gerät eingeschaltet wird, und dass es so, dass es nicht untergraben RAM 318 00:17:58,660 --> 00:18:01,960 und Speicher für 7 Wochen aus dem Semester, wenn wir es nicht brauchen. 319 00:18:01,960 --> 00:18:05,190 So müssen Sie diesen Befehl einmal ausführen, und Sie erhalten eine Ausgabe wie das zu bekommen. 320 00:18:05,190 --> 00:18:07,920 Dann sollten Sie in der Lage sein zu spielen hier entlang. 321 00:18:07,920 --> 00:18:10,330 Jetzt gehen wir wieder in diesen Ordner. 322 00:18:10,330 --> 00:18:12,770 Dieser Ordner ist leer, so lassen Sie mich beginnen Erstellen einer Datei, 323 00:18:12,770 --> 00:18:16,360 gedit hello.html. 324 00:18:16,360 --> 00:18:20,930 >> Gut. Gedit ist offen, wie üblich. Lass es mich tun doctype, html, 325 00:18:20,930 --> 00:18:25,270 html, lassen Sie mich vor mir selbst und beginnen schloss meine Tags im Voraus. 326 00:18:25,270 --> 00:18:28,380 Jetzt habe ich den Kopf. Lassen Sie mich gehen Sie vor und schließen Sie den Kopf, 327 00:18:28,380 --> 00:18:32,450 Lassen Sie mich nun zu tun den Titel der Seite, Hallo Welt wie beim letzten Mal, 328 00:18:32,450 --> 00:18:34,790 close Titel, jetzt lass mich einen Körper. 329 00:18:34,790 --> 00:18:38,130 Hier werde ich sagen, hallo, Welt mit einigen exclams 330 00:18:38,130 --> 00:18:40,550 deutlich zu machen, dass es eine andere Zeichenfolge ist. 331 00:18:40,550 --> 00:18:45,800 Schließen Körper, und lassen Sie mich jetzt gehen Sie vor und speichern. 332 00:18:45,800 --> 00:18:48,470 Lassen Sie mich zurück zu meinem Terminal-Fenster, und wenn ich ls, 333 00:18:48,470 --> 00:18:51,830 Ich sollte vermutlich sehen hello.html. Und das tue ich. 334 00:18:51,830 --> 00:18:55,070 So, jetzt gehen wir zurück zu meinem Browser zu gehen, klicken Sie auf nachladen, 335 00:18:55,070 --> 00:18:58,930 und Sie sehen, wir sind in der Tat innerhalb dieses HTML-Ordner. 336 00:18:58,930 --> 00:19:02,310 Ich bin nicht zu sehen eine Web-Seite noch nicht, das ist Apache, der Web-Server, 337 00:19:02,310 --> 00:19:04,670 nur zeigt mir die Liste Inhalt dieses Verzeichnisses. 338 00:19:04,670 --> 00:19:08,260 Genau wie Mac OS oder Windows typischerweise auf Ihrem eigenen lokalen Festplatte zu tun. 339 00:19:08,260 --> 00:19:12,730 Also, wenn ich diese Web-Seite sehen möchten, kann ich auf dieses kleine Link hier, hello.html, 340 00:19:12,730 --> 00:19:15,160 und in der Tat ist das, was ich erwartet hatte, um zu sehen. 341 00:19:15,160 --> 00:19:18,080 Jetzt wieder, ist dies nicht eine URL, dass jeder von euch kann jetzt besuchen, 342 00:19:18,080 --> 00:19:20,760 denn für Sie, lokalen Host, wenn Sie einen Laptop hier 343 00:19:20,760 --> 00:19:23,050 es wird eine eigene Instanz des Gerätes beziehen. 344 00:19:23,050 --> 00:19:25,900 Dies ist auf meinen eigenen persönlichen Gerät, 345 00:19:25,900 --> 00:19:29,080 aber dies ist eine Art stummen für mich zu haben, haben 346 00:19:29,080 --> 00:19:34,480 ein Benutzer, wie ich mich auf hello.html klicken Sie tatsächlich sehen, den Inhalt dieser Seite. 347 00:19:34,480 --> 00:19:42,590 Es stellt sich heraus, dass Web-Servern wie Apache können Sie eine Standard-Datei für jede Web-Server. 348 00:19:42,590 --> 00:19:44,640 Beachten Sie hier haben wir hello.html. 349 00:19:44,640 --> 00:19:48,410 Was ist der Befehl in Linux, um eine Datei umbenennen? 350 00:19:48,410 --> 00:19:50,870 >> MV für unterwegs. Also lass mich tun, 351 00:19:50,870 --> 00:19:55,870 und lassen Sie mich umbenennen hello.html index.html. 352 00:19:55,870 --> 00:19:58,610 Lassen Sie mich ls zu bestätigen es jetzt umbenannt. 353 00:19:58,610 --> 00:20:03,250 Nun ist dies zu gehen - wenn ich wieder zu lokalen Host gehen, 354 00:20:03,250 --> 00:20:06,710 merkt jetzt, dass ich automatisch zu sehen, dass Web-Seite. 355 00:20:06,710 --> 00:20:11,740 Dies ist identisch mit meinem eigentlich tun / index.html, 356 00:20:11,740 --> 00:20:14,740 aber die nette Sache ist jetzt, dass die Web-Servers herauszufinden, 357 00:20:14,740 --> 00:20:18,830 oh, wenn Sie eine Datei, die es, durch die menschlichen Konventionen, heißt index.html, 358 00:20:18,830 --> 00:20:21,200 lassen Sie mich den Benutzer, dass die Datei standardmäßig 359 00:20:21,200 --> 00:20:25,290 anstatt einige dumme Verzeichnisliste das ist überhaupt nicht benutzerfreundlich. 360 00:20:25,290 --> 00:20:28,900 In der Tat haben die meisten von Ihnen besuchten Websites im Internet nicht über eine Liste von Dateien klicken Sie auf, 361 00:20:28,900 --> 00:20:34,040 sie nur zeigen Sie den Inhalt. Also das ist, wie wir, dass index.html tun. 362 00:20:34,040 --> 00:20:37,000 Also das ist alles Spaß und gut, aber das ist eine ziemlich einfache Web-Seite. 363 00:20:37,000 --> 00:20:41,640 Lassen Sie mich gehen Sie vor und eröffnen index.html in meinem vhosts, 364 00:20:41,640 --> 00:20:47,620 lokalen Hosts, html-Verzeichnis, und lassen Sie uns noch etwas von größerem Interesse. 365 00:20:47,620 --> 00:20:56,120 So gibt es Hallo Welt, lass uns stattdessen sagen: "Das ist CS50, Harvard College. . . " 366 00:20:56,120 --> 00:21:00,000 So der Beginn des Kurses Katalogbeschreibung irgendeiner Art gibt. 367 00:21:00,000 --> 00:21:03,780 Nun, wenn ich neu zu laden, sollte ich dies in meiner Homepage zu sehen. 368 00:21:03,780 --> 00:21:09,560 Okay, und ich sehe, dass, aber angenommen, dass ich nun eine Liste einige weitere Inhalte in dieser Datei wollen. 369 00:21:09,560 --> 00:21:15,160 Ich könnte hier unten und sagen, Voraussetzungen none, 370 00:21:15,160 --> 00:21:18,740 obwohl einige von Ihnen wahrscheinlich werden wollen, 'Ha ha ha, keine Voraussetzungen. " 371 00:21:18,740 --> 00:21:24,320 Aber - offiziell. So laden, und jetzt haben wir die gleiche Eigenart, dass wir das letzte Mal sah. 372 00:21:24,320 --> 00:21:26,240 Aber warum ist das so? Es war eine einfache Lösung. 373 00:21:26,240 --> 00:21:31,440 Warum wird diese Seite gebrochen? 374 00:21:31,440 --> 00:21:34,170 [Student, unverständlich] >> Ja, wir haben diese gelöst werden, bevor 375 00:21:34,170 --> 00:21:37,440 explizit sagen des Browsers legte einen Zeilenumbruch hier. 376 00:21:37,440 --> 00:21:39,440 Und das ist, weil wieder ist ein Browser nur noch zu tun 377 00:21:39,440 --> 00:21:42,610 explizit, was die Markup-Sprache erzählt, es zu tun, 378 00:21:42,610 --> 00:21:45,730 so, obwohl Sie getroffen haben könnte einmal oder zweimal oder sogar zehnmal einzugeben, 379 00:21:45,730 --> 00:21:49,870 es geht um, dass alle in einem einzigen Raum zu kombinieren, nur durch Konvention. 380 00:21:49,870 --> 00:21:52,770 Also, wenn Sie wirklich wollen, einen Zeilenumbruch, müssen Sie das br-Tag verwenden, 381 00:21:52,770 --> 00:21:56,840 und jetzt Ankündigung, wie Montag, lege ich die / innen dieser Tag, 382 00:21:56,840 --> 00:22:00,090 nur, weil diese einfach nicht fühlen 383 00:22:00,090 --> 00:22:02,990 um einen Zeilenumbruch zu starten dann stoppen sie mit nichts dazwischen. 384 00:22:02,990 --> 00:22:07,740 >> So ist die Konvention in HTML ist zum Öffnen und Schließen einen Tag gleichzeitig. 385 00:22:07,740 --> 00:22:11,050 Nebenbei werden Sie eine Vielzahl von Websites in Bücher nicht tun sehen. 386 00:22:11,050 --> 00:22:14,240 Es ist richtig, zu tun oder es nicht zu tun, aber wir würden argumentieren, 387 00:22:14,240 --> 00:22:17,430 dass Design-weise und stilistisch ist dies nur besser 388 00:22:17,430 --> 00:22:20,540 weil dann jeden tag ist sowohl geöffnet und geschlossen irgendwie. 389 00:22:20,540 --> 00:22:23,370 So, jetzt lasst uns speichern und neu laden. Gehe zurück an den Browser, okay. 390 00:22:23,370 --> 00:22:26,680 Jetzt werden wir einige Fortschritte, aber es ist nicht genug. 391 00:22:26,680 --> 00:22:33,210 Lasst uns weitermachen und Eingabe in einigen längeren Körper des Textes. 392 00:22:33,210 --> 00:22:40,610 Also sagen wir mal, 'A quick brown fox springt über einen faulen Hund.' 393 00:22:40,610 --> 00:22:42,700 Und jetzt lassen Sie mich nur kopieren und fügen Sie ein paar Mal 394 00:22:42,700 --> 00:22:45,040 so dass wir einen Absatz des Textes haben. 395 00:22:45,040 --> 00:22:47,780 Lassen Sie mich zurück hierher. So ist es nicht sehr gut aus. 396 00:22:47,780 --> 00:22:50,000 Ich habe einen Zeilenumbruch, so ist es okay, 397 00:22:50,000 --> 00:22:52,140 aber jetzt, nachdem wir zu dem Punkt, der mit einer Web-Seite bekommen 398 00:22:52,140 --> 00:22:55,640 das hat viele Inhalte und nicht nur einzelne Linien zu zeigen, HTML, 399 00:22:55,640 --> 00:22:58,570 können wir beginnen, diese Dinge als tatsächliche Absätze denken. 400 00:22:58,570 --> 00:23:01,590 Und wir können beginnen, unsere Web-Seite ein wenig mehr sauber zu strukturieren. 401 00:23:01,590 --> 00:23:05,120 Und in der Tat, was ich tun kann ist, gehen hier in meinem Körper tag, 402 00:23:05,120 --> 00:23:09,400 und weißt du was, wenn "Dieses CS50 ist. . . " wirklich renzeichen den Anfang eines Absatzes, 403 00:23:09,400 --> 00:23:11,310 gut, lass uns kennzeichnen sie als solche. 404 00:23:11,310 --> 00:23:13,570 Lassen Sie mich Gedankenstrich den Text, nur durch Konvention, lassen Sie mich sagen, 405 00:23:13,570 --> 00:23:15,710 dass dieser Absatz endet hier, 406 00:23:15,710 --> 00:23:18,320 und dann anstatt dies tun Zeilenumbruch, lassen Sie mich nur sagen, 407 00:23:18,320 --> 00:23:23,300 dass diese gehört dort als neuer Absatz, 408 00:23:23,300 --> 00:23:27,610 und ich werde nur schnell Gedankenstrich von nur clobbering all dieses Zeug. 409 00:23:27,610 --> 00:23:30,660 >> Deshalb haben wir jetzt einen eingerückten Absatz dort, 410 00:23:30,660 --> 00:23:33,510 und jetzt unsere Markup ab, um ein wenig mehr zu bekommen 411 00:23:33,510 --> 00:23:37,070 semantisch konsistent mit, was wir zu tun versuchen. 412 00:23:37,070 --> 00:23:40,130 Wir haben einen Absatz, so nennen wir es ein Absatz mit dem p-Tag. 413 00:23:40,130 --> 00:23:43,370 Wir haben einen zweiten Absatz, so nennen wir es ein Absatz mit dem p-Tag. 414 00:23:43,370 --> 00:23:45,850 Und nun, was der Browser normalerweise tun 415 00:23:45,850 --> 00:23:48,490 ist nur in einem englischen Buch oder einen Aufsatz möchten, 416 00:23:48,490 --> 00:23:51,280 wo Sie in der Regel sehen Sie einige Zeilenumbrüche zwischen den Absätzen. 417 00:23:51,280 --> 00:23:53,720 Browser wird das für Sie automatisch. 418 00:23:53,720 --> 00:23:56,680 So, jetzt haben wir zwei Absätzen und wir können weitermachen. 419 00:23:56,680 --> 00:23:58,770 Aber, natürlich, auf dem Web, wenn Sie einen Körper aus Text 420 00:23:58,770 --> 00:24:01,370 ist es in der Regel nicht einfach riesig Blobs von Text. 421 00:24:01,370 --> 00:24:04,040 Oft gibt es Hyperlinks drin. 422 00:24:04,040 --> 00:24:07,250 Also, wenn wir wollen, zum Beispiel, sind einige Links dort, 423 00:24:07,250 --> 00:24:10,760 nehme an, was vielleicht von Interesse, in welcher Seite ich dabei bin hier ist sein - 424 00:24:10,760 --> 00:24:12,780 lassen Sie mich zu Google.com gehen, 425 00:24:12,780 --> 00:24:16,540 und lassen Sie mich für eine quick brown fox suchen. 426 00:24:16,540 --> 00:24:22,150 Zur Google Bilder, und wie wäre es - das ist niedlich. 427 00:24:22,150 --> 00:24:27,420 Wir gehen mit diesem. Wir haben hier also eine schnelle braune Fuchs springt über einen faulen Hund. 428 00:24:27,420 --> 00:24:30,560 Also, was ich hier tun, nur zum Zwecke der Demonstration, 429 00:24:30,560 --> 00:24:32,950 ist anzunehmen, dass dieses Bild auf meinem Server war, 430 00:24:32,950 --> 00:24:35,240 und ich hatte die Erstellung dieser Bilder. 431 00:24:35,240 --> 00:24:38,720 Was ich gerade tat, war die rechte Maustaste oder kontrollieren, klicken Sie auf das Bild, 432 00:24:38,720 --> 00:24:42,370 und was Sie in den meisten Browsern zu sehen ist ein kleines Menü - 433 00:24:42,370 --> 00:24:48,800 damit aufhören - ein kleines Menü, mit dem Sie Link-Adresse kopieren oder kopieren URL auswählen können. 434 00:24:48,800 --> 00:24:52,750 Also lassen Sie mich zurück gehen jetzt zu meinem HTML und nehme, was ich will 435 00:24:52,750 --> 00:24:56,420 einen Hyperlink dieses zu einer anderen Webseite. 436 00:24:56,420 --> 00:24:58,640 >> Was war der Tag für heißt das? 437 00:24:58,640 --> 00:25:01,650 [Student, unverständlich] >> Ja. So a href für hyper Referenz. 438 00:25:01,650 --> 00:25:04,660 Lassen Sie mich gehen Sie vor und fügen Sie diese in. 439 00:25:04,660 --> 00:25:07,290 Es ist eine ziemlich lange URL, also lass mich wieder heraus zu zoomen. 440 00:25:07,290 --> 00:25:09,950 Schließen Klammern, so dass jetzt merke ich, bin Weg hierher 441 00:25:09,950 --> 00:25:11,960 weil diese URL passiert ist ziemlich lang. 442 00:25:11,960 --> 00:25:15,180 Lassen Sie mich zu blättern hier bis zum Ende des quick brown fox, 443 00:25:15,180 --> 00:25:18,830 und dann lassen Sie mich schließen diesen Tag mit 00:25:21,280 wo ich nur geschlossen den Namen der Variablen. 445 00:25:21,280 --> 00:25:24,470 Nun lassen Sie mich gehen Sie vor und speichern Sie die Datei, laden Sie die Web-Seite, 446 00:25:24,470 --> 00:25:27,880 und jetzt standardmäßig, das geht in blau für mich unterstrichen werden, 447 00:25:27,880 --> 00:25:31,980 wohl aber kann ich jetzt auf dieser und voila klicken. Es ist das Bild. 448 00:25:31,980 --> 00:25:33,990 Und es war nicht ein Bild sein, es könnte verknüpft haben 449 00:25:33,990 --> 00:25:36,270 zu einem anderen zufälligen Website im Internet. 450 00:25:36,270 --> 00:25:39,610 Ich konnte dies tun, zum Beispiel mit CS50, so ein letztes Beispiel hier. 451 00:25:39,610 --> 00:25:42,730 'Dies ist CS50 "könnte Sinn machen, gehen ein, href = 452 00:25:42,730 --> 00:25:50,340 http://www.cs50.net Nähe Zitat, in der Nähe Anker. 453 00:25:50,340 --> 00:25:53,990 So das ist jetzt eine noch kürzere URL, und dieses Mal werden wir nicht zu einem Bild verknüpfen. 454 00:25:53,990 --> 00:25:57,880 Wir gehen stattdessen zu einer anderen Seite zu verknüpfen. 455 00:25:57,880 --> 00:25:59,840 Jetzt haben wir ein Bild hier. 456 00:25:59,840 --> 00:26:02,970 Ich fühle mich wie können wir tun, ein wenig besser als nur die Verknüpfung zu einem Bild. 457 00:26:02,970 --> 00:26:05,760 Was, wenn wir tatsächlich verkörpern in unserem eigenen Web-Seite wollen? 458 00:26:05,760 --> 00:26:09,290 >> Nun, was kann ich hier tun, ist, anstatt Link zu dieser Grafik, 459 00:26:09,290 --> 00:26:14,690 Lassen Sie mich statt schneiden Sie die URL, und wir loswerden, dass Hyperlink und reinigen diese auf. 460 00:26:14,690 --> 00:26:17,190 Und wir gehen runter und los davon. 461 00:26:17,190 --> 00:26:20,910 Wir wissen nicht wirklich brauchen alle diese Sätze jetzt, so lassen Sie mich verkürzen die Seite ein wenig. 462 00:26:20,910 --> 00:26:24,530 Und dann hier unten lassen Sie mich gehen Sie in einem neuen Absatz, 463 00:26:24,530 --> 00:26:30,100 sagen, dass ich nicht wollen, Text jetzt, ich will ein Bild, dessen Quelle wird, dass URL sein. 464 00:26:30,100 --> 00:26:33,100 Ein Bild, wie ein Zeilenumbruch, ist entweder da oder nicht. 465 00:26:33,100 --> 00:26:35,900 Also lassen Sie mich sofort zu schließen, dass die tag. 466 00:26:35,900 --> 00:26:39,440 Lassen Sie mich gehen Sie jetzt und schließen Sie den Absatz, dass ich drin bin, 467 00:26:39,440 --> 00:26:43,010 und wenn alles gut geht mit hallo, Welt, wenn ich jetzt zu laden, 468 00:26:43,010 --> 00:26:45,520 Ich, ja, direkt in meine eigene Web-Seite ein Bild sehen. 469 00:26:45,520 --> 00:26:48,570 So, jetzt haben wir ein Image-Tag, ein Anker-Tag und dergleichen, 470 00:26:48,570 --> 00:26:51,320 und für eine gute Maßnahme, lass mich noch eine andere Sache, die oft vernachlässigt hat 471 00:26:51,320 --> 00:26:55,900 auf Websites in diesen Tagen: Lasst uns einen gewissen beschreibenden Text zu diesem Bild 472 00:26:55,900 --> 00:26:58,090 für Menschen, die auf einem mobilen Gerät stehen 473 00:26:58,090 --> 00:27:00,640 und daher möglicherweise nicht in der Lage sein, um dieses Bild sehr schnell downloaden, 474 00:27:00,640 --> 00:27:03,310 für Menschen, die blind sind und möglicherweise nicht in der Lage sein, um das Bild zu sehen 475 00:27:03,310 --> 00:27:06,480 aber sie könnten einen Screenreader, die ihnen sagen können, was das Bild ist. 476 00:27:06,480 --> 00:27:09,100 Und das zu tun, gibt es ein weiteres Attribut für Image-Tags 477 00:27:09,100 --> 00:27:11,290 als alt, für einen alternativen Text. 478 00:27:11,290 --> 00:27:14,650 Und was kann ich hier tun müssen, ist zu sagen, 'Dies ist eine quick brown fox ". 479 00:27:14,650 --> 00:27:17,650 So dass selbst wenn der menschliche nicht sehen kann das Bild auf dem Bildschirm, 480 00:27:17,650 --> 00:27:20,560 er oder sie zumindest hören, wie bei manchen Stück Software, 481 00:27:20,560 --> 00:27:23,080 was ist eigentlich da auf dem Bildschirm. 482 00:27:23,080 --> 00:27:25,040 >> Das wird sich nicht ändern, die Ästhetik der Seite 483 00:27:25,040 --> 00:27:27,640 aber es ist sicherlich eine gute Übung für Benutzer. 484 00:27:27,640 --> 00:27:31,760 Alle Rechte, lassen wir diese Web-Seite in seiner jetzigen Form, 485 00:27:31,760 --> 00:27:33,890 aber lasst uns sehen, ob wir jetzt nicht vorstellen kann 486 00:27:33,890 --> 00:27:36,210 einige bessere Ansätze zur schreibe diese Web-Seiten, 487 00:27:36,210 --> 00:27:39,980 einige Lektionen, die gehen, um uns gut auf unseren Seiten mehr und mehr komplexen dienen sollen. 488 00:27:39,980 --> 00:27:42,220 Was wir nicht tun in den nächsten Wochen 489 00:27:42,220 --> 00:27:46,810 wird Sie durch alle der mehreren Dutzend HTML-Tags, dass es gehen. 490 00:27:46,810 --> 00:27:49,800 Viel im Scratch zurück wie in Woche 0, wird es wahrscheinlich genügen, 491 00:27:49,800 --> 00:27:52,120 eine High-Level-Überblick über einige der Konzepte geben, 492 00:27:52,120 --> 00:27:54,530 eine schnelle Tour durch einige der Blöcke waren Sie wahrscheinlich in der Lage, 493 00:27:54,530 --> 00:27:58,240 ziemlich bequem, um auf eigene Faust zu navigieren, die verschiedenen Puzzleteile. 494 00:27:58,240 --> 00:28:00,460 Und das wird wieder geschehen in HTML, most likely, 495 00:28:00,460 --> 00:28:04,320 wobei es gibt reichlich Ressourcen auf dem Web, dass wir Sie bei Punkt, 496 00:28:04,320 --> 00:28:06,920 verschiedenen Lehrbüchern, wenn Sie ein Lehrbuch lesen möchten, 497 00:28:06,920 --> 00:28:10,560 , der Sie durch all die verschiedenen Dinge, die Sie mit HTML zu tun laufen können, 498 00:28:10,560 --> 00:28:16,100 aber wirklich, haben wir bisher in HTML sehen die meisten der grundlegenden Konzepte. 499 00:28:16,100 --> 00:28:19,900 Wir haben den Begriff des Tags geöffnet, wobei Tags geschlossen. 500 00:28:19,900 --> 00:28:22,100 Einige Tags, die sowohl geöffnet und geschlossen werden 501 00:28:22,100 --> 00:28:24,620 in dem Sinne, dass sie leer sind, es sollte nichts im Inneren von ihnen sein 502 00:28:24,620 --> 00:28:27,490 wie ein Bild-Tag oder einen Zeilenumbruch, die einfach da sind. 503 00:28:27,490 --> 00:28:32,330 Wir haben auch schon bei der Vorstellung eines Attributs, wie alt oder Quelle. 504 00:28:32,330 --> 00:28:36,410 Beachten Sie, dass diese Worte neigen, durch Konvention, kurz und prägnant. 505 00:28:36,410 --> 00:28:39,140 >> Wir haben keine Wahl mehr, was diese Dinge genannt werden, 506 00:28:39,140 --> 00:28:42,060 jemanden, der HTML erfunden kam mit diesen Namen. 507 00:28:42,060 --> 00:28:44,710 So müssen Sie nur noch zu starten, zu wissen oder diese nachschlagen, wann immer Sie sie brauchen, 508 00:28:44,710 --> 00:28:47,160 Was sind die Namen für diese Tags und Attributen. 509 00:28:47,160 --> 00:28:49,510 Im Fall dieser Attribute Attribute generell 510 00:28:49,510 --> 00:28:52,900 das Verhalten von einigen tag. 511 00:28:52,900 --> 00:28:55,710 In diesem Fall, sagt die Quelle-Attribut des Bildes tag 512 00:28:55,710 --> 00:28:57,940 was die Quelle des Bildes sein sollte. 513 00:28:57,940 --> 00:29:04,460 Das href-Attribut weist den Anker-Tag, was es eigentlich zu verknüpfen. 514 00:29:04,460 --> 00:29:06,800 Aber in Bezug auf die Struktur von einer Web-Seite, obwohl Facebook 515 00:29:06,800 --> 00:29:09,680 und Google und die aussehen wie ein komplettes Chaos 516 00:29:09,680 --> 00:29:12,560 unter der Haube auf den ersten Blick, wenn man durch sie zu lesen beginnen 517 00:29:12,560 --> 00:29:16,950 mehr methodisch, sie alle folgen dieser, Basismaterial Struktur. 518 00:29:16,950 --> 00:29:19,660 Aber können wir die Stilisierung von diesen Dingen. 519 00:29:19,660 --> 00:29:24,180 Also lassen Sie mich einige Beispiele, die ich im Voraus vorbereitet gehen. 520 00:29:24,180 --> 00:29:27,280 Lassen Sie mich gehen Sie vor und kopieren Sie sie aus einem anderen Ordner hier 521 00:29:27,280 --> 00:29:29,380 und legte sie in dieses Verzeichnis. 522 00:29:29,380 --> 00:29:32,210 Im Vorfeld, was ich tat, war bereiten ein paar Dateien: 523 00:29:32,210 --> 00:29:35,670 search0, search1, search2 und search3 und 4. 524 00:29:35,670 --> 00:29:38,740 Lassen Sie mich gehen Sie vor und eröffnen das erste dieser Dateien, 525 00:29:38,740 --> 00:29:42,570 und lasst uns sehen, ob wir nicht anfangen, unsere eigene Suchmaschine erstellen. 526 00:29:42,570 --> 00:29:46,530 An der Spitze dieser Datei, wie es normalerweise der Fall in der Klasse, nur ein paar Kommentare. 527 00:29:46,530 --> 00:29:49,760 In HTML, aber die Mittel, mit denen Sie beginnen einen Kommentar 528 00:29:49,760 --> 00:29:55,640 ist <-! und dann bist du im Inneren eines Kommentars, ein mehrzeiliger Kommentar. 529 00:29:55,640 --> 00:29:59,800 Wenn Sie bereit sind, diesen Kommentar zu stoppen sind, können Sie ->. 530 00:29:59,800 --> 00:30:02,380 Also alles oben in blau ist nur ein Kommentar. 531 00:30:02,380 --> 00:30:04,620 >> Dies ist meine Doctype-Deklaration, die wieder 532 00:30:04,620 --> 00:30:07,080 Sie können einfach kopieren und fügen Sie den Glauben, für jetzt. 533 00:30:07,080 --> 00:30:10,410 Dies nur teilt dem Browser mit, 'Hier kommt einige HTML 5. 534 00:30:10,410 --> 00:30:13,600 Darunter on line 14, ist die erste von meiner eigentlichen Tags, 535 00:30:13,600 --> 00:30:16,900 und das sagt nur, wie bisher, hier kommt etwas HTML, 536 00:30:16,900 --> 00:30:19,460 hier kommt der Kopf auf meiner Seite, hier kommt der Titel, 537 00:30:19,460 --> 00:30:23,900 und dann im Umkehrschluss, dass es für den Titel, das ist es für den Kopf. 538 00:30:23,900 --> 00:30:26,460 Hier nun kommt der Körper meiner Seite. 539 00:30:26,460 --> 00:30:31,040 So ein paar neue Tags Jetzt: h1 steht für die Rubrik 1. 540 00:30:31,040 --> 00:30:33,850 Es ist eine Tradition in HTML für viele Jahre zurück 541 00:30:33,850 --> 00:30:37,990 der mit unterschiedlichen Größen von Text. 542 00:30:37,990 --> 00:30:41,980 Und wieder in den Tag, bedeutete jeder, in der Regel, gerade groß und fett. 543 00:30:41,980 --> 00:30:45,860 Aber es gibt auch h2, die groß, aber nicht ganz so groß und fett ist. 544 00:30:45,860 --> 00:30:49,320 Es gibt h3, welche Art von ist groß, aber nicht annähernd so groß und fett, 545 00:30:49,320 --> 00:30:52,380 und so weiter, den ganzen Weg hinunter bis h6. 546 00:30:52,380 --> 00:30:55,550 In diesen Tagen, obwohl, h1, h2 und h3 wirklich gemeint 547 00:30:55,550 --> 00:30:57,980 mehr semantische Bedeutung sie haben, 548 00:30:57,980 --> 00:31:01,100 wobei h1 ist wirklich eine Überschrift: Die Überschrift einer Web-Seite, 549 00:31:01,100 --> 00:31:04,210 die Überschrift einer Spalte oder so etwas Text. 550 00:31:04,210 --> 00:31:09,030 Also habe ich bewusst gesagt h1 CS50 Suche> h1 551 00:31:09,030 --> 00:31:12,640 um specifiy, dass dies wirklich die Überschrift, der Titel meiner Seite. 552 00:31:12,640 --> 00:31:14,850 Nicht der Titel in der Titelleiste Sinne 553 00:31:14,850 --> 00:31:18,960 aber der Titel, die Sie tatsächlich in der Web-Seite selbst zu sehen, in den Körper. 554 00:31:18,960 --> 00:31:20,990 Nun, können Sie wahrscheinlich erraten, was es ist, 555 00:31:20,990 --> 00:31:23,110 obwohl wir haben ein paar neue Stücke der Syntax. 556 00:31:23,110 --> 00:31:25,930 Dies ist eine Form. So das Web richtig interessant 557 00:31:25,930 --> 00:31:28,770 wenn Websites Eingabe nehmen von Benutzern. 558 00:31:28,770 --> 00:31:31,700 In dieser Klasse, in dem Problem auf Web-Programmierung eingestellt, 559 00:31:31,700 --> 00:31:33,880 wir werden nicht auf eine Website, per se zu machen, 560 00:31:33,880 --> 00:31:37,570 mit statischem Inhalt, die Fotos, die Sie aufgenommen haben zeigt, 561 00:31:37,570 --> 00:31:40,010 oder ist dies meinen Lebenslauf, und die Dinge um mich, 562 00:31:40,010 --> 00:31:42,450 weil diese Dinge sind relativ einfach zusammen zu stellen. 563 00:31:42,450 --> 00:31:44,400 Es ist schwer, die Dinge schön auf dem Web, 564 00:31:44,400 --> 00:31:46,390 aber zumindest das Aufstellen von Inhalten ist ziemlich trivial. 565 00:31:46,390 --> 00:31:49,380 Aber die Dinge wirklich interessant, wenn jemand Ihre Website besuchen 566 00:31:49,380 --> 00:31:52,260 und Input und kann Formulare ausfüllen, 567 00:31:52,260 --> 00:31:55,800 können abhaken Checkboxen und können mit Ihrer Website interagieren. 568 00:31:55,800 --> 00:31:57,780 Und in der Tat, wahrscheinlich jede Website die Sie interessieren 569 00:31:57,780 --> 00:32:00,710 in diesen Tagen, in jedem Detail, ist irgendwie interaktiv. 570 00:32:00,710 --> 00:32:03,110 Facebook, Google und dergleichen, die Benutzereingaben zu nehmen 571 00:32:03,110 --> 00:32:05,100 und angepasste Ausgabe. 572 00:32:05,100 --> 00:32:07,780 >> Also fangen wir das jetzt tun. Let Übergang jetzt 573 00:32:07,780 --> 00:32:11,150 aus nur mit HTML für Markup von statischen Inhalten 574 00:32:11,150 --> 00:32:14,790 als vielmehr eine Lieferung Mechanismus für dynamische Inhalte. 575 00:32:14,790 --> 00:32:17,350 Und auf dieses Ziel wollen wir die Umsetzung unserer eigenen Suchmaschine. 576 00:32:17,350 --> 00:32:20,820 Lasst es wie folgt. Hier ist die Form-Tag. 577 00:32:20,820 --> 00:32:24,090 Das action-Attribut gibt an, dass, wenn der Benutzer füllt dieses Formular 578 00:32:24,090 --> 00:32:28,400 mit ihrer Tastatur, wird es zu dieser URL hier eingereicht werden. 579 00:32:28,400 --> 00:32:31,230 Also ich bin Art von Betrug. Es wird uns ein wenig länger dauern 580 00:32:31,230 --> 00:32:33,780 als eine Klasse, die ganze Suchmaschine implementieren, 581 00:32:33,780 --> 00:32:35,880 so dass wir nur tun das vordere Ende, so zu sprechen. 582 00:32:35,880 --> 00:32:38,650 Wir tun das Teil, das den Benutzer suchen können, und wir werden von punt Google sortieren 583 00:32:38,650 --> 00:32:40,950 der schwierige Teil des Findens Suchergebnissen 584 00:32:40,950 --> 00:32:43,520 aber gesagt, ich werde die Google-Web-Server sprechen 585 00:32:43,520 --> 00:32:46,710 mit einer von zwei sehr beliebte Methoden. 586 00:32:46,710 --> 00:32:50,000 Einer ist zu bekommen, eine andere, dass wir schließlich sehen, dass Post, 587 00:32:50,000 --> 00:32:52,660 obwohl es andere, die weniger häufig verwendet werden. 588 00:32:52,660 --> 00:32:56,440 So bekommen nur beschwört die Idee, ich einige Inhalte erhalten möchten, bekommen einige Suchergebnisse. 589 00:32:56,440 --> 00:32:58,440 Dies können Sie vielleicht erraten, was dieser tut. 590 00:32:58,440 --> 00:33:01,900 Dies ist eine Art von Input, ist es in der Tat, werde wie ein Textfeld suchen, 591 00:33:01,900 --> 00:33:05,200 und der Name des betreffenden Eingang, der Name dieser Variablen, sozusagen 592 00:33:05,200 --> 00:33:08,610 wird für die Abfrage durch Konvention q sein. 593 00:33:08,610 --> 00:33:11,700 Und wieder ist die Art von diesem Eingang nicht zu einem Kontrollkästchen sein; 594 00:33:11,700 --> 00:33:13,890 es wird nicht ein Menü sein, es geht um ein Textfeld sein 595 00:33:13,890 --> 00:33:18,060 durch dieses Attribut hier, und dieses Textfeld bezeichnet, 596 00:33:18,060 --> 00:33:20,680 wie ein Zeilenumbruch, ist entweder da oder nicht. 597 00:33:20,680 --> 00:33:24,480 So haben wir ein leeres Element mit dem Schrägstrich innerhalb dieser tag. 598 00:33:24,480 --> 00:33:28,050 Dann werde ich einen Zeilenumbruch gesetzt, und Sie können vielleicht erraten, was dieser tun wird. 599 00:33:28,050 --> 00:33:30,210 Dies ist eine andere Art von Form-Eingang. 600 00:33:30,210 --> 00:33:32,350 >> Dieser geht für die Einreichung des Form verwendet werden. 601 00:33:32,350 --> 00:33:36,140 Es wird also auf die große Taste, die der Benutzer klicken kann, um das Formular abschicken zu sein, 602 00:33:36,140 --> 00:33:40,800 und das Etikett auf diese Schaltfläche wird sein 'CS50 suchen. " 603 00:33:40,800 --> 00:33:44,170 Close Form, engen Körperkontakt, in der Nähe HTML. 604 00:33:44,170 --> 00:33:46,280 Lasst uns sehen, was wir in der Form von dieser Web-Seite zu haben. 605 00:33:46,280 --> 00:33:48,260 Also lassen Sie mich meinen Browser gehen, 606 00:33:48,260 --> 00:33:50,360 lass mich gehen, noch auf lokalen. 607 00:33:50,360 --> 00:33:54,650 Dies ist immer noch index.html, so dass, wenn ich diese Datei mit dem Namen search0 sehen wollen, 608 00:33:54,650 --> 00:33:59,710 Ich kann einfach tun / search0.html geben - 609 00:33:59,710 --> 00:34:01,880 und die erste meine Fehler. 610 00:34:01,880 --> 00:34:04,400 Was ist los? Ich klar nicht über die Berechtigung 611 00:34:04,400 --> 00:34:06,430 Zugriff auf diese Datei, aus irgendeinem Grund. 612 00:34:06,430 --> 00:34:10,170 Aber das ist, denn anders als die Arbeit, die wir bisher gemacht haben in C, 613 00:34:10,170 --> 00:34:14,340 wo die Programme, die Sie schreiben, sind davon ausgegangen, dass lauffähige von Ihnen, 614 00:34:14,340 --> 00:34:17,590 ausführbare von Ihnen, das ist nicht wirklich der Fall auf dem Web, 615 00:34:17,590 --> 00:34:21,010 wobei manchmal möchten Sie vielleicht auf Dateien auf einem Server zu erstellen, 616 00:34:21,010 --> 00:34:23,310 aber Sie wollen nicht die ganze Welt in der Lage sein, sie zu sehen. 617 00:34:23,310 --> 00:34:25,469 Vielmehr wollen sie die Welt um einige Dateien zu sehen 618 00:34:25,469 --> 00:34:27,730 andere aber nicht, nur für die Privatsphäre willen. 619 00:34:27,730 --> 00:34:30,730 Es ist also mehr eine Opt-in-Basis, wenn Sie die Dinge auf dem Web. 620 00:34:30,730 --> 00:34:32,810 Und so lassen Sie mich eigentlich ls hier 621 00:34:32,810 --> 00:34:37,440 und Sie sehen die Dateien, die ich haben, aber daran erinnern, dass, wenn ich ls-l für lange, 622 00:34:37,440 --> 00:34:41,520 Ich werde eine längere Liste, die mir einige weitere Details zu diesen Dateien 623 00:34:41,520 --> 00:34:45,139 das sind nun wirklich, zum ersten Mal für uns relevanten. 624 00:34:45,139 --> 00:34:47,840 Beachten Sie, dass auf der rechten Seite sind die Namen meiner Dateien, 625 00:34:47,840 --> 00:34:50,690 und dann der Zeitpunkt, an dem sie zuletzt geändert wurden oder kopiert werden. 626 00:34:50,690 --> 00:34:54,370 Diese Zahl ist hier, was? Erinnern Sie sich? 627 00:34:54,370 --> 00:34:56,400 Die Größe in Bytes, wie groß die Datei ist. 628 00:34:56,400 --> 00:34:59,520 >> So scheine ich eine Art von logo hier, die größer als alle anderen Dateien ist zu haben. 629 00:34:59,520 --> 00:35:03,610 Dies ist, wer ich bin, das ist, was ich bin und welche Gruppe ich bin in. 630 00:35:03,610 --> 00:35:07,430 Aber dann, als hier auf der linken Seite ist ein bisschen kryptisch Sequenz, 631 00:35:07,430 --> 00:35:10,040 und wir unterhielten uns, glaube ich, kurz über das in der Vergangenheit, 632 00:35:10,040 --> 00:35:12,050 aber das hat mit Berechtigungen zu tun. 633 00:35:12,050 --> 00:35:14,020 Und selbst wenn es das ist ein wenig verschwommen, 634 00:35:14,020 --> 00:35:17,270 RW bedeutet wahrscheinlich, lesen und schreiben. 635 00:35:17,270 --> 00:35:22,560 So stellt sich heraus, dass diese Striche verschiedene Sätze von Berechtigungen bezeichnen für verschiedene Menschen. 636 00:35:22,560 --> 00:35:24,730 Und das Muster ist, im Wesentlichen wie folgt. 637 00:35:24,730 --> 00:35:27,650 Wenn Sie eine Sequenz von Strichen hier sehen, sehen sie wie folgt. 638 00:35:27,650 --> 00:35:30,450 Es ist ein Strich, dann gibt es drei weitere Striche, 639 00:35:30,450 --> 00:35:33,390 dann gibt es noch drei, dann gibt es drei weitere. 640 00:35:33,390 --> 00:35:36,800 Die erste ist entweder ein Bindestrich oder es ad für Verzeichnis. 641 00:35:36,800 --> 00:35:40,220 So dass man ziemlich einfach. Wenn es ein Ordner ist, ist es d sagt, ansonsten ist es ein Bindestrich. 642 00:35:40,220 --> 00:35:44,080 Es gibt ein paar andere Fälle, aber jetzt werden wir nur über Dateien und Verzeichnisse kümmern. 643 00:35:44,080 --> 00:35:48,090 Diese nächsten drei Striche - und ich habe künstlich die Räume eingefügt. 644 00:35:48,090 --> 00:35:50,490 Sie waren offensichtlich nicht da, wenn wir sie sahen vor einem Augenblick. 645 00:35:50,490 --> 00:35:52,900 Dies sind die Eigentümer der Datei die Berechtigungen, 646 00:35:52,900 --> 00:35:55,840 und aus einem zweiten her, dass es gelesen wurde und schreiben zu erinnern. 647 00:35:55,840 --> 00:35:58,560 Das war, weil ich, wie die Person, die diese Datei erstellt vor einem Augenblick, 648 00:35:58,560 --> 00:36:01,250 Ich, nur standardmäßig auf einem Linux-Computer 649 00:36:01,250 --> 00:36:03,910 die Möglichkeit haben, weiterhin das Lesen und Schreiben die Datei. 650 00:36:03,910 --> 00:36:07,170 >> So das Betriebssystem gibt mir RW ​​automatisch. 651 00:36:07,170 --> 00:36:10,840 Die mittleren beziehen sich auf meiner Fraktion, daß von Studenten, 652 00:36:10,840 --> 00:36:14,590 das ist eine Art von Sinn auf das Gerät, weil ich die einzige Person, die das Gerät bin. 653 00:36:14,590 --> 00:36:16,620 So lassen Sie mich nur winken meine Hände an, dass für den Moment. 654 00:36:16,620 --> 00:36:19,190 Aber die letzten sind die wichtigsten für das Web. 655 00:36:19,190 --> 00:36:21,580 Dies ist allen anderen in der Welt, und die Tatsache, 656 00:36:21,580 --> 00:36:24,600 dass es das ist --- bedeutet, dass niemand sonst in der Welt 657 00:36:24,600 --> 00:36:26,680 hat alle Berechtigungen auf diese Datei. 658 00:36:26,680 --> 00:36:29,180 Eindeutig ein Problem, also muss ich dieses Problem beheben 659 00:36:29,180 --> 00:36:33,830 by irgendwie gibt der Welt, was? Lesen & Schreiben? 660 00:36:33,830 --> 00:36:35,850 Das ist wahrscheinlich dumm, nicht wahr? Ich glaube nicht, dass jemand auf dem Web 661 00:36:35,850 --> 00:36:38,530 zu gehen, um meine Seite zu besuchen und irgendwie ändern Sie die Datei, 662 00:36:38,530 --> 00:36:40,800 obwohl sie eigentlich nicht mit einer HTML-Datei, 663 00:36:40,800 --> 00:36:44,110 aber nur im Prinzip, wahrscheinlich nur wollen, dass sie in der Lage sein, es zu lesen. 664 00:36:44,110 --> 00:36:47,910 Was bedeutet es, sie zu lesen? Es bedeutet nicht, sie gehen über die eigentlichen HTML kümmern, 665 00:36:47,910 --> 00:36:51,820 aber der Browser muss in der Lage, diese Auszeichnungssprache zu analysieren, 666 00:36:51,820 --> 00:36:53,720 oben nach unten, von links nach rechts. 667 00:36:53,720 --> 00:36:57,990 So jemand auf der Web muss in der Lage sein, es zu lesen, so dass ich nur minimal benötigen, um ihm r. 668 00:36:57,990 --> 00:37:00,240 Ich kann dies in ein paar verschiedene Möglichkeiten zu tun, aber vielleicht 669 00:37:00,240 --> 00:37:03,080 die einfachste ist, diesen Befehl hier laufen. 670 00:37:03,080 --> 00:37:10,860 Chmod Änderungsmodus, dann a + r, so dass alle, jeder in der Welt + lesen, 671 00:37:10,860 --> 00:37:13,830 und dann den Namen der Datei, search0.html. 672 00:37:13,830 --> 00:37:18,310 >> Nun, wenn ich ls-l wieder tun, feststellen, dass die Datei geändert hat, 673 00:37:18,310 --> 00:37:21,440 und in der Tat, ich habe auf r für jedermann geworden. 674 00:37:21,440 --> 00:37:23,350 Ich habe auch drehte sie auf für meine Gruppe, aber das ist in Ordnung, 675 00:37:23,350 --> 00:37:27,150 denn wenn ich in eingeschaltet für alle, ist meine Fraktion eine Teilmenge davon. 676 00:37:27,150 --> 00:37:31,480 Also das ist auch in Ordnung. Dies bedeutet nur, der Computer ist es nun lesbar. 677 00:37:31,480 --> 00:37:34,430 Nun lassen Sie mich zurück zu meinem Browser zu gehen, klicken Sie auf nachladen. 678 00:37:34,430 --> 00:37:36,330 Ah-ha. Wir haben jetzt CS50 Search. 679 00:37:36,330 --> 00:37:39,830 Ziemlich scheußlichen Suchmaschine - Ich habe in einem kleinen künstlich vergrößert. 680 00:37:39,830 --> 00:37:41,930 Aber lasst uns sehen, ob es wirklich funktioniert. 681 00:37:41,930 --> 00:37:45,880 Lassen Sie mich zunächst tun, eine schnelle Plausibilitätsprüfung, lass mich kontrollieren klicken und Quelltext der Seite. 682 00:37:45,880 --> 00:37:50,780 Beachten Sie, dass innerhalb von Chrome wir jetzt sehen, das gleiche HTML, dass ich selbst erstellt. 683 00:37:50,780 --> 00:37:55,420 Hier nicht verwirren lassen, though. Ich kann nicht gestartet Änderung des Codes hier 684 00:37:55,420 --> 00:37:59,420 da der Browser eine schreibgeschützte Ansicht dieses Codes. 685 00:37:59,420 --> 00:38:06,060 Der Browser hat nur lokale Host für eine Datei namens search0.html gefragt. 686 00:38:06,060 --> 00:38:09,490 Es ist jetzt reiner Zufall, dass das Gerät 687 00:38:09,490 --> 00:38:13,480 zufällig auf dem gleichen Computer wie mein Browser sein. 688 00:38:13,480 --> 00:38:20,470 Ich konnte nur noch, äquivalent, in www.facebook.com/search0.html getippt, 689 00:38:20,470 --> 00:38:23,830 und wenn Facebook hatte eine Datei mit dem Namen, dass würde ich dann sehen werden ihre HTML. 690 00:38:23,830 --> 00:38:27,360 Und natürlich kann ich nicht ändern Sie die Datei, die zurück kommt von Facebook, entweder. 691 00:38:27,360 --> 00:38:29,360 So, jetzt sind wir eine Art verwischen die Grenzen. 692 00:38:29,360 --> 00:38:32,130 Das Gerät ist sowohl ein Server, serviert Web-Seiten, 693 00:38:32,130 --> 00:38:34,870 aber es ist auch ein Client in dem Sinne, dass ich mit einem Browser 694 00:38:34,870 --> 00:38:37,630 tatsächlich auf diesem Server zu sprechen. 695 00:38:37,630 --> 00:38:39,610 Also lasst uns sehen, ob meine Google-Suchmaschine funktioniert. 696 00:38:39,610 --> 00:38:44,930 Lassen Sie mich gehen Sie vor und suchen quick brown fox, geben. 697 00:38:44,930 --> 00:38:47,540 Und voila, ich habe jetzt meine eigene Suchmaschine. 698 00:38:47,540 --> 00:38:51,460 >> Aber wie funktioniert das? 699 00:38:51,460 --> 00:38:55,380 Bisschen weit hergeholt, aber - und jetzt können Sie nicht sehen, genau den Teil, der von Interesse ist. 700 00:38:55,380 --> 00:38:57,370 Beachten Sie, was passiert. 701 00:38:57,370 --> 00:39:00,430 Beachten Sie die URL. Es stellt sich heraus, dass diese Methode, 702 00:39:00,430 --> 00:39:02,780 genannt zu bekommen, ist super-einfach. 703 00:39:02,780 --> 00:39:10,270 Wenn Sie in einem Formular angeben, dass Sie 'get' resultiert aus einem Server möchten, 704 00:39:10,270 --> 00:39:13,200 was es tun werden, ist zu nehmen, was Sie in das Formular eingegeben 705 00:39:13,200 --> 00:39:15,290 und legen Sie sie in der URL. 706 00:39:15,290 --> 00:39:18,580 Es wird zu standardisieren, wie es in der URL wird genommen wie folgt. 707 00:39:18,580 --> 00:39:22,290 Beachten Sie, dass dies die URL, die den Wert meiner action-Attribut war und ist. 708 00:39:22,290 --> 00:39:24,730 Das ist, wo ich das Formular am Ende wollte. 709 00:39:24,730 --> 00:39:26,950 Doch dann bemerken diese Fragezeichen. 710 00:39:26,950 --> 00:39:30,230 Dies ist eine Konvention über das Web, wodurch Benutzer Input liefern 711 00:39:30,230 --> 00:39:35,320 auf eine Website, fügen Sie die URL ein Fragezeichen, 712 00:39:35,320 --> 00:39:38,330 und dann haben Sie eine ganze Reihe von Schlüssel-Wert-Paaren. 713 00:39:38,330 --> 00:39:42,380 Der Name einer Taste, sonst als ein Parameter in der Web bekannt, 714 00:39:42,380 --> 00:39:46,380 dann das gleiche Vorzeichen haben, dann haben Sie den Wert dieses Parameters. 715 00:39:46,380 --> 00:39:49,810 So ist es im Wesentlichen eine variable Namen und ein variabler Wert, 716 00:39:49,810 --> 00:39:54,250 Aber diejenigen Variablen Namen und Werte kamen aus dem HTML-Formular. 717 00:39:54,250 --> 00:39:56,250 Warum sind die Pluspunkte gibt, denken Sie? 718 00:39:56,250 --> 00:39:59,340 Weil ich nicht geben + zwischen meine Worte. 719 00:39:59,340 --> 00:40:01,430 [Student, unverständlich] 720 00:40:01,430 --> 00:40:05,080 >> Ja, es ist nur für den Abstand. Quoten sind, wenn Sie eine URL gesehen habe, 721 00:40:05,080 --> 00:40:07,320 es gibt nie irgendwelche Leerzeichen enthalten, wenn auch nur, weil 722 00:40:07,320 --> 00:40:09,440 wenn es gab, konnte man nicht wirklich kopieren und einfügen 723 00:40:09,440 --> 00:40:12,700 in eine IM oder in einer E-Mail, weil sie brechen würde. 724 00:40:12,700 --> 00:40:15,420 Sie wollen, dass die ganze Sache ein zusammenhängende Kette von Zeichen sein. 725 00:40:15,450 --> 00:40:18,450 >> So dass der Browser ist klug genug zu erkennen, uh-uh. 726 00:40:18,450 --> 00:40:22,610 Nicht gerade einen Raum gibt. Lassen Sie mich codieren den Raum in einigen Standard-Weg. 727 00:40:22,610 --> 00:40:25,170 Einer von den Konventionen dafür ist, um den Browser haben 728 00:40:25,170 --> 00:40:29,350 automatisch setzen ein +, wo Sie sonst ein Leerzeichen ein. 729 00:40:29,350 --> 00:40:32,140 So, jetzt mitgeteilt hat Google schon Art von Benutzer-freundlich. 730 00:40:32,140 --> 00:40:34,380 Ich sicherlich nicht schaffen diese Web-Seite, 731 00:40:34,380 --> 00:40:37,200 aber sie haben ihre eigenen Textfeld vorbelegt 732 00:40:37,200 --> 00:40:39,490 mit, was genau tippte ich in. 733 00:40:39,490 --> 00:40:43,090 Angenommen, ich möchte für etwas anderes zu suchen, wie ein fauler Hund. 734 00:40:43,090 --> 00:40:45,340 Ich kann nur geben Sie diese hier re-search. 735 00:40:45,340 --> 00:40:47,730 Beachten Sie, dass die URL up ändert hier 736 00:40:47,730 --> 00:40:51,390 dann aber feststellen, dass ich tatsächlich für alles, was ich will suchen 737 00:40:51,390 --> 00:40:53,610 nur durch das Verständnis, wie URLs Arbeit. 738 00:40:53,610 --> 00:40:56,840 Was ich tun konnte faule Katze, geben, 739 00:40:56,840 --> 00:41:01,370 und jetzt merke ich bin gerade sehr faul - sollten wir? Ich fühle mich wie wir sollten. 740 00:41:01,370 --> 00:41:09,900 Ich bekomme eine sehr faule Katze. 741 00:41:09,900 --> 00:41:11,930 Gut. Dies ist eines der dümmsten Dinge, die wir getan haben. 742 00:41:11,930 --> 00:41:17,160 Aber das ist eine faule Katze. 743 00:41:17,160 --> 00:41:19,730 Jedenfalls, was ist der Schlüssel zum Mitnehmen hier? 744 00:41:19,730 --> 00:41:22,830 Jetzt sind wir eine Art spielen in der Welt der HTTP. 745 00:41:22,830 --> 00:41:26,050 HTML ist gerade diese Markup-Sprache, offene tag, in der Nähe tag, 746 00:41:26,050 --> 00:41:29,490 das sagt ein Browser, wie Inhalte auf einer Webseite zu machen. 747 00:41:29,490 --> 00:41:32,850 Aber wenn Sie beginnen die Datenübertragung über das Internet 748 00:41:32,850 --> 00:41:36,290 zwischen Web-Browser und Server, das ist, wo dieses Protokoll 749 00:41:36,290 --> 00:41:39,370 bekannt als HyperText Transfer Protocol übernimmt. 750 00:41:39,370 --> 00:41:42,630 Dies ist die Art der menschlichen Konvention; wenn Sam und ich schüttelten sich die Hände am Montag, 751 00:41:42,630 --> 00:41:48,300 Starten einer Verbindung und Abbau einer Verbindung, gleiche Idee hier. 752 00:41:48,300 --> 00:41:53,100 Wie werden die Google-Ergebnisse kommen zu mir zurück? 753 00:41:53,100 --> 00:41:55,290 Wie wird mein Formularübermittlung werde Google? 754 00:41:55,290 --> 00:41:58,160 Nun, von den anderen Tag daran erinnern, dass das, was wirklich vor sich geht 755 00:41:58,160 --> 00:42:02,150 unter der Haube, wenn Sie fordern eine Web-Seite, 756 00:42:02,150 --> 00:42:04,860 Ihr Browser sendet eine etwas kryptische-Nachricht wie 757 00:42:04,860 --> 00:42:09,510 GET / HTTP/1.1 für die Standard-Homepage. 758 00:42:09,510 --> 00:42:13,000 >> Oder, in diesem Fall, weil ich ausdrücklich darum gebeten früheren 759 00:42:13,000 --> 00:42:17,340 search0.html, diese dann wäre das etwas-kryptische Botschaft 760 00:42:17,340 --> 00:42:20,040 dass mein Browser sendet, um das Gerät. 761 00:42:20,040 --> 00:42:23,090 Oder, in diesem Fall von Google, was ist tatsächlich gesendet 762 00:42:23,090 --> 00:42:33,740 ist eine Aufforderung an / search, und dann? q = faule Katze, die mit einem Plus gibt. 763 00:42:33,740 --> 00:42:36,790 So diese Meldung, dass ich, der Mensch, bin nie eingeben, 764 00:42:36,790 --> 00:42:40,620 wird aber von meinem Browser gesendet wird, ist dies, wie HTTP passiert. 765 00:42:40,620 --> 00:42:43,240 Dies ist das Äquivalent unserer nachdem die Hände geschüttelt. 766 00:42:43,240 --> 00:42:46,320 Dies ist der Wunsch und der Server ist über eine Antwort zu senden. 767 00:42:46,320 --> 00:42:48,560 Werfen wir also einen Blick auf diese unter der Haube. 768 00:42:48,560 --> 00:42:55,320 Nach wie vor können wir Erschließung dieses Spezialgebiet in einem Browser. 769 00:42:55,320 --> 00:42:58,720 Zeige Seite untersuchen Elemente. 770 00:42:58,720 --> 00:43:01,550 So unter Inspect Element, bemerken, dass, was in Chrome passiert, 771 00:43:01,550 --> 00:43:04,160 und IE und Firefox haben ähnliche Mechanismen, 772 00:43:04,160 --> 00:43:07,370 wir haben diese Entwickler-Tools für uns zugänglich. 773 00:43:07,370 --> 00:43:09,630 Normale Menschen nicht diese Registerkarten verwenden. 774 00:43:09,630 --> 00:43:11,940 Aber wir, jetzt sind daran interessiert, was los ist 775 00:43:11,940 --> 00:43:13,890 unter der Haube auf der Netzwerkebene. 776 00:43:13,890 --> 00:43:16,130 Also, wenn ich ziehen Sie die Netzwerk-Ebene hier 777 00:43:16,130 --> 00:43:18,510 Lassen Sie mich gehen Sie vor und erweitern dieses Fenster 778 00:43:18,510 --> 00:43:21,840 eröffnen Diesen Eintrag hier, und schauen Sie sich die Header. 779 00:43:21,840 --> 00:43:26,010 Also, was passiert, wenn ich eine Datei von einem Webserver an 780 00:43:26,010 --> 00:43:29,410 ist mein Browser sendet eine ganze Reihe von Dingen. 781 00:43:29,410 --> 00:43:32,390 Und lassen Sie mich sehen Quelle. So unter Request-Header, 782 00:43:32,390 --> 00:43:35,250 Und dies ist nur Chrome zeigt mir etwas Diagnoseausgang, 783 00:43:35,250 --> 00:43:37,340 wie eine Art Debugger von einer Art, 784 00:43:37,340 --> 00:43:40,500 feststellen, dass das, was ich hier hervorgehoben ist genau das, was 785 00:43:40,500 --> 00:43:47,060 Chrome wird an den Server senden, um eine Datei namens search0.html beantragen. 786 00:43:47,060 --> 00:43:50,160 Es ist bezeichnend, den Server, was sie denkt ihr Name ist, 787 00:43:50,160 --> 00:43:52,210 Dank dieser Host Doppelpunkt Feld, dann gibt es einige 788 00:43:52,210 --> 00:43:56,950 ziemlich esoterischen Zeug hier, wie etwas mit Datum und Uhrzeit zu tun, 789 00:43:56,950 --> 00:43:59,720 etwas mit den Sprachen, die der Browser versteht tun, 790 00:43:59,720 --> 00:44:02,850 aber die wirklich wichtigen Linien sind diese ersten beiden hier. 791 00:44:02,850 --> 00:44:05,490 >> Was macht der Server reagieren mit? Nun, wenn wir nach unten scrollen Sie hier 792 00:44:05,490 --> 00:44:08,510 und sehen Quelle dieser Sache, feststellen, dass der Server 793 00:44:08,510 --> 00:44:13,700 hat mit einem etwas kryptische Nachricht reagierte sowie, 304 nicht geändert. 794 00:44:13,700 --> 00:44:16,030 Das ist ein wenig seltsam, laß mich tatsächlich versuchen, dieses Problem zu beheben. 795 00:44:16,030 --> 00:44:18,670 Lassen Sie mich die Umschalttaste gedrückt halten und klicken Sie laden hier 796 00:44:18,670 --> 00:44:22,460 um den Browser zu zwingen, um tatsächlich diese Anforderung für die erste Zeit. 797 00:44:22,460 --> 00:44:25,700 Dann lassen Sie mich zu vergrößern, und wir werden nun sehen, dass die Antwort des Servers, 798 00:44:25,700 --> 00:44:28,950 weil ich Verschiebung stattfindet, ist 200 OK. 799 00:44:28,950 --> 00:44:31,170 So haben Sie wahrscheinlich noch nie die Zahl 200 zu sehen 800 00:44:31,170 --> 00:44:33,300 Im Rahmen des Web, aber welche Zahlen 801 00:44:33,300 --> 00:44:36,760 Sie haben manchmal unerwartet von einem Server gesehen? 802 00:44:36,760 --> 00:44:42,010 404, Datei nicht gefunden, 403, verboten; 500, server error. 803 00:44:42,010 --> 00:44:44,890 So gibt es diese numerischen Codes, dass die Welt setzt im Web 804 00:44:44,890 --> 00:44:47,870 um Fehler, wie C-Funktionen bedeuten, 805 00:44:47,870 --> 00:44:51,030 können Fehler zurückgeben und die wichtigsten können Exit-Codes zurück. 806 00:44:51,030 --> 00:44:54,160 200, obwohl man nur selten zu sehen, weil es bedeutet alles ist gut. 807 00:44:54,160 --> 00:44:59,000 Und 304 werden Sie wahrscheinlich nie sehen, weil, was es bedeutet wird? 808 00:44:59,000 --> 00:45:03,330 Das hat nichts - lassen Sie uns sehen, ob wir dies noch einmal zu simulieren - 809 00:45:03,330 --> 00:45:07,170 Oh, jetzt ist es nicht zusammen. 304 sagte nicht geändert 810 00:45:07,170 --> 00:45:09,170 warum wurde der Server selbst reagiert? 811 00:45:09,170 --> 00:45:12,550 Nun, für Effizienz, ein Web-Server automatisch für Sie, 812 00:45:12,550 --> 00:45:16,570 wenn die Datei nicht geändert hat, wird es nicht erneut die gesamte HTML-Datei. 813 00:45:16,570 --> 00:45:19,150 Es wird nur sagen, der Browser es nicht geändert hat. 814 00:45:19,150 --> 00:45:21,220 Verwenden Sie einfach die Kopie, die Sie bereits haben. 815 00:45:21,220 --> 00:45:22,650 Also gibt es diese Vorstellung von Caching auf dem Web 816 00:45:22,650 --> 00:45:25,840 für Leistung, so dass Sie verschwenden keine Zeit und Abfall Bandbreite 817 00:45:25,840 --> 00:45:29,160 Herunterladen von Dateien wieder und wieder unnötig. 818 00:45:29,160 --> 00:45:31,460 >> Aber diese Web-Seite, jetzt war super-einfach, 819 00:45:31,460 --> 00:45:34,980 und zeigte mir dann nur den HTML-Code kam zurück. 820 00:45:34,980 --> 00:45:40,940 Lasst uns tatsächlich die Registerkarte Netzwerk nun eine Google-Suche, wie quick brown fox tun. 821 00:45:40,940 --> 00:45:43,010 Lassen Sie mich dann auf CS50 suchen, 822 00:45:43,010 --> 00:45:46,950 und jetzt, in der unteren bemerken, die hier eine ganze Menge Zeug kam zurück 823 00:45:46,950 --> 00:45:49,900 denn wenn ich unter einer echten Website wie Google.com, 824 00:45:49,900 --> 00:45:53,520 sie haben Bilder, sie Text haben, haben sie eine Sprache namens JavaScript dort. 825 00:45:53,520 --> 00:45:55,940 Also jede Zeile in dieser Tabelle hier unten 826 00:45:55,940 --> 00:46:01,490 stellt etwas dar, Google ausspucken als Antwort auf meine einzigen Anfrage. 827 00:46:01,490 --> 00:46:04,160 Der, den ich kümmern uns um, aber ist diese erste. 828 00:46:04,160 --> 00:46:08,420 Und wenn ich auf die Suche gehen, Anfrage, klicken Sie auf Quelle hier, 829 00:46:08,420 --> 00:46:11,300 feststellen, dass in der Tat die kryptische Nachricht, dass mein Browser gesendet 830 00:46:11,300 --> 00:46:15,010 Google war diese beiden Linien hier, 831 00:46:15,010 --> 00:46:18,420 gefolgt von einigen obskuren Informationen hier unten, die wir jetzt zu ignorieren werde. 832 00:46:18,420 --> 00:46:20,890 Beachten Sie aber auch, was Chrome ist sehr praktisch mit, 833 00:46:20,890 --> 00:46:24,540 es ist auch zeigt mir die Query-String, leider wurde 834 00:46:24,540 --> 00:46:27,410 Also anstatt zeigen mir das, was war buchstäblich geschickt, 835 00:46:27,410 --> 00:46:30,800 wenn ich es sehen decodiert, Chrome, nur für Debugging-Zwecke 836 00:46:30,800 --> 00:46:34,270 für Entwickler wie uns, es ist nur zeigt mir einen Menschen-freundliche Version der - 837 00:46:34,270 --> 00:46:36,390 das ist nicht, wie Sie fox buchstabieren, anscheinend. 838 00:46:36,390 --> 00:46:40,520 Ich bin nur zu bemerken, das jetzt - aber es zeigt, was ich anscheinend getippt. 839 00:46:40,520 --> 00:46:45,340 Unterdessen ist die Antwort, die zurück von dem Server kam wieder 200 OK. 840 00:46:45,340 --> 00:46:47,930 Aber in dieser Antwort enthaltenen natürlich 841 00:46:47,930 --> 00:46:51,920 wenn wir tatsächlich sehen der Seite HTML - 842 00:46:51,920 --> 00:46:55,440 sorry, das ist ein wenig Tastenkombination schief heute verschwunden. 843 00:46:55,440 --> 00:46:59,020 >> Ich werde mit dieser später beschäftigen. Also, wenn wir tatsächlich sehen der Seite Quelle, 844 00:46:59,020 --> 00:47:02,990 was ich tun kann, hier unten, indem Sie auf Antwort, 845 00:47:02,990 --> 00:47:10,080 Dies ist, was tatsächlich wieder ausspucken, zusätzlich zu dieser kryptischen 200 OK-Nachricht vom Server. 846 00:47:10,080 --> 00:47:12,520 Ein wenig kryptisch, aber wo ist all dies aus? 847 00:47:12,520 --> 00:47:15,570 Nun, lasst uns eine andere Sache hier. Ein weiteres etwas kryptisch-Befehl 848 00:47:15,570 --> 00:47:20,530 aber dieses ist irgendwie ordentlich, dass es zeigt uns genau, was los ist unter der Haube. 849 00:47:20,530 --> 00:47:22,530 Also habe ich wieder auf meinem Mac bin hier, habe ich verbunden 850 00:47:22,530 --> 00:47:25,980 über ein Programm namens SSH, Secure Shell, auf einen anderen Server 851 00:47:25,980 --> 00:47:28,940 weil die meisten der Harvard-Computer den Befehl blockieren wir zur Neige 852 00:47:28,940 --> 00:47:31,640 weil es diesen Befehl auf einigen Servern als traceroute 853 00:47:31,640 --> 00:47:34,810 das Ihnen erlaubt, um die Strecke zwischen den Punkten A und B zu verfolgen, 854 00:47:34,810 --> 00:47:37,020 und damit weit wir vollständig unter selbstverständlich 855 00:47:37,020 --> 00:47:40,170 dass ich in Google.com eingeben und irgendwie Daten zurück 856 00:47:40,170 --> 00:47:43,530 von der Mitte über dem Land oder in der Mitte der ganzen Welt. 857 00:47:43,530 --> 00:47:45,810 Mit traceroute können wir tatsächlich in ein wenig tiefer tauchen 858 00:47:45,810 --> 00:47:49,370 , wie das Internet funktioniert, und zu sehen, was los ist unter der Haube. 859 00:47:49,370 --> 00:47:54,440 So lassen Sie uns fortfahren und willkürlich verfolgen einen Weg zu, sagen wir, Stanford.edu, 860 00:47:54,440 --> 00:47:57,150 das ist im ganzen Land, und drücken Sie Enter. 861 00:47:57,150 --> 00:47:59,380 Dieser Befehl kann super-schnell oder super-langsame, 862 00:47:59,380 --> 00:48:02,010 aber was wir jetzt sehen, Zeile für Zeile, 863 00:48:02,010 --> 00:48:08,060 ist jeder der Schritte oder Sprünge zwischen uns und Palo Alto, oder Stanford, 864 00:48:08,060 --> 00:48:11,010 wo sie ihren Web-Server. 865 00:48:11,010 --> 00:48:16,600 Also, was bedeutet jede dieser Linien stellen konkret, obwohl? 866 00:48:16,600 --> 00:48:19,100 Ein Stück von Jargon aus dem Internet? [Student, unverständlich] 867 00:48:19,100 --> 00:48:21,570 >> Was ist das? [Student, unverständlich] 868 00:48:21,570 --> 00:48:25,390 >> Oh, so gibt es Zeiten, aber was bedeutet jede Zeile - was ich von Hop bedeuten? 869 00:48:25,390 --> 00:48:29,140 >> Nun, es gibt diese Dinge im Internet abgerufen Routern. 870 00:48:29,140 --> 00:48:33,020 Und Router, wie der Name schon vermuten lässt, Routeninformationen von Punkt A nach Punkt b. 871 00:48:33,020 --> 00:48:36,920 Aber es gibt einige Punkte, über a und b. 872 00:48:36,920 --> 00:48:40,010 Es gibt c und d und e und f zwischen Zeile 1, 873 00:48:40,010 --> 00:48:43,480 was passiert mit meinem Computer die IP-Adresse, 874 00:48:43,480 --> 00:48:46,890 oder meine numerische Adresse, die eindeutig identifiziert meinem Computer, 875 00:48:46,890 --> 00:48:50,300 und Schritt 15, das ist eigentlich das sechste Web-Server, 876 00:48:50,300 --> 00:48:54,640 offenbar dem ich daraus folgern, oder Version 6 ihrer Web-Server an der Stanford. 877 00:48:54,640 --> 00:48:56,680 Aber was ist eine Art ordentlich ist, können wir sehen den Weg 878 00:48:56,680 --> 00:49:00,480 dass meine 0 und 1 ist von meinem Computer unter den Stanford. 879 00:49:00,480 --> 00:49:02,500 So Schritt 1 ist meine eigene Computer-Adresse. 880 00:49:02,500 --> 00:49:05,760 Jeder Computer im Internet hat eine eindeutige Kennung, die wie folgt aussieht. 881 00:49:05,760 --> 00:49:08,150 Number.number.number.number. 882 00:49:08,150 --> 00:49:10,370 Irgendwo auf diesem Campus, wahrscheinlich im Science Center, 883 00:49:10,370 --> 00:49:16,780 wird ein Router namens Core Gateway-2-te83, was immer das bedeutet, 884 00:49:16,780 --> 00:49:20,590 so ist dies ein großer Phantasie Harvard Router, einen Großteil ihrer Verkehrswege. 885 00:49:20,590 --> 00:49:24,640 Hier ist ein weiteres der Harvard-Router, ist dies ein Border Gateway, 886 00:49:24,640 --> 00:49:28,310 border Bedeutung ist es wahrscheinlich an der Peripherie des Campus irgendwo. 887 00:49:28,480 --> 00:49:32,790 Dann gibt es nox ein, Reihe 4, die Northern Crossroads ist, 888 00:49:32,790 --> 00:49:35,070 was ein großer ISP, Internet Service Provider, 889 00:49:35,070 --> 00:49:37,740 dass Orte wie Harvard Anschluss von bis zu. 890 00:49:37,740 --> 00:49:40,760 Aber dann wird es ein wenig interessant in Zeile 6. 891 00:49:40,760 --> 00:49:45,960 Wo sind meine Bits alle auf einmal? Kansas. 892 00:49:45,960 --> 00:49:49,300 Die Welt hat eine Gewohnheit, mit Flughafen-Codes in einer Menge von diesen Dingen, 893 00:49:49,300 --> 00:49:52,900 oder zumindest Abkürzungen für Staaten oder Städten 894 00:49:52,900 --> 00:49:56,490 so wie es aussieht, in nur 60 ms, 895 00:49:56,490 --> 00:49:59,420 ein Paket von Informationen, ist 0 und 1 von meinem Laptop 896 00:49:59,420 --> 00:50:03,210 habe den ganzen Weg nach Kansas, und wieder, in 60 ms. 897 00:50:03,210 --> 00:50:08,180 >> Darüber hinaus wurde nach Kansas, nahmen sie eine Tour durch Houston, wahrscheinlich, 898 00:50:08,180 --> 00:50:10,140 wie durch den Namen des Servers vorgeschlagen. 899 00:50:10,140 --> 00:50:13,310 So wie ein Server im Internet muss eine numerische Adresse, 900 00:50:13,310 --> 00:50:18,360 es kann auch optional einen etwas menschenfreundliche-Adresse, dass der Mensch kam mit. 901 00:50:18,360 --> 00:50:20,510 Nun, in Schritt 8, wissen wir nicht, was das ist. 902 00:50:20,510 --> 00:50:22,550 Manchmal Router nur irgendwie ignorieren sie dich, 903 00:50:22,550 --> 00:50:25,010 und sie einfach nicht die Fragen beantworten, so ist das in Ordnung. 904 00:50:25,010 --> 00:50:29,290 Der eine nach Schritt 8 ist offenbar, wo? L.A. 905 00:50:29,290 --> 00:50:35,290 Beachten Sie in nur 78 ms, was bringt uns Menschen wie 6 + Stunden physisch tun, 906 00:50:35,290 --> 00:50:40,110 nimmt Pakete von Informationen über das Internet 78 ms, so weit zu fahren. 907 00:50:40,110 --> 00:50:45,890 Schritt 10 ist in LA als gut, und Schritt 11 scheint nach Norden gegangen, bis in der Nähe Stanford. 908 00:50:45,890 --> 00:50:48,750 Dies ist ihre Grenze Router oder Router Grenze. 909 00:50:48,750 --> 00:50:51,240 Ein paar Schritte an der Stanford, die uns zu ignorieren sind, 910 00:50:51,240 --> 00:50:55,610 und schließlich erreichen wir den Web-Server in nur 87 ms. 911 00:50:55,610 --> 00:50:57,760 Nun, all diese Zahlen, als beiseite, 912 00:50:57,760 --> 00:51:00,640 nur sagen, wie lange es Daten von mir bekommen hat 913 00:51:00,640 --> 00:51:03,530 Jedem dieser Router, und es ist nicht kumulativ. 914 00:51:03,530 --> 00:51:06,960 Was dieses Programm nicht ist, wird zuerst eine Nachricht sendet, im Wesentlichen zu dem ersten Router. 915 00:51:06,960 --> 00:51:09,490 Dann ein an den zweiten Router; dann zu dem dritten Router, 916 00:51:09,490 --> 00:51:12,610 Messen jeder Zeit. Also in der Theorie, werden diese Zeiten zu wachsen 917 00:51:12,610 --> 00:51:14,860 oder zumindest sehr nahe beieinander, 918 00:51:14,860 --> 00:51:18,090 und in der Tat sind diejenigen, die hier auf dem Campus super-klein. 919 00:51:18,090 --> 00:51:20,820 Sobald Sie gehen im ganzen Land beginnen, dauert es Daten 920 00:51:20,820 --> 00:51:24,830 ein wenig länger zu reisen, näher an 100 ms, geben oder nehmen. 921 00:51:24,830 --> 00:51:28,330 Aber gehen wir in die andere Richtung jetzt. Wie wäre es mit der Cambridge University in Großbritannien? 922 00:51:28,330 --> 00:51:32,540 Lassen Sie mich laufen anstatt traceroute von www.cam für Cambridge, 923 00:51:32,540 --> 00:51:36,710 . Ac für die akademischen,. Uk, und drücken Sie hier eingeben. 924 00:51:36,710 --> 00:51:38,830 Das war verdammt schnell. 925 00:51:38,830 --> 00:51:43,300 Meine Daten ging buchstäblich in Cambridge, England, in diesem Bruchteil einer Sekunde Zeit. 926 00:51:43,300 --> 00:51:45,340 >> Also mal sehen, den Weg, es dauerte. 927 00:51:45,340 --> 00:51:47,520 Harvard, Harvard, Harvard, Northern Crossroads, 928 00:51:47,520 --> 00:51:52,690 was ist ein ISP, und dann ist das Northern Crossroads, und dann bam. 929 00:51:52,690 --> 00:51:58,320 Was zwischen den Schritten 6 und 7,-Router 6 und 7? 930 00:51:58,320 --> 00:52:02,040 Der Atlantische Ozean. Und wir folgern dies aus der Tatsache, dass 931 00:52:02,040 --> 00:52:06,530 wir gehen von 20 ms hier 80 ms hier. 932 00:52:06,530 --> 00:52:10,050 So etwas dauerte 60 ms, geben oder nehmen, um über. 933 00:52:10,050 --> 00:52:12,910 Und das war wohl ein großer Körper von Wasser. 934 00:52:12,910 --> 00:52:15,250 Was geht danach? Nun, hier sind wir in London, 935 00:52:15,250 --> 00:52:18,860 nur 88 ms später. More London, mehr London, 936 00:52:18,860 --> 00:52:21,730 nicht sicher, wo das ist, aber wir nehmen an, es ist außerhalb von London, 937 00:52:21,730 --> 00:52:26,390 Cambridge hier, und schließlich haben wir - buchstäblich, University of Cambridge 938 00:52:26,390 --> 00:52:29,500 . Something.net, und dann, endlich, in Zeile 16, 939 00:52:29,500 --> 00:52:31,720 ihre Web-Server wird offenbar als Scorpius 940 00:52:31,720 --> 00:52:35,500 unter der Haube, auch wenn wir es wissen, wie www. 941 00:52:35,500 --> 00:52:38,790 Kind of mind-blowing, denke ich. Das erste Mal, dass ich das tat, es völlig blies meinen Verstand. 942 00:52:38,790 --> 00:52:41,670 Leider sperrt Harvard diese Art von Verkehr, typischerweise auf dem Netzwerk. 943 00:52:41,670 --> 00:52:44,340 So können Sie nicht tun, es ist super leicht. 944 00:52:44,340 --> 00:52:48,500 Zu realisieren, allerdings ist dies hier möglich. 945 00:52:48,500 --> 00:52:53,630 Gut. Nehmen wir unsere 5-minütige Pause hier. Wir kommen zurück und tauchen in tieferen. 946 00:52:53,630 --> 00:53:00,850 So sind wir wieder zurück, und wir haben solche über in ein paar verschiedene Richtungen hier schlenderte. 947 00:53:00,850 --> 00:53:03,700 Lassen Sie uns also genau das, was geht schon hier zusammenzufassen. 948 00:53:03,700 --> 00:53:07,990 Wir begannen das Gespräch reden über diese Sprache namens HTML. 949 00:53:07,990 --> 00:53:10,680 Auch nicht eine Programmiersprache. Es ist nur eine Markup-Sprache 950 00:53:10,680 --> 00:53:15,490 das ist vor allem um Ästhetik und Strukturierung von Inhalten in Form von einer Webseite. 951 00:53:15,490 --> 00:53:19,220 Aber HTML, muss daher eine Art von Mechanismus 952 00:53:19,220 --> 00:53:22,870 für Reisen zwischen Web-Browser und Server. 953 00:53:22,870 --> 00:53:28,360 HTML daher Art von Fahrten auf dieser anderen Sprache, 954 00:53:28,360 --> 00:53:31,280 oder genauer, ein Protokoll, wie HTTP bekannt. 955 00:53:31,280 --> 00:53:33,730 >> Und HTTP, wie wir es bisher gesehen, 956 00:53:33,730 --> 00:53:37,140 ist eine Art analog zu diesem menschlichen Konvention Händeschütteln. 957 00:53:37,140 --> 00:53:39,940 Wenn ein Browser eine Seite von einem Server anfordern will, 958 00:53:39,940 --> 00:53:43,450 sendet er, dass "get" Anfrage vom Browser zum Server, 959 00:53:43,450 --> 00:53:48,040 und dann der Server antwortet mit einer Nummer wie 200, ist alles okay, 960 00:53:48,040 --> 00:53:53,290 sowie der HTML oder eine schlechte Zahl wie 404, Datei nicht gefunden. 961 00:53:53,290 --> 00:53:58,220 Aber mittlerweile ist HTTP selbst nicht das Internet, per se. 962 00:53:58,220 --> 00:54:01,550 HTTP ist nur eine Dienstleistung, ein Merkmal des Internet 963 00:54:01,550 --> 00:54:05,530 ähnlich wie G-Chat ist ein weiterer Dienst, ähnlich wie E-Mail ist ein weiterer Service. 964 00:54:05,530 --> 00:54:09,180 Es gibt alle Arten von Dingen, die wir im Internet tun können. 965 00:54:09,180 --> 00:54:12,670 HTTP ist nur eine dieser Anwendungen. 966 00:54:12,670 --> 00:54:17,210 So auf der Oberseite - HTTP ist oben auf etwas anderes 967 00:54:17,210 --> 00:54:21,750 was wir nicht beim Namen zu nennen, könnten Sie nach Namen, TCP / IP gehört haben. 968 00:54:21,750 --> 00:54:25,160 So ist die Geschichte, die wir gerade gesagt, es dreht sich alles um 969 00:54:25,160 --> 00:54:28,720 wie Daten fährt von Punkt A nach Punkt B. 970 00:54:28,720 --> 00:54:30,950 Und in diesem Fall, sahen wir auf einem sehr niedrigen Niveau 971 00:54:30,950 --> 00:54:33,060 Router zu Router zu Router Router 972 00:54:33,060 --> 00:54:35,390 wie die Daten tatsächlich übertragen werden. 973 00:54:35,390 --> 00:54:40,510 Aber auf dem Weg, wird es verschiedene Hindernisse stoßen. 974 00:54:40,510 --> 00:54:43,770 Neben diesen Router, es gibt Dinge, genannt Firewalls auf dem Internet, 975 00:54:43,770 --> 00:54:46,680 und so Daten, wie dass wir gerade Übertragung 976 00:54:46,680 --> 00:54:49,720 von mir zu Stanford, von mir zu Cambridge, 977 00:54:49,720 --> 00:54:54,560 gesendet wird, auf dieser Ebene, rief etwas eine IP-Adresse. 978 00:54:54,560 --> 00:54:57,340 Wir sahen dies vor einem Augenblick, und eine IP-Adresse 979 00:54:57,340 --> 00:55:02,480 ist nur eine numerische Adresse der Form w.x.y.z, 980 00:55:02,480 --> 00:55:08,070 wo jeder von ihnen dazwischen ist, geben oder nehmen, 0 und 255, 981 00:55:08,070 --> 00:55:10,080 Sie können jedoch nicht ganz alle von diesen Zahlen. 982 00:55:10,080 --> 00:55:14,220 Aber jede dieser Platzhalter ist eine Zahl zwischen 0 und 255 annehmen. 983 00:55:14,220 --> 00:55:16,820 So eine IP-Adresse in diesen Tagen ist 32 Bit. 984 00:55:16,820 --> 00:55:20,780 >> Nun, das gibt uns, wie viele mögliche IP-Adressen in der Welt? 985 00:55:20,780 --> 00:55:24,420 Rund 4 Milliarden, weil jede Zeit, die wir in Potenzen von 2 Zählen sind 986 00:55:24,420 --> 00:55:27,760 den ganzen Weg bis zu 32 von etwas, das in der Regel gibt uns 4 Milliarden Euro. 987 00:55:27,760 --> 00:55:30,160 Also das ist eine Menge von IP-Adressen, aber vielleicht gelesen haben, 988 00:55:30,160 --> 00:55:32,410 oder Sie könnten nun in der Boulevardpresse bemerken, 989 00:55:32,410 --> 00:55:36,020 ein Druck in Richtung einer neuen Version des IP genannt IPV6. 990 00:55:36,020 --> 00:55:38,290 Momentan sind wir mit der Version 4. 991 00:55:38,290 --> 00:55:41,060 Es gibt wirklich nicht eine Version 5, sind wir nur springen Recht auf 6. 992 00:55:41,060 --> 00:55:46,760 Version 6 wird 128 Bit für IP-Adressen, die ausgeflippt ist riesig verwenden. 993 00:55:46,760 --> 00:55:49,430 Wir sollten nicht auslaufen seit geraumer Zeit jetzt, 994 00:55:49,430 --> 00:55:52,980 aber wir haben begonnen zu laufen aus Version 4 IP-Adressen, 995 00:55:52,980 --> 00:55:56,110 weil alle von uns haben nicht nur Dinge wie Laptops und Desktops 996 00:55:56,110 --> 00:55:58,700 Viele von uns haben Telefone, haben viele von uns anderen Geräten 997 00:55:58,700 --> 00:56:01,600 wie TiVo und dergleichen, die IP-Adressen haben sich. 998 00:56:01,600 --> 00:56:03,720 Harvard selbst hat Zehntausende von Computern. 999 00:56:03,720 --> 00:56:07,970 So ist die Welt wirklich läuft aus IP-Adressen, zumindest dieses Formular. 1000 00:56:07,970 --> 00:56:10,340 So in den nächsten paar Jahren, werden Sie um die Adressen zu sehen 1001 00:56:10,340 --> 00:56:12,870 auf Ihrem eigenen Computer wahrscheinlich langsam ändern 1002 00:56:12,870 --> 00:56:16,740 da mehr und mehr Unternehmen und Hochschulen starten, um die neue Version zu unterstützen. 1003 00:56:16,740 --> 00:56:22,770 Aber eine IP-Adresse ist nicht ausreichend für Computer ein, um Daten vom Computer b beantragen. 1004 00:56:22,770 --> 00:56:24,950 Weil Computer b könnte ein Server sein, 1005 00:56:24,950 --> 00:56:27,600 und einem Server, wie ich bereits erwähnt habe, tun können Bündel von Dingen. 1006 00:56:27,600 --> 00:56:29,940 Es kann Webseiten hosten, können Sie eine E-Mail-Server, 1007 00:56:29,940 --> 00:56:32,310 es kann ein Skype-Server sein, es kann ein G Chat-Server sein. 1008 00:56:32,310 --> 00:56:35,870 >> All diese verschiedenen Dienste, die auf einem Server bereitgestellt werden kann 1009 00:56:35,870 --> 00:56:38,330 könnten alle, physikalisch auf der gleichen Maschine sein. 1010 00:56:38,330 --> 00:56:40,380 So dass zusätzlich zu IP-Adressen, 1011 00:56:40,380 --> 00:56:43,250 hat die Welt Dinge genannt Ports auf dem Internet. 1012 00:56:43,250 --> 00:56:47,830 Ein Port ist nur eine Zahl, so gibt es eine eindeutige Nummer für HTTP. 1013 00:56:47,830 --> 00:56:50,280 Seine Zahl ist 80. 1014 00:56:50,280 --> 00:56:55,870 HTTP verwendet auch Nummer 443, aber genauer gesagt, für verschlüsselte HTTPS. 1015 00:56:55,870 --> 00:57:00,030 Wenn Sie die mal sehen, für eine sichere, das ist mit einer anderen Nummer. 1016 00:57:00,030 --> 00:57:06,580 Es gibt auch andere Zahlen, wie 25, so genannte SMTP verwendet, ansonsten als E-Mail bekannt. 1017 00:57:06,580 --> 00:57:09,620 Es gibt so etwas wie 22 für SSH, 1018 00:57:09,620 --> 00:57:11,850 und es gibt eine ganze Reihe von anderen Ports gibt. 1019 00:57:11,850 --> 00:57:14,460 Nun, wir Menschen nur selten sehen diese Zahlen. 1020 00:57:14,460 --> 00:57:21,970 Jedoch, wenn Sie geben in einer Adresse wie http://www.facebook.com, 1021 00:57:21,970 --> 00:57:26,560 Der Browser ist heimlich Einfügen 80, weil Sie mit HTTP sind. 1022 00:57:26,560 --> 00:57:30,630 Wenn Sie stattdessen Typ HTTPS, es heimlich Einfügen 443. 1023 00:57:30,630 --> 00:57:35,180 Und wir können irgendwie sehen diese manuell, wenn ich ziehen eine brower 1024 00:57:35,180 --> 00:57:41,850 und http://www.facebook.com:80 gehen. 1025 00:57:41,850 --> 00:57:44,550 Daher ausdrücklich zitiert nicht nur den Namen der Website 1026 00:57:44,550 --> 00:57:47,650 aber der Hafen, dass ich zu sprechen möchten, und drücken Sie Enter. 1027 00:57:47,650 --> 00:57:50,170 Beachten sie verschwindet, weil der Browser davon aus, 1028 00:57:50,170 --> 00:57:53,360 oh, 80, werde ich es gar nicht erst die Mühe zeigen, dass für Sie. 1029 00:57:53,360 --> 00:57:56,400 Aber der Grund dafür ist, dass, wenn ich wollte eigentlich jemand eine E-Mail zu senden, 1030 00:57:56,400 --> 00:58:02,340 Ich wäre wirklich Senden, um sie auf Port 25, dass ist SMTP. 1031 00:58:02,340 --> 00:58:04,890 Ein bisschen ein Simplifizierung, aber einige von euch haben Freunde 1032 00:58:04,890 --> 00:58:09,290 die tatsächlich bei Facebook arbeiten, und sie, ähnlich, haben Server, die E-Mail erhalten. 1033 00:58:09,290 --> 00:58:12,610 >> Jedes Mal, wenn Sie senden eine E-Mail, ist das, was gmail für Sie tun 1034 00:58:12,610 --> 00:58:14,960 oder Outlook oder was auch immer Programm, das Sie verwenden, 1035 00:58:14,960 --> 00:58:19,270 Es ist eine Art von heimlich Einsetzen diese Zahl als gut, 25, in diesem Fall. 1036 00:58:19,270 --> 00:58:24,490 Es ist diese Kombination aus IP-Adresse und die Nummer eindeutig identifiziert 1037 00:58:24,490 --> 00:58:29,190 ein Computer, auf dem Internet und ein bestimmter Dienst auf diesem Computer. 1038 00:58:29,190 --> 00:58:33,460 Nun, natürlich haben die meisten von uns wahrscheinlich niemals manuell eine IP-Adresse eingegeben haben. 1039 00:58:33,460 --> 00:58:37,340 Vielleicht haben Sie im Gerät, sondern in der realen Welt, nicht so viel. 1040 00:58:37,340 --> 00:58:42,750 Warum haben wir nicht geben IP-Adressen in Browsern? 1041 00:58:42,750 --> 00:58:45,860 Es würde funktionieren, in der Tat, wir können das sehen, lassen Sie mich Ihnen zeigen, 1042 00:58:45,860 --> 00:58:50,000 ein anderer Befehl, der fast überall arbeiten, sollten auf Harvard-Campus auf einem Mac oder einem PC. 1043 00:58:50,000 --> 00:58:53,970 Es ist das Kommando aufgerufen nslookup, Nameserver-Lookup. 1044 00:58:53,970 --> 00:58:59,960 Wenn ich www.cnn.com aussehen, es stellt sich heraus, dass CNN hat - oh, interessant. 1045 00:58:59,960 --> 00:59:03,180 CNN hat begonnen mit Amazon Web Services. 1046 00:59:03,180 --> 00:59:06,380 Sie könnten von Cloud Computing, Amazon einer der großen Akteure im Cloud Computing wissen. 1047 00:59:06,380 --> 00:59:10,240 Was ich gerade tat, war, sagte ich, "Gib mir die Adresse des CNN-Web-Server" 1048 00:59:10,240 --> 00:59:14,090 aber es stellt sich heraus, dass der CNN-Web-Server von Amazon verwaltet wird, 1049 00:59:14,090 --> 00:59:16,030 Amazon Web Services, deutet dies. 1050 00:59:16,030 --> 00:59:19,680 Und die Adresse des Servers ist das hier. 1051 00:59:19,680 --> 00:59:22,350 Also ich bin nicht sicher, ob dies funktionieren wird, weil sie nicht genutzt, um Amazon zu nutzen. 1052 00:59:22,350 --> 00:59:32,830 Aber lassen Sie uns versuchen, diese; http:// IP-Adresse, geben, und - 1053 00:59:32,830 --> 00:59:35,690 wird es funktionieren? 1054 00:59:35,690 --> 00:59:39,280 Ja. Es wird funktionieren. Internet ist super-slow heute. 1055 00:59:39,280 --> 00:59:43,680 Aber in einem Moment, sehen Sie einige Neuigkeiten Geschichte. 1056 00:59:43,680 --> 00:59:48,360 Dort gehen wir. Bank of America ist verklagt. Gut. 1057 00:59:48,360 --> 00:59:54,000 >> Dies liegt daran, diese IP-Adresse nur zufällig durch gleichbedeutend mit www.cnn.com. 1058 00:59:54,000 --> 00:59:59,920 Natürlich wäre es schrecklich Marketing sein zu sagen, besuchen Sie uns im Web unter 50.112.94.127. 1059 00:59:59,920 --> 01:00:02,370 Du würdest nie erinnern. So auch diese Tage, die Sie erinnern sich vielleicht an die Dinge 1060 01:00:02,370 --> 01:00:07,210 wie 1-800-COLLECT oder Eselsbrücken die Welt kam mit für Telefonnummern. 1061 01:00:07,210 --> 01:00:09,540 Welche, vor Handys, waren ziemlich schwer zu merken 1062 01:00:09,540 --> 01:00:11,800 bis Sie konnte nur eingeben und vergessen Sie es. 1063 01:00:11,800 --> 01:00:15,730 Also das Web, hat auch diese Konvention von Namen und IP-Adressen, 1064 01:00:15,730 --> 01:00:17,770 und es sind diese Dinge gibt als DNS-Server, 1065 01:00:17,770 --> 01:00:23,870 Domain-Namen-Systems-Server, die IP-Adressen in Namen und umgekehrt übersetzen. 1066 01:00:23,870 --> 01:00:26,340 Also das ist, was passiert unter der Haube. 1067 01:00:26,340 --> 01:00:29,540 Am Ende haben wir TCP / IP, das dies sehr low-level Protokoll 1068 01:00:29,540 --> 01:00:32,570 das, wirklich, nur bekommt 0 und 1 ist über das Internet, 1069 01:00:32,570 --> 01:00:36,030 und sie tut dies, indem sie in einer virtuellen Umschlag, 1070 01:00:36,030 --> 01:00:38,820 wenn man so will, und das Schreiben auf der Außenseite des Umschlags 1071 01:00:38,820 --> 01:00:43,930 die IP-Adresse des Ziel-als auch die numerische Portnummer 1072 01:00:43,930 --> 01:00:47,520 der Dienst auf diesem Ziel, das sie sprechen will. 1073 01:00:47,520 --> 01:00:51,060 Inzwischen auf dem Umschlag gibt es auch etwas bekannt als Absenderadresse 1074 01:00:51,060 --> 01:00:55,600 das ist Ihre IP-Adresse, so dass, wenn CNN ein Paket von Informationen bekommt von Ihnen, 1075 01:00:55,600 --> 01:00:58,710 öffnet dieses virtuellen Umschlag, sieht, dass Sie die Homepage möchten, 1076 01:00:58,710 --> 01:01:04,630 sie weiß von dem Absender Teil dieser virtuellen Umschlag, den die HTML zurück zu senden. 1077 01:01:04,630 --> 01:01:07,470 Werfen wir also einen Blick auf diese in ein wenig mehr Details. 1078 01:01:07,470 --> 01:01:11,370 Dies ist von einer Firma namens Ericson, von ein paar Jahre zurück. 1079 01:01:11,370 --> 01:01:14,780 Und sie nahmen einige Freiheiten mit, wie das Internet funktioniert tatsächlich, 1080 01:01:14,780 --> 01:01:18,920 aber es zeichnet ein viel visuelles Bild als bloße Kreide hier oben. 1081 01:01:18,920 --> 01:01:26,690 So gebe ich euch "A Bit des Internet." 1082 01:02:26,660 --> 01:02:29,840 >> [Erzähler] Zum ersten Mal in der Geschichte, 1083 01:02:29,840 --> 01:02:35,260 Mensch und Maschine arbeiten zusammen, einen Traum zu verwirklichen. 1084 01:02:35,260 --> 01:02:38,910 Eine einigende Kraft, die keine geographischen Grenzen kennt. 1085 01:02:38,910 --> 01:02:43,230 Ohne Rücksicht auf Rasse, Glauben oder Farbe. 1086 01:02:43,230 --> 01:02:47,770 Eine neue Ära in der Kommunikation wirklich bringt Menschen zusammen. 1087 01:02:47,770 --> 01:02:50,070 Dies ist 1088 01:02:50,070 --> 01:02:54,980 Die Dawn of the Net. 1089 01:02:54,980 --> 01:03:04,640 Wollen Sie wissen, wie es funktioniert? Klicken Sie hier, um Ihre Reise in die Net beginnen. 1090 01:03:04,640 --> 01:03:07,890 Jetzt passiert genau das, was, wenn man auf den Link geklickt? 1091 01:03:07,890 --> 01:03:10,150 Sie begannen einen Fluss von Informationen. 1092 01:03:10,150 --> 01:03:13,310 Diese Information fährt nach unten in Ihren persönlichen Poststelle 1093 01:03:13,310 --> 01:03:18,500 wo Herr IP-Pakete ist, kennzeichnet sie und sendet sie auf ihrem Weg. 1094 01:03:18,500 --> 01:03:20,960 Jedes Paket wird in ihrer Größe begrenzt. 1095 01:03:20,960 --> 01:03:23,880 Die Poststelle muss entscheiden, wie die Informationen teilen 1096 01:03:23,880 --> 01:03:26,070 und wie es zu verpacken. 1097 01:03:26,070 --> 01:03:29,550 Jetzt muss das Paket ein Etikett mit wichtigen Informationen 1098 01:03:29,550 --> 01:03:35,570 wie Absenderadresse, Empfängeradresse, und dem Typ des Pakets ist. 1099 01:03:51,700 --> 01:03:54,980 Da dieses bestimmte Paket wird in das Internet, 1100 01:03:54,980 --> 01:03:57,720 es wird auch eine Adresse für den Proxy-Server, 1101 01:03:57,720 --> 01:04:01,520 die eine spezielle Funktion, wie wir später sehen werden. 1102 01:04:01,520 --> 01:04:06,650 Das Paket wird nun auf Ihrem lokalen Netzwerk oder LAN gestartet. 1103 01:04:06,650 --> 01:04:10,160 Dieses Netzwerk wird verwendet, um alle lokalen Computer verbinden ' 1104 01:04:10,160 --> 01:04:15,900 Router, Drucker, etc., für den Informationsaustausch innerhalb der physischen Mauern des Gebäudes. 1105 01:04:15,900 --> 01:04:20,290 Das LAN ist ein ziemlich unkontrollierten Platz, und, leider, 1106 01:04:20,290 --> 01:04:23,950 Unfälle können passieren. 1107 01:04:31,190 --> 01:04:34,710 Die Autobahn im LAN und ist mit allen Arten von Informationen verpackt. 1108 01:04:34,710 --> 01:04:38,900 Das sind IP-Pakete, Novell-Pakete, AppleTalk-Pakete. 1109 01:04:38,900 --> 01:04:41,270 Sie sind gegen den Datenverkehr, wie üblich. 1110 01:04:41,270 --> 01:04:44,260 Der lokale Router liest die Adresse und, falls erforderlich, 1111 01:04:44,260 --> 01:04:48,520 hebt das Paket auf einem anderen Netzwerk. 1112 01:04:48,520 --> 01:04:54,270 Ah, der Router. Ein Symbol der Kontrolle in einer scheinbar ungeordneten Welt. 1113 01:04:54,270 --> 01:05:05,480 [Router murmelt und spricht zu sich selbst] 1114 01:05:05,480 --> 01:05:10,030 >> [Erzähler] Da ist er, systematisch, gefühllos, methodisch, 1115 01:05:10,030 --> 01:05:14,150 konservativ, und manchmal nicht ganz auf dem Laufenden. 1116 01:05:14,150 --> 01:05:17,680 Aber wenigstens ist er genau, zum größten Teil. 1117 01:05:32,270 --> 01:05:36,820 Da die Pakete den Router verlassen, machen sie ihren Weg in das Unternehmensnetzwerk Internet 1118 01:05:36,820 --> 01:05:40,830 und Kopf für den Router einschalten. 1119 01:05:40,830 --> 01:05:46,250 Etwas weniger als die Router, spielt der Router-Schalter schnell und lose mit IP-Paketen, 1120 01:05:46,250 --> 01:05:48,920 Geschickt leitet sie auf ihrem Weg. 1121 01:05:48,920 --> 01:05:52,130 Eine digitale "Pinball Wizard", wenn man so will. 1122 01:05:52,130 --> 01:06:04,270 [Router Switch zu reden selbst] 1123 01:06:09,830 --> 01:06:12,150 [Erzähler] Wie Pakete ihr Ziel erreichen, 1124 01:06:12,150 --> 01:06:14,740 sie sind durch die Netzwerkschnittstelle aufgenommen, 1125 01:06:14,740 --> 01:06:18,040 bereit, um die nächste Stufe gesendet werden. 1126 01:06:18,040 --> 01:06:21,010 In diesem Fall der Proxy. 1127 01:06:21,010 --> 01:06:25,040 Der Proxy wird von vielen Unternehmen als eine Art Mittelsmann eingesetzt 1128 01:06:25,040 --> 01:06:27,630 Um zur Verringerung der Belastung der Internetverbindung 1129 01:06:27,630 --> 01:06:32,240 und aus Gründen der Sicherheit, wie gut. 1130 01:06:32,240 --> 01:06:38,750 Wie Sie sehen können, sind die Pakete alle verschiedenen Größen je nach deren Inhalt. 1131 01:06:55,210 --> 01:07:01,890 Der Proxy öffnet das Paket und sieht für die Web-Adresse oder URL. 1132 01:07:01,890 --> 01:07:04,950 Abhängig davon, ob die Adresse ist akzeptabel, 1133 01:07:04,950 --> 01:07:08,000 das Paket wird an das Internet gesendet werden. 1134 01:07:13,890 --> 01:07:19,630 Es gibt jedoch einige Adressen, die nicht mit der Zustimmung des Proxy nicht erfüllen. 1135 01:07:19,630 --> 01:07:25,680 Das heißt, Unternehmen oder Management-Richtlinien. 1136 01:07:25,680 --> 01:07:30,580 Diese werden zusammenfassend behandelt. 1137 01:07:30,580 --> 01:07:32,410 Wir müssen nichts davon. 1138 01:07:32,410 --> 01:07:36,350 Für diejenigen, die es machen, ist es auf der Straße wieder. 1139 01:07:46,850 --> 01:07:53,310 >> Weiter oben, die Firewall. 1140 01:07:53,310 --> 01:07:57,410 Die Unternehmens-Firewall dient zwei Zwecken. 1141 01:07:57,410 --> 01:08:02,420 Es verhindert, dass einige ziemlich böse Dinge aus dem Internet kommen, um das Intranet, 1142 01:08:02,420 --> 01:08:10,280 und es kann auch verhindern, dass sensible Unternehmensdaten davor in das Internet gesendet werden. 1143 01:08:10,280 --> 01:08:12,980 Einmal durch die Firewall, nimmt ein Router das Paket 1144 01:08:12,980 --> 01:08:18,180 und legt sie auf einen viel schmaleren Straße, oder die Bandbreite, wie wir sagen. 1145 01:08:18,180 --> 01:08:23,720 Offensichtlich ist die Straße nicht breit genug, um sie alle zu nehmen. 1146 01:08:23,720 --> 01:08:29,319 Nun fragen Sie sich vielleicht, was passiert mit all den Paketen, die es nicht schaffen auf dem Weg. 1147 01:08:29,319 --> 01:08:32,270 Nun, wenn Herr IP keine Bestätigung 1148 01:08:32,270 --> 01:08:35,000 dass ein Paket rechtzeitig empfangen wurde, 1149 01:08:35,000 --> 01:08:39,890 Er schickt einfach einen Ersatz-Paket. 1150 01:08:39,890 --> 01:08:44,760 Wir sind nun bereit, die Welt des Internets geben. 1151 01:08:44,760 --> 01:08:49,370 Ein Spinnennetz von miteinander verbundenen Netzwerken, die unsere gesamten Globus umspannen. 1152 01:08:49,370 --> 01:08:56,050 Hier etablieren Routern und Switches Verbindungen zwischen Netzwerken. 1153 01:08:56,050 --> 01:08:59,200 Nun ist das Net ein ganz anderes Umfeld als finden Sie 1154 01:08:59,200 --> 01:09:01,569 innerhalb der schützenden Mauern Ihrem LAN. 1155 01:09:01,569 --> 01:09:04,060 Hier draußen ist es der Wilde Westen. 1156 01:09:04,060 --> 01:09:06,359 Viel Platz, viele Möglichkeiten, 1157 01:09:06,359 --> 01:09:09,760 viele Dinge zu erkunden und Orte zu gehen. 1158 01:09:09,760 --> 01:09:12,760 Dank sehr wenig Kontrolle und Regulierung, 1159 01:09:12,760 --> 01:09:18,300 neue Ideen zu finden fruchtbaren Boden, um den Umschlag ihrer Möglichkeiten zu schieben. 1160 01:09:18,300 --> 01:09:22,330 Aber wegen dieser Freiheit, gewisse Gefahren lauern auch. 1161 01:09:22,330 --> 01:09:27,000 Du wirst nie wissen, wann Sie das gefürchtete ping of death treffen werde, 1162 01:09:27,000 --> 01:09:29,890 eine spezielle Version von einer normalen Anfrage ping, 1163 01:09:29,890 --> 01:09:35,720 denen irgendein Idiot dachte, bis zu mess up ahnungslosen Gastgeber. 1164 01:09:35,720 --> 01:09:39,130 Der Weg unserer Pakete nehmen kann über Satellit, 1165 01:09:39,130 --> 01:09:43,090 Telefonleitungen, Wireless, oder sogar transoceanic Kabel. 1166 01:09:43,090 --> 01:09:46,520 Sie haben nicht immer die schnellsten oder kürzesten Routen möglich, 1167 01:09:46,520 --> 01:09:50,290 aber sie werden es irgendwann. 1168 01:09:50,290 --> 01:09:55,230 Vielleicht ist das, warum es manchmal heißt "The World Wide Wait". 1169 01:09:55,230 --> 01:09:57,980 Aber wenn alles reibungslos funktioniert, 1170 01:09:57,980 --> 01:10:03,800 Sie können den Globus fünfmal Umgehung an der Tropfen einen Hut, buchstäblich. 1171 01:10:03,800 --> 01:10:08,230 Und das alles für die Kosten für ein Ortsgespräch oder weniger. 1172 01:10:08,230 --> 01:10:15,070 Nahe dem Ende unser Ziel, wir finden eine andere Firewall. 1173 01:10:15,070 --> 01:10:18,420 >> Abhängig von Ihrer Perspektive als Datenpaket, 1174 01:10:18,420 --> 01:10:23,730 die Firewall könnte eine Bastion der Sicherheit oder einem gefürchteten Gegner sein. 1175 01:10:23,730 --> 01:10:28,530 Es hängt alles davon ab, welche Seite du stehst und was Ihre Absichten sind. 1176 01:10:28,530 --> 01:10:34,990 Die Firewall ist so konzipiert, nur in den Paketen, die die Kriterien erfüllen zu lassen. 1177 01:10:34,990 --> 01:10:39,360 Diese Firewall ist auf den Ports 80 und 25 in Betrieb. 1178 01:10:39,360 --> 01:10:46,630 Alle Versuche, durch andere Häfen anzulaufen sind für Geschäftsreisende geschlossen. 1179 01:10:57,660 --> 01:11:03,480 Port 25 wird für E-Mail-Pakete verwendet, 1180 01:11:03,480 --> 01:11:10,720 während Port 80 ist der Eintritt für Pakete aus dem Internet an den Webserver. 1181 01:11:10,720 --> 01:11:15,080 Innerhalb der Firewall, werden Pakete abgeschirmt gründlicher. 1182 01:11:15,080 --> 01:11:17,970 Einige Pakete machen es leicht durch den Zoll, 1183 01:11:17,970 --> 01:11:21,420 während andere schauen nur ein bisschen zweifelhaft. 1184 01:11:21,420 --> 01:11:24,060 Jetzt ist die Firewall Offizier nicht leicht täuschen, 1185 01:11:24,060 --> 01:11:32,120 beispielsweise wenn dieser Ping des Todes Paket an sich selbst als eine normale Ping-Paket verschleiern versucht. 1186 01:11:32,120 --> 01:11:37,520 [Firewall-Offizier im Gespräch mit Paketen] 1187 01:11:37,520 --> 01:11:40,510 [Erzähler] Für diese Pakete Glück genug, um es so weit zu machen, 1188 01:11:40,510 --> 01:11:45,730 die Reise ist fast vorbei. 1189 01:11:45,730 --> 01:11:52,130 Es ist nur ein Line-Up auf der Oberfläche bis in die Web-Server übernommen werden. 1190 01:11:52,130 --> 01:11:55,440 Heutzutage kann ein Web-Server auf viele Dinge laufen, 1191 01:11:55,440 --> 01:11:59,230 von einem Mainframe auf eine Web-Cam an den Computer auf Ihrem Schreibtisch. 1192 01:11:59,230 --> 01:12:01,720 Warum nicht Ihrem Kühlschrank? 1193 01:12:01,720 --> 01:12:04,870 Mit der richtigen Einstellung können Sie herausfinden, ob Sie das Zeug haben, 1194 01:12:04,870 --> 01:12:08,390 für Chicken Cacciatore, oder wenn Sie einkaufen gehen. 1195 01:12:08,390 --> 01:12:11,760 Denken Sie daran, dies ist der Beginn des Net. 1196 01:12:11,760 --> 01:12:17,310 Fast alles ist möglich. 1197 01:12:17,310 --> 01:12:20,440 Einer nach dem anderen werden die empfangenen Pakete, 1198 01:12:20,440 --> 01:12:26,320 geöffnet und ausgepackt. 1199 01:12:26,320 --> 01:12:31,200 Die Informationen, die sie enthalten, das heißt, Ihre Anfrage zu Informationen, 1200 01:12:31,200 --> 01:12:34,830 auf dem Web-Server-Anwendung gesendet. 1201 01:12:41,540 --> 01:12:47,140 Das Paket selbst ist Recycling-Papier, 1202 01:12:47,140 --> 01:12:57,570 bereit, wieder verwendet werden, und mit Ihren angeforderten Informationen, 1203 01:12:57,570 --> 01:13:03,340 adressiert und verschickt auf dem Weg zurück zu Ihnen. 1204 01:13:03,340 --> 01:13:13,250 Zurück Vergangenheit die Firewall, Routern, und weiter durch das Internet. 1205 01:13:13,250 --> 01:13:21,020 Zurück durch Firewall Ihres Unternehmens 1206 01:13:21,020 --> 01:13:24,180 und auf Ihre Schnittstelle, 1207 01:13:24,180 --> 01:13:31,180 bereit, Ihren Web-Browser mit der von Ihnen angeforderten Informationen zu liefern. 1208 01:13:31,180 --> 01:13:39,840 Das heißt, der Film. 1209 01:13:39,840 --> 01:13:43,550 Zufrieden mit ihren Bemühungen, und Vertrauen in die bessere Welt, 1210 01:13:43,550 --> 01:13:50,250 unsere treuen Datenpakete reite selig in den Sonnenuntergang von einem anderen Tag, 1211 01:13:50,250 --> 01:13:56,880 Wissen voll haben sie ihren Herren gut gedient. 1212 01:13:56,880 --> 01:14:02,560 Nun, ist das nicht ein Happy End? 1213 01:14:02,560 --> 01:14:07,040 [Malan] Okay, das ist genug. Wir sehen uns nächste Woche. 1214 01:14:07,040 --> 01:14:10,040 [CS50.TV]