1 00:00:00,000 --> 00:00:00,160 2 00:00:00,160 --> 00:00:02,660 >> SPEAKER 1: Oké, laten we eens een kijken hoe het personeel oplossing eigenlijk 3 00:00:02,660 --> 00:00:04,760 werkt, zodat u een gevoel, eerst uit 4 00:00:04,760 --> 00:00:06,930 hoe de webserver heeft verondersteld te lopen, en hoe kun je eigenlijk 5 00:00:06,930 --> 00:00:08,480 krijgen op uw eigen computer. 6 00:00:08,480 --> 00:00:09,350 Dus beeld hier. 7 00:00:09,350 --> 00:00:13,640 Ik heb al in CS50 ID geïnstalleerd pset6 dot zip, volgens de specificatie. 8 00:00:13,640 --> 00:00:16,197 Ik heb uitgepakt, en ik heb CDED in mijn pset6 directory. 9 00:00:16,197 --> 00:00:18,780 Een van de eerste dingen die je bent gaat willen doen, vooral 10 00:00:18,780 --> 00:00:22,010 Als u al gebruik van een CS50 IDE om te spelen samen met de recente lezingen, waarin 11 00:00:22,010 --> 00:00:25,640 we zijn met behulp van PHP in CS50 IDE specifiek 12 00:00:25,640 --> 00:00:29,050 met behulp van dat webserver genaamd Apache, waarbij u kunt starten en stoppen 13 00:00:29,050 --> 00:00:30,910 met die opdracht, Apache 50. 14 00:00:30,910 --> 00:00:34,160 Eerste, ga je gang en type "Apache 50 stop" 15 00:00:34,160 --> 00:00:37,370 gewoon om ervoor te zorgen dat als je volgende langs in de afgelopen dagen, 16 00:00:37,370 --> 00:00:40,090 en je ingeschakeld Apache, je bent deze uit te zetten op deze manier 17 00:00:40,090 --> 00:00:41,360 door het stoppen van de server. 18 00:00:41,360 --> 00:00:44,110 Nu, wat ik ga doen is precies wat de spec zegt me te doen. 19 00:00:44,110 --> 00:00:49,770 Ik ga naar Tilda CS50 slash pset6 slash server, en gewoon druk op Enter. 20 00:00:49,770 --> 00:00:52,840 U zult merken dat ik schreeuwde tegen met wat informatie over het gebruik, waarbij 21 00:00:52,840 --> 00:00:54,960 Ik moet worden uitgevoerd het programma als server 22 00:00:54,960 --> 00:00:58,230 met een optionele dashboard p en dan een poortnummer, die u kan eigenlijk 23 00:00:58,230 --> 00:01:00,720 laat leeg omdat door Standaard is volgens de specificatie, 24 00:01:00,720 --> 00:01:04,010 de webserver gaat neem aan dat u wilt poort 8080. 25 00:01:04,010 --> 00:01:07,560 Ondertussen zou je herinneren dat poort 8080 is niet echt standaard, 26 00:01:07,560 --> 00:01:09,380 plaats poort 80 is de nummer we hebben gesproken 27 00:01:09,380 --> 00:01:11,440 over het feit dat de standaard voor HTTP. 28 00:01:11,440 --> 00:01:14,870 Nou, blijkt dat CS50 IDE eenvoudig zó geconfigureerd, 29 00:01:14,870 --> 00:01:18,730 zodanig dat wanneer u een browser proberen poort 80 te bezoeken van de buitenwereld, 30 00:01:18,730 --> 00:01:22,210 het gaat om magisch soort poort naar voren, of omleiden zelf, 31 00:01:22,210 --> 00:01:25,200 op poort 8080 binnen van uw server zelf. 32 00:01:25,200 --> 00:01:29,330 >> Dus het laatste wat hier is het commando line argument, het pad naar de route. 33 00:01:29,330 --> 00:01:31,590 En door dat ik net bedoel, welke map heb ik 34 00:01:31,590 --> 00:01:34,820 willen de server te vertellen te gebruiken om te dienen up van bestanden? 35 00:01:34,820 --> 00:01:39,030 Met andere woorden, als de gebruiker bezoekt slash, wat moet hij of zij zien? 36 00:01:39,030 --> 00:01:41,030 Nou, laten we gaan en gerund precies dat opnieuw, 37 00:01:41,030 --> 00:01:43,940 dit keer specificeert dat ik willen dat de wortel van mijn Webserver 38 00:01:43,940 --> 00:01:48,210 voor het publiek directory, die komt met een probleem set zes verdeelsleutel. 39 00:01:48,210 --> 00:01:50,620 Als ik druk op Enter, zult u zien in het geel hier, een herinnering 40 00:01:50,620 --> 00:01:52,260 als om welke map ik eigenlijk gebruikt. 41 00:01:52,260 --> 00:01:55,870 In dit geval is het een lange reeks, "home ubuntu werkruimte pset6 publiek." 42 00:01:55,870 --> 00:01:57,500 En dat laatste woord is wat sleutel. 43 00:01:57,500 --> 00:02:01,180 En dan tot slot, blijkbaar, mijn server is nu luisteren op poort 8080. 44 00:02:01,180 --> 00:02:05,860 >> Wat ik daarna ga doen is herinneren dat in CS50-ID in de rechterbovenhoek 45 00:02:05,860 --> 00:02:09,440 van je scherm, je gaat zien een URL die is ide50-username.cs50.io. 46 00:02:09,440 --> 00:02:12,860 47 00:02:12,860 --> 00:02:15,080 En inderdaad, als u klikt dat je weg worden meegetroond 48 00:02:15,080 --> 00:02:17,090 naar een ander tabblad browser, dat in dit geval, 49 00:02:17,090 --> 00:02:20,830 gaat me de inhoud te tonen mijn webservers wortels. 50 00:02:20,830 --> 00:02:24,770 Met andere woorden, de bestanden die u hier ziet, kat dot HTML, kat dot JPEG, favicon dot 51 00:02:24,770 --> 00:02:27,690 ico, hello dot HTML, hallo dot php, en test, 52 00:02:27,690 --> 00:02:29,800 zijn alle van dezelfde inhoud dat je zou zien 53 00:02:29,800 --> 00:02:32,560 met LS binnenkant van mijn openbare map. 54 00:02:32,560 --> 00:02:36,790 En wat is er leuk is dat als ik ga gang en klik nu op de kat dot HTML, 55 00:02:36,790 --> 00:02:38,710 Ik zie cat dot HTML. 56 00:02:38,710 --> 00:02:42,660 En als ik klik op de kat dot JPEG of hello dot HTML, 57 00:02:42,660 --> 00:02:46,650 of zelfs type in mijn naam David, en klik vervolgens op "hallo zeggen," 58 00:02:46,650 --> 00:02:49,420 je zult zien dat al het bestanden werken omdat het personeel 59 00:02:49,420 --> 00:02:52,820 oplossing, natuurlijk geïnstalleerd in CS50 ID is volledig functioneel. 60 00:02:52,820 --> 00:02:57,090 Dus het werkt precies zoals uw eigen oplossing moet uiteindelijk werken. 61 00:02:57,090 --> 00:03:00,990 >> Ondertussen, als we terug gaan naar mijn terminal venster, waar ik liep de server commando, 62 00:03:00,990 --> 00:03:03,410 merken wat de console heeft gezegd. 63 00:03:03,410 --> 00:03:07,890 Ik zie hier dat het eerste verzoek Ik kreeg was letterlijk slash kat 64 00:03:07,890 --> 00:03:10,260 dot HTML, HTTP versie 1.1. 65 00:03:10,260 --> 00:03:12,600 En dan, in het groen wat Het personeel oplossing gedaan 66 00:03:12,600 --> 00:03:14,580 wordt het toont me de eerste regel van de output 67 00:03:14,580 --> 00:03:16,340 dat de webserver reageert met. 68 00:03:16,340 --> 00:03:18,300 Met andere woorden, wij hebben al de code geschreven 69 00:03:18,300 --> 00:03:21,530 dat opent die virtuele enveloppe, die deze get aanvraag. 70 00:03:21,530 --> 00:03:23,980 En dan spelen we in op de gebruiker maar, tegelijkertijd, 71 00:03:23,980 --> 00:03:28,780 afdrukken naar de uitgang van het scherm Hier HTTP 1.1, 200 OK 72 00:03:28,780 --> 00:03:31,900 om te bevestigen wat we zetten in de retourenvelop zogezegd, 73 00:03:31,900 --> 00:03:33,540 dat we terug te sturen naar de gebruiker. 74 00:03:33,540 --> 00:03:36,200 >> En dus wat is hier aan de hand is dat in de terminal venster 75 00:03:36,200 --> 00:03:38,510 we zijn het uitvoeren van het web server, en dus is het 76 00:03:38,510 --> 00:03:42,480 luistert voor HTTP verzoeken op TCP poort 8080. 77 00:03:42,480 --> 00:03:44,960 Ondertussen, in mijn web browser, als ik klik door elke 78 00:03:44,960 --> 00:03:48,480 van deze bestanden, of zelfs ingang mijn naam David, en klik vervolgens op Verzenden, 79 00:03:48,480 --> 00:03:51,827 dat is mijn browser praten met de webserver. 80 00:03:51,827 --> 00:03:54,410 En wat doen van de webserver, Vervolgens, in die terminal venster 81 00:03:54,410 --> 00:03:56,370 toont precies me de eerste lijn die is 82 00:03:56,370 --> 00:03:58,540 in een virtuele ontvangen envelop en precies 83 00:03:58,540 --> 00:04:02,870 de eerste regel is dat het zijn reageerden met dat web client.