>> 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.