>> Alles klar.
Also lassen Sie eintauchen in einige technische Angaben.
Hoffentlich mit etwas, was eines Softball Frage.
HTTP ist das Ziel der heutigen einfach nicht geben uns eine mentale
Modell für die Typen von Anwendungen
und Projekte sind wir gehen, um die Umsetzung.
Am Mittwoch werden wir den Übergang in mehr Tiefe, um Dinge wie MVC
und insbesondere Laravel und ORM
, mit dem wir werden sprechen Sie mit einer Datenbank.
Aber für heute machen wir mal die Bühne für die Gespräche.
HTTP ist was?
Hypertext Transfer Protocol?
OK, was bedeutet das?
Ja.
[Inaudible Bemerkung]
OK. Schließen.
Es ist das andere.
Nicht HT - das ist, dass HTML.
HTTP ist das eine, die tut, was genau?
>> Ist das der Dienst, der wie überträgt Text zurück
und her zwischen den Servern?
>> Ja genau.
Es ist der Server.
Also, eigentlich ist es das Protokoll.
Es ist die Reihe von Konventionen die verwendet werden,
, um Informationen zu übertragen und zurück her zwischen Client und Server.
Und, dass die Informationen in der Regel erfolgt in Form von HTML,
Hypertext Markup Language die ist die offen-Tags und End-Tags.
Also, wenn Sie etwas tun Client hier links dargestellte
und einige Server vertreten hier auf der rechten Seite.
Die Pfeile hin und her
zwischen ihnen darstellen dass die Sprache HTTP.
Und wenn mit 50 vertraut zu Beispiel im letzten Jahr oder ein paar
von Jahren, die Dir vielleicht erinnern, dass wir es beschrieben
als Protokoll in dem Sinne, , dass, wenn ich zum ersten Mal jemanden zu treffen,
Ich könnte meine Hand ausstrecken und sagen, hallo, und man könnte sagen -
>> Hallo.
>> Hallo. Und nun, diese Art der Transaktion zwischen Client
und Server ist abgeschlossen.
Gut.
So HTTP ist nur ein Satz von Konventionen.
Und unter dieser Übereinkommen ist es, bestimmte Nachrichten zu senden.
So zum Beispiel, öffnen wir Chrome.
Und für den Kurs, können Sie verwenden die meisten sicherlich jedem Browser,
aber Chrome eher wahrscheinlich die beliebteste in diesen Tagen.
Denn es hat eine ganze Suite von Tools eingebaut
Lassen Sie uns weitermachen und Inspect Element.
Lassen Sie mich auf die Registerkarte Netzwerk gehen und lassen Sie mich etwas gehen
wie http://www.cs164.net und drücken Sie Enter
nach der ersten Kollision mit Rekord Incase wir umgeleitet.
Und jetzt werden wir einen ganzen Haufen zu sehen
der Zeilen in dieser Tabelle.
Was macht jeder diese Zeilen stellen
wenn Sie eine Web-Seite zu besuchen?
Ja?
[Inaudible Bemerkung]
Genau. Alle Dateien Ich habe gerade angefordert werden angezeigt
als eine einzelne Zeile in der kleine Tisch gibt,
aber warten Dateien.
Ich habe nur ein angefordert solche Datei, rechts,
vermutlich index.html oder index.php.
Sie könnten Links sein, oder?
Sicherlich gibt es Bild Tags innerhalb der dort
gibt es Link-Tags für CSS, gibt es Script-Tags
JavaScript und eine ganze Reihe von anderen Tags
dass tatsächlich ziehen könnte
in zusätzlichen Dateien Art rekursiv.
Und so ist das, was wir sehen.
Wenn wir jetzt nach oben zu Ganz oben von diesen,
feststellen, dass wir zuerst ein das ist eigentlich ganz neugierig.
Er sagt, unsere Website bewegt vorübergehend,
der Statuscode so zu sprechen, ist 302.
Es gibt ein anderes ähnliches, 301, die permanent bewegt.
Und wenn man vorübergehend oder fest, was bedeutet das?
Was sollten Sie Ihre Augen werden, um für die Suche
zu beantworten, wo haben wir uns bewegen?
Die aktuelle und Länge.
OK. So konnte sicher schließen, wo wir am Ende.
Und anscheinend landete ich bei canvas.harvard.edu / etwas
was viel schwieriger ist zu erinnern.
Aber technisch, ich will eine Umleitung Problem zu diagnostizieren.
Ich möchte verstehen, wo ich bin gehen von Punkt A nach Punkt B
zu einem Punkt, Punkt, Punkt, dot canvas.harvard.edu
in diesem mehr geheimnis Schnittstelle der Header.
Wie kann ich eine Frage beantworten, von das Formular, wo habe ich umziehen?
Lage. Gut.
Also, wenn ich hier nach unten scrollen zu den Antwortheader
bemerken, dass diese die Header und lassen Sie mich es zu ändern.
Dies ist eine Art von einem hübschen gedruckte Version von Chrome.
Lassen Sie uns auf Quelltext anzeigen.
Dies ist der Text, der Roh- der Apache Web-Server.
Und ich weiß, dass durch die mit einem Blick auf diese Linie hier.
Und Apache ist nur kostenlos und Open-Source-Software.
Es ist wohl die beliebteste Web-Server-Software gibt.
Das ist das Ergebnis der Handshake kommt zu mir zurück.
Und wenn ich irgendwie schauen was in der Hand war
oder die virtuelle Briefumschlag, die stellt die Pakete,
gehen über den Draht im Inneren
von diesen ist, dass mehrere Textzeilen.
Und da Browser sich selbst sprechen HTTP,
sie sind vorprogrammiert von Google und Microsoft
und andere Unternehmen um für diese Linie zu suchen.
Und wenn es Lage sieht: was hat es mit der URL zu tun
nach dem Doppelpunkt vermutlich?
Es geht zu.
Und wir können das sehen, in einer beliebigen Anzahl von Möglichkeiten.
In der Tat, eine sehr praktische Werkzeug besonders auf Linux
und Mac OS ist, wenn ich öffnen ein Terminal-Fenster hier
und ich rollen und ich-I und fügen Sie diese URL gibt.
Es ist eine gute Angewohnheit, Anführungszeichen zu verwenden
weil, wenn Sie jemals Fragen Marken
oder andere funky-Zeichen, Sie können tatsächlich Art
von verwirren die Befehlszeile.
Aber wenn Sie die URL dort zu zitieren, Jetzt werden wir alle sehen, genau
der Header, die zurück kamen.
Und in diesem Fall tatsächlich Ich habe die falsche.
Ich habe die Leinwand-URL.
Lassen Sie uns http://www.cs164.net.
Sie Enter. Es gibt genau die gleichen Überschriften.
Und wenn ich will, um zu sehen, nächste was kommt zurück,
Ich kann nur manuell machen.
So locken ist nur irgendwie schnell Diagnose-Tool und schmutzig hier,
curl-I und jetzt, URL wieder und diese sind alle Header
dass jetzt wieder canvas.harvard.edu.
Welche zusätzlichen Informationen schicken sie uns?
Es ist ein wenig abgeschnitten.
Lassen Sie mich dieses über zu bewegen.
So eine dieser Leitungen Interessant ist.
So Inhaltslänge, das ist wie viele Bytes waren innerhalb
der virtuelle Envelope dass kam zurück.
Inhaltstyp es ist HTML, es könnte etwas anders sein
wenn es ein PNG oder ein GIF-oder JPEG.
In der Tat, allgemein gesprochen, was diese Zeichenfolge genannt?
Es sind diese einzigartigen Zeichenfolgen in der Welt
dass eindeutig beschreiben verschiedene Datentypen.
Dies ist eine sogenannte MIME-Typ, M-I-M-E-Typ.
So hat die Welt standardisiert
dass. png Ich denke, ist "image / png".
Die Welt ist standardisiert dass in HTML-Datei ist text / html.
Die Welt ist standardisiert, dass eine mp4-, Film-Datei ist video/mp4.
Das sind also die einzigartige Token dass Browser in der Regel verwenden
zu bestimmen, ob, um zu spielen es als ein Film, es angezeigt
als Bild zu rendern als HTML oder dergleichen.
Welche Server funktioniert - Instructure das Unternehmen hinter Leinwand
scheinbar benutzen?
So Apache zu, so dass sie mit das gleiche Werkzeug, und wir sehen können
dass über diese Leitung hier.
Nebenbei, eigentlich haben sie etwas getan, die intelligent ist
dass nicht alle Websites zu tun.
Sehr oft Websites ausspucken,
nicht nur, dass sie Apache, sondern auch
dass sie laufen Apache-Version 2.1.3.
Aber diese Jungs haben Smart und deaktiviert die Versionsnummer.
Warum ist das so smart?
Ja.
Vielleicht, weil bestimmte >> Version entdeckt werden könnte
und haben insbesondere Schwachstellen
[Unverständlich] offensichtlich.
>> Genau.
Es ist ein Potenzial Bedrohung der Sicherheit.
Wenn Sie im Wesentlichen sind Ausstrahlung der Welt, hey,
wir laufen diese Version.
Hey wir diese Version.
Es ist nicht so hart mit Google oder einfach nur entspannen sogar zu stecken
um zufällige IP-Adressen
und finden Menschen laufen Buggy Software und dann angreifen
von was auch immer dokumentiert bedeutet, es gibt.
Nun, warum ist es immer noch Apache sagen?
Wohl, ist diese Art von grundlose Informationen.
Na ja, macht es einfach, Apache schalten Sie die Versionsnummer
aber nicht ihre Art hinter die Szenen Branding in dieser Weise.
Und dies ist, wie Google und andere Unternehmen wissen, welche Web-Server
Menschen laufen werden, weil sie gerade die ganze Welt erzählen
jedes Mal, wenn sie zu besuchen.
Also Cookies werden auch wieder kommen.
Aber Sie erinnern sich vielleicht, dass Cookies sind eine Art große eindeutige Nummern
die typischerweise gerne ein Stempel auf die Hand des Benutzers.
Es ist ein wenig Datei oder ein Daten im Browser gepflanzt
daran zu erinnern, wer der Benutzer ist.
Status-200 ist gut.
X-Leinwand-Meta, so was ist das alles?
Nun, lange Rede kurzer Sinn, die Welt hat sich auch die Welt erlaubt
zu kommen mit beliebigen, HTTP Header und wenn man sie voran
mit X, dass nur bedeutet, dass sie Brauch.
Und es ist eine schöne Art, auch Diagnosezwecken
Wenn Sie die Entwicklung eine web-basierte Anwendung
und Sie in der Lage sein wollen
hinter die Kulissen zu sehen, die Sie wissen, was Back-End-Server Spieß
aus dieser Antwort oder was Versionsnummer, die ausgeführt wird,
auf diesem Server.
Oder was ist seine interne IP-Adresse,
keine Sache, wo Sie vielleicht wollen einige interne Einblick
auf etwas, das ist geht, Sie spucken kann
Ihre eigenen willkürlichen HTTP-Header auf diese Weise.
Aber die Geschichte begann mit Öffnung der Website des Platz.
Und wir alle diese sah Zeilen in der Registerkarte Netzwerk.
Das erste war der meisten Interesse, die uns umgeleitet
zum nächsten und dann bekamen wir zu dieser Antwort wieder hier.
Also, wo ist canvas.harvard.edu?
Lassen Sie uns ein wenig drücken weiter und Art
der folgenden Brotkrumen.
Canvas.harvard.edu ist offenbar von der Harvard gehört.
Sie verursachten diese Sub-Domain canvas.harvard.edu genannt.
Wie würde ich herausfinden, wo
in der Welt canvas.harvard.edu Leben?
Oder vielleicht genauer Was ist seine IP-Adresse?
Wie können wir das herausfinden?
Ja?
[Inaudible Bemerkung]
Absolut.
Also das ist eigentlich die Antwort auf ein paar Fragen gibt.
Die erste solche einfachen Werkzeug würde sein etwas namens NSlookup
obwohl es andere Dinge genannt.
Nameserver-Lookup und Ich kann etwas geben
wie canvas.harvard.edu.
Sie Enter. Und das wird sich geben mich offenbar eine ganze Reihe
Antworten.
Aber mal sehen, wenn nicht kann Sinn dafür.
So scheint,
canvas.harvard.edu ist eine kanonische Name
für dieses grauen aussehendes Ding,
Harvard-vanity.instructure.com.
Also, was ist denn hier los?
Während inzwischen wenn wir lesen Sie,
Harvard-vanity.instructure.com hat einen kanonischen Namen
von etwas noch kryptische,
Harvard-170 etwas -Us-east-1.elb.amazon.aws.
Darüber hinaus behebt das Ding
scheinbar drei verschiedene IP-Adressen.
So was in der Welt nicht alle von ihnen das?
Ja?
[Inaudible Bemerkung]
OK. Gut. Und lassen Sie mich zwicken eine Sache, die du gesagt hast,
es ist nicht wirklich ein Content Delivery Network.
Weil es in der Regel, dass bedeutet, es ist statische Inhalte
und da die meisten Website ist dynamisch angetrieben,
Ich würde nicht beschreiben dies als CDN
aber es ist Amazon gehosteten Servern.
Amazon bietet einen Service namens Amazon Elastic Compute Cloud,
EC2 für kurze.
Und das sind nur Web Server oft mit Apache
oder andere Teile der Software dass Sie im Wesentlichen mieten
durch die Zahlung von Amazon ein paar Cent oder ein paar Dollar pro Stunde
und tatsächlich laufen Sie Ihre Code auf ihren Servern.
Und die Mittel, mit denen sie dies tun, ist sie eine kryptische geben
Suche Domain-Namen wie diese was wiederum zu einem
oder mehr IP-Adressen wie diese drei hier.
Und wiederum Sie können Aliase erstellen
, die viel mehr sind Menschenfreundlich
für die ansonsten komplett unmemorable Amazon-Adresse.
Und in diesem Fall die Unternehmen Instructure beschlossen
um eine leicht zu erstellen einprägsamer Adresse,
Harvard-vanity.instructure.com
aber das wäre ein grausame Art der Sache für uns
Kurs für Websites besuchen.
So Harvard wiederum erstellt ein weiterer Alias, die mehr ist
einfach canvas.harvard.edu.
Und alle diese Techniken sind nutzt die so genannte DNS,
das Domain Name System.
Und solange das System Administrator Zugriff
Harvard oder der Instructure DNS-Server,
Sie können diese Aliasnamen erstellen.
Und wenn euch, für Ihre Projekte,
entscheiden, eine Domain zu kaufen Namen für 5 US-Dollar,
10 Dollar oder was auch immer.
Und selbst zahlen für eine Web-Host
oder benutzen Sie einfach eine frei verfügbare Web-Host und Sie es wollen
tatsächlich Leben nicht auf etwas random.com
aber auf eigene Domain Namen, den Sie für 5 gekauft
oder 10 Dollar, das sind die Arten von Konfigurationsdetails
dass wir zu erkunden das Ende des Semesters.
Ob und wann es Zeit ist , etwas öffentlich zu versenden
so ist es bei ein leben können interessanter URL.
Lassen Sie mich einen Moment innehalten Denn ihr seid Art
unnötig Bündeln bis dort.
Wollen Sie verlegen wollen nur irgendwie kommen und sitzen
im Rücken oder in der Mitte?
Sollte ich nicht zeichnen Aufmerksamkeit für Sie?
Kommen Sie herein
Das ist wahrscheinlich mehr es unangenehm.
[Pause]
Gut.
OK. Herzlich Willkommen.
Gut.
Also, wo ist das jetzt für uns?
Also irgendwie sind wir und andere wir werden diese Brücke überqueren, wenn
und wenn die Zeit kommt, in Bezug auf
von DNS, wie man es eigentlich konfigurieren das alles.
Einige, wie oder andere, Diese HTTP-Anforderung,
diese anfängliche Handshake erreicht einen Server an einem
dieser IP-Adressen.
Auf diesem Server ist etwas rief ein Web-Server.
Keine Überraschung.
Aber was wirklich technisch ist ein Web-Server?
Sie nehmen Sie die Art von Ausdruck für selbstverständlich, aber was ist es?
Was ist ein Web-Server?
Ja?
[Inaudible Bemerkung]
OK. Also, es ist nur ein Computer Speicher und Eingänge.
Sie wissen es vielleicht ausgesehen haben
wie das Bild früher auch wenn dies ein wenig ist
Retro und mehr ein Desktop-oder Tower-Computer.
Ja, es ist nur ein Computer.
Aber technisch gesehen, ein Web-Server ist nicht ein Computer pro sagen.
Wir als Menschen haben eine Art lange verschmolzen Web-Server
und E-Mail-Server als physische Geräte.
Aber ein Web-Server wirklich ein Stück Software.
Es ist ein Stück Software auf einem physischen Computer ausgeführt werden.
Und deshalb können Sie eine haben E-Mail-Server und Web-Server
und ein Diagramm-Server und einem Reihe von anderen Servern
oder genauer Dienstleistungen auf Lauf
eines bestimmten Computers und alle diese Dienstleistungen können leben
bei der gleichen IP-Adresse daher.
Also, wie - wenn man Sie Sie haben mehrere Dienste
oder Server auf die Lauf demselben Computer wie wenn Nullen
und Einsen in den kommenden auf sie über das Internet,
wird der Computer wissen, ob als E-Mail-Server reagieren
mit einer Web-Seite, mit einem Chat?
Ja.
[Inaudible Bemerkung]
Gut. Genau.
So ein Web-Server auf auf, was ein Port genannt.
Und wenn Sie CS143 genommen haben Networking, könnten Sie wissen,
dass diese Ports beziehen Protokolle wie TCP
die Sie wahrscheinlich mit zuletzt oder UDP gehört.
Und diese Ports oder Port-Nummern sind nur eindeutige Kennungen
identifizieren, dass eine Dienstleistung.
Also 80 ist Web-, 25 E-Mail, 23 Telnet, SSH 22
und es gibt Dutzende oder Hunderte
der andere, die obwohl es nur ein paar sehr verbreitet sind.
Und das ist eine Möglichkeit für ein Computer mit einer IP-Adresse
um von Multiplex zu sortieren verschiedene Arten von Anfrage
und entsprechend reagieren.
Also was bedeutet das eigentlich?
So brauchen wir nicht einen Web-Browser.
Wir wissen nicht locken müssen tatsächlich zu einem Web-Server zu kommunizieren.
Wir müssen nur verstehen, was das Protokoll ist und wie es funktioniert
und ich spielte auf dies vor einem Augenblick.
Telnet ist eine Art von alte Schulprogramm.
Zurück zu meiner Zeit haben wir zu nutzen, um E-Mails abzurufen
aber es war völlig verunsichert.
Es ist nur ein Werkzeug, über das Sie können Text-Befehle zu senden
einen anderen Computer.
Und wieder in den Tag,
diese Textbefehle Oft enthalten Sie Ihren Benutzernamen
und Ihr Passwort mit keine Art von Verschlüsselung.
Wenn Sie sich mit SSH vertraut,
SSH ist so ziemlich Telnet aber mit Verschlüsselung.
Also das ist ein bisschen ein Vereinfachung.
Aber ich kann so tun, als Mensch mit einem Terminal-Fenster
und das alte Schulprogramm Telnet, ein Web-Browser.
Ich kann etwas geben wie telnet www.cs164.net
und leider, wenn ich einfach Enter drücken, versucht seine
aber nichts scheint passiert zu sein.
Und das ist, weil standardmäßig vor Jahren beschlossen, die Welt
Telnet, dass die Standard-Port ist 23.
als ich kurz angespielt zu Moment vor.
Aber ich möchte nicht, Telnet pro sagen.
Ich möchte diese Art Telnet von Text-Programm zu tun,
ein Web-Browser Chrome und IE und andere Browser
Standardmäßig haben hart gewesen von Google und Microsoft codiert
nicht zu reden, aber 23 80 oder vielleicht 443
für SSL-basierte Websites.
Und jetzt merke ich, versuchen, und ich eine Verbindung mit dem Web-Server.
Ich gehe jetzt, gehen Sie vor und etwas sagen wie hallo.
Und anscheinend hat dies nur dauerhaft verschoben.
Ich einige gefälschte Befehl senden
und seine Sende mich zurück an diese Adresse hier.
Also, lassen Sie tatsächlich tun dies ein wenig anders.
Lassen Sie tatsächlich sehen sagen, GET/HTTP/1.1.
Also, was mache ich?
Dies ist der Befehl.
Dies ist eine Art von meiner Handschlag, so zu sprechen.
Was ist die Vorwärts Schrägstrich wahrscheinlich zeigen?
Das Home-Verzeichnis.
Also das Home-Verzeichnis es bedeutet nur hier -
gut nennen wir es lassen Sie die Stamm der Website.
Was auch immer das Standard-Datei ist, vielleicht ist es index.html
vielleicht ist es index.php
HTTP/1.1 und ist im Wesentlichen die neueste Version von HTTP.
Also ich bin sein vorgibt, ein Browser, die ziemlich aktuelle ist
so dass es reagiert es mir, als ich zu hoffen.
Und ich gehe weiter und Geben Sie zweimal getroffen
weil die Art, Dinge zu arbeiten, ist dass, sobald Sie sehen eine leere Zeile,
ist ein Web-Server dann reagieren.
Aber leider das ist eine schlechte Anfrage.
Der Browser eine Anfrage geschickt
dass dieser Server nicht verstehen konnte.
Nun, das Ganze ist eine Menge schwerer zu diagnostizieren.
Aber es stellt sich heraus, dass cs164.net wird mit Apache.
Und wir nicht viel herausfinden können.
Aber sein auch mit so etwas genannte virtuelle Hosting
in denen Sie vertraut sein.
Vielleicht vage aus Ihre CS50 Tage
oder wenn Sie geschrieben haben kommerziellen Websites vor,
was ist ein virtueller Host oder vhost?
Ja.
[Inaudible Bemerkung]
OK. Genau.
Es gibt also mehrere Schichten von Multiplexen hier so zu sprechen.
Wenn Sie eine Anforderung erhalten irgend Server
an einer bestimmten IP-Adresse, die Sie minimal müssen diese Portnummer
so dass der Server weiß, dass dies eine E-Mail, ist es eine Web-Anfrage,
eine Chat-Nachricht oder was nicht.
Aber wenn einmal Sie heraus aus, OK, der Hafen 80.
Es ist offensichtlich Anfrage für eine Web-Seite.
Aber wäre es nicht schön,
wenn ein einzelner Server konnte tatsächlich unterstützen mehrere
Websites, food.com und bar.com und bass.com
so dass sie nicht eine physische brauchen Server oder einem Stück
Software für jeden verdammt Website der Welt.
So ist die Welt erfunden virtuellen Hosting, die es Ihnen erlaubt
um mehrere Domain-Namen setzen auf der gleichen IP-Adresse.
Aber der Haken ist die Verbindung Ich habe gerade über Telnet,
Angabe von Port 80 www.cs164.net ich nicht erwähnt
der Domain-Name dass ich Interesse
in über die Befehlszeile.
Und leider, und dies ist ein wenig nicht offensichtlich.
Sobald ich die Eingabetaste drücken,
Wesentlichen Telnet Vermessenheit ist die Konvertierung
www.cs164.net für mich zu einer IP-Adresse
und dann nur das Senden meiner roh GET-Anforderung an den Server.
So dass Vorstellung, dass es www.cs164.net völlig verloren,
rechts.
Telnet ist kein Browser warum sollte es die Mühe Senden
Weitere Informationen auf den Server?
Es ist nicht so smart.
Also habe ich die Browse haben um den Server zu erinnern
dass nicht nur ich will , um die Homepage zu bekommen,
Ich möchte auch angeben eine Vielzahl von cs164.net.
Und die HTTP-Header, so zu sprechen, ist genau das, Host:.
Nun, wenn ich drücken Sie die Eingabetaste, ich wieder die gleiche Umleitung
dass ich in Chrome und ich sah, dass sah in curl aber ich wage jetzt sagen,
wir tun dies nur etwa so niedrigen Niveau
wie technisch möglich
durch den Einsatz dieser mehr obskuren Befehlen.
Nun, warum ist das sinnvoll?
So ist dies nicht der normale Weg, um eine Website zu besuchen
aber fast jeder Zeit, die Sie haben einige Problem zu diagnostizieren
mit dem Web-basierten Anwendung das beinhaltet einen Server oder ein Stück
Software oder neu erstellten virtuellen Host
oder neu gekaufte Domain-Namen.
Das sind genau die Werkzeuge Sie wissen, dass Tim und Rob und ich
und andere verwenden würde nur um zu versuchen, Figur
herauszufinden, was falsch läuft, oder?
Case in point, wann immer Sie bekommen ein Domain-Name, die Sie irgendwie
eine IP verbinden Adresse mit sich.
Und Sie tun dies in der Regel über Web-basierte Schnittstelle auf GoDaddy
oder namecheap.com oder wo auch immer Sie den Domain-Namen gekauft.
So verschiedene Websites haben unterschiedliche Werkzeuge
aber es ist im Wesentlichen ein Excel-Tabelle mit den Spalten
für den Host-Namen und Spalten
für die IP-Adressen so ähnlich.
Aber es gibt ein Problem weil, wenn Sie gefragt werden,
eine IP-Adresse zuzuordnen mit einem Host-Namen, werden Sie gefragt,
für seine TTL steht die für - Sie nahm 143.
Ich höre es hier.
Time To Live.
Ein TTL bedeutet, wie viele Sekunden sollte dieser Eintrag daran erinnert werden,
für und durch die Erinnerung, Ich meine, zwischengespeichert.
Also, lange Rede kurzer Sinn, Auch innerhalb der DNS Welt
es ist das ganze Begriff der Zwischenspeicherung.
Und das ist ein Thema, wir werden entdecken in der natürlich auch
bei einer Software-Ebene, wobei Caching ist oft eine wirklich
gute Sache.
Und was haben wir unter Zwischenspeichern einer Seite, zum Beispiel
oder einen DNS-Caching Aufzeichnung, eine IP-Adresse?
Was bedeutet das für Cache das?
Ja.
[Inaudible Bemerkung]
Ja, genau, nur halten um eine Kopie, so dass
wenn es nicht ändern oder ehrlich gesagt, auch wenn tut zu ändern,
lasst uns nicht für mindestens bemerken ein paar Sekunden, vielleicht sogar ein paar
Minuten oder noch schlimmer für eine Stunde oder zwei.
Und in einer Website, könnten Sie haben schon gesehen,
manchmal, wenn Sie über eine Website,
nicht so sehr die größte Websites.
Sie neigen dazu, diese zu erhalten Detail rechts wie Facebook
und Google Mail und dergleichen.
Aber wenn Sie mit einem anderen Website, die Verwendung wird eine Menge
der Technologien wir werden in der Klasse zu verwenden,
es ist oft eine Design-Entscheidung zu entscheiden, ob oder ob nicht
etwas speichern und wenn ja, wie lange, um etwas zu cachen.
Und wenn Sie jemals haben war zu einer Website
wo Sie zum Beispiel traf Speichern und dann können Sie die Seite neu laden
und dann was auch immer Sie geschrieben ist nicht da.
Aber dann haben Sie vielleicht laden wieder und es erscheint.
Und in der Tat, ich habe tatsächlich gesehen das Symptom selbst
Mit Facebook einmal in eine Weile
wo, wenn Sie neu zu laden Ihren News-Feed,
manchmal etwas da ist, manchmal ist es verschwindet
und Dinge nicht scheinen wirklich konsequent.
Und das ist oft das Ergebnis Zwischenspeichern von nur Fragen.
Auf eine Bitte, Sie sind Schlagen einem Server.
Bei einer anderen Anfrage, sind Sie Schlagen Sie einen anderen Server
und ihre Caches, ihre Kopien
von Web-Seiten vielleicht nicht perfekt synchronisiert werden
von wenigen Sekunden oder Minuten
so können Sie verschiedene sehen Staaten der Welt.
Dasselbe geschieht mit DNS.
Wenn Sie entscheiden, dass Sie besitzen food.com
und wenn Sie waren Hosting bei GoDaddy,
eine ziemlich populäre Web Hosting-Unternehmen, unter anderem
und Sie entscheiden, nein, ich nicht mag ihre Politik,
Ich weiß nicht wirklich wie ihre Preise, ihre Dienste an.
Ich zu einer anderen Webseite ändern möchten Hosting-Unternehmen, alle zusammen.
Was tun Sie?
Nun, würden Sie ändern einfach die IP-Adresse des food.com zu Punkt
bei Servers jemanden, Sie gehen, um Geld zu starten.
Aber weil die ganze DNS Server-System verwendet Caches
was könnte dies bedeuten, für Ihre Benutzer
wenn du plötzlich bewegen von hier aus Ihre Website
hier über verschiedene IP-Adresse.
Gut.
Für einige Nicht-Null-Zahl Minuten oder Sekunden,
Ihre Benutzer könnte am Ende gehen Hier zum Beispiel oder hier
weil ihr Betriebssystem, ihren Browser, ISP, der
ihre Heim-Router haben könnte zwischengespeichert die alte IP-Adresse
an welchem ​​Punkt ihrer wirklich schwer zu Figur
genau, was falsch läuft.
So, wie Sie zu jagen beginnen nach unten, auch Themen wie das?
Mit nur folgende diese Brotkrumen
und Verständnis letztlich, was ist HTTP
und was bedeutet es, zu senden eine Anfrage und was tun Werkzeuge
wie eigentlich NSlookup für Sie tun.
Und wie kann man so etwas ausführen dieser niedrigen Level-Befehle
und einfach herauszufinden, was in der Tat schief gehen.
Damit Sie wissen, wer zu nennen, die eine E-Mail zu senden, oder was aus
auf Ihrem eigenen Server ändern.
Und nebenbei, Ich vermute, die meisten
von euch haben hier die CS50 verwendet Appliance, wenn Sie nehmen CS50 taten.
Auch wenn Sie nicht viele taten
von Ihnen wahrscheinlich verwendet haben Apache, ob auf Ihrem eigenen Macs
oder PCs oder Linux-Boxen.
Nur am Rande, wenn ich Öffnen Sie ein Terminal-Fenster hier
auf der neuesten CS50 Appliance und ich werde root mit su SUDU
und dann gehe ich in dieses Verzeichnis
Hier etc / httpd / conf.d /.
Dies ist ein gemeinsames Platz für Webserver -
für Apache Web-Server zu speichern die Konfigurationsdateien.
Conf.d bedeutet nur, Konfiguration Verzeichnis mit einem ganzen Bündel
von Dateien und ob ich öffnen mit vi zum Beispiel
Gerät 50, werden Sie tatsächlich sehen, wie virtuelle Hosting
in der CS50 Appliance wurde Arbeits all die Zeit.
Wenn es schon eine Weile Rückruf
dass Sie die meisten setzen jede Website innerhalb
von Verzeichnis Ihrer vhost in der Appliance.
Wie funktioniert das eigentlich?
Nun bemerken, ist das ein bisschen geheimnisvollen und sortieren Sie könnte
von grok Ihren Weg durch dies mit der Dokumentation.
Aber im Wesentlichen die wahrscheinlich der nützlichste Linie
zu schauen - schauen Sie sich dieses ist.
Diese Zeile hier im Wesentlichen erzählt die Web-Server zu schauen
in John Harvard vhost-Verzeichnis
für die Kleinversion gleich welcher Server-Namen
oder Domain-Name war tatsächlich besucht.
Und wir werden nicht unbedingt in zu gehen mit diesem Grad der Bastelei.
Aber bei der Verwendung von Apache, Sie sind die, die
die letztlich Die Kontrolle über diese Details.
OK. So, nun können wir jetzt HTTP für selbstverständlich zu nehmen, oder?
Gut.
Also, warum nicht wir tun dies insbesondere, wenn einige
Sie glauben, etwas von einer unverlierbaren Publikum, warum wir nicht weitermachen
und einen zweiminütigen Pause
wenn wir zurückkommen werden wir tauchen ein bisschen in MVC und wir werden
auf eine Note auf - ein Problem, dass wir dann am Mittwoch, lösen
mit einem Tool namens Laravel.
Also, lassen Sie uns ein paar Minuten.