SPEAKER 1: Okay, så hvad er det, du konkret skal gøre? Nå, viser sig at der er kun fire funktioner at du nødt til at gennemføre hvis funktionalitet er integreret til den korrekte drift af web-serveren, men hvor alle adfærd er meget snævert defineret, således at de kun gøre stort set én ting. Første ting du vil at skal gøre, er at gennemføre, pr specifikationen, den LOOKUP funktionen. Dette er en forholdsvis enkel funktion i enden, der tager som argument uanset stien til filen at brugeren ønsker at anmode om, og du skal reagere med såkaldte MIME-type, eller Content-type, af filen. For eksempel, hvis det er en fil ud, goddag prik HTML du kommer til at reagere med en MIME type citat citat slut tekst skråstreg HTML. Eller hvis det er et billede, kan du at reagere med billede dot skråstreg JIFF eller billede skråstreg JPEG. Se specifikationen for de forskellige filformater, du har brug for at opdage. Men det virkelig kan koges ned til at tage en se på den vej, at du er forbi, og ser på sin fil udvidelse, de sidste få tegn efter den efterfølgende periode eller prik. Så vi vil overlade det til dig med nogle af hints i specifikationen at finde ud af præcis, hvordan man finder at prik og filtypen så du kan gøre det kortlægning fra den ene til den anden. Næste op er parse funktion. Så denne ene er lidt involveret mere, idet du nødt til at tage i det argument [uhørligt], det er gentages over det, karakter for tegn, eller strengen ved streng, med henblik på at sikre, at det opfylder præcis den formelle definition af det første anmodning linje, som pr specifikation. Og du har brug for at indlæse i absolutte vej, delstreng, der repræsenterer noget lignende, skråstreg goddag dot HTML. I mellemtiden, eventuelt, efter at vej kunne være et spørgsmålstegn og derefter en forespørgselsstreng lignende, q er lig med katte, eller q er lig med katte Ampersand, og derefter en anden vigtig værdi par. Så du vil få brug for at træde over disse tegn, samt, indtil første rum, med henblik på at skabe en streng, der gemmer inde i det forespørgselsstrengen selv. Dernæst er du nødt til gennemføre belastningen funktion. Så det viser sig, hvis man ser gennem kildekoden, som spec dirigerer, belastningen funktionen bruges to steder. Det er enten bruges til at indlæse output fra PHP fortolkeren. Og vi skrev alle PHP kode for behandlingen, men det er nødvendigt at bruge en funktion kaldet belastning, at i det væsentlige læser alle de bytes af output fra PHP tolk ind i en stor array. Det samme funktion belastning også bruges til at indlæse i hukommelsen alle bytes fra en fil lignende, en JIFF, eller en JPEG eller dot HTML fil, som brugeren har anmodet om. Så du bliver nødt til at bruge nogle tricks og værktøjer fra problem sæt 4 i filen IO, men du skal finde, at relativt velkendt og på en pæn måde, forhåbentlig, binde sammen de nyere web ting med den ældre fil IO kram. Endelig i indekserne funktion, alt hvad du behøver at gøre er at afgøre, hvorvidt der eksisterer nogle fil effektivt kaldet indeks dot HTML, eller indeks dot PHP, indersiden af ​​biblioteket, hvis sti du er forbi. Opadrettede dette betyder, at hvis brugeren gør anmode om en mappe, vi ikke bare kommer til at vise ham eller hende indholdet af denne mappe, vi bogstaveligt vise dem indeks prik HTML, eller indeks dot PHP, som standard. Men det kommer til at blive overladt til dig at regne ud, at bruge nogle af de hints i kildekoden, at vi allerede har givet dig, hvordan du rent faktisk kan kontrollere om en bestemt fil eksisterer i det aktuelle bibliotek, således at du kan returnere den korrekte svar. Så i sidste ende er der relativt få bytes at du skal tage ud af Problemer fastsat i medfør af serverens ufuldstændige funktionalitet. Men absolut sørge for du wrap dit sind rundt så meget af koden som du kan, tage trøst i, at du ikke nødt til at forstå alle de laveste niveau networking kode, alle af det laveste niveau fil IO kode. Virkelig, hvad vi laver dette problem sæt er at syntetisere de sidste adskillige problemer sæt, indføre lidt af WebLogic, og networking koncepter, så der i sidste ende du bygge noget, der er virkelig helt interessant, faktisk ganske kraftfuld, men stadig bruge samme byggesten, at vi har brugt i nogen tid.