>> Spreker 1: Alle reg, so wat is dit wat jy konkreet nodig om te doen?
Wel, blyk daar se net vier funksies
wat jy nodig het om te implementeer wie funksie is
integrale deel van die behoorlike werking van die web bediener,
maar almal van wie gedrag is baie eng
gedefinieer, sodat net hulle doen pretty much een ding.
Eerste ding wat jy gaan om hoef te doen is te implementeer,
per die spesifikasie, die funksie ZOEKEN.
Dit is 'n redelik eenvoudige funksie in die einde, wat as 'n argument neem
Wat ook al die pad van die lêer wat die gebruiker wil vra,
en jy moet om te reageer met die sogenaamde MIME-tipe, of inhoud-tipe,
van die lêer.
Byvoorbeeld, as dit is 'n lêer soos, hello dot
HTML jy gaan om te reageer met 'n MIME tipe quote unquote teks slash HTML.
>> Of as dit 'n beeld, kan jy wil om te reageer met beeld dot streep
Wip of beeld streep JPEG.
Sien die spesifikasie vir die verskillende lêerformate jy nodig het om op te spoor.
Maar dit is werklik kom neer op die neem van ' kyk na die pad, wat jy is verby,
en kyk na die lêer uitbreiding, die laaste paar karakters
na die sleep tydperk of dot.
So sal ons dit om jou te verlaat met 'n paar van die wenke in die spesifikasie
om uit te vind presies hoe om te vind dat dot en die lêer uitbreiding
sodat jy die kan doen kartering van die een na die ander.
>> Volgende is die parse funksie.
So hierdie een is 'n bietjie meer betrokke is, in daardie
wat jy nodig het om te neem in die argument [onhoorbaar],
dit herhaal oor dit, karakter vir karakter, of snaar,
om seker te maak dat dit voldoen aan presies
die formele definisie van die eerste versoek reël, soos per die spesifikasie.
En jy moet laai in absolute pad wat substring wat verteenwoordig
iets soos, streep hallo dot HTML.
Intussen, opsioneel, nadat pad kan 'n vraagteken wees
en dan 'n navraag string soos, q gelyk katte,
of q gelyk katte teken, en dan nog 'n belangrike waarde paar.
So jy gaan nodig om stap oor die karakters,
asook, tot en met die eerste ruimte, ten einde
om 'n string wat winkels te skep binnekant van dit die navraag string self.
Volgende, gaan jy implementeer die vrag funksie.
Dit blyk so uit, as jy kyk deur Die bron-kode, soos die spec gelas,
die vrag funksie word gebruik in twee plekke.
Dit is óf gebruik om die laai uitvoer van die PHP Interpreter.
En ons het al van die PHP-kode hantering,
maar dit hoef te gebruik 'n funksie genoem
vrag, wat in wese lees al die grepe van uitset van PHP se Interpreter
in 'n groot verskeidenheid.
>> Dieselfde funksie vrag word ook gebruik om te laai
in die geheue van al die grepe uit 'n lêer soos 'n wip, of 'n JPEG, of dot HTML
lêer, wat die gebruiker versoek.
So jy sal nodig hê om 'n paar truuks te gebruik en gereedskap van die probleem gestel 4 in lêer IO,
maar jy moet relatief vind dat bekende en in 'n mooi manier, hopelik,
saam vasmaak van die nuwer web dinge met die ouer lêer IO dinge.
>> Ten slotte, in die indekse funksie, al wat jy hoef te doen
is om te besluit of daar effektief bestaan ​​sommige lêer
genoem indeks dot HTML, of indeks dot PHP, binnekant van die gids, wie se pad wat jy
is verby.
Die onderstebo van hierdie beteken dat indien Die gebruiker het versoek dat 'n gids,
ons is nie net gaan om hom te wys of haar die inhoud van die gids vertoon,
ons sal hulle letterlik wys indeks dot HTML, of indeks dot PHP, by verstek.
Maar dit gaan gelaat word om jou te uit te vind, met behulp van 'n paar van die wenke
in die bron-kode, wat ons het jou gegee het,
hoe jy eintlik kan kyk of 'n sekere lêer bestaan
in die huidige gids, sodat kan jy die korrekte antwoord terug.
>> So op die ou end is daar relatief min grepe
wat jy nodig het uit die neem probleem stel om die implementering van die bediener se
onvolledige funksionaliteit.
Maar beslis seker maak dat jy draai jou gedagtes rondom soveel van die kode
as jy kan, neem troos in wat jy doen nie
moet al die verstaan laagste vlak netwerk-kode, al
van die laagste vlak lêer IO-kode.
Regtig, wat ons doen met hierdie probleem stel
is sintetisering die afgelope paar probleem stelle, die bekendstelling van 'n bietjie van WebLogic,
en netwerk konsepte, sodat uiteindelik moet jy
iets wat regtig baie te bou interessant, regtig baie kragtige,
maar nog steeds met behulp van die dieselfde boublokke,
dat ons het al met behulp van 'n paar keer.