1 00:00:00,000 --> 00:00:09,647 2 00:00:09,647 --> 00:00:11,730 Kryetari: Tani le të pikiatë në kodin e shpërndarjes 3 00:00:11,730 --> 00:00:14,470 dhe të marrë një vështrim në kontekstin në të cilën kodi që ju shkruani 4 00:00:14,470 --> 00:00:15,780 do të jenë të veprojnë. 5 00:00:15,780 --> 00:00:17,350 Në fund të ditës, ju jeni do të zbatojë 6 00:00:17,350 --> 00:00:18,710 tërësia e web server. 7 00:00:18,710 --> 00:00:20,460 Por ne kemi dhënë ju me skelet 8 00:00:20,460 --> 00:00:24,090 Kodi që kanë disa funksionalitetin, veçanërisht të lidhura me krijimin e rrjeteve. 9 00:00:24,090 --> 00:00:25,390 Le të marrin një sy. 10 00:00:25,390 --> 00:00:27,560 >> Pra, deri këtu në drejtim të lartë i file është një bandë 11 00:00:27,560 --> 00:00:30,020 e funksion të provuar kërkesat makro. 12 00:00:30,020 --> 00:00:33,570 Tani kjo është vetëm një tipar i c, ku sipas një bandë e faqeve të njeriut 13 00:00:33,570 --> 00:00:36,410 ju keni për të përcaktuar disa nga këto konstanta të jetë e vërtetë 14 00:00:36,410 --> 00:00:39,920 ose të jenë edhe numrat të veçanta në mënyrë që ju keni qasje në disa funksione. 15 00:00:39,920 --> 00:00:42,470 Përndryshe ata do të padeklaruar dhe ju nuk do të keni qasje. 16 00:00:42,470 --> 00:00:45,340 Kështu që unë e kam bërë këtë me anë i lexuar faqet njeri. 17 00:00:45,340 --> 00:00:48,410 Tani poshtë më poshtë, në Linjat e 15 përmes 17, ne 18 00:00:48,410 --> 00:00:50,550 kanë një bandë e tërë e kufijve të deklaruara. 19 00:00:50,550 --> 00:00:53,370 >> Dhe ne e kemi huazuar këto nga një web server popullor i quajtur Apache. 20 00:00:53,370 --> 00:00:54,650 Dhe këto janë vetëm Numrat që do 21 00:00:54,650 --> 00:00:56,810 për të kapak numrin e përgjithshëm e bytes që janë të lejuara 22 00:00:56,810 --> 00:01:01,930 në kontekste të ndryshme për HTTP kërkesë se një shfletues është e lejuar për të dërguar mua. 23 00:01:01,930 --> 00:01:04,310 Tjetra, ne define oktetin. 24 00:01:04,310 --> 00:01:07,790 Tani një oktet është vetëm një mënyrë e sofistikuar i thënë se një bajt, ose tetë bit. 25 00:01:07,790 --> 00:01:10,720 Rezulton në kaluar një byte ishte jo domosdoshmërisht tetë bit, 26 00:01:10,720 --> 00:01:12,339 kështu oktet është gjithmonë tetë bit. 27 00:01:12,339 --> 00:01:14,880 Pra në këtë rast ne kemi miratuar çfarë është e zakonshme në krijimin e rrjeteve 28 00:01:14,880 --> 00:01:17,410 Bota e duke e quajtur tetë bytes një oktet. 29 00:01:17,410 --> 00:01:21,840 >> Këtu unë e kam përcaktuar që do të Oktetet të jetë 512, kështu që shumë si në mjekësinë ligjore 30 00:01:21,840 --> 00:01:24,170 kur lexojmë një bandë e bytes në një kohë, edhe këtu, 31 00:01:24,170 --> 00:01:27,390 ne jemi duke shkuar për të lexuar një bandë e octets në një kohë. 32 00:01:27,390 --> 00:01:28,922 Next një bandë e tërë e dosjeve header. 33 00:01:28,922 --> 00:01:30,255 Si e di për të përfshirë këto? 34 00:01:30,255 --> 00:01:32,730 E pra unë thjesht lexoj njeriun faqet për një numër të funksioneve 35 00:01:32,730 --> 00:01:35,620 që ne do të përdorim në këtë shpërndarje Kodi dhe të përfshijë në ato 36 00:01:35,620 --> 00:01:37,390 Unë kam qenë i udhëzuar për të. 37 00:01:37,390 --> 00:01:39,090 >> Dhe tani ne kemi një lloj të dhënave. 38 00:01:39,090 --> 00:01:41,470 Ne e kemi deklaruar një oktet të jetë një char. 39 00:01:41,470 --> 00:01:44,040 Dhe ne do të shohim më vonë se kjo është përdoret gjatë gjithë kodit. 40 00:01:44,040 --> 00:01:45,670 Dhe ne kemi deklaruar një e tërë bandë e prototypes, 41 00:01:45,670 --> 00:01:47,961 dhe ne do të ecim shpejt përmes secili prej këtyre funksioneve. 42 00:01:47,961 --> 00:01:50,400 Së fundi, dhe ndoshta më rëndësishme për të mbajtur në 43 00:01:50,400 --> 00:01:52,520 mendje në këtë pikë në histori, është se nuk 44 00:01:52,520 --> 00:01:54,520 janë, në fakt një e tërë bandë e variablave globale 45 00:01:54,520 --> 00:02:00,430 në krye të file, rrënjë, CFD, SFD, kërkesë, fotografi dhe trup. 46 00:02:00,430 --> 00:02:03,960 >> Tani në përgjithësi, duke përdorur në mënyrë shumë globale variabla, ose variabla globale në të gjitha, 47 00:02:03,960 --> 00:02:05,280 nuk është praktikë përsëri. 48 00:02:05,280 --> 00:02:09,090 Por kjo rezulton ne jemi gjithashtu duke përdorur një teknikë të quajtur trajtimin sinjal më vonë 49 00:02:09,090 --> 00:02:11,930 në kodin, e cila na lejon për të zbuluar kur përdoruesit hits diçka 50 00:02:11,930 --> 00:02:15,080 si CTRL C dhe mbyllur server gracefully. 51 00:02:15,080 --> 00:02:18,240 Dhe në mënyrë që të bëjë atë gracefully dhe në të vërtetë të lirë deri kujtesës, 52 00:02:18,240 --> 00:02:20,800 ne duhet të kenë qasje në këto variabla globale. 53 00:02:20,800 --> 00:02:24,510 >> Dhe tani le të marrin një vështrim në kryesor, i cili drejton tërësinë e këtij programi. 54 00:02:24,510 --> 00:02:27,720 Së pari, në krye këtu ne kanë një numër gabim variabël 55 00:02:27,720 --> 00:02:29,570 që duket të mos kanë një lloj, por kjo është 56 00:02:29,570 --> 00:02:31,500 sepse kjo është në të vërtetë përcaktuar në një file të quajtur 57 00:02:31,500 --> 00:02:34,800 errno.h gabim që është përfshirë up më të lartë. 58 00:02:34,800 --> 00:02:38,780 Nëse ju bëni njeriut errno për të vërtetë shih përkufizimin për këtë gjë, 59 00:02:38,780 --> 00:02:41,230 ju do të shihni se kjo është një variabël të veçantë globale që 60 00:02:41,230 --> 00:02:43,350 është vendosur nga një bandë e tërë e funksioneve jo i shkruar 61 00:02:43,350 --> 00:02:48,730 nga ne, por nga autorët e Linux dhe sisteme të tjera për të vendosur në të vërtetë 62 00:02:48,730 --> 00:02:52,400 një numër me atë të ndryshueshme kur diçka shkon keq në mënyrë që ju mund globalisht 63 00:02:52,400 --> 00:02:54,830 kuptoj se çfarë e bëri të shkojnë keq. 64 00:02:54,830 --> 00:02:58,540 >> Tani poshtë më poshtë ju do të shihni një të ri teknikë ndoshta duke përdorur getopt, 65 00:02:58,540 --> 00:03:01,790 një funksion që ndihmon komandën parse Argumentet e linjës në mënyrë që ne të mos bëjmë 66 00:03:01,790 --> 00:03:05,540 duhet të shqetësojë kohë që pakësoi numrin parafytyruar se si të bëj analizë gramatikore diçka si 8080, 67 00:03:05,540 --> 00:03:08,350 ose dash p, ose dash h për të marrë ndihmë. 68 00:03:08,350 --> 00:03:10,300 getopt në thelb bën që për ne. 69 00:03:10,300 --> 00:03:11,750 Shih faqen njeri për më shumë. 70 00:03:11,750 --> 00:03:13,960 >> Tjetra, ne bëjmë një grimë e gabimit duke kontrolluar për të siguruar 71 00:03:13,960 --> 00:03:17,420 se numri i port është brenda varg specifikuar në spekulim. 72 00:03:17,420 --> 00:03:20,240 Tjetra, ne shohim një thirrje të funksionit të fillojë, përkufizimi i të cilit ne do të 73 00:03:20,240 --> 00:03:24,040 shikojmë në një moment, dhe si emrin e saj sugjeron, kjo fillon web server. 74 00:03:24,040 --> 00:03:26,960 Këtu kemi një thirrje për një funksion i quajtur sinjal që thotë, 75 00:03:26,960 --> 00:03:30,750 nëse dhe kur ju dëgjojnë Kontrollit C nga tastierë e përdoruesit, të shkojnë përpara dhe thirrje 76 00:03:30,750 --> 00:03:34,650 një mbajtës funksion i quajtur që po ndodh gjëra për të në fund të fundit të pastruar dhe të ndaluar 77 00:03:34,650 --> 00:03:35,500 server. 78 00:03:35,500 --> 00:03:39,470 >> Më poshtë kjo është ajo që duket të jetë një loop pafund, vija e parë e cila 79 00:03:39,470 --> 00:03:41,660 në mënyrë efektive është një thirrje në një funksion të quajtur 80 00:03:41,660 --> 00:03:45,110 rivendosur, të cilat ne vetë zbatuar më pas në mënyrë 81 00:03:45,110 --> 00:03:47,470 për të liruar disa prej shteteve tanë globale. 82 00:03:47,470 --> 00:03:50,480 Pasi që është një linjë e Kodi që kushtimisht 83 00:03:50,480 --> 00:03:52,576 është kontrolluar e kthimit Vlera e lidhur. 84 00:03:52,576 --> 00:03:55,700 Duket tani të lidhura si një kallëzues, diçka që jep true ose false. 85 00:03:55,700 --> 00:03:58,040 Dhe e bën atë, por ka diçka e veçantë në lidhur 86 00:03:58,040 --> 00:03:59,960 në se kjo është një thirrje bllokuar. 87 00:03:59,960 --> 00:04:03,180 Ajo do të ulem atje dhe presin deri shfletuesit të përdoruesit 88 00:04:03,180 --> 00:04:05,860 përpiqet për të lidhur në këtë web server dhe vetëm atëherë do të ajo 89 00:04:05,860 --> 00:04:10,160 kthehen vërtetë apo e rreme në mënyrë që ne të vazhdojë në brendësi të këtij nëse deklaratës. 90 00:04:10,160 --> 00:04:13,870 >> Pasi atje, vëreni këtë funksion një funksion i quajtur Parse, që kemi shkruar, 91 00:04:13,870 --> 00:04:17,230 cila parses gjitha octets, gjithë e bytes që vijnë nga një shfletues 92 00:04:17,230 --> 00:04:21,010 në server, kështu që mund të dorës ju përsëri në fund të fundit një vlerë të njërit 93 00:04:21,010 --> 00:04:24,420 e atyre variablave globale që dyqane të gjitha e bytes në vetëm 94 00:04:24,420 --> 00:04:26,630 të headers e që kërkesë, jo trupi 95 00:04:26,630 --> 00:04:28,920 nëse do të kishte në të vërtetë një organ për të. 96 00:04:28,920 --> 00:04:32,980 >> Tani poshtë poshtë ne të fillojnë të bëj analizë gramatikore ato headers për nxjerrjen 97 00:04:32,980 --> 00:04:35,490 një mesin e informacionit se kemi kujdes për. 98 00:04:35,490 --> 00:04:37,740 Në mënyrë të veçantë, për specifikim, ne së pari 99 00:04:37,740 --> 00:04:40,580 donte të kërkojë linjë, e cila është vetëm që vija e parë që 100 00:04:40,580 --> 00:04:45,710 shpresojmë se thotë diçka si get çaj ose disa rrugë dhe pastaj HTTP 1.1. 101 00:04:45,710 --> 00:04:48,150 Ne jemi duke përdorur këtë metaforë e një gjilpërë në kashtë 102 00:04:48,150 --> 00:04:50,370 për të kërkuar të veçantë chars ose adresat. 103 00:04:50,370 --> 00:04:53,120 Dhe me të vërtetë, ka një numër të funksionon në kodin tonë të shpërndarjes 104 00:04:53,120 --> 00:04:56,930 se ju, gjithashtu, mund të gjeni të dobishme kur kërkoni për vlera të veçanta. 105 00:04:56,930 --> 00:05:00,630 >> Në fund të fundit, ne të kopjoni këto bytes në një ndryshore të quajtur linjës, 106 00:05:00,630 --> 00:05:03,510 që të vini re, gjithashtu, ne kemi ndarë në rafte 107 00:05:03,510 --> 00:05:05,890 me anë të një grup me madhësi dinamike. 108 00:05:05,890 --> 00:05:08,350 Dhe ne jemi duke u përpjekur qëllimisht për të shmangur thirrje malloc 109 00:05:08,350 --> 00:05:11,100 sepse përsëri, sepse i Kontrollit C qenit 110 00:05:11,100 --> 00:05:14,630 një tipar i mundshëm i këtij programi, ne nuk duan të kenë këtë kod papritmas 111 00:05:14,630 --> 00:05:17,479 ndërprerë nga goditjet e përdoruesit Kontrolli C, rezultat i cili 112 00:05:17,479 --> 00:05:20,270 është se unë nuk mund të ketë një shans për diçka të lirë unë kam malloced. 113 00:05:20,270 --> 00:05:23,660 Kështu që unë jam duke u përpjekur për të përdorur sa më shumë i rafte është mundem këtu. 114 00:05:23,660 --> 00:05:26,040 >> Next lart, një bandë e tërë e të DOS-it. 115 00:05:26,040 --> 00:05:28,930 Specifikim do të shpjegoj më saktësisht se çfarë pritet këtu, 116 00:05:28,930 --> 00:05:31,800 por komentet t'ju japë një aluzion i asaj që shtrihet përpara. 117 00:05:31,800 --> 00:05:33,830 Ju së pari duhet të vërtetoni vijën kërkesën 118 00:05:33,830 --> 00:05:37,760 dhe sigurohuni që ajo duket si Specifikimet e ciklit të lartë, kështu që të flasin, 119 00:05:37,760 --> 00:05:38,541 thotë se duhet. 120 00:05:38,541 --> 00:05:41,290 Ju pastaj duhet të nxjerrë diçka i quajtur query, sende jashtë 121 00:05:41,290 --> 00:05:44,200 pas një pikëpyetje, si ne pamë me shembullin tonë të Google 122 00:05:44,200 --> 00:05:46,320 në kalimin në një parametër HD. 123 00:05:46,320 --> 00:05:49,050 Ne pastaj lidh së bashku rrënjë e web server 124 00:05:49,050 --> 00:05:52,520 me rrugën që është në se kërkesa vija e parë 125 00:05:52,520 --> 00:05:56,010 dhe formojnë rrugën e plotë të fotografi ne duam të shikoni për. 126 00:05:56,010 --> 00:06:00,300 >> Pas kësaj, ne jemi duke shkuar për t'u siguruar se dosja ekziston dhe është i lexueshëm. 127 00:06:00,300 --> 00:06:05,100 Dhe atëherë ne jemi duke shkuar për nxjerrjen e saj file extension, .html ose Php, 128 00:06:05,100 --> 00:06:09,920 ose disa zgjerim i tillë që është në shumë fundi i vargut të kërkuar. 129 00:06:09,920 --> 00:06:11,940 Next lart është një e tërë bandë e kodit kemi shkruar 130 00:06:11,940 --> 00:06:15,800 që në fakt të gjeneruar PHP gjeneruar përmbajtje për ju. 131 00:06:15,800 --> 00:06:18,010 Në pak fjalë, kjo Kodi i merr në emër 132 00:06:18,010 --> 00:06:20,250 i file që dëshironi PHP për të interpretuar. 133 00:06:20,250 --> 00:06:24,630 Ne të kalojë atë me diçka të quajtur një tub në përkthyes të PHP. 134 00:06:24,630 --> 00:06:28,060 Marrë përsëri përgjigjen si edhe pse përgjigje ishin një skedë vetë. 135 00:06:28,060 --> 00:06:32,110 Dhe pastaj ne iterate mbi atë dosje të bytes, duke tërhequr të gjithë në një tampon 136 00:06:32,110 --> 00:06:34,180 kështu që ne mund të në fund të fundit printoni ato. 137 00:06:34,180 --> 00:06:37,230 >> Në të vërtetë, të gjitha këto thërret këtu për të dprintf 138 00:06:37,230 --> 00:06:40,110 na lejon për të shkruar diçka quajtur një përshkrues file, e cila 139 00:06:40,110 --> 00:06:42,350 është vetëm një numër të plotë që paraqet një fotografi. 140 00:06:42,350 --> 00:06:45,360 Shumë të ngjashme në frymë, por rrënjësisht i ndryshëm nga një fotografi 141 00:06:45,360 --> 00:06:46,620 akrep yll. 142 00:06:46,620 --> 00:06:50,260 Vini re se si ju mund të përdorni sintaksë si printf këtu kështu që unë mund dinamike 143 00:06:50,260 --> 00:06:54,000 futur diçka si gjatësia për vlerën e një HTTP header 144 00:06:54,000 --> 00:06:55,270 i quajtur Content-Length. 145 00:06:55,270 --> 00:06:57,990 Dhe në fund të fundit unë e përdorur funksion të drejtë që në fakt shkruaj 146 00:06:57,990 --> 00:07:00,040 trupi të kërkesës. 147 00:07:00,040 --> 00:07:03,750 >> Për fat të keq, ne kemi zbatuar vetëm mbështetje për dinamike 148 00:07:03,750 --> 00:07:05,350 gjeneruara fotografi PHP. 149 00:07:05,350 --> 00:07:08,520 Ne nuk e zbatoi mbështetje për fotografi statike si gifs, dhe jpegs, 150 00:07:08,520 --> 00:07:10,660 dhe CSS dhe HTML files. 151 00:07:10,660 --> 00:07:14,450 Kjo, për fat të keq, është lënë për ju për t'iu përgjigjur qëllimit klientit 152 00:07:14,450 --> 00:07:15,090 kjo për të bërë. 153 00:07:15,090 --> 00:07:20,050 Pra, në atje ju do të gjeni se ka jo shumë frymëzim në atë bllok, 154 00:07:20,050 --> 00:07:23,520 por në qoftë se ju pak më e lartë deri në sa shkuam për interpretimin kodin PHP, 155 00:07:23,520 --> 00:07:25,520 funksionet që ju do të përdorni janë pak të ndryshme. 156 00:07:25,520 --> 00:07:27,561 >> Në fakt, ju mund të huazoni disa nga funksionet 157 00:07:27,561 --> 00:07:29,620 ndoshta nga mjekësinë ligjore set problem, sepse 158 00:07:29,620 --> 00:07:32,860 në fund të ditës gjitha qe duhet te bëni këtu është një herë ju e dini çfarë të hapur skedar 159 00:07:32,860 --> 00:07:35,690 dhe një herë ju e dini se është e ashtuquajtura Lloji MIME ose lloj të përmbajtjes, 160 00:07:35,690 --> 00:07:39,040 ju duhet të lexoni në ato bytes dhe disi pështyjë ata përsëri jashtë. 161 00:07:39,040 --> 00:07:41,190 >> Dhe tani një turne i kësaj Funksionet tjera të skedarit. 162 00:07:41,190 --> 00:07:43,820 Up parë është e lidhur, që thjesht jep true 163 00:07:43,820 --> 00:07:47,350 kur ai më në fund dëgjon një lidhje nga një përdorues. 164 00:07:47,350 --> 00:07:48,786 Next lart është gabim. 165 00:07:48,786 --> 00:07:52,296 Gabim, ndërkohë, si një funksion ne shkroi për të trajtuar të gjitha të 400 ndryshme 166 00:07:52,296 --> 00:07:55,360 dhe 500 HTTP status Kodet që ju mund të dëshironi 167 00:07:55,360 --> 00:07:58,500 për të dërguar përsëri për të përdoruesit, së bashku me një mesazh standarde. 168 00:07:58,500 --> 00:08:01,950 >> Next lart është ngarkesë, një veçanërisht funksion prej mishi, qëllimi i të cilit në jetë 169 00:08:01,950 --> 00:08:06,920 është për të lexuar nga një yll fotografi treguesin Përmbajtja e një dosje në një tampon globale 170 00:08:06,920 --> 00:08:09,000 që ne deklaruar globalisht lart [? kryesor. ?] 171 00:08:09,000 --> 00:08:12,649 Kjo është një kompleks pak, sepse ne kanë për të lexuar bytes nga file 172 00:08:12,649 --> 00:08:14,690 por të kontrolloni në çdo ripërsëritje nëse ne kemi tashmë 173 00:08:14,690 --> 00:08:17,600 goditi në fund të file ose diçka tjetër ka shkuar keq. 174 00:08:17,600 --> 00:08:21,210 Dhe ne i përdorim risigurimi për të siguruar se çfarëdo tampon ne jeni duke përdorur është në rritje 175 00:08:21,210 --> 00:08:24,440 dhe në rritje dhe në rritje dhe gjithmonë qëndruar përpara i numrit të bytes 176 00:08:24,440 --> 00:08:25,675 që ne kemi nevojë të përshtaten në atje. 177 00:08:25,675 --> 00:08:27,550 Handler, ndërkohë, është funksion që merr 178 00:08:27,550 --> 00:08:30,630 quajtur anë të pasurit regjistruar Kontrollit C si një sinjal 179 00:08:30,630 --> 00:08:32,140 që ne duam të ndërpres. 180 00:08:32,140 --> 00:08:34,070 Vini re këtu në mbajtës se ai në fund të fundit 181 00:08:34,070 --> 00:08:36,780 thirrje të ndaluar, e cila natyrisht ndalon web server. 182 00:08:36,780 --> 00:08:39,750 Dhe për fat të keq, lookup nuk është zbatuar. 183 00:08:39,750 --> 00:08:41,940 Në frymë, kjo është një funksion mjaft e thjeshtë. 184 00:08:41,940 --> 00:08:44,900 Duke pasur parasysh një file extension, ajo ka nevojë për t'u kthyer është e ashtuquajtura MIME 185 00:08:44,900 --> 00:08:46,320 lloji apo tipi i kënaqur. 186 00:08:46,320 --> 00:08:49,260 Dhe ne të specifikojë në specifikimin çfarë duhet të jetë që hartës. 187 00:08:49,260 --> 00:08:52,330 Por ju duhet për të përkthyer ajo në fund të fundit të kodit c. 188 00:08:52,330 --> 00:08:56,490 >> Tjetra është funksioni ynë në mënyrë të ngjashme prej mishi i quajtur Parse, qëllimi i të cilit në jetë 189 00:08:56,490 --> 00:08:59,350 është për të lexuar, jo nga një fotografi, por nga një lidhje të rrjetit. 190 00:08:59,350 --> 00:09:03,510 Në mënyrë të veçantë, duke lexuar dhe parsing HTTP kërkesë që e ardhur nga një shfletues 191 00:09:03,510 --> 00:09:05,940 në server në mënyrë që në fund të fundit mund të bëj analizë gramatikore 192 00:09:05,940 --> 00:09:09,530 në vetëm headers në kërkesë line dhe të kthehen ato për ju 193 00:09:09,530 --> 00:09:12,720 me anë të një zbutësi globale që ne deklaruar më lart [? kryesor. ?] 194 00:09:12,720 --> 00:09:14,880 >> Reset, ndërkohë, është një funksion që ne define 195 00:09:14,880 --> 00:09:18,730 që merr quajtur iteratively brenda i kryesor çdo kohë ju jeni gati 196 00:09:18,730 --> 00:09:20,799 gati për të filluar duke dëgjuar për një lidhje të re 197 00:09:20,799 --> 00:09:22,840 kështu që ne gjithmonë e di shtet i variablave tanë 198 00:09:22,840 --> 00:09:24,870 dhe kështu që ne kemi edhe liruar ndonjë kujtim që 199 00:09:24,870 --> 00:09:28,070 mund të ketë qenë ndarë për një lidhje e mëparshme rrjet. 200 00:09:28,070 --> 00:09:30,060 Tjetra është të fillojë, funksion që kemi shkruar 201 00:09:30,060 --> 00:09:31,920 që përmban një tërësi shumë i kodit networking 202 00:09:31,920 --> 00:09:34,420 që në fund të fundit fillon web server. 203 00:09:34,420 --> 00:09:36,680 >> Dalë i fundit është funksioni quajtur të ndaluar, e cila 204 00:09:36,680 --> 00:09:38,770 bën pikërisht këtë, atë ndalon web server. 205 00:09:38,770 --> 00:09:42,270 Por së pari ajo liron ndonjë kujtim që ende janë ndarë. 206 00:09:42,270 --> 00:09:45,850 Por kjo në fund të fundit i quan dalje edhe pa e kthyer kontrollin 207 00:09:45,850 --> 00:09:47,480 në funksion tonë kryesore. 208 00:09:47,480 --> 00:09:49,480 Në fund të fundit, një nga Teknikat më të rëndësishme 209 00:09:49,480 --> 00:09:52,680 kur zbatimin ky web server është do të jetë pak e gjykimit dhe gabim, 210 00:09:52,680 --> 00:09:55,886 të paturit e një shfletuesit të hapura dritare në të drejtë dhe një dritare terminali në 211 00:09:55,886 --> 00:09:57,760 la, servers konsol dritare, kështu që ju 212 00:09:57,760 --> 00:10:00,420 mund të shihni mesazhet që janë të duke u shfaqur në ekran. 213 00:10:00,420 --> 00:10:04,170 >> Por më mirë akoma do të ishte një e treta dritare, një dritare të dytë terminal, 214 00:10:04,170 --> 00:10:07,135 në të cilat keni përdorur Telnet, përdorimin për të cilat është e përshkruar në spekulim. 215 00:10:07,135 --> 00:10:09,640 Dhe Telnet është vetëm një shumë program i thjeshtë rrjet 216 00:10:09,640 --> 00:10:12,660 që ju lejon të pretendojë të të jetë një shfletues në një dritare 217 00:10:12,660 --> 00:10:14,540 ndërsa duke folur në dritare tjetër. 218 00:10:14,540 --> 00:10:16,830 Në këtë mënyrë ju mund të shihni pikërisht komandat tekstuale 219 00:10:16,830 --> 00:10:18,700 që po kthehen nga serveri tek klienti 220 00:10:18,700 --> 00:10:20,810 pa pasur nevojë të poking rreth zhvilluesi krom-së 221 00:10:20,810 --> 00:10:24,010 mjetet në një tjetër Ndërfaqja clunkier. 222 00:10:24,010 --> 00:10:29,099