TALARE 1: Okej, så vad är det du konkret behöver göra? Tja, visar sig att det finns bara fyra funktioner att du behöver för att genomföra vars funktion är gral till rätt driften av webbservern, men där alla beteende är mycket snävt definierade, så att de endast gör ganska mycket en sak. Första du ska att behöva göra är att genomföra, per specifikationen, funktionen LETAUPP. Detta är en ganska enkel funktion i slutet, som tar som ett argument oavsett sökvägen till filen att användaren vill att begära, och du måste svara med sk MIME-typ, eller Content-typ, av den filen. Till exempel, om det är en fil som, hello dot HTML du kommer att svara med en MIME typ av citat unquote text snedstreck HTML. Eller om det är en bild, kanske du vill att svara med bildpunkt snedstreck ÖGONBLICK eller bild snedstreck JPEG. Se specifikationen för de olika filformat du behöver för att upptäcka. Men det verkligen kokar ner till att ta en titta på vägen, att du är förbi, och tittar på sin fil förlängning, de sista bokstäverna efter den bakre perioden eller prick. Så vi lämnar det till dig med några av tipsen i beskrivningen att räkna ut exakt hur man hittar att prick och filändelsen så att du kan göra mappning från en till den andra. Nästa är upp parse funktionen. Så här är lite mer delaktiga i det du måste ta i den argument [OHÖRBAR] det upprepas över det, tecken för tecken eller sträng av sträng, i syfte att säkerställa att den uppfyller exakt den formella definitionen av det första begäranlinjen, enligt specifikationen. Och du måste ladda in absoluta bana som träng, som representerar något liknande, snedstreck hej dot HTML. Under tiden, eventuellt, efter det bana kan vara ett frågetecken och sedan en frågesträng som är lika q katter, eller q lika katter Ampersand, och sedan en annan nyckelvärde paret. Så du kommer att behöva kliva över dessa tecken, samt, fram till första plats, för för att skapa en sträng som lagrar insidan av det frågesträngen själv. Därefter kommer du att genomföra lastfunktionen. Så visar det sig, om man tittar igenom källkoden, som spec styr, last funktionen används på två ställen. Det används antingen för att ladda utdata från PHP tolken. Och vi skrev alla PHP hanteringskoden, men det behöver använda en funktion som kallas belastning, som i huvudsak läser alla byte av produktionen från PHP tolk till en stor matris. Samma last funktion används också för att ladda in i minnet alla bitgrupperna från en fil som en ÖGONBLICK, eller en JPEG eller punkt HTML fil, som användaren har begärt. Så du kommer att behöva använda några trick och verktyg från problem set 4 i fil IO, men du ska hitta det relativt välbekant och på ett trevligt sätt, förhoppningsvis, att binda samman de nyare webben grejer med den äldre filen IO grejer. Slutligen i index funktion, allt du behöver göra är att avgöra om det före Det finns vissa fil på ett effektivt sätt kallad indexpunkt HTML eller index dot PHP, insidan av katalogen, vars väg du är förbi. Fördelen med detta betyder att om användaren gör begära en katalog, vi inte bara kommer att visa honom eller henne innehållet i katalogen, vi bokstavligen visa dem index dot HTML eller index dot PHP som standard. Men det kommer att lämnas till dig att räkna ut, med hjälp av några av de tips i källkoden, som Vi har redan gett dig, hur du faktiskt kan kontrollera om en viss fil finns i den aktuella katalogen, så att Du kan returnera det rätta svaret. Så i slutändan finns det relativt få bitgrupper att du måste ta ur problem inställd på att genomföra serverns ofullständig funktionalitet. Men definitivt se till att du linda ditt sinne runt så mycket av koden som du kan, med tröst i att du inte måste förstå alla lägsta nivån nätverkskoden, alla av den lägsta nivån fil IO-kod. Verkligen, vad vi gör detta problem set är syntes det förflutna flera problem set, införa en bit av WebLogic, och nätverkskoncept, så som i slutändan du bygga något som är egentligen ganska intressant, egentligen ganska kraftfull, men fortfarande använder den Samma byggstenar, att vi har använt under en tid.