1 00:00:00,000 --> 00:00:00,200 2 00:00:00,200 --> 00:00:02,280 >> SPEAKER 1: Oké, dus wat is het u concreet moet doen? 3 00:00:02,280 --> 00:00:04,140 Nou, blijkt dat er's slechts vier functies 4 00:00:04,140 --> 00:00:06,390 die je nodig hebt om te implementeren waarvan de functionaliteit 5 00:00:06,390 --> 00:00:08,520 integraal de juiste werking van de webserver 6 00:00:08,520 --> 00:00:10,720 maar waarvan alle gedrag is erg eng 7 00:00:10,720 --> 00:00:13,104 gedefinieerd, zodat alleen zij doe vrij veel een ding. 8 00:00:13,104 --> 00:00:15,270 Het eerste wat je gaat aan hoeft te doen is uit te voeren, 9 00:00:15,270 --> 00:00:17,540 per de specificatie, de functie ZOEKEN. 10 00:00:17,540 --> 00:00:20,900 Dit is een vrij eenvoudige functie Uiteindelijk neemt dat als argument 11 00:00:20,900 --> 00:00:24,690 ongeacht het pad naar het bestand dat de gebruiker wil aanvragen, 12 00:00:24,690 --> 00:00:28,310 en je moet antwoorden met de zogenaamde MIME-type of content-type, 13 00:00:28,310 --> 00:00:29,200 van dat bestand. 14 00:00:29,200 --> 00:00:31,415 Bijvoorbeeld, als het een bestand als, hello dot 15 00:00:31,415 --> 00:00:37,470 HTML je gaat reageren met een MIME type citaat unquote tekst slash HTML. 16 00:00:37,470 --> 00:00:40,920 >> Of als het een afbeelding, wilt u misschien om te reageren met afbeelding dot slash 17 00:00:40,920 --> 00:00:42,990 Jiff of afbeelding slash JPEG. 18 00:00:42,990 --> 00:00:46,280 Zie de specificatie voor de verschillende bestandsformaten je nodig hebt op te sporen. 19 00:00:46,280 --> 00:00:49,760 Maar het is echt neer op het nemen van een kijk naar het pad, dat je verleden, 20 00:00:49,760 --> 00:00:52,870 en kijken naar het bestand uitbreiding, de laatste paar tekens 21 00:00:52,870 --> 00:00:54,297 na de afsluitende periode of stip. 22 00:00:54,297 --> 00:00:57,130 Dus we zullen het aan u te verlaten met een aantal van de hints in de specificatie 23 00:00:57,130 --> 00:01:00,170 om erachter te komen hoe te vinden dat punt en de bestandsextensie 24 00:01:00,170 --> 00:01:02,840 zodat je het kunt doen mapping van de ene naar de andere. 25 00:01:02,840 --> 00:01:04,395 >> Next up is de parse functie. 26 00:01:04,395 --> 00:01:06,270 Dus dit is een beetje meer betrokken, doordat 27 00:01:06,270 --> 00:01:08,590 u moet nemen in die argument [onhoorbaar] 28 00:01:08,590 --> 00:01:12,030 het wordt herhaald over het, karakter voor karakter, of touwtje door string, 29 00:01:12,030 --> 00:01:14,660 om ervoor te zorgen dat dat het voldoet precies 30 00:01:14,660 --> 00:01:19,155 de formele definitie van die eerste verzoek lijn, volgens de specificatie. 31 00:01:19,155 --> 00:01:23,930 En je moet laden in absolute pad dat substring, die vertegenwoordigt 32 00:01:23,930 --> 00:01:26,550 iets dergelijks, slash hallo dot HTML. 33 00:01:26,550 --> 00:01:29,960 Ondertussen eventueel daarna pad kan een vraagteken worden 34 00:01:29,960 --> 00:01:32,240 en vervolgens een query string als, q gelijk aan katten, 35 00:01:32,240 --> 00:01:35,310 of q gelijk katten ampersand, en dan is een andere belangrijke waarde paar. 36 00:01:35,310 --> 00:01:38,380 Dus je gaat nodig hebben om stap over de personages, 37 00:01:38,380 --> 00:01:41,150 als goed, tot het de eerste ruimte, met het oog 38 00:01:41,150 --> 00:01:47,327 een string die winkels te creëren binnen van het de query string zelf. 39 00:01:47,327 --> 00:01:49,410 Vervolgens gaat u de uitvoering van de belasting-functie. 40 00:01:49,410 --> 00:01:52,493 Dus het blijkt, als je kijkt door de broncode, zoals de specificatie leidt, 41 00:01:52,493 --> 00:01:54,210 de belasting wordt gebruikt op twee plaatsen. 42 00:01:54,210 --> 00:01:57,420 Het is of wordt gebruikt om het laden uitvoer van de PHP Interpreter. 43 00:01:57,420 --> 00:01:59,700 En schreven we al de PHP-handling code, 44 00:01:59,700 --> 00:02:01,840 maar het moet Gebruik een functie genaamd 45 00:02:01,840 --> 00:02:06,350 load, die in wezen leest alle bytes van de output van PHP Interpreter 46 00:02:06,350 --> 00:02:08,430 in een grote serie. 47 00:02:08,430 --> 00:02:10,850 >> Diezelfde functie load wordt ook gebruikt voor het laden 48 00:02:10,850 --> 00:02:15,200 in het geheugen van alle bytes van een bestand zoals een wip, of een JPEG, of dot HTML 49 00:02:15,200 --> 00:02:16,630 bestand, dat de gebruiker heeft gevraagd. 50 00:02:16,630 --> 00:02:21,060 Dus je moet een aantal trucjes gebruiken en gereedschappen uit probleem set 4 in het dossier van IO, 51 00:02:21,060 --> 00:02:24,410 maar je moet relatief vinden dat vertrouwd en op een leuke manier, hopelijk, 52 00:02:24,410 --> 00:02:28,110 samen binden de nieuwere web dingen met de oudere bestand IO spul. 53 00:02:28,110 --> 00:02:31,490 >> Tenslotte, in de indexen functie, alles wat je hoeft te doen 54 00:02:31,490 --> 00:02:34,570 is om te beslissen of er sprake effectief bestaat een bestand 55 00:02:34,570 --> 00:02:40,430 genaamd index dot HTML of index dot PHP, binnenkant van de map, waarvan het pad u 56 00:02:40,430 --> 00:02:41,220 zijn verleden. 57 00:02:41,220 --> 00:02:44,360 De bovenzijde van dit betekent dat als de gebruiker doet vragen een directory, 58 00:02:44,360 --> 00:02:47,318 we zijn niet alleen van plan om hem te laten zien of haar de inhoud van die map, 59 00:02:47,318 --> 00:02:51,342 we zullen ze letterlijk zien index dot HTML, of index dot PHP, standaard. 60 00:02:51,342 --> 00:02:54,300 Maar het zal worden overgelaten aan u achterhalen, met behulp van enkele van de tips 61 00:02:54,300 --> 00:02:56,350 in de broncode, die we hebben u al gegeven, 62 00:02:56,350 --> 00:02:59,880 hoe je daadwerkelijk kunt controleren of een bepaald bestand bestaat 63 00:02:59,880 --> 00:03:03,380 in de huidige directory, zodat U kunt het juiste antwoord terug. 64 00:03:03,380 --> 00:03:05,800 >> Dus uiteindelijk is er relatief weinig bytes 65 00:03:05,800 --> 00:03:09,155 die je nodig hebt uit de te nemen probleem stellen voor de uitvoering van de server 66 00:03:09,155 --> 00:03:10,210 onvolledige functionaliteit. 67 00:03:10,210 --> 00:03:13,180 Maar zeker zorg ervoor dat u wrap je geest rond als een groot deel van de code 68 00:03:13,180 --> 00:03:15,013 als je kunt, het nemen van comfort in dat je niet 69 00:03:15,013 --> 00:03:18,160 moeten alle begrijpen laagste niveau netwerk code, die alle 70 00:03:18,160 --> 00:03:19,834 van het laagste niveau bestand IO code. 71 00:03:19,834 --> 00:03:21,750 Echt, wat we doen met dit probleem set 72 00:03:21,750 --> 00:03:25,670 wordt het synthetiseren van de afgelopen probleem sets, de invoering van een beetje van de WebLogic, 73 00:03:25,670 --> 00:03:28,802 en netwerken concepten, zodat uiteindelijk je 74 00:03:28,802 --> 00:03:31,760 iets dat is echt heel bouwen interessant, echt heel krachtig, 75 00:03:31,760 --> 00:03:33,468 maar nog steeds met behulp van de Dezelfde bouwstenen 76 00:03:33,468 --> 00:03:36,310 die we hebben gebruikt voor bepaalde tijd.