SPEAKER 1: Greit, så hva er det du konkret må gjøre? Vel, det viser seg det er bare fire funksjoner som du trenger for å implementere hvis funksjonaliteten er integrert i riktig drift av web-serveren, men alle som har atferd er svært snevert definert, slik at de bare gjøre stort sett én ting. Første du kommer trenger å gjøre er å implementere, pr spesifikasjonen LOOKUP funksjonen. Dette er en ganske enkel i funksjon Til slutt, som tar som et argument uansett banen til filen at brukeren ønsker å be, og du må svare med såkalt MIME-type, eller Content-type, av den filen. For eksempel, hvis den er en fil som, hallo dot HTML du kommer til å svare med en MIME type sitat unquote tekst slash HTML. Eller om det er et bilde, kan det være lurt å svare med bilde dot slash Jiff eller bilde slash JPEG. Se spesifikasjonen for de ulike filformater du trenger å oppdage. Men det virkelig koker ned til å ta en se på banen, at du er forbi, og ser på sin fil extension, de siste par tegn etter den etterfølgende periode eller prikk. Så vi skal la det til deg med noen av hint i spesifikasjonen å finne ut nøyaktig hvordan du skal finne at dot og filtypen slik at du kan gjøre mapping fra den ene til den andre. Neste er opp parse funksjon. Så dette er en liten mer involvert, ved at du trenger for å ta i at argument [uhørbart], det er iterated over det, karakter for karakter, eller streng av streng, for å være sikker at det oppfyller nøyaktig den formelle definisjon av den første fordringslinjen, i henhold til spesifikasjon. Og du trenger å laste inn absolutte sti som treng, representerer det noe sånt, slash hallo dot HTML. I mellomtiden, eventuelt, etter at banen kan være et spørsmålstegn og deretter en søkestrengen som tilsvarer q katter, eller q er lik katter Ampersand, og deretter en annen sentral verdi par. Så du kommer til å trenge å trå over disse tegnene, også, frem til første rom, for å for å lage en streng som lagrer innsiden av det søkestrengen selv. Neste, du kommer til å implementere lasten funksjon. Så det viser seg, hvis du ser gjennom kildekoden, som spec dirigerer, lasten funksjonen brukes på to steder. Det er enten brukes til å laste den utgang fra PHP tolk. Og vi skrev alle PHP-håndtering kode, men det trenger å bruke en funksjon som heter belastning, at i det vesentlige alle de leser byte av produksjonen fra PHP tolk inn i et stort utvalg. Det samme belastning funksjon er også brukt til å laste i minnet alle bytes fra en fil liker, en Jiff, eller en JPEG eller dot HTML fil, som brukeren har bedt om. Så du må bruke noen triks og verktøy fra problem satt 4 i filen IO, men du bør finne at relativt kjent og på en fin måte, forhåpentligvis, for å knytte sammen de nyere web ting med den eldre filen IO ting. Til slutt, i indeksene funksjon, alt du trenger å gjøre er å avgjøre hvorvidt det Det finnes noen fil effektivt kalt indeks dot HTML eller indeks dot PHP, innsiden av katalogen, med banen du er forbi. Opp av dette betyr at hvis brukeren gjør be om en katalog, vi ikke bare kommer til å vise ham eller hennes innholdet i denne katalogen, vi vil bokstavelig talt vise dem indeksen dot HTML, eller indeks dot PHP, som standard. Men det kommer til å bli overlatt til deg å finne ut, ved hjelp av noen av tipsene i kildekoden, det vil vi allerede har gitt deg, hvordan du faktisk kan sjekke hvorvidt en bestemt fil finnes i gjeldende katalog, slik at du kan returnere riktig respons. Så til slutt er det relativt få bytes at du må ta ut av Problemet satt til å implementere serverens ufullstendig funksjonalitet. Men definitivt sørge for at du vikler tankene rundt så mye av koden som du kan, ta trøst i at du ikke trenger å forstå alle laveste nivå nettverkskoden, alt av det laveste nivået filen IO kode. Virkelig, hva vi gjør med dette problemet sett er syntetisere det siste flere problem sett, å innføre en bit av WebLogic, og nettverk konsepter, slik at til syvende og sist du bygge noe som er egentlig ganske interessant, egentlig ganske kraftig, men fortsatt bruker samme byggeklosser, at vi har brukt på en stund.