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.