>> Oke.
Dus laten we duiken in een aantal technische bijzonderheden.
Hopelijk met een aantal wat van een softbal vraag.
HTTP, het doel van vandaag gewoon niet geven ons een mentale
model voor de types aanvragen
en projecten zijn we gaan implementeren.
Op woensdag zullen we de overgang dieper in op zaken als MVC
en met name Laravel en in ORM
waarmee we zullen praten met een database.
Maar voor vandaag, laten we stellen de podium voor die gesprekken.
HTTP is wat?
Hypertext Transfer Protocol?
OK wat betekent dat?
Yeah.
[Onhoorbaar Opmerking]
OK. Sluiten.
Het is de andere.
Niet HT - dat is dat HTML.
HTTP is degene die doet wat precies?
>> Is dat de dienst die zoals zendt tekst terug
en weer tussen de servers?
>> Ja precies.
Het is de server.
Dus, eigenlijk is het protocol.
Het is de set van conventies die worden gebruikt
om informatie terug te zenden en weer tussen client en server.
En die informatie meestal in de vorm van HTML,
Hypertext Markup Language, die is de open-tags en dicht tags.
Dus als je wel wat cliënt vertegenwoordigd hier links
en enkele server vertegenwoordigd hier aan de rechterkant.
De pijlen heen en weer
tussen hen te vertegenwoordigen die taal HTTP.
Als bekend 50 voor Bijvoorbeeld vorig jaar of een paar
jaren geleden je misschien herinneren dat we het beschreven
als protocol in de zin dat toen ik voor het eerst iemand ontmoet,
Ik zou mijn hand uit te breiden en zeggen, hallo en zou je kunnen zeggen -
>> Hallo.
>> Hallo. En nu, dat soort van de transactie tussen cliënt
en de server is voltooid.
Oke.
Dus HTTP is gewoon een set van conventies.
En onder die verdragen is bepaalde verzenden.
Dus bijvoorbeeld, laten we openen Chrome.
En voor de cursus, kunt u zeker gebruik maken van vrijwel elke browser,
maar Chrome neiging om waarschijnlijk het meest populair deze dagen.
Omdat het gehele suite van tools ingebouwd
Laten we verder gaan en Inspect Element.
Laat mij naar het tabblad Netwerk en laat me gaan naar iets
zoals http://www.cs164.net en druk op Enter
na de eerste raken Record Incase worden we doorgestuurd.
En nu gaan we een hele hoop te zien
rijen in deze tabel.
Wat doet elk van deze rijen vertegenwoordigen
wanneer u een webpagina bezoekt?
Yeah?
[Onhoorbaar Opmerking]
Precies. Alle bestanden Ik heb net gevraagd worden getoond
als individu rij dat tafeltje daar,
maar wacht bestanden.
Ik vroeg slechts een zoals file, rechts,
vermoedelijk index.html of index.php.
Ze kunnen koppelingen, toch?
Zeker, er is beeld Tags binnenkant van daar,
er is koppeling tags voor CSS is er scripttags
voor JavaScript en een heleboel andere tags
dat eigenlijk zou kunnen trekken
in extra bestanden soort recursief.
En dus dat is wat we nu zien.
Als we omhoog nu de top van deze,
merken dat we eerst een zien dat is eigenlijk wel nieuwsgierig.
Het zegt onze website tijdelijk verplaatst,
de status code, zodat te spreken is 302.
Er is een andere gelijkaardige, 301 die permanent is verplaatst.
En als je even of permanent wat betekent dat?
Wat moet je ogen op zoek naar in het oog
te beantwoorden waar hebben we naar?
De huidige en lengte.
OK. Dus kan zeker afleiden waar we uiteindelijk.
En blijkbaar kwam ik terecht bij canvas.harvard.edu / iets
dat is een stuk moeilijker te onthouden.
Maar meer technisch, ik wil om een ​​redirect probleem vast te stellen.
Ik wil begrijpen waar ik ben gaande van punt A naar punt B
tot een punt dot, dot, dot canvas.harvard.edu
in deze geheimzinniger grensvlak van headers.
Hoe beantwoord ik een vraag van het formulier waar heb ik verhuizen?
Locatie. Oke.
Dus als ik scroll hier naar beneden naar de Response Headers,
opmerken dat dit de headers en laat me veranderen.
Dit is een soort van een mooi gedrukte versie van Chrome.
Laten we op bron weergeven.
Dit is de ruwe tekst die de Apache web server.
En ik weet dat door een blik op deze lijn hier.
En Apache is gewoon gratis en open-source software.
Het is waarschijnlijk de meest populaire webserver-software die er zijn.
Dat is het resultaat van de handdruk terug naar mij.
En als ik een soort van kijken wat er in van de hand
of de virtuele envelop die vertegenwoordigt de pakketten,
die dwars over de draad in
daarvan is deze meerdere regels tekst.
En omdat browsers zichzelf spreken HTTP,
ze zijn voorgeprogrammeerd door Google en Microsoft
en andere bedrijven om te zoeken naar deze lijn.
En bij het zien van de locatie: wat doet het met de URL
na de dubbele punt vermoedelijk?
Het gaat naar het.
En we kunnen dit zien in een aantal manieren.
In feite, een zeer handig instrument vooral op Linux
en Mac OS is als ik open een terminal venster hier
en ik doe krullen en ik doe-I en plak deze URL daar.
Het is een goede gewoonte om aanhalingstekens te gebruiken
want als je ooit hebben vraagtekens
of andere funky personages, je kunt eigenlijk sorteren
van verwarren de command line.
Maar als je er citeer de URL, nu zullen we precies allemaal te zien
van de headers die terug kwam.
En in dit geval, eigenlijk Ik heb de verkeerde.
Ik deed het Canvas URL.
Laten we het doen http://www.cs164.net.
Enter. Er zijn precies diezelfde headers.
En als ik wil zien volgende wat komt terug,
Ik kan dit alleen handmatig doen.
Dus krul is gewoon een soort van quick en vuile diagnostisch hulpmiddel hier,
curl-I en nu weer dat URL en deze zijn alle headers
die nu terug van canvas.harvard.edu.
Welke aanvullende informatie ze sturen ons?
Het is een beetje afgesneden.
Laat me dit over bewegen.
Dus een van deze lijnen is interessant.
Zo tevreden lengte, dat is hoeveel bytes waren binnen
van de virtuele envelop dat kwam terug.
Content type het is HTML, het misschien iets anders zijn
als het een PNG of een GIF-of JPEG.
In feite algemeen wat deze string genoemd?
Er zijn deze unieke strings in de wereld
die uniek beschrijven verschillende gegevenstypen.
Dit is een zogenaamde MIME-type, M-I-M-E type.
Dus de wereld is gestandaardiseerd
dat. png denk ik is "image / png".
De wereld is gestandaardiseerd dat in het HTML-bestand is text / html.
De wereld is gestandaardiseerd dat een mp4, filmbestand is video/mp4.
Dus dit zijn de unieke tokens dat browsers meestal gebruik
te bepalen of om te spelen als een film te geven
als beeld, te maken als HTML of dergelijke.
Welke server doet - Instructure het bedrijf achter Canvas
blijkbaar gebruiken?
Dus Apache ook, dus ze gebruiken hetzelfde gereedschap en we kunnen zien
dat via deze lijn hier.
Even terzijde, ze hebben eigenlijk iets gedaan dat is slim
dat niet alle websites doen.
Heel vaak websites te spugen,
niet alleen dat ze Apache maar ook
dat ze worden uitgevoerd Apache versie 2.1.3.
Maar deze jongens zijn slim geweest en uitgeschakeld het versienummer.
Waarom is dat slim?
Yeah.
>> Misschien omdat bepaalde versie kan worden ontdekt
en hebben bijzondere kwetsbaarheden
[Onverstaanbaar] duidelijk.
>> Precies.
Het is een potentieel bedreiging van de veiligheid.
Als je in wezen bent de wereld omroep, hey,
we bijna deze versie.
Hey we bijna deze versie.
Het is niet zo moeilijk met Google of met slechts krullen zelfs te porren
in willekeurige IP-adressen
en vind mensen die buggy software en vervolgens vallen ze
door welke gedocumenteerde betekent dat er.
Nu, waarom is het nog steeds zeggen Apache?
Ongetwijfeld, dat is een soort van gratuite informatie.
Nou, Apache maakt het gemakkelijk om zet de versienummer
maar niet hun soort achter de scènes branding op deze manier.
En dit is hoe Google en andere bedrijven weten wat web servers
mensen lopen omdat ze zijn gewoon het vertellen van de hele wereld
elke keer dat je ze bezoekt.
Dus cookies terug te komen.
Maar u herinnert zich misschien dat cookies zijn een soort van grote unieke nummers
die meestal als een hand stempel op de gebruiker.
Het is een beetje bestand of een stuk gegevens geplant in de browser
te herinneren wie de gebruiker is.
Status 200 is goed.
X-Canvas-Meta, zodat wat is dit allemaal?
Nou, lang verhaal kort, de wereld is ook mogelijk de wereld
om te komen met willekeurige, HTTP headers en als je ze prefix
met X, die net betekent dat ze op maat.
En het is een leuke manier zelfs voor diagnostische doeleinden
als je de ontwikkeling een web-based applicatie
en u wilt in staat zijn
om achter de schermen zie je weet wat back-end server spit
uit dit antwoord of wat versienummer wordt uitgevoerd
op deze server.
Of wat is de interne IP adres,
iets waar je misschien wil een aantal interne glimp
naar iets dat is gaande is, kunt u spugen
uit uw eigen arbitraire HTTP-headers op die manier.
Maar het verhaal begon met de openstelling van de website van de cursus.
En we zagen al deze rijen in het tabblad Netwerk.
De eerste was van de meest rente die ons doorgestuurd
naar de volgende en dan kregen we terug naar deze reactie hier.
Dus, waar is canvas.harvard.edu?
Laten we duwen een beetje verder en sorteren
van de volgende broodkruimels.
Canvas.harvard.edu is blijkbaar eigendom van Harvard.
Zij heeft dit subdomein genoemd canvas.harvard.edu.
Hoe zou ik erachter te komen waar
in de wereld canvas.harvard.edu leven?
Of misschien meer specifiek wat is het IP-adres?
Hoe kunnen we daar achter te komen?
Yeah?
[Onhoorbaar Opmerking]
Absoluut.
Dus dat is eigenlijk het antwoord op een paar vragen daar.
De eerste dergelijke eenvoudige tool zou zijn iets genaamd NSlookup
hoewel het heet andere dingen.
Nameserver Lookup en Ik kan typen in iets
zoals canvas.harvard.edu.
Enter. En dit gaat geven me terug blijkbaar een hele hoop
antwoorden.
Maar laat zien of niet kan zin van dit.
Dus blijkbaar
canvas.harvard.edu is een canonieke naam
voor deze afschuwelijke lijkend ding,
Harvard-vanity.instructure.com.
Dus, wat is hier aan de hand?
Terwijl ondertussen, als we blijven lezen,
Harvard-vanity.instructure.com heeft een canonieke naam
van iets nog cryptisch,
Harvard-170 iets -Ons-oost-1.elb.amazon.aws.
Bovendien, dat ding lost
om schijnbaar drie verschillende IP adressen.
Wat in de wereld heeft al deze betekenen?
Yeah?
[Onhoorbaar Opmerking]
OK. Goed. En laat me tweaken een ding dat je zei,
het is niet echt een content delivery network.
Want het is typisch dat betekent dat het statische content
en omdat de meeste website wordt dynamisch gedreven,
Ik zou niet beschrijven dit als een CDN
maar het is Amazon gehoste servers.
Amazon biedt een service genaamd Amazon Elastic Compute Cloud,
EC2 voor kort.
En dit zijn slechts web servers vaak Apache
of andere stukken software dat je in wezen kunt huren
door Amazon betalen van een paar cent of een paar dollar per uur
en eigenlijk je loopt uw code op hun servers.
En de wijze waarop zij Stel het is geven ze een cryptische
zoek domeinnaam als deze die weer leidt tot een
of meer IP adressen als deze drie hier.
En op zijn beurt, je kan aliassen
dat veel meer zijn mensvriendelijke
voor dat anders volledig unmemorable Amazon adres.
En in dit geval bedrijf Instructure besloten
een iets creëren meer memorabele adres,
Harvard-vanity.instructure.com
maar dat zou zijn afschuwelijk soort dingen voor ons
om te bezoeken voor de cursus websites.
Dus Harvard op hun beurt een andere alias dat is meer
gewoon canvas.harvard.edu.
En al deze technieken gebruik te maken van een zogenaamde DNS,
het Domain Name System.
En zolang het systeem beheerder toegang
aan Harvard of Instructure's DNS-servers,
kunt u deze aliassen.
En als jullie, voor uw projecten,
besluiten om een ​​domeinnaam te kopen naam voor 5 dollar,
10 dollar of wat dan ook.
En zelfs betalen voor een webhost
of gewoon gebruik maken van een vrij beschikbare webhost en u het wilt
eigenlijk niet leven op iets random.com
maar op uw eigen domein naam die u gekocht voor 5
of 10 dollars die zijn soorten van configuratie-informatie
dat we onderzoeken in de richting van het einde van het semester.
Indien en wanneer het tijd is iets publiekelijk verzenden
dus het kan op een leven interessanter URL.
Laat me even stilstaan Want jullie zijn een soort
van onnodig opeenhoping daar.
Wilt u onhandig gewoon een soort van komen en gaan zitten
in de rug of in het midden?
Moet ik niet tekenen aandacht voor u?
Kom binnen
Dat is waarschijnlijk meer ongemakkelijk daar.
[Pauze]
Oke.
OK. Welkom.
Oke.
Dus waar komt dat ons nu verlaten?
Dus een of andere manier zijn we andere en we zullen deze brug als
en wanneer de tijd komt in termen
van DNS hoe je zou eigenlijk configureren dat alles.
Sommige hoe of andere, deze HTTP-verzoek,
deze eerste handdruk bereikt een server bij een
van de IP adressen.
Op die server is iets riep een webserver.
Geen verrassing.
Maar wat echt technisch is een webserver?
Je neemt de aanduiding sorteren van als vanzelfsprekend, maar wat is het?
Wat is een webserver?
Yeah?
[Onhoorbaar Opmerking]
OK. Dus, het is gewoon een computer met geheugen en ingangen.
Je weet dat het zou kunnen gekeken hebben
als dat beeld eerder zelfs maar dit is een beetje
retro en meer van een desktop of tower computer.
Ja, het is gewoon een computer.
Maar technisch gezien, een webserver is niet een computer per zeggen.
Wij als soort mensen hebben lange samengevoegd webservers
en e-mailservers fysieke apparaten.
Maar een webserver echt is een stukje software.
Het is een stukje software die op een fysieke computer.
En daarom kun je een hebt e-mail server en een webserver
en een grafiek server en eventuele aantal andere servers
of meer behoorlijk diensten draait op de top
van een bepaalde computer en al deze diensten kunnen leven
op hetzelfde IP-adres dus.
Ja, hoe - als je je hebben meerdere diensten
of servers actief is op het dezelfde computer, hoe toen nullen
en die komen in naar hen via het internet,
wordt de computer weet of om te reageren als een e-mailserver
met een webpagina, met een praatje?
Yeah.
[Onhoorbaar Opmerking]
Goed. Precies.
Dus een webserver luistert op wat een poort genoemd.
En als je CS143 hebt genomen Netwerken, zou u weten
dat deze havens betrekking hebben aan protocollen zoals TCP
die u waarschijnlijk op minste gehoord of UDP.
En deze poorten of poortnummers zijn gewoon unieke identifiers
dat identificeren van een dienst.
Dus 80 is web, 25 is e-mail, 23 is Telnet, 22 is SSH
en er zijn tientallen of honderden
van andere degenen hoewel er slechts een paar zeer populaire.
En dit is een manier voor een computer met een IP-adres
voor het sorteren van multiplex onder verschillende typen requests
en dienovereenkomstig reageren.
Dus wat betekent dit eigenlijk?
Zodat we niet een webbrowser nodig.
We hebben geen krul hoeft te eigenlijk praten met een webserver.
We hoeven alleen maar te begrijpen wat het protocol is en hoe het werkt
en ik zinspeelde dit een moment geleden.
Telnet is een soort van een oude school programma.
Terug in mijn dag, gebruikten we om het te gebruiken om e-mail te controleren
maar het was helemaal onzeker.
Het is slechts een hulpmiddel via welke kunt u tekstuele commando's te sturen
een andere computer.
En terug in de dag,
die tekstuele commando's vaak inbegrepen uw gebruikersnaam
en uw wachtwoord geen vorm van encryptie.
Als u bekend bent met SSH bent,
SSH is vrij veel Telnet maar met encryptie.
Dus dat is een beetje een oversimplificatie.
Maar ik kan doen alsof als een mens met een terminal venster
en deze oude school programma Telnet naar een web browser.
Ik kan typen in iets zoals telnet www.cs164.net
en helaas als ik gewoon op Enter, het proberen
maar niets lijkt te gebeuren.
En dat komt omdat standaard, de wereld besloten jaren geleden
dat Telnet's standaard poort is 23
als ik kort gezinspeeld tot moment geleden.
Maar ik wil niet Telnet per zeggen.
Ik wil Telnet gebruiken dit soort van tekstuele programma om te doen alsof
een web browser in Chrome en IE en andere browsers
standaard zijn hard gecodeerd door Google en Microsoft
om niet praten tot 23 maar tot 80 of misschien 443
voor op SSL gebaseerde websites.
En nu merk ik proberen en ik verbinding maken met de webserver.
Ik ga nu, ga je gang en zoiets als hallo te zeggen.
En blijkbaar heeft dit net definitief verhuisd.
Ik wat nep commando te sturen
en haar stuurt me terug naar dit adres hier.
Dus, laten we eigenlijk doen dit een beetje anders.
Laten we eens echt zien zeggen, GET/HTTP/1.1.
Dus wat doe ik?
Dit is het commando.
Dit is een soort van mijn handdruk, om zo te zeggen.
Wat is de voorwaartse slash waarschijnlijk aangeven?
De home directory.
Dus de home directory hier betekent het gewoon -
goed laten we noemen het de wortel van de website.
Wat ook het standaard bestandssysteem is, misschien is het index.html,
misschien is het index.php
en HTTP/1.1 is in wezen de nieuwste versie van HTTP.
Dus ik doe alsof ik een te zijn browser dat is vrij courant
zodat het reageert het me zoals ik hoop.
En ik ga je gang en tweemaal Enteren
omdat de manier waarop dingen werken is dat als je eenmaal ziet een lege regel,
werkt een web server dan reageren.
Maar helaas dit is een slecht verzoek.
De browser een verzoek ingediend
dat deze server kon niet begrijpen.
Nu is dit een veel moeilijker te diagnosticeren.
Maar het blijkt dat cs164.net is Apache.
En niet veel dat we kunnen achterhalen.
Maar zijn ook met behulp van iets genaamd virtual hosting
waar je misschien wel bekend voor.
Misschien vaag uit uw CS50 dagen
of als je hebt geschreven commerciële websites voor,
wat is een virtuele host of vhost?
Yeah.
[Onhoorbaar Opmerking]
OK. Precies.
Dus er is meerdere lagen multiplexing hier bij wijze van spreken.
Wanneer u een verzoek krijgt op een bepaald server
op een bepaald IP-adres, je minimaal nodig dat poortnummer
zodat de server weet dat dit een e-mail, is het een web verzoek,
een chatbericht of wat niet.
Maar als eenmaal je erachter uit, OK, de haven 80.
Het is natuurlijk verzoek voor een webpagina.
Maar zou het niet mooi zijn
indien een enkele server kan daadwerkelijk ondersteunen meerdere
websites, food.com en bar.com en bass.com
zodat ze niet een fysieke behoefte server of een enkel stuk
software voor elke verdomme website in de wereld.
Dus de wereld uitgevonden virtuele hosting die u toelaat
om meerdere domeinnamen te zetten op hetzelfde IP-adres.
Maar de vangst is de verbinding Ik maakte gebruik van Telnet,
specificeren van poort 80 te www.cs164.net Ik maakte geen melding
van de domeinnaam dat ik geïnteresseerd was
in dan de command line.
En helaas en dit is een beetje niet duidelijk.
Zodra ik druk op Enter,
wezen Telnet aanmatigend is het omzetten van
www.cs164.net voor mij om een ​​IP-adres
en dan alleen het verzenden van mijn ruwe GET verzoek naar de server.
Dat idee dat het www.cs164.net volledig verloren,
rechts.
Telnet is een browser waarom zou het moeite om het verzenden
meer informatie naar de server?
Het is niet zo slim.
Dus heb ik de bladeren hebben om de server te herinneren
dat niet alleen wil ik naar de homepage te krijgen,
Ik wil ook opgeven een groot aantal cs164.net.
En de HTTP header zo te spreken is precies dat, Host:.
Nu, als ik druk op Enter, I weer dezelfde redirect
dat ik zag in Chrome en dat ik zag in de krul, maar ik durf te zeggen nu,
we dit gewoon doen ongeveer net zo laag niveau
als technisch mogelijk
door deze meer geheimzinnige opdrachten.
Nu, waarom is dit nuttig?
Dus, dit is niet de normale manier om een ​​website te bezoeken
maar bijna elke keer, je moeten een probleem te diagnosticeren
met de web-based applicatie dat gaat om een ​​server of een stuk
software of nieuw aangemaakt virtuele host
of nieuw gekochte domeinnaam.
Dit zijn precies de instrumenten dat je weet Tim en Rob en ik
en anderen zou gebruiken gewoon om te proberen te achterhalen
te komen wat er mis gaat, toch?
Case in point wanneer je krijgen een domeinnaam, een of andere manier hebben
een IP koppelen pakken met het.
En jullie doen dit meestal via webinterface bij GoDaddy
of namecheap.com of waar u de domeinnaam gekocht.
Dus verschillende websites hebben verschillende tools
maar het is in wezen op een Excel-tabel met kolommen
voor de namen en columns gastheer
voor de IP-adressen zoiets.
Maar er is een probleem want wanneer je gevraagd bent
een IP-adres koppelen met een hostnaam, wordt u gevraagd
voor de TTL staat voor - je nam 143.
Ik hoor het hier.
Time To Live.
Een TTL betekent hoeveel seconden Deze regel zou worden herinnerd
voor en door herinnerde, Ik bedoel in de cache.
Dus, lang verhaal kort, ook binnen de DNS-wereld,
er is een hele notie van caching.
En dit is een onderwerp dat we zult verkennen in de cursus ook
op een software niveau waarbij caching is vaak een echt
goede zaak.
En wat bedoelen we met caching een webpagina bijvoorbeeld
of caching DNS opnemen, een IP-adres?
Wat betekent dat voor de cache?
Yeah.
[Onhoorbaar Opmerking]
Ja, precies net houden rond een kopie zodat
als het niet verandert of eerlijk gezegd ook al doet veranderen,
laten we niet merken minstens een paar seconden misschien zelfs een paar
minuten of erger voor een uur of twee.
En in een website, zou u heb dit eerder gezien,
soms als je met behulp van een website,
niet zozeer de grootste websites.
Je hebt de neiging om dit te krijgen detail rechts zoals Facebook
en Gmail en dergelijke.
Maar als je een ander website die gebruik maakt van veel
van de technologieën we zullen gebruiken in de klas,
is het vaak een ontwerpbeslissing om te beslissen al dan niet
om iets te cachen en zo ja, hoe lang iets te cachen.
En als je ooit hebt naar een website
waar je bijvoorbeeld geraakt Opslaan en vervolgens de pagina opnieuw te laden u
en dan wat je geplaatst is er niet.
Maar dan moet je misschien je herladen weer en het lijkt.
En in feite, ik heb eigenlijk gezien het symptoom zelfs
met Facebook een keer in de zoveel tijd
waar als je herladen uw News Feed,
soms iets er is, soms verdwijnt
en dingen te doen niet echt lijken aan te sluiten.
En dat is vaak het gevolg van slechts caching problemen.
Op een verzoek, je bent raken van een server.
Op een ander verzoek, je bent raken van een andere server
en hun caches, kopieën
van webpagina's misschien niet worden perfect gesynchroniseerd
door een paar seconden of minuten
dus zie je verschillende staten van de wereld.
Hetzelfde gebeurt met DNS.
Als u besluit dat kunt u zich food.com
en als je geweest bent hosten bij GoDaddy,
een vrij populaire web hosting bedrijf onder anderen
en je besluit, nee, ik doe niet echt graag hun politiek,
Ik hou er niet echt van hun prijzen, hun diensten.
Ik wil veranderen naar een andere webpagina hosting bedrijf allemaal samen.
Wat doe je?
Nou, je zou gewoon de IP-adres van food.com te wijzen
op de server van iemand anders die je gaat om geld gaan.
Maar omdat de hele DNS server systeem maakt gebruik van caches,
wat zou dit betekenen voor uw gebruikers
als je plotseling verplaatsen uw website vanaf hier
naar hier, anders IP-adres.
Oke.
Voor sommige niet-nul getal minuten of seconden,
uw gebruikers zou uiteindelijk gaan hier bijvoorbeeld of hier
omdat hun besturingssysteem, hun browser, hun ISP,
hun huis router zou kunnen hebben cached het oude IP-adres
op welk punt, haar echt moeilijk te achterhalen
precies te weten wat er mis gaat.
Dus hoe kan je beginnen te jagen neer zelfs zaken als dat?
Door gewoon volgende deze broodkruimels
en begrip uiteindelijk wat is HTTP
en wat betekent het om te sturen een verzoek en wat doen gereedschappen
zoals NSlookup eigenlijk voor u doen.
En dus hoe kan je een aantal uit te voeren van deze lage niveau opdrachten
en net erachter te komen wat in feite gaat het mis.
Dus je weet wie te bellen, die af te sturen een e-mail of wat
om te veranderen op uw eigen server.
En als een terzijde, Ik gok dat de meeste
van jullie hier hebben gemaakt van de CS50 Appliance, als je dat deed nemen CS50.
Zelfs als je veel niet
van jullie waarschijnlijk hebben gebruikt Apache of op uw eigen Macs
of pc of Linux dozen.
Net als een terzijde, als ik dat doe open een terminal venster hier
op de nieuwste CS50 Appliance en ik root met Sudu su
en dan ga ik in deze map
hier etc / httpd / conf.d /.
Dit is een veel voorkomende plaats voor webserver -
voor Apache webservers op te slaan hun configuratiebestanden.
Conf.d betekent gewoon configuratie directory met een hele hoop
van bestanden en als ik zal openen met vi bijvoorbeeld,
toestel 50, zul je eigenlijk zien hoe virtual hosting
in de CS50 apparaat is werken al die tijd.
Als het al een tijdje recall
die u het meest kunt zetten een website binnen
van de directory van je vhost in het apparaat.
Hoe werkt dat eigenlijk?
Wel merken, dit is een beetje geheimzinnige en je kon sorteren
van grok je een weg door dit met behulp van de documentatie.
Maar in wezen waarschijnlijk de meest bruikbare lijn
op te zoeken - kijken is dit.
Deze lijn hier in wezen vertelt de webserver te kijken
in John Harvard vhost directory
voor de kleine letters versie van welke server naam
of de domeinnaam was daadwerkelijk bezocht.
En we zullen niet per se in te gaan met deze mate van knutselen.
Maar bij gebruik van Apache, jullie zijn degenen
die uiteindelijk Controle over die details.
OK. Dus, voortaan kunnen we nu nemen HTTP voor lief, toch?
Oke.
Dus waarom doen we niet doen dit, vooral als sommige
van je voelt enigszins een gevangene publiek, waarom gaan we niet vooruit
en neem een ​​twee minuten pauze,
wanneer we terugkomen zullen we duiken een beetje in MVC en we zullen
op een notitie over - van een probleem dat we zullen dan oplossen op woensdag
met een tool genaamd Laravel.
Dus, laten we eens een paar minuten.