>> Okay.
Så lad os dykke ned i nogle tekniske oplysninger.
Forhåbentlig med nogle hvad af en softball spørgsmål.
HTTP målet i dag er simpelthen ikke give os en mental
model for de typer ansøgninger
og projekter, vi er kommer til at gennemføre.
På onsdag vil vi overgangen i mere dybde til ting som MVC
og især til Laravel og i ORM
med som vi vil tale til en database.
Men i dag, lad os sætte scenen for disse samtaler.
HTTP er hvad?
Hypertext Transfer Protocol?
OK hvad betyder det?
Ja.
[Lydløs Bemærkning]
OK. Luk.
Det er den anden.
Ikke HT - det er det HTML.
HTTP er den, der gør hvad der præcist?
>> Er det den service, som ligesom transmitterer tekst tilbage
og tilbage mellem servere?
>> Ja præcis.
Det er serveren.
Så egentlig er det protokollen.
Det er det sæt af konventioner , der anvendes
at overføre oplysninger frem og tilbage mellem klient og server.
Og at oplysningerne normalt tager form af HTML,
Hypertext Markup Language, som er de åbne tags og nære tags.
Så hvis du har nogle klient her repræsenteret på den venstre
og nogle server repræsenterede her til højre.
Pilene frem og tilbage
mellem dem repræsenterer at sproget HTTP.
Og hvis fortrolig med 50 for eksempel sidste år eller et par
år siden, du måske minde om, at vi beskrev det
som en protokol i den forstand, at når jeg først møder nogen,
Jeg kunne udvide min hånd og sige, hej og du kan sige -
>> Hej.
>> Hej. Og nu, den slags af transaktion mellem klient
og serveren er færdig.
Ok.
Så HTTP er bare en sæt af konventioner.
Og blandt disse konventioner er at sende visse beskeder.
Så for eksempel, Lad os åbne Chrome.
Og for kurset, kan du sikkert bruge de fleste enhver browser,
men Chrome har tendens til at være nok den mest populære i disse dage.
Fordi det har en hel suite af værktøjer bygget i.
Lad os gå videre og Undersøg Element.
Lad mig gå til fanen Netværk og lad mig gå til noget
ligesom http://www.cs164.net og tryk på Enter
efter første ramme Record incase vi bliver omdirigeret.
Og nu vil vi at se en hel flok
af rækker i denne tabel.
Hvad betyder hver af disse rækker repræsenterer
når du besøger en webside?
Ja?
[Lydløs Bemærkning]
Præcis. Alle filer Jeg har lige anmodet om, er vist
som en enkelt række i det lille bord der,
men vent filer.
Jeg kun anmodet om en sådan fil, højre,
formentlig index.html eller index.php.
De kunne være links, right?
Bestemt er der billede tags inde i der,
Der er link tags for CSS, der er scripttags
for JavaScript og en hel masse andre tags
der kan faktisk trække
i yderligere filer slags rekursivt.
Og så er det, vi ser.
Hvis vi rulle op nu selve toppen af ​​disse,
bemærke, at vi først ser en Det er faktisk lidt nysgerrig.
Det siger vores hjemmeside flyttet midlertidigt,
status kode, så at tale er 302.
Der er en anden lignende en, 301, som er flyttet permanent.
Og hvis du flytter midlertidigt eller permanent hvad betyder det?
Hvad skal dine øjne være på udkig efter for
at besvare, hvor vi flytter til?
Den nuværende og længde.
OK. Så kunne sikkert udlede, hvor vi endte.
Og tilsyneladende jeg endte på canvas.harvard.edu / noget
hvilket er en meget hårdere at huske.
Men mere teknisk, jeg vil at diagnosticere en omdirigering problem.
Jeg ønsker at forstå, hvor jeg gå fra punkt A til punkt B
til et punkt prik, prik, dot canvas.harvard.edu
i dette mere mystiske grænseflade overskrifter.
Hvordan besvarer jeg et spørgsmål om formularen til hvor jeg flytte?
Placering. Ok.
Så hvis jeg rulle ned her til svarskriftet headers,
Bemærk, at disse er de sidehoveder og lad mig ændre det.
Dette er en slags smuk trykte udgave fra Chrome.
Lad os klikke view kilde.
Dette er den rå tekst, Apache webserver.
Og jeg ved, at ved blik på denne linje her.
Og Apache er bare gratis og open source-software.
Det er nok den mest populære web server software derude.
Det er resultatet af håndtryk kommer tilbage til mig.
Og hvis jeg sådan kigge på hvad der var inde i hånden
eller den virtuelle indhylle at repræsenterer de pakker,
går på tværs af wiren indeni
af dette er disse flere linjer af tekst.
Og fordi browsere selv tale HTTP,
de er forudprogrammeret af Google og Microsoft
og andre virksomheder at kigge efter denne linje.
Og når det ser placering: hvad gør den med URL'en
efter kolon formentlig?
Det går til det.
Og vi kan se dette i en række forskellige måder.
I virkeligheden en meget praktisk værktøj især på Linux
og Mac OS er, hvis jeg åbner en terminal vindue her
og jeg gør krølle, og jeg gør-I og derefter indsætte denne URL der.
Det er en god vane at bruge citater
fordi hvis du nogensinde har spørgsmål mærker
eller andre funky figurer, du kan faktisk sortere
af forvirre kommandolinjen.
Men hvis du citerer URL der, nu vil vi se nøjagtigt alle
af de overskrifter, der kom tilbage.
Og i dette tilfælde faktisk Jeg gjorde den forkerte.
Jeg gjorde Canvas URL.
Lad os gøre http://www.cs164.net.
Enter. Der er nøjagtigt de samme overskrifter.
Og hvis jeg ønsker at se næste, hvad der kommer tilbage,
Jeg kan bare gøre det manuelt.
Så krøller er bare lidt hurtig og beskidt diagnostisk værktøj her,
krølle-I og nu denne webadresse igen og disse er alle overskrifter
der nu kommer tilbage fra canvas.harvard.edu.
Hvilke yderligere information sender de os?
Det er lidt afskåret.
Lad mig med at flytte dette over.
Så en af ​​disse linjer er interessant.
Så indhold længde, der er hvor mange bytes var inde
af den virtuelle kuvert der kom tilbage.
Indholdstype det er HTML, det kunne være noget andet
hvis det er en PNG eller en GIF eller JPEG.
Faktisk generelt hvad er denne streng hedder?
Der er disse unikke strenge i verden
der entydigt beskriver forskellige datatyper.
Dette er en såkaldt MIME-type, M-I-M-E-typen.
Så verden har standardiseret
det. png jeg tror er "image / png".
Verden har standardiseret at i HTML-filen er text / html.
Verden har standardiseret, at en mp4, filmarkiv er video/mp4.
Så disse er de unikke tokens at browsere plejer at bruge
at afgøre, om at spille det som en film, for at vise det
som et billede, for at yde det som HTML eller lignende.
Hvilken server gør - instructure selskabet bag lærred
tilsyneladende bruge?
Så Apache også, så de bruger det samme værktøj, og vi kan se
der via denne linje her.
Som en sidebemærkning, de har faktisk gjort noget, er smart
at ikke alle websteder gør.
Meget ofte websites spytte ud,
ikke blot, at de er kører Apache, men også
at de kører Apache-version 2.1.3.
Men disse fyre har været smarte og deaktiveret versionsnummeret.
Hvorfor er så smart?
Ja.
>> Måske fordi visse udgave kan blive opdaget
og har især sårbarheder
[Uhørlig] indlysende.
>> Præcis.
Det er en potentiel sikkerhedstrussel.
Hvis du er i det væsentlige udsender verden, hey,
vi kører denne version.
Hey vi kører denne version.
Det er ikke så svært med Google eller med bare krølle selv at stikke
omkring tilfældige IP-adresser
og finde folk kører buggy software og derefter angribe dem
hvilken som helst dokumenteret betyder, at der er.
Nu, hvorfor er det stadig siger Apache?
Velsagtens, det er en slags umotiveret information.
Nå, Apache gør det nemt at slukke versionsnummeret
men ikke deres slags bag kulisserne branding på denne måde.
Og det er, hvordan Google og andre virksomheder ved, hvad web-servere
folk kører, fordi de er bare at fortælle hele verden
hver gang du besøger dem.
Så cookies vil komme tilbage også.
Men du husker måske, at cookies er en slags store entydige numre
som er typisk som en hånd stempel på brugeren.
Dens lidt fil eller et stykke data plantet i browseren
at huske, hvem brugeren er.
Status 200 er god.
X-Canvas-Meta, så Hvad er alt dette?
Nå, lang historie kort, verden har også gjort verden
at komme op med vilkårlige, HTTP sidehoveder og hvis du præfiks dem
med X, der bare betyder, at de er skik.
Og det er en god måde selv til diagnostiske formål
hvis du er ved at udvikle et web-baseret program
og du ønsker at være i stand
at se bag kulisserne, du vide, hvad der sikkerhedskopieres end server spytte
ud dette svar, eller hvad versionsnummer køres
på denne server.
Eller hvad er dens interne IP-adresse,
nogen ting, hvor du måske ønsker nogle interne glimt
på noget, der er foregår, kan du spytte
ud af din egen vilkårlige HTTP-headers på den måde.
Men historien begyndte med åbner kursets hjemmeside.
Og vi så alle disse rækker i fanen Netværk.
Det første var de fleste interesse, omdirigeret os
til den næste, og så fik vi tilbage til dette svar her.
Så hvor er canvas.harvard.edu?
Lad os skubbe lidt videre og sortere
af følge disse brødkrummer.
Canvas.harvard.edu er tilsyneladende ejet af Harvard.
De skabte denne sub-domæne kaldet canvas.harvard.edu.
Hvordan ville jeg regne ud, hvor
i verden canvas.harvard.edu liv?
Eller måske mere specifikt hvad er dens IP-adresse?
Hvordan kan vi finde ud af?
Ja?
[Lydløs Bemærkning]
Absolut.
Så det er faktisk svaret på et par spørgsmål der.
Den første af disse simpelt værktøj ville være noget, der hedder Nslookup
selvom det hedder andre ting.
Navneserver opslag og Jeg kan skrive noget
ligesom canvas.harvard.edu.
Enter. Og det vil give mig tilbage tilsyneladende en hel flok
af svar.
Men lad os se om ikke kan få mening ud af dette.
Så tilsyneladende,
canvas.harvard.edu er en kanonisk navn
for denne grusomme ser ting,
Harvard-vanity.instructure.com.
Så hvad sker der her?
Mens i mellemtiden, hvis vi holder læsning,
Harvard-vanity.instructure.com har et kanonisk navn
af noget endnu mere kryptisk,
Harvard-170 noget -Os-east-1.elb.amazon.aws.
Desuden, at ting løser
at tilsyneladende tre forskellige IP adresser.
Så hvad i alverden betyder alle disse betyde?
Ja?
[Lydløs Bemærkning]
OK. Godt. Og lad mig nappe én ting, du sagde,
det er egentlig ikke en levering af indhold netværk.
Fordi det er typisk, at betyder, at det er statisk indhold
og fordi de fleste af hjemmeside er dynamisk drevet,
Jeg vil ikke beskrive dette som en CDN
men det er Amazon hosted servere.
Amazon tilbyder en tjeneste kaldet Amazon Elastic Compute Cloud,
EC2 for korte.
Og disse er blot web servere ofte kører Apache
eller andre stykker software at du kan leje hovedsageligt
ved at betale Amazon et par cent eller et par dollars i timen
og faktisk du kører din kode på deres servere.
Og de midler, hvormed de gøre dette er at de giver et kryptisk
ser domænenavn som denne hvilket resulterer i en
eller flere IP-adresser som disse tre her.
Og til gengæld, du kan oprette aliasser
der er en masse mere menneskevenlige
for det andet er fuldstændigt unmemorable Amazon-adresse.
Og i dette tilfælde Virksomheden instructure besluttet
at skabe et svagt mere mindeværdige adresse,
Harvard-vanity.instructure.com
men det ville være en grusomme slags ting for os
at besøge for kursus hjemmesider.
Så Harvard igen skabt andet alias, der er mere
simpelthen canvas.harvard.edu.
Og alle disse teknikker er udnytte noget, der hedder DNS,
Domain Name System.
Og så længe systemet administrator har adgang
til Harvard eller instructure s DNS-servere,
du kan oprette disse aliaser.
Og hvis du fyre, til dine projekter,
beslutter at købe et domæne navn til 5 dollars,
10 dollars eller hvad.
Og selv betale for en web-vært
eller bare bruge en frit tilgængelig webhost og du ønsker det
til rent faktisk at leve ikke på noget random.com
men på dit eget domæne navn, som du har købt for 5
eller 10 dollars disse er de former for konfiguration detaljer
at vi vil udforske mod i slutningen af ​​semesteret.
Hvis og når det drejer sig tid at sende noget offentligt
så det kan leve på en mere interessant webadresse.
Lad mig pause et øjeblik Fordi du fyre er slags
unødigt klaske op derinde.
Ønsker du at akavet lige slags komme ind og sidde
i ryggen eller i midten?
Skal jeg ikke trække opmærksomhed til dig?
Kom indenfor
Det er sandsynligvis mere ubehageligt der.
[Pause]
Ok.
OK. Velkommen.
Ok.
Så hvor er det nu forlade os?
Så en eller anden måde er vi andre og vi vil krydse denne bro, hvis
og når den tid kommer i form
af DNS, hvordan du rent faktisk ville konfigurere alt dette.
Nogle hvordan eller andet, denne HTTP-anmodning
denne indledende håndtryk når en server hos en
af disse IP-adresser.
På denne server er noget kaldes en web-server.
Ingen overraskelse.
Men hvad der virkelig er teknisk er en web-server?
Du slags tage sætningen for givet, men hvad er det?
Hvad er en web-server?
Ja?
[Lydløs Bemærkning]
OK. Så det er bare en computer med hukommelse og input.
Du kender det måske har set
gerne, at billedet tidligere selv selv om denne er en smule
retro og mere af en skrivebordet eller tårn computer.
Ja, det er bare en computer.
Men teknisk set, en web-server er ikke en computer pr sige.
Vi som slags mennesker har lang conflated webservere
og e-mail-servere som fysiske enheder.
Men en webserver virkelig er et stykke software.
Det er et stykke software kører på en fysisk computer.
Og derfor kan du få en e-mail-server og en web-server
og et diagram server og enhver antal andre servere
eller mere korrekt tjenester, der kører på toppen
af en bestemt computer, og alle disse tjenester kan leve
på samme IP-adresse derfor.
Så, hvordan - hvis du har du har flere tjenester
eller servere, der kører på samme computer, hvordan når nuller
og dem, der kommer i på dem via internettet,
er computeren, om til at reagere som en e-mail-server
med en web-side, med en chat?
Ja.
[Lydløs Bemærkning]
Godt. Præcis.
Så en webserver lytter om, hvad der kaldes en port.
Og hvis du har taget CS143 Netværk, kan du vide
at disse porte vedrører til protokoller som TCP
som du sikkert ved mindst hørt om eller UDP.
Og disse havne eller portnumre er blot entydige identifikatorer
at identificere en tjeneste.
Så 80 er web, 25 er e-mail, 23 er Telnet, 22 er SSH
og der er snesevis eller hundredvis
af andre dem selv om der er blot et par meget populære.
Og det er en måde for en computer med en IP-adresse
at sortere multiplex blandt forskellige typer af anmodning
og reagere i overensstemmelse hermed.
Så hvad betyder det egentlig?
Så vi har ikke brug for en web-browser.
Vi behøver ikke krøller til faktisk tale med en webserver.
Vi er bare nødt til at forstå, hvad protokollen er, og hvordan det virker
og jeg hentydet til dette for et øjeblik siden.
Telnet er en slags old school-program.
Tilbage i min dag, vi brugte at bruge den til at tjekke e-mail
men det var helt usikker.
Det er bare et redskab, via hvilken du kan sende tekstuelle kommandoer
til en anden computer.
Og tilbage i dag,
disse tekstuelle kommandoer ofte indgår dit brugernavn
og din adgangskode med ingen form for kryptering.
Hvis du er fortrolig med SSH,
SSH er temmelig meget Telnet men med kryptering.
Så det er lidt af en oversimplificering.
Men jeg kan lade som en menneske med en terminal vindue
og denne old school program Telnet til at være en web-browser.
Jeg kan skrive noget ligesom telnet www.cs164.net
og desværre hvis jeg bare trykke Enter, dens forsøger
men intet synes at ske.
Og det er fordi som standard, besluttede verdens år siden
at Telnet standard port er 23.
som jeg kort hentydede til øjeblik siden.
Men jeg ønsker ikke Telnet pr sige.
Jeg ønsker at bruge Telnet denne slags af tekst program til at foregive
at være en web browser Chrome og IE og andre browsere
som standard har været svært kodet af Google og Microsoft
at tale ikke til 23, men til 80 eller måske 443
til SSL-baserede websites.
Og nu, bemærker jeg prøve, og jeg forbindelse til webserveren.
Jeg går nu, gå videre og sige noget lignende hej.
Og tilsyneladende har dette lige flyttet permanent.
Jeg sender nogle falske kommando
og dets sende mig tilbage til denne adresse her.
Så lad os rent faktisk gør dette lidt anderledes.
Lad os faktisk se sige, GET/HTTP/1.1.
Så hvad laver jeg?
Dette er kommandoen.
Dette er en slags min håndtryk, så at sige.
Hvad er frem skråstreg sandsynligvis indikerer?
Hjemmet bibliotek.
Så hjemmebibliotek her er det bare betyder -
og lad os kalde det roden af ​​hjemmesiden.
Uanset standard fil er, måske er det index.html
måske er det index.php
og HTTP/1.1 er hovedsagelig den nyeste version af HTTP.
Så jeg foregiver at være en browser, der er temmelig strøm
så det reagerer det mig, som jeg håber.
Og jeg går videre og hit Enter to gange
fordi den måde, tingene fungerer, er at når du ser en tom linje,
virker en web-server, så reagere.
Men desværre dette er en dårlig anmodning.
Browseren sendt en anmodning
at serveren kunne ikke forstå.
Nu er dette ene er en masse sværere at diagnosticere.
Men det viser sig, at cs164.net bruger Apache.
Og ikke meget vi kan finde ud af.
Men dens også ved hjælp af noget kaldet virtuel hosting
hvor du kan være bekendt.
Måske vagt fra din CS50 dage
eller hvis du har skrevet kommercielle hjemmesider før,
hvad er en virtuel vært eller vhost?
Ja.
[Lydløs Bemærkning]
OK. Præcis.
Så der er flere lag af multiplexing her så at sige.
Når du får en anmodning på nogle server
på et bestemt IP-adresse, du minimalt brug at portnummer
således at serveren ved dette er en e-mail, er det en web-anmodning
en chatbesked eller hvad ikke.
Men hvis når du regne ud, OK, dens port 80.
Det er selvfølgelig anmodning for en webside.
Men ville det ikke være rart
hvis en enkelt server kunne faktisk understøtter flere
hjemmesider, food.com og bar.com og bass.com
så de behøver ikke en fysisk server eller et enkelt stykke
af software til hver pokkers hjemmeside i verden.
Så verden opfundet virtuelle hosting, som giver dig mulighed for
at sætte flere domænenavne på samme IP-adresse.
Men fangsten er forbindelsen Jeg har lige lavet ved hjælp af Telnet,
angivelse af port 80 til www.cs164.net jeg gjorde ingen omtale
af domænenavnet at jeg var interesseret
i over kommandolinjen.
Og desværre, og dette er en smule ikke-indlysende.
Så snart jeg trykker på Enter,
væsentlige Telnet formasteligt er at konvertere
www.cs164.net for mig til en IP-adresse
og så bare sende min rå GET anmodning til serveren.
Så forestillingen om, at det var www.cs164.net helt tabt,
højre.
Telnet er ikke en browser hvorfor skulle det genere sende
yderligere oplysninger til serveren?
Det er ikke så smart.
Så jeg gennemse har at minde serveren
at ikke kun jeg vil for at få hjemmesiden,
Jeg ønsker også at præcisere et væld af cs164.net.
Og HTTP header så at tale er præcis det, Host:.
Nu, når jeg trykker på Enter, jeg komme tilbage samme redirect
at jeg så i Chrome, og at jeg så i krøller, men jeg tør sige nu,
vi gør det bare om lavt niveau
det er teknisk muligt
ved hjælp af disse mere mystiske kommandoer.
Nu, hvorfor er det nyttigt?
Så det er ikke den normale måde at besøge et websted
men næsten ethvert tidspunkt, du nødt til at diagnosticere et problem
med web-baseret program der indebærer en server eller et stykke
software eller nyligt skabt virtuel vært
eller nyindkøbte domænenavn.
Det er præcis de værktøjer at du kender Tim og Rob og jeg
og andre ville bruge bare at forsøge at finde
ud af, hvad der går galt, ikke?
Sag i punkt når du kommer et domænenavn, du eller anden måde har
at knytte en IP løse med det.
Og du gør det typisk via web-baseret interface på GoDaddy
eller namecheap.com eller hvor du har købt domænenavnet.
Så forskellige hjemmesider har forskellige værktøjer
men det er hovedsagelig på en Excel-tabel med kolonner
for værtsnavne og kolonner
for IP-adresser noget lignende.
Men der er et problem fordi når du bliver spurgt
at knytte en IP-adresse med et væld navn, bliver du bedt
for sin TTL som står for - du tog 143.
Jeg hører det herovre.
Tid til at leve.
Et TTL betyder hvor mange sekunder bør denne post blive husket
for og af husket, Jeg mener cached.
Så lang historie kort, også inden DNS verden,
der er denne helhed begrebet caching.
Og det er et emne, vi vil udforske i kurset samt
på en software-niveau, hvorved caching er ofte en rigtig
god ting.
Og hvad mener vi med caching en webside for eksempel
eller caching en DNS rekord, en IP-adresse?
Hvad betyder det for cache?
Ja.
[Lydløs Bemærkning]
Ja, præcis bare at holde omkring en kopi, så at
hvis det ikke ændre eller helt ærligt, selvom ændrer sig,
lader ikke mærke i mindst nogle få sekunder måske endda et par
minutter eller værre for en time eller to.
Og i en hjemmeside, kan du har set det før,
nogle gange, hvis du er hjælp af en hjemmeside,
ikke så meget den største hjemmesider.
Du har tendens til at få dette detalje lige som Facebook
og Gmail og lignende.
Men hvis du bruger en anden websted, der bruger en masse
af de teknologier vi vil bruge i klassen,
er det ofte en design beslutning at afgøre, hvorvidt
at cache noget, og hvis ja, hvor lang tid til at cache noget.
Og hvis du nogensinde har været til en hjemmeside
hvor du for eksempel trykker på gem og du derefter genindlæse siden
og så uanset hvad du udstationeret er der ikke.
Men så er du måske genindlæse igen, og det ser ud.
Og i virkeligheden, jeg har faktisk set symptom selv
med Facebook en gang imellem
hvor, hvis du genindlæse dit nyhedsfeed,
sommetider noget er der, nogle gange er det forsvinder
og tingene ikke virkelig synes konsekvent.
Og det er ofte resultatet for blot caching problemer.
På den ene anmodning, er du ramme en server.
På en anden anmodning, er du ramme en anden server
og deres cacher, deres kopier
af websider måske ikke være perfekt synkroniseret
af nogle få sekunder eller minutter
så du kan se anderledes stater i verden.
Samme sker med DNS.
Hvis du beslutter, at du ejer food.com
og hvis du har været hosting det på GoDaddy,
en temmelig populære web hosting selskab blandt andre
og du beslutter dig, nej, det gør jeg ikke virkelig gerne deres politik,
Jeg kan ikke rigtig lide deres priser, deres tjenester.
Jeg ønsker at skifte til en anden web hosting selskab alle sammen.
Hvad gør du?
Nå, ville du blot ændre IP-adressen på food.com at pege
på en andens server, som du kommer til at starte penge til.
Men fordi hele DNS server system bruger caches,
hvad der kan betyde for dine brugere
hvis du pludselig flytter din hjemmeside herfra
til over her, anderledes IP-adresse.
Ok.
For nogle antallet forskelligt fra nul minutter eller sekunder,
dine brugere måske ender med at gå her for eksempel eller her
fordi deres operativsystem, deres browser, deres internetudbyder,
deres hjem router kan have cached den gamle IP-adresse
på hvilket tidspunkt, dets virkelig svært at figur
ud af præcis, hvad der går galt.
Så hvordan kan du begynde at jage ned endnu spørgsmål som det?
Ved blot at følge disse brødkrummer
og forståelse i sidste ende, hvad der er HTTP
og hvad betyder det at sende en anmodning, og hvad gør værktøjer
Ligesom Nslookup faktisk gøre for dig.
Og så hvordan kan du udføre nogle af disse lavt niveau kommandoer
og bare regne ud, hvad faktisk er galt.
Så du ved, hvem de skal ringe, som at sende fra en e-mail til eller hvad
at ændre på din egen server.
Og som en sidebemærkning, Jeg kan gætte de fleste
af jer her har brugt CS50 Appliance, hvis du gjorde tage CS50.
Selv hvis du ikke gjorde mange
af jer har sikkert brugt Apache om på din egen Mac-computere
eller pc'er eller Linux bokse.
Lige som en sidebemærkning, hvis jeg gør åbne en terminal vindue her
på den nyeste CS50 Appliance og jeg bliver rod med Sudu su
og så går jeg ind i denne mappe
her etc / httpd / conf.d /.
Dette er en almindelig sted for web-server -
for Apache webservere til at gemme deres konfigurationsfiler.
Conf.d betyder blot konfiguration mappe med en hel masse
filer og hvis jeg vil åbne med vi for eksempel,
apparat 50, vil du faktisk se, hvordan virtuelle hosting
i CS50 Appliance har været arbejder alle dem tid.
Hvis det har været et stykke tilbagekaldelse
at du kan sætte de fleste enhver hjemmeside inde
af din vhost adressekartotek i Appliance.
Hvordan det rent faktisk arbejder?
Nå bemærke, dette er en smule mystiske og du kan sortere
af grok din vej gennem dette ved hjælp af dokumentation.
Men det væsentlige nok den mest nyttige linje
at se op - se på, er dette.
Denne linje her hovedsagelig fortæller webserveren til at se
i John Harvards vhost bibliotek
for den lavere sag udgave uanset server navn
eller domænenavn var faktisk besøgt.
Og vi vil ikke nødvendigvis gå ind med denne grad af lappeløsninger.
Men når du bruger Apache, du er dem,
der i sidste ende har Kontrol over disse oplysninger.
OK. Så nu kan vi nu tage HTTP for givet, right?
Ok.
Så hvorfor gør vi ikke dette, især hvis nogle
af du føler dig lidt en fangenskab publikum, hvorfor vi ikke gå videre
og tage en to minutters pause,
når vi kommer tilbage, vi vil dykke lidt i MVC, og vi får
på et notat om - på et problem, Vi vil så løse på onsdag
med et værktøj kaldet Laravel.
Så lad os tage et par minutter.