1 00:00:00,000 --> 00:00:00,200 2 00:00:00,200 --> 00:00:02,280 >> TALARE 1: Okej, så vad är det du konkret behöver göra? 3 00:00:02,280 --> 00:00:04,140 Tja, visar sig att det finns bara fyra funktioner 4 00:00:04,140 --> 00:00:06,390 att du behöver för att genomföra vars funktion är 5 00:00:06,390 --> 00:00:08,520 gral till rätt driften av webbservern, 6 00:00:08,520 --> 00:00:10,720 men där alla beteende är mycket snävt 7 00:00:10,720 --> 00:00:13,104 definierade, så att de endast gör ganska mycket en sak. 8 00:00:13,104 --> 00:00:15,270 Första du ska att behöva göra är att genomföra, 9 00:00:15,270 --> 00:00:17,540 per specifikationen, funktionen LETAUPP. 10 00:00:17,540 --> 00:00:20,900 Detta är en ganska enkel funktion i slutet, som tar som ett argument 11 00:00:20,900 --> 00:00:24,690 oavsett sökvägen till filen att användaren vill att begära, 12 00:00:24,690 --> 00:00:28,310 och du måste svara med sk MIME-typ, eller Content-typ, 13 00:00:28,310 --> 00:00:29,200 av den filen. 14 00:00:29,200 --> 00:00:31,415 Till exempel, om det är en fil som, hello dot 15 00:00:31,415 --> 00:00:37,470 HTML du kommer att svara med en MIME typ av citat unquote text snedstreck HTML. 16 00:00:37,470 --> 00:00:40,920 >> Eller om det är en bild, kanske du vill att svara med bildpunkt snedstreck 17 00:00:40,920 --> 00:00:42,990 ÖGONBLICK eller bild snedstreck JPEG. 18 00:00:42,990 --> 00:00:46,280 Se specifikationen för de olika filformat du behöver för att upptäcka. 19 00:00:46,280 --> 00:00:49,760 Men det verkligen kokar ner till att ta en titta på vägen, att du är förbi, 20 00:00:49,760 --> 00:00:52,870 och tittar på sin fil förlängning, de sista bokstäverna 21 00:00:52,870 --> 00:00:54,297 efter den bakre perioden eller prick. 22 00:00:54,297 --> 00:00:57,130 Så vi lämnar det till dig med några av tipsen i beskrivningen 23 00:00:57,130 --> 00:01:00,170 att räkna ut exakt hur man hittar att prick och filändelsen 24 00:01:00,170 --> 00:01:02,840 så att du kan göra mappning från en till den andra. 25 00:01:02,840 --> 00:01:04,395 >> Nästa är upp parse funktionen. 26 00:01:04,395 --> 00:01:06,270 Så här är lite mer delaktiga i det 27 00:01:06,270 --> 00:01:08,590 du måste ta i den argument [OHÖRBAR] 28 00:01:08,590 --> 00:01:12,030 det upprepas över det, tecken för tecken eller sträng av sträng, 29 00:01:12,030 --> 00:01:14,660 i syfte att säkerställa att den uppfyller exakt 30 00:01:14,660 --> 00:01:19,155 den formella definitionen av det första begäranlinjen, enligt specifikationen. 31 00:01:19,155 --> 00:01:23,930 Och du måste ladda in absoluta bana som träng, som representerar 32 00:01:23,930 --> 00:01:26,550 något liknande, snedstreck hej dot HTML. 33 00:01:26,550 --> 00:01:29,960 Under tiden, eventuellt, efter det bana kan vara ett frågetecken 34 00:01:29,960 --> 00:01:32,240 och sedan en frågesträng som är lika q katter, 35 00:01:32,240 --> 00:01:35,310 eller q lika katter Ampersand, och sedan en annan nyckelvärde paret. 36 00:01:35,310 --> 00:01:38,380 Så du kommer att behöva kliva över dessa tecken, 37 00:01:38,380 --> 00:01:41,150 samt, fram till första plats, för 38 00:01:41,150 --> 00:01:47,327 för att skapa en sträng som lagrar insidan av det frågesträngen själv. 39 00:01:47,327 --> 00:01:49,410 Därefter kommer du att genomföra lastfunktionen. 40 00:01:49,410 --> 00:01:52,493 Så visar det sig, om man tittar igenom källkoden, som spec styr, 41 00:01:52,493 --> 00:01:54,210 last funktionen används på två ställen. 42 00:01:54,210 --> 00:01:57,420 Det används antingen för att ladda utdata från PHP tolken. 43 00:01:57,420 --> 00:01:59,700 Och vi skrev alla PHP hanteringskoden, 44 00:01:59,700 --> 00:02:01,840 men det behöver använda en funktion som kallas 45 00:02:01,840 --> 00:02:06,350 belastning, som i huvudsak läser alla byte av produktionen från PHP tolk 46 00:02:06,350 --> 00:02:08,430 till en stor matris. 47 00:02:08,430 --> 00:02:10,850 >> Samma last funktion används också för att ladda 48 00:02:10,850 --> 00:02:15,200 in i minnet alla bitgrupperna från en fil som en ÖGONBLICK, eller en JPEG eller punkt HTML 49 00:02:15,200 --> 00:02:16,630 fil, som användaren har begärt. 50 00:02:16,630 --> 00:02:21,060 Så du kommer att behöva använda några trick och verktyg från problem set 4 i fil IO, 51 00:02:21,060 --> 00:02:24,410 men du ska hitta det relativt välbekant och på ett trevligt sätt, förhoppningsvis, 52 00:02:24,410 --> 00:02:28,110 att binda samman de nyare webben grejer med den äldre filen IO grejer. 53 00:02:28,110 --> 00:02:31,490 >> Slutligen i index funktion, allt du behöver göra 54 00:02:31,490 --> 00:02:34,570 är att avgöra om det före Det finns vissa fil på ett effektivt sätt 55 00:02:34,570 --> 00:02:40,430 kallad indexpunkt HTML eller index dot PHP, insidan av katalogen, vars väg du 56 00:02:40,430 --> 00:02:41,220 är förbi. 57 00:02:41,220 --> 00:02:44,360 Fördelen med detta betyder att om användaren gör begära en katalog, 58 00:02:44,360 --> 00:02:47,318 vi inte bara kommer att visa honom eller henne innehållet i katalogen, 59 00:02:47,318 --> 00:02:51,342 vi bokstavligen visa dem index dot HTML eller index dot PHP som standard. 60 00:02:51,342 --> 00:02:54,300 Men det kommer att lämnas till dig att räkna ut, med hjälp av några av de tips 61 00:02:54,300 --> 00:02:56,350 i källkoden, som Vi har redan gett dig, 62 00:02:56,350 --> 00:02:59,880 hur du faktiskt kan kontrollera om en viss fil finns 63 00:02:59,880 --> 00:03:03,380 i den aktuella katalogen, så att Du kan returnera det rätta svaret. 64 00:03:03,380 --> 00:03:05,800 >> Så i slutändan finns det relativt få bitgrupper 65 00:03:05,800 --> 00:03:09,155 att du måste ta ur problem inställd på att genomföra serverns 66 00:03:09,155 --> 00:03:10,210 ofullständig funktionalitet. 67 00:03:10,210 --> 00:03:13,180 Men definitivt se till att du linda ditt sinne runt så mycket av koden 68 00:03:13,180 --> 00:03:15,013 som du kan, med tröst i att du inte 69 00:03:15,013 --> 00:03:18,160 måste förstå alla lägsta nivån nätverkskoden, alla 70 00:03:18,160 --> 00:03:19,834 av den lägsta nivån fil IO-kod. 71 00:03:19,834 --> 00:03:21,750 Verkligen, vad vi gör detta problem set 72 00:03:21,750 --> 00:03:25,670 är syntes det förflutna flera problem set, införa en bit av WebLogic, 73 00:03:25,670 --> 00:03:28,802 och nätverkskoncept, så som i slutändan du 74 00:03:28,802 --> 00:03:31,760 bygga något som är egentligen ganska intressant, egentligen ganska kraftfull, 75 00:03:31,760 --> 00:03:33,468 men fortfarande använder den Samma byggstenar, 76 00:03:33,468 --> 00:03:36,310 att vi har använt under en tid.