>> Alle regte.
So laat ons duik in 'n paar tegniese besonderhede.
Hopelik met 'n paar wat van 'n sagtebal vraag.
HTTP, is die doel van vandag eenvoudig nie gee ons 'n geestelike
model vir die tipes van aansoeke
en projekte wat ons is gaan implementeer.
Op Woensdag, sal ons die oorgang in meer diepte te dinge soos MVC
en veral Laravel en in ORM
waarmee ons sal praat met 'n databasis.
Maar vir vandag, laat ons stel die stadium vir die gesprekke.
HTTP is wat?
Hypertext Transfer Protocol?
OK wat beteken dit?
Ja.
[Onhoorbaar Nota]
OK. Close.
Dit is die ander een.
Nie HT - dit is wat HTML.
HTTP is die een wat doen wat presies?
>> Is dit die diens wat soos stuur teks terug
en weer tussen servers?
>> Ja presies.
Dit is die bediener.
So, regtig dit is die protokol.
Dit is die stel konvensies wat gebruik word om
inligting terug te stuur en weer tussen die kliënt en bediener.
En dat die inligting gewoonlik neem die vorm van HTML,
Hypertext Markup taal wat is die oop tags en naby tags.
So as jy nie 'n paar kliënt verteenwoordig hier aan die linkerkant
en 'n paar bediener verteenwoordig hier aan die regterkant.
Die pyle heen en weer gaan
tussen hulle verteenwoordig dat taal HTTP.
En as vertroud is met 50 vir byvoorbeeld verlede jaar of 'n paar
jare gelede het jy dalk onthou dat ons dit beskryf
as 'n protokol in die sin dat wanneer ek die eerste keer iemand ontmoet,
Ek kan my hand uit te brei en sê hallo en jy kan sê -
>> Hello.
>> Hello. En nou, dat die soort transaksie tussen die kliënt
en bediener is voltooi.
Alle regte.
So HTTP is net 'n stel konvensies.
En onder dié konvensies is om sekere boodskappe te stuur.
So byvoorbeeld, laat se oop Chrome.
En vir die kursus, kan jy beslis die meeste gebruik enige leser,
maar Chrome is geneig om waarskynlik die mees gewilde hierdie dae.
Want dit het 'n hele suite van gereedskap ingeboude
Kom ons gaan voort en Inspekteer Element.
Laat my gaan na die blad Netwerk en laat my gaan na iets
soos http://www.cs164.net en druk OK
na eerste slaan rekord ingeval ons kry getrek het.
En nou gaan ons 'n hele klomp te sien
rye in die tabel.
Wat elkeen van doen hierdie rye stel
wanneer jy 'n webblad?
Ja?
[Onhoorbaar Nota]
Presies. Al die lêers Ek het net gevra word getoon
as 'n individu ry in daardie klein tafel daar,
maar wag lêers.
Ek het net een versoek sodanige lêer, regs,
vermoedelik index.html of artikels.
Hulle kan wees links, reg?
Sekerlik is daar image tags binnekant van daar,
daar is skakel tags vir CSS, daar is script tags
vir JavaScript en 'n hele klomp van die ander merkers
wat eintlik kan trek
in bykomende lêers soort van rekursief.
En dit is wat ons nou sien.
As ons blaai nou na die top van hierdie,
kennis dat ons eers sien een dit is eintlik soort van nuuskierig.
Dit sê ons webwerf verskuif tydelik,
die status kode, sodat om te praat is 302.
Daar is nog 'n soortgelyke een, 301 wat permanent verskuif.
En as jy tydelik verskuif of permanent wat beteken dit?
Wat moet jou oë word op soek na ten einde
te beantwoord waar het ons na?
Die huidige en lengte.
OK. So kon seker aflei waar ons beland.
En blykbaar het ek by canvas.harvard.edu / iets
wat is 'n baie moeiliker om te onthou.
Maar meer tegnies, ek wil 'n aanstuur kwessie te diagnoseer.
Ek wil om te verstaan ​​waar ek gaan van punt A na punt B
op 'n punt dot, dot, dot canvas.harvard.edu
in hierdie meer arcane koppelvlak van hoofde.
Hoe kan ek 'n vraag beantwoord van die vorm waar het ek verhuis?
Plek. Alle regte.
So as ek blaai af hier die Response Headers,
sien dat dit is die kop-en laat my dit verander.
Dit is 'n soort van 'n mooi gedrukte weergawe van Chrome.
Kom ons kliek view source.
Dit is die rou teks wat die Apache web server.
En ek weet dat deur skrams by hierdie lyn hier.
En Apache is net gratis en oop-bron sagteware.
Dit is waarskynlik die mees gewilde web bediener-sagteware daar buite.
Dit is die gevolg van die handdruk terug na my kom.
En as ek soort van kyk na wat was binnekant van die hand
of die virtuele envelop wat verteenwoordig die pakkies,
gaan oor die draad binne
van wat hierdie paar lyne van die teks.
En omdat blaaiers hulself HTTP praat,
hulle vooraf ingeprogrammeer deur Google en Microsoft
en ander maatskappye om te kyk vir hierdie lyn.
En toe hy sien plek: wat doen dit met die URL
na die kolon vermoedelik?
Dit gaan om dit te.
En ons kan sien in 'n aantal maniere.
In werklikheid, 'n baie handige instrument veral op Linux
en Mac OS is as ek oop 'n terminale venster hier
en ek doen krul en ek doen-ek en dan plak die URL daar.
Dit is 'n goeie gewoonte aanhalingstekens te gebruik
want as jy al ooit vrae punte
of ander funky karakters, Jy kan eintlik soort
van verwar die command line.
Maar as jy die URL haal daar, nou gaan ons presies al sien
van die kop wat terug gekom het.
En in hierdie geval, eintlik Ek het die verkeerde een.
Ek het die doek URL.
Kom ons doen http://www.cs164.net.
Betree. Daar is presies daardie selfde kop.
En as ek wil sien volgende wat kom terug,
Ek kan net dit doen met die hand.
So krul is net 'n soort van 'n vinnige en vuil diagnostiese hulpmiddel hier,
krul-ek en nou dat URL weer en dit is al die hoofde
wat nou weer terug kom uit canvas.harvard.edu.
Watter addisionele inligting is hulle ons stuur?
Dit is 'n bietjie afgesny.
Laat my skuif dit oor.
So een van hierdie lyne is interessant.
So inhoud lengte, dis hoeveel grepe was binnekant
van die virtuele koevert wat kom terug.
Inhoud tipe dit is HTML, dit dalk iets anders wees
As dit is 'n PNG of 'n GIF of JPEG.
Trouens, oor die algemeen, wat hierdie string genoem?
Daar is hierdie unieke stringe in die wêreld
wat uniek beskryf verskillende data-tipes.
Dit is 'n sogenaamde MIME-tipe, M-I-M-E tipe.
So het die wêreld het gestandaardiseerde
dat. png Ek dink is "image / png".
Die wêreld het gestandaardiseerde wat in HTML lêer text / html.
Die wêreld het gestandaardiseerde wat 'n mp4, film lêer video/mp4.
So dit is die unieke tekens dat die weblesers gebruik gewoonlik
om te bepaal of te speel dit as 'n film, om dit te vertoon
as 'n beeld, te lewer dit as HTML of die wil.
Wat bediener doen - instructuur die maatskappy agter doek
blykbaar gebruik?
So Apache ook, so hulle gebruik dieselfde instrument en ons kan sien
wat via hierdie lyn hier.
As 'n eenkant, hulle het eintlik gedoen iets wat slim
dat nie alle webwerwe doen.
Baie dikwels webtuistes spoeg uit,
nie net dat hulle hardloop Apache, maar ook
dat hulle hardloop Apache weergawe 2.1.3.
Maar hierdie ouens is slim en gestremdes die weergawe.
Hoekom is dit wys?
Ja.
>> Miskien omdat sekere weergawe ontdek kan word
en het veral kwesbaarheid
[Onhoorbaar] voor die hand liggend.
>> Presies.
Dit is 'n potensiële veiligheid bedreig.
As jy in wese uitsending van die wêreld, hey,
ons hardloop hierdie weergawe.
Hey ons hardloop hierdie weergawe.
Dit is nie so moeilik om met Google of met net krul selfs te steek
rondom ewekansige IP adresse
en vind mense hardloop karretjie sagteware en dan val hulle
deur alles wat gedokumenteer beteken daar is.
Nou, hoekom is dit steeds sê Apache?
Waarskynlik, wat is 'n soort van gratuite inligting.
Wel, Apache maak dit maklik om te draai af van die weergawe nommer
maar nie hul soort van agter die skerms brandmerk op hierdie manier.
En dit is hoe Google en ander Maatskappye weet wat webservers
mense loop omdat hulle net vertel van die hele wêreld
elke keer as jy hulle besoek.
So koekies sal terug kom ook.
Maar jy kan onthou dat koekies is soort van groot unieke nommers
wat tipies graag 'n hand stempel op die gebruiker.
Dit is 'n bietjie lêer of 'n stuk data geplant in die leser
om te onthou wat die gebruiker is.
Status 200 is goed.
X-doek-Meta, so Wat is al hierdie dinge?
Wel, 'n lang storie kort, die wêreld het ook toegelaat word om die wêreld
met arbitrêre, HTTP vorendag te kom kop-en as jy hulle prefix
met X, wat net beteken dat hulle persoonlike.
En dit is 'n mooi manier, selfs vir diagnostiese doeleindes
As jy die ontwikkeling van 'n web-gebaseerde program
en jy wil in staat wees om
om te sien wat agter die skerms wat jy weet wat agterkant bediener spit
uit hierdie antwoord of wat weergawe nommer word gelei
op hierdie bediener.
Of wat is sy interne IP-adres,
enige ding waar jy dalk wil 'n paar interne blik
op iets wat aangaan, kan jy spoeg
uit jou eie arbitrêre HTTP-hoofde in die manier.
Maar die storie het begin met die opening van die kursus se webblad.
En ons het al hierdie rye in die blad Network.
Die eerste een was van die meeste rente wat ons getrek
na die volgende en dan het ons terug na hierdie reaksie hier.
So, waar is canvas.harvard.edu?
Kom ons druk 'n bietjie verdere en sorteer
van die volgende broodkrummels.
Canvas.harvard.edu is glo in besit van Harvard.
Hulle het hierdie sub-domein genoem canvas.harvard.edu.
Hoe sou ek uitvind waar
in die wêreld canvas.harvard.edu lewens?
Of miskien meer spesifiek Wat is die IP-adres?
Hoe kan ons figuur wat uit?
Ja?
[Onhoorbaar Nota]
Absoluut.
So dit is eintlik antwoord 'n paar van die vrae is daar.
Die eerste so 'n eenvoudige instrument sou iets genoem Nslookup
al is dit genoem ander dinge.
Naambediener Soek en Ek kan iets tik
soos canvas.harvard.edu.
Betree. En dit gaan gee my terug blykbaar 'n hele klomp
antwoorde.
Maar kan sien as jy kan nie sin maak van hierdie.
So glo,
canvas.harvard.edu is 'n kanoniese naam
vir hierdie gruwelike soek ding,
Harvard-vanity.instructure.com.
So, wat gaan hier aan?
Terwyl intussen, As ons aanhou lees,
Harvard-vanity.instructure.com het 'n kanoniese naam
van iets selfs nog meer kriptiese,
Harvard-170 iets -Ons-Oos-1.elb.amazon.aws.
Verder, dat die ding opgelos
te glo drie verskillende IP adresse.
So, wat in die wêreld nie al hierdie beteken?
Ja?
[Onhoorbaar Nota]
OK. Goed. En laat my aanpas een ding wat jy sê,
dit is nie regtig 'n inhoud lewering netwerk.
Want dit is gewoonlik dat beteken dit is statiese inhoud
en omdat die meeste van die webwerf is dinamies gedryf,
Ek sou nie beskryf dit as 'n CDN
maar dit is Amazon aangebied bedieners.
Amazon bied 'n diens genoem Amazon Elastiese Reken Wolk,
EC2 vir kort.
En dit is net die web bedieners dikwels hardloop Apache
of ander stukke van sagteware dat jy in wese kan huur
deur die betaling van Amazon 'n paar sent of 'n paar dollars per uur
en eintlik jy jou kode op hul bedieners.
En die wyse waarop hulle doen, is hulle nie 'n kriptiese
soek domein naam soos hierdie wat op sy beurt die resultate op een
of meer IP-adresse soos hierdie drie hier.
En op sy beurt, het jy aliasse te skep
wat 'n baie meer menslike vriendelike
vir wat andersins heeltemal unmemorable Amazon adres.
En in hierdie geval die maatskappy instructuur besluit
'n Bietjie skep meer onvergeetlike adres,
Harvard-vanity.instructure.com
maar dit sou wees om 'n gruwelike soort van ding vir ons
te besoek vir natuurlik webtuistes.
So Harvard beurt geskep 'n ander alias wat meer
eenvoudig canvas.harvard.edu.
En al hierdie tegnieke is gebruik te maak van iets genoem DNS,
die Domain Name System.
En so lank as wat die stelsel administrateur toegang
Harvard se of instructuur se DNS-bedieners,
jy hierdie aliasse kan skep.
En as jy ouens, vir jou projekte,
besluit om 'n domein te koop noem vir 5 dollar,
10 dollar of wat ook al.
En selfs betaal vir 'n web host
of gebruik net 'n vrylik beskikbaar web host en jy dit wil hê
om werklik te leef nie iets random.com
maar op jou eie domein noem dat jy vir 5 gekoop
of 10 dollar dit is die vorme van opset besonderhede
dat ons sal ontdek in die rigting die einde van die semester.
As en wanneer dit tyd iets in die openbaar te stuur
sodat dit op 'n kan leef meer interessant URL.
Laat my vir 'n oomblik Want julle is soort
onnodig bondel in daar.
Wil jy ongemaklik net soort van kom in en sit
in die rug of in die middel?
Moet ek trek nie aandag aan jou?
Kom in
Dit is waarskynlik meer ongemaklik daar.
[Pouse]
Alle regte.
OK. Welkom.
Alle regte.
So, waar ons nou gaan?
So een of ander manier ons ander en Ons sal hierdie brug oorsteek as
en wanneer die tyd kom in terme
van DNS hoe jy eintlik instel al van dat.
Sommige hoe of ander, hierdie HTTP versoek
hierdie aanvanklike handdruk bereik 'n bediener op 'n
van diegene IP adresse.
Op daardie bediener is iets bekend as 'n web bediener.
Geen verrassing nie.
Maar wat werklik tegnies is 'n web-bediener?
Jy soort neem die term vanselfsprekend, maar wat is dit?
Wat is 'n web-bediener?
Ja?
[Onhoorbaar Nota]
OK. So, dit is net 'n rekenaar met die geheue en insette.
Jy weet dit dalk gelyk het
soos daardie prentjie vroeër selfs alhoewel hierdie een is 'n bietjie
retro en meer van 'n lessenaar of toring rekenaar.
Ja, dit is net 'n rekenaar.
Maar tegnies, 'n web bediener is nie 'n rekenaar per sê.
Ons as 'n soort van die mens het lang conflated web bedieners
en e-pos stuur as fisiese toestelle.
Maar 'n web bediener regtig is 'n stukkie van die sagteware.
Dit is 'n stuk sagteware loop op 'n fisiese rekenaar.
En daarom kan jy 'n e-pos bediener en 'n web bediener
en 'n grafiek bediener en enige aantal ander bedieners
of meer behoorlik dienste wat op die top
van 'n bepaalde rekenaar-en al die dienste kan leef
op dieselfde IP-adres dus.
So, hoe - as jy jou het verskeie dienste
of bedieners loop op die dieselfde rekenaar, hoe wanneer nulle
en kinders kom in op hulle via die internet,
weet die rekenaar of om te reageer as 'n e-pos bediener
met 'n web bladsy met 'n chat?
Ja.
[Onhoorbaar Nota]
Goed. Presies.
So 'n web bediener luister op wat genoem word 'n hawe.
En as jy CS143 geneem het Netwerk, kan jy weet
dat hierdie hawens verband protokolle soos TCP
wat jy waarskynlik op minste gehoor het van of UDP.
En hierdie poorte of hawe getalle is net unieke identifiseerders
dat 'n diens te identifiseer.
So 80 is web, 25 is e-pos, 23 is Telnet, 22 is SSH
en daar is dosyne of honderde
van ander mense, hoewel daar net 'n paar baie gewilde kinders.
En dit is een manier om vir 'n rekenaar met 'n IP-adres
te sorteer van multiplex onder verskillende tipes versoek
en reageer daarvolgens.
So wat beteken dit eintlik?
Sodat ons nie nodig het nie 'n webblaaier.
Ons krul hoef nie te eintlik praat met 'n web bediener.
Ons moet net om te verstaan ​​wat die protokol is en hoe dit werk
en ek het verwys na hierdie 'n oomblik gelede.
Telnet is 'n soort van 'n ou skool program.
Terug in my dag, het ons gebruik om dit te gebruik e-pos om te kyk
maar dit was heeltemal onseker.
Dit is net 'n instrument waardeur jy kan stuur teks opdragte
na 'n ander rekenaar.
En terug in die dag,
diegene tekstuele opdragte dikwels ingesluit jou gebruikersnaam
en jou wagwoord met geen soort van enkripsie.
As jy vertroud is met SSH,
SSH is nogals Telnet maar met enkripsie.
So dit is 'n bietjie van 'n oorvereenvoudiging.
Maar ek kan voorgee as 'n mens met 'n terminale venster
en hierdie ou skool program Telnet 'n webblaaier te wees.
Ek kan iets tik soos telnet www.cs164.net
en ongelukkig as ek net getref Tik, sy probeer
maar dit lyk asof niks te gebeur.
En dit is omdat by verstek, die wêreld besluit jaar gelede
dat Telnet se standaard poort is 23
as ek kortliks verwys tot oomblik gelede.
Maar ek wil nie Telnet per sê.
Ek wil Telnet te gebruik om hierdie soort van die teks program om voor te gee
'n webblaaier in Chrome te wees en Internet Explorer en ander blaaiers
by verstek het hard gekodeer deur Google en Microsoft
om nie te praat nie, maar 23 80 of miskien 443
vir SSL-gebaseerde webwerwe.
En nou, let ek probeer en ek toegang tot die web bediener.
Ek gaan nou, gaan voort en sê iets soos Hello.
En glo dit het net permanent verskuif.
Ek stuur 'n paar valse bevel
en sy stuur my terug na hierdie adres hier.
So, laat ons eintlik doen dit 'n bietjie anders.
Kom ons eintlik sien sê GET/HTTP/1.1.
So, wat doen ek?
Dit is die opdrag.
Dit is 'n soort van my handdruk, om so te praat.
Wat is die vorentoe streep waarskynlik dui?
Die huis gids.
So het die huis gids hier beteken dit net -
Wel, laat ons noem dit die wortel van die webwerf.
Wat ook al die standaard lêer word, is dit dalk index.html,
Miskien is dit artikels
en HTTP/1.1 is in wese die jongste weergawe van HTTP.
So ek voorgee om 'n te wees leser wat is redelik huidige
sodat dit reageer dit het my soos ek hoop.
En ek gaan voort en getref twee keer Tik
omdat die manier waarop dinge werk is dat wanneer jy sien 'n leë lyn,
nie 'n web bediener reageer dan.
Maar ongelukkig dit is 'n slegte versoek.
Die leser het 'n versoek
dat hierdie bediener kon verstaan ​​nie.
Nou hierdie een is 'n baie moeiliker om te diagnoseer.
Maar dit blyk dat cs164.net gebruik Apache.
En nie veel wat ons kan uitvind.
Maar sy het ook die gebruik van iets genoem virtuele hosting
waarin jy vertroud kan wees.
Miskien vaagweg uit jou CS50 dae
of as jy geskryf het kommersiële webtuistes voor,
Wat is 'n virtuele gasheer of vhost?
Ja.
[Onhoorbaar Nota]
OK. Presies.
So is daar verskeie lae van die multiplexing hier so te praat.
Wanneer jy 'n versoek op 'n sekere bediener
op 'n spesifieke IP-adres, wat jy minimaal moet die poort nommer
sodat die bediener weet dit is 'n e-pos, is dit 'n web versoek,
'n chat boodskap of wat nie.
Maar as een keer jy uitvind uit, OK, die hawe 80.
Dit is natuurlik 'n versoek vir 'n web bladsy.
Maar sou dit nie lekker wees
As 'n enkele bediener kon eintlik verskeie ondersteun
webwerwe, food.com en bar.com en bass.com
sodat hulle nie een fisiese nodig nie bediener of 'n enkele stuk
sagteware vir elke verdoem webwerf in die wêreld.
So het die wêreld virtuele uitgevind hosting waarmee jy
verskeie domein name te sit op dieselfde IP-adres.
Maar die catch is die verband Ek het net gemaak met behulp van Telnet,
spesifiseer poort 80 www.cs164.net ek geen melding gemaak
van die domein naam dat ek belangstel
in buite die command line.
En ongelukkig, en dit is 'n bietjie nie-duidelik.
So gou as ek druk Enter,
wese Telnet deur vermetelheid is die omskakeling
www.cs164.net vir my na 'n IP-adres
en dan net die stuur van my rou KRY versoek aan die bediener.
So dat die idee dat dit www.cs164.net heeltemal verloor het,
reg.
Telnet is nie 'n leser Waarom sou dit die moeite stuur
bykomende inligting na die bediener?
Dit is nie dat slim.
So ek die blaai die bediener te herinner
wat nie net wil ek die tuisblad te kry,
Ek wil ook spesifiseer 'n gasheer van cs164.net.
En die HTTP kop so te praat, is presies dit, Host:.
Nou, wanneer ek getref Gee, ek terug te kry die dieselfde aanstuur
wat ek gesien het in Chrome en dat ek gesien in krul, maar ek waag om te sê nou,
ons dit doen net omtrent so lae vlak
as tegnies moontlik
deur gebruik te maak van hierdie meer arcane opdragte.
Nou, hoekom is dit nuttig?
So, dit is nie die normale manier om 'n webwerf te besoek
maar byna enige tyd, jy het 'n paar probleem te diagnoseer
met die web-gebaseerde program wat behels 'n bediener of 'n stuk
sagteware of nuut geskep virtuele gasheer
of nuut gekoop domein naam.
Dit is presies die gereedskap dat jy Tim en Rob weet en ek
en ander sou gebruik net om te probeer om
uit wat verkeerd gaan, reg?
Geval in punt wanneer jy kry 'n domein naam, jy een of ander manier het
'n IP te assosieer spreek met dit.
En jy doen dit gewoonlik via web-gebaseerde koppelvlak op GoDaddy
of namecheap.com of waar ook al jy die domein naam gekoop.
So verskillende webtuistes verskillende gereedskap
maar dit is in wese op 'n Excel-tabel met kolomme
vir die gasheer name en kolomme
vir die IP-adresse iets soos dit.
Maar daar is 'n probleem want elke keer as jy gevra word
'n IP-adres te assosieer met 'n gasheer naam, word jy gevra
vir sy TTL wat staan vir - jy het 143.
Ek hoor dit hier.
Tyd om te lewe.
'N TTL beteken hoeveel sekondes moet hierdie item onthou word
vir en deur onthou, Ek bedoel die kas.
So, 'n lang storie kort, ook binne die DNS wêreld,
daar is hierdie hele idee van die kas.
En dit is 'n onderwerp wat ons sal verken in die kursus sowel
by 'n sagteware vlak waardeur kas is dikwels 'n baie
n goeie ding.
En wat bedoel ons met n webblad te kas byvoorbeeld
of kas 'n DNS rekord, 'n IP-adres?
Wat beteken dit om die kas?
Ja.
[Onhoorbaar Nota]
Ja, presies net hou om 'n kopie sodat
As dit nie verander of eerlik, selfs al verander nie,
Kom ons nie vir ten minste sien 'n paar sekondes miskien selfs 'n paar
minute of erger vir 'n uur of twee.
En in 'n webwerf, kan jy hierdie gesien het nie,
soms as jy gebruik van 'n webwerf,
nie soseer die grootste webtuistes.
Jy is geneig om dit te kry detail reg soos Facebook
en Gmail en dies meer.
Maar as jy 'n ander is die gebruik van webwerf wat deur 'n baie
van die tegnologie Ons sal in die klas,
dit is dikwels 'n ontwerp besluit om te besluit of nie
iets in die kas, en indien wel, hoe lank iets in die kas.
En as jy al ooit is na 'n webwerf
waar byvoorbeeld jy getref Save en dan kan jy die blad herlaai
en dan alles wat jy gepos is nie daar nie.
Maar dan moet jy dalk jou herlaai weer en dit lyk.
En in die waarheid, ek het eintlik gesien die simptoom selfs
met Facebook keer in 'n rukkie
waar as jy herlaai jou Nuusvoer,
soms iets is daar, Soms is dit verdwyn
en dinge te doen nie lyk regtig konsekwent.
En dit is dikwels die gevolg van net caching kwessies.
Op 'n versoek, is jy slaan een bediener.
Op nog 'n versoek, is jy slaan 'n ander bediener
en hul caches, hul afskrifte
van web bladsye mag nie perfek gesinchroniseer
deur 'n paar sekondes of minute
so jy sien verskillende state van die wêreld.
Dieselfde gebeur met DNS.
As jy besluit dat jy besit food.com
en as jy het al hosting dit op GoDaddy,
'n redelik gewild web hosting maatskappy onder andere
en jy besluit, nee, ek doen nie graag hul politiek,
Ek het regtig nie hou nie hul pryse, hul dienste.
Ek wil om te verander na 'n ander web hosting maatskappy alles saam.
Wat doen jy?
Wel, jy wil net verander die IP adres van food.com te wys
op iemand anders se bediener wat jy gaan om geld te begin.
Maar omdat die hele DNS bediener stelsel gebruik caches,
Wat mag dit beteken vir jou gebruikers
As jy skielik beweeg jou webwerf van hier
hier oor, verskillende IP adres.
Alle regte.
Vir sommige nie-nul getal minute of sekondes
jou gebruikers kan uiteindelik gaan hier byvoorbeeld of hier
omdat hul bedryfstelsel, hul leser, hul ISP,
hul huis router kan hê die kas die ou IP-adres
By watter punt, sy werklik moeilik om te figuur
presies wat verkeerd gaan.
So hoe kan jy begin om te jaag down selfs kwessies soos wat?
Deur net na hierdie broodkrummels
en begrip uiteindelik wat HTTP
en wat beteken dit te stuur 'n versoek en wat doen gereedskap
soos Nslookup eintlik doen vir jou.
En so hoe kan jy uit te voer 'n paar van hierdie lae vlak opdragte
en net uit te vind wat In werklikheid is verkeerd gaan.
So jy weet wie om te bel, wat 'n e-pos aan of wat af te stuur
te verander op jou eie bediener.
En as 'n eenkant, Ek vermoed die meeste
van julle hier het die CS50 gebruik Toestel, as jy gedoen het om CS50.
Selfs as jy nie baie
van julle het waarskynlik gebruik Apache of op jou eie Mac
of rekenaars of Linux bokse.
Net soos 'n eenkant, as ek dit doen Maak 'n terminale venster hier
op die jongste CS50 toestel en ek raak wortel sudu su
en dan gaan ek na hierdie gids
hier etc / httpd / conf.d /.
Dit is 'n algemene plaas vir web bediener -
vir Apache web bedieners te stoor hul opset lêers.
Conf.d beteken net opset gids met 'n hele klomp
lêers en as ek oop met vi byvoorbeeld
toestel 50, sal jy eintlik sien hoe virtuele hosting
in die CS50 toestel is werk al daardie tyd.
As dit was 'n rukkie herroep
dat jy die meeste kan sit enige webwerf binne
van jou vhost se gids in die toestel.
Hoe is dit eintlik werk?
Wel sien, dit is 'n bietjie arcane en jy kan sorteer
van grok jou pad deur dit met behulp van die dokumentasie.
Maar in wese die waarskynlik die mees bruikbare lyn
te kyk - kyk, is dit.
Hierdie lyn hier in wese vertel die web bediener te kyk
in John Harvard se vhost gids
vir die laer geval weergawe van watter bediener naam
of domein naam eintlik besoek het.
En ons sal nie noodwendig gaan in met hierdie graad pogings.
Maar wanneer die gebruik van Apache, jy is die een
wat uiteindelik Beheer oor die besonderhede.
OK. So, voortaan, kan ons nou neem HTTP as vanselfsprekend aanvaar, reg?
Alle regte.
So hoekom nie ons doen hierdie, veral as 'n
van julle voel ietwat van 'n gevangene gehoor, hoekom het ons nie voort te gaan
en neem 'n twee minute breek,
Toe ons terug kom sal ons duik 'n bietjie in die MVC en ons sal
op 'n nota op - 'n probleem wat Ons sal dan los op Woensdag
met 'n instrument genoem Laravel.
So, laat ons 'n n paar minute.