>> SPEAKER 1: Oké, laten we eens een kijken hoe het personeel oplossing eigenlijk
werkt, zodat u een gevoel, eerst uit
hoe de webserver heeft verondersteld te lopen, en hoe kun je eigenlijk
krijgen op uw eigen computer.
Dus beeld hier.
Ik heb al in CS50 ID geïnstalleerd pset6 dot zip, volgens de specificatie.
Ik heb uitgepakt, en ik heb CDED in mijn pset6 directory.
Een van de eerste dingen die je bent gaat willen doen, vooral
Als u al gebruik van een CS50 IDE om te spelen samen met de recente lezingen, waarin
we zijn met behulp van PHP in CS50 IDE specifiek
met behulp van dat webserver genaamd Apache, waarbij u kunt starten en stoppen
met die opdracht, Apache 50.
Eerste, ga je gang en type "Apache 50 stop"
gewoon om ervoor te zorgen dat als je volgende langs in de afgelopen dagen,
en je ingeschakeld Apache, je bent deze uit te zetten op deze manier
door het stoppen van de server.
Nu, wat ik ga doen is precies wat de spec zegt me te doen.
Ik ga naar Tilda CS50 slash pset6 slash server, en gewoon druk op Enter.
U zult merken dat ik schreeuwde tegen met wat informatie over het gebruik, waarbij
Ik moet worden uitgevoerd het programma als server
met een optionele dashboard p en dan een poortnummer, die u kan eigenlijk
laat leeg omdat door Standaard is volgens de specificatie,
de webserver gaat neem aan dat u wilt poort 8080.
Ondertussen zou je herinneren dat poort 8080 is niet echt standaard,
plaats poort 80 is de nummer we hebben gesproken
over het feit dat de standaard voor HTTP.
Nou, blijkt dat CS50 IDE eenvoudig zó geconfigureerd,
zodanig dat wanneer u een browser proberen poort 80 te bezoeken van de buitenwereld,
het gaat om magisch soort poort naar voren, of omleiden zelf,
op poort 8080 binnen van uw server zelf.
>> Dus het laatste wat hier is het commando line argument, het pad naar de route.
En door dat ik net bedoel, welke map heb ik
willen de server te vertellen te gebruiken om te dienen up van bestanden?
Met andere woorden, als de gebruiker bezoekt slash, wat moet hij of zij zien?
Nou, laten we gaan en gerund precies dat opnieuw,
dit keer specificeert dat ik willen dat de wortel van mijn Webserver
voor het publiek directory, die komt met een probleem set zes verdeelsleutel.
Als ik druk op Enter, zult u zien in het geel hier, een herinnering
als om welke map ik eigenlijk gebruikt.
In dit geval is het een lange reeks, "home ubuntu werkruimte pset6 publiek."
En dat laatste woord is wat sleutel.
En dan tot slot, blijkbaar, mijn server is nu luisteren op poort 8080.
>> Wat ik daarna ga doen is herinneren dat in CS50-ID in de rechterbovenhoek
van je scherm, je gaat zien een URL die is ide50-username.cs50.io.
En inderdaad, als u klikt dat je weg worden meegetroond
naar een ander tabblad browser, dat in dit geval,
gaat me de inhoud te tonen mijn webservers wortels.
Met andere woorden, de bestanden die u hier ziet, kat dot HTML, kat dot JPEG, favicon dot
ico, hello dot HTML, hallo dot php, en test,
zijn alle van dezelfde inhoud dat je zou zien
met LS binnenkant van mijn openbare map.
En wat is er leuk is dat als ik ga gang en klik nu op de kat dot HTML,
Ik zie cat dot HTML.
En als ik klik op de kat dot JPEG of hello dot HTML,
of zelfs type in mijn naam David, en klik vervolgens op "hallo zeggen,"
je zult zien dat al het bestanden werken omdat het personeel
oplossing, natuurlijk geïnstalleerd in CS50 ID is volledig functioneel.
Dus het werkt precies zoals uw eigen oplossing moet uiteindelijk werken.
>> Ondertussen, als we terug gaan naar mijn terminal venster, waar ik liep de server commando,
merken wat de console heeft gezegd.
Ik zie hier dat het eerste verzoek Ik kreeg was letterlijk slash kat
dot HTML, HTTP versie 1.1.
En dan, in het groen wat Het personeel oplossing gedaan
wordt het toont me de eerste regel van de output
dat de webserver reageert met.
Met andere woorden, wij hebben al de code geschreven
dat opent die virtuele enveloppe, die deze get aanvraag.
En dan spelen we in op de gebruiker maar, tegelijkertijd,
afdrukken naar de uitgang van het scherm Hier HTTP 1.1, 200 OK
om te bevestigen wat we zetten in de retourenvelop zogezegd,
dat we terug te sturen naar de gebruiker.
>> En dus wat is hier aan de hand is dat in de terminal venster
we zijn het uitvoeren van het web server, en dus is het
luistert voor HTTP verzoeken op TCP poort 8080.
Ondertussen, in mijn web browser, als ik klik door elke
van deze bestanden, of zelfs ingang mijn naam David, en klik vervolgens op Verzenden,
dat is mijn browser praten met de webserver.
En wat doen van de webserver, Vervolgens, in die terminal venster
toont precies me de eerste lijn die is
in een virtuele ontvangen envelop en precies
de eerste regel is dat het zijn reageerden met dat web client.