1 00:00:00,000 --> 00:00:09,647 2 00:00:09,647 --> 00:00:11,730 SIARADWR: Nawr gadewch i ni plymio i mewn i'r cod dosbarthu 3 00:00:11,730 --> 00:00:14,470 ac edrychwch ar y cyd-destun y mae'r cod ydych yn ysgrifennu 4 00:00:14,470 --> 00:00:15,780 yn mynd i fod yn gweithredu. 5 00:00:15,780 --> 00:00:17,350 Ar ddiwedd y dydd, ydych yn mynd i weithredu 6 00:00:17,350 --> 00:00:18,710 y cyfan y gweinydd gwe. 7 00:00:18,710 --> 00:00:20,460 Ond rydym wedi darparu chi gyda'r sgerbwd 8 00:00:20,460 --> 00:00:24,090 cod sy'n cael rhywfaint o ymarferoldeb, yn arbennig yn ymwneud â rhwydweithio. 9 00:00:24,090 --> 00:00:25,390 Gadewch i gymryd golwg. 10 00:00:25,390 --> 00:00:27,560 >> Felly, hyd yma tuag at y top o'r ffeil yn griw 11 00:00:27,560 --> 00:00:30,020 o nodwedd profi gofynion macro. 12 00:00:30,020 --> 00:00:33,570 Nawr mae hyn yn unig yn nodwedd o c, lle yn ôl griw o dudalennau dyn 13 00:00:33,570 --> 00:00:36,410 rhaid i chi ddiffinio rhai o'r cysonion hyn i fod yn wir 14 00:00:36,410 --> 00:00:39,920 neu y gellir ei eilrifau penodol fel y eich bod yn cael mynediad i swyddogaethau penodol. 15 00:00:39,920 --> 00:00:42,470 Fel arall byddant yn cael eu heb ei ddatgan ac ni fyddwch yn cael mynediad. 16 00:00:42,470 --> 00:00:45,340 Felly, yr wyf wedi gwneud hyn trwy o ddarllen y tudalennau dyn. 17 00:00:45,340 --> 00:00:48,410 Yn awr i lawr isod, yn llinellau 15 drwy 17, rydym yn 18 00:00:48,410 --> 00:00:50,550 cael criw cyfan o derfynau datgan. 19 00:00:50,550 --> 00:00:53,370 >> Ac rydym wedi benthyg y rhain gan gweinydd gwe poblogaidd o'r enw Apache. 20 00:00:53,370 --> 00:00:54,650 Ac mae'r rhain yn unig niferoedd sy'n mynd 21 00:00:54,650 --> 00:00:56,810 i gapio cyfanswm nifer o bytes a ganiateir 22 00:00:56,810 --> 00:01:01,930 mewn gwahanol gyd-destunau ar gyfer y cais HTTP bod porwr chaniateir i anfon 'm. 23 00:01:01,930 --> 00:01:04,310 Nesaf, rydym yn diffinio octets. 24 00:01:04,310 --> 00:01:07,790 Nawr mae wythawd yn unig yw ffordd ffansi o ddweud beit, neu wyth ddarnau. 25 00:01:07,790 --> 00:01:10,720 Troi allan mewn a fu yn beit oedd nid o reidrwydd wyth did, 26 00:01:10,720 --> 00:01:12,339 felly wythawd yn wyth darnau bob amser. 27 00:01:12,339 --> 00:01:14,880 Felly, yn yr achos hwn rydym wedi ei fabwysiadu beth sy'n gyffredin yn y rhwydweithio 28 00:01:14,880 --> 00:01:17,410 byd ffonio wyth bytes mae wythawd. 29 00:01:17,410 --> 00:01:21,840 >> Yma rwyf wedi nodi y bydd octets fod yn 512, fel bod yn debyg mewn gwaith fforensig 30 00:01:21,840 --> 00:01:24,170 pan fyddwn yn darllen griw o bytes ar y tro, yma hefyd, 31 00:01:24,170 --> 00:01:27,390 rydym yn mynd i ddarllen criw o octets ar y tro. 32 00:01:27,390 --> 00:01:28,922 Nesaf criw cyfan o ffeiliau pennawd. 33 00:01:28,922 --> 00:01:30,255 Sut oedd yr wyf yn gwybod i gynnwys y rhain? 34 00:01:30,255 --> 00:01:32,730 Wel wyf yn syml yn darllen y dyn Tudalennau ar gyfer nifer o swyddogaethau 35 00:01:32,730 --> 00:01:35,620 y byddwn yn ei ddefnyddio yn y dosbarthiad hwn cod ac yn cynnwys yn y rhai 36 00:01:35,620 --> 00:01:37,390 Cefais fy cyfarwyddyd i. 37 00:01:37,390 --> 00:01:39,090 >> Ac yn awr mae gennym y math data. 38 00:01:39,090 --> 00:01:41,470 Rydym wedi datgan wythawd i fod yn torgoch. 39 00:01:41,470 --> 00:01:44,040 A byddwn yn gweld yn nes ymlaen mai dyna a ddefnyddir drwy gydol y cod. 40 00:01:44,040 --> 00:01:45,670 Ac rydym wedi datgan criw cyfan o prototeipiau, 41 00:01:45,670 --> 00:01:47,961 a byddwn yn cerdded yn gyflym drwy pob un o'r swyddogaethau hynny. 42 00:01:47,961 --> 00:01:50,400 Yn olaf, ac efallai y rhan fwyaf o bwysig i gadw mewn 43 00:01:50,400 --> 00:01:52,520 meddwl ar hyn o y stori, yw bod 44 00:01:52,520 --> 00:01:54,520 , mewn gwirionedd yn ei gyfanrwydd criw o newidynnau byd-eang 45 00:01:54,520 --> 00:02:00,430 ar frig y ffeil, gwraidd, Plant and, SFD, cais, ffeiliau a chorff. 46 00:02:00,430 --> 00:02:03,960 >> Yn awr yn gyffredinol, gan ddefnyddio cymaint o fyd-eang newidynnau, neu newidynnau byd-eang o gwbl, 47 00:02:03,960 --> 00:02:05,280 Nid yw'r arfer ôl. 48 00:02:05,280 --> 00:02:09,090 Ond mae'n troi allan ein bod hefyd yn defnyddio techneg a elwir yn trin signal yn ddiweddarach 49 00:02:09,090 --> 00:02:11,930 yn y cod, sy'n ein galluogi i canfod pan fydd y defnyddiwr yn taro rhywbeth 50 00:02:11,930 --> 00:02:15,080 fel CTRL C a caea i lawr y gweinydd osgeiddig. 51 00:02:15,080 --> 00:02:18,240 Ac er mwyn gwneud hynny osgeiddig ac mewn gwirionedd yn rhad ac am ddim i fyny cof, 52 00:02:18,240 --> 00:02:20,800 mae angen i ni gael mynediad at newidynnau byd-eang hyn. 53 00:02:20,800 --> 00:02:24,510 >> Ac yn awr gadewch i ni edrych ar brif, a oedd yn gyrru y cyfan o'r rhaglen hon. 54 00:02:24,510 --> 00:02:27,720 Yn gyntaf, ar y brig dyma ni cael newidyn rhif gwall 55 00:02:27,720 --> 00:02:29,570 sy'n ymddangos i beidio â fod â math, ond mae hynny'n 56 00:02:29,570 --> 00:02:31,500 am ei fod mewn gwirionedd a ddiffinnir yn ffeil o'r enw 57 00:02:31,500 --> 00:02:34,800 errno.h gwall sy'n yn cael ei gynnwys i fyny uwch. 58 00:02:34,800 --> 00:02:38,780 Os byddwch yn ddyn errno i mewn gwirionedd gweler y diffiniad ar gyfer y peth hyn, 59 00:02:38,780 --> 00:02:41,230 byddwch yn gweld bod hyn yn newidyn byd-eang arbennig sy'n 60 00:02:41,230 --> 00:02:43,350 yn cael ei osod gan criw cyfan o swyddogaethau nad ysgrifenedig 61 00:02:43,350 --> 00:02:48,730 gennym ni, ond gan yr awduron o Linux a systemau eraill i osod mewn gwirionedd 62 00:02:48,730 --> 00:02:52,400 mae nifer i'r newidyn pan fydd rhywbeth yn mynd o'i le fel y gallwch yn fyd-eang 63 00:02:52,400 --> 00:02:54,830 chyfrif i maes yr hyn a wnaeth fynd o'i le. 64 00:02:54,830 --> 00:02:58,540 >> Nawr lawr isod fe welwch newydd techneg efallai drwy ddefnyddio getopt, 65 00:02:58,540 --> 00:03:01,790 swyddogaeth sy'n helpu gorchymyn dosrannu dadleuon llinell fel nad ydym yn ei wneud 66 00:03:01,790 --> 00:03:05,540 rhaid i drafferthu amser gwastraffu figuring gwybod sut i gramadegu rhywbeth fel 8080, 67 00:03:05,540 --> 00:03:08,350 neu dash p, neu dash h i gael help. 68 00:03:08,350 --> 00:03:10,300 getopt ei hanfod yn gwneud hynny i ni. 69 00:03:10,300 --> 00:03:11,750 Gweler y dudalen dyn am fwy. 70 00:03:11,750 --> 00:03:13,960 >> Nesaf, rydym yn gwneud ychydig o gamgymeriadau gwirio i wneud yn siŵr 71 00:03:13,960 --> 00:03:17,420 bod y rhif porth o fewn yr ystod a nodir yn y fanyleb. 72 00:03:17,420 --> 00:03:20,240 Nesaf, rydym yn gweld galwad i'r swyddogaeth cychwyn, y mae ei diffiniad yr ydym fe 73 00:03:20,240 --> 00:03:24,040 yn edrych ar yn y man, ac fel ei enw yn awgrymu, mae hyn yn cychwyn y gweinydd gwe. 74 00:03:24,040 --> 00:03:26,960 Yma mae gennym alwad i swyddogaeth Gelwir signal sy'n dweud, 75 00:03:26,960 --> 00:03:30,750 os a phan fyddwch yn clywed Rheoli C o bysellfwrdd y defnyddiwr, mynd yn ei flaen a galw 76 00:03:30,750 --> 00:03:34,650 yn trin swyddogaeth o'r enw sy'n mynd pethau i'w glanhau yn y pen draw i fyny ac yn rhoi'r gorau i 77 00:03:34,650 --> 00:03:35,500 y gweinydd. 78 00:03:35,500 --> 00:03:39,470 >> Isod dyna yr hyn sy'n ymddangos i fod yn dolen ddiddiwedd, y llinell gyntaf o'r rhain 79 00:03:39,470 --> 00:03:41,660 effeithiol yn galw i swyddogaeth o'r enw 80 00:03:41,660 --> 00:03:45,110 ailosod, yr ydym ni ein hunain gweithredu yn nes ymlaen er mwyn 81 00:03:45,110 --> 00:03:47,470 i ryddhau rhai o'n wladwriaethau byd-eang. 82 00:03:47,470 --> 00:03:50,480 Ar ôl hynny yn llinell o cod sy'n amodol 83 00:03:50,480 --> 00:03:52,576 yn gwirio'r ffurflen gwerth cysylltiedig. 84 00:03:52,576 --> 00:03:55,700 Edrych Nawr cysylltu fel predicate, rhywbeth sy'n dychwelyd wir neu'n anwir. 85 00:03:55,700 --> 00:03:58,040 Ac mae'n ei wneud, ond mae rhywbeth arbennig yn gysylltiedig 86 00:03:58,040 --> 00:03:59,960 yn ei fod yn alwad blocio. 87 00:03:59,960 --> 00:04:03,180 Bydd yn eistedd yno ac aros hyd nes y porwr y defnyddiwr 88 00:04:03,180 --> 00:04:05,860 yn ceisio cysylltu â'r we hon gweinyddwr a dim ond wedyn bydd yn 89 00:04:05,860 --> 00:04:10,160 dychwelyd wir neu'n anwir fel ein bod yn symud ymlaen i du mewn hyn os y datganiad. 90 00:04:10,160 --> 00:04:13,870 >> Unwaith yno, yn sylwi ar y swyddogaeth hon i swyddogaeth a elwir yn dosrannu, yr ydym yn ysgrifennu, 91 00:04:13,870 --> 00:04:17,230 sy'n parses pob un o'r octets, pob o'r bytes dod o borwr 92 00:04:17,230 --> 00:04:21,010 at 'r gweinyddwr, fel y gallwn llaw chi yn ôl yn y pen draw mae gwerth at un 93 00:04:21,010 --> 00:04:24,420 o newidynnau byd-eang hynny y storfeydd pob un o'r bytes mewn dim ond 94 00:04:24,420 --> 00:04:26,630 y penawdau o hynny cais, nid oedd y corff 95 00:04:26,630 --> 00:04:28,920 os oedd mewn gwirionedd corff iddo. 96 00:04:28,920 --> 00:04:32,980 >> Nawr lawr islaw i ni ddechrau gramadegu penawdau hynny i dynnu 97 00:04:32,980 --> 00:04:35,490 is-set o'r wybodaeth ein bod yn poeni am. 98 00:04:35,490 --> 00:04:37,740 Yn benodol, fesul y fanyleb, rydym yn gyntaf 99 00:04:37,740 --> 00:04:40,580 yn awyddus i ofyn am linell, sef dim ond bod llinell gyntaf iawn bod 100 00:04:40,580 --> 00:04:45,710 gobeithio, yn dweud rhywbeth fel get slaes neu ryw llwybr ac yna HTTP 1.1. 101 00:04:45,710 --> 00:04:48,150 Rydym yn defnyddio trosiad hwn o nodwydd mewn tas wair 102 00:04:48,150 --> 00:04:50,370 i chwilio am neilltuol chars neu gyfeiriadau. 103 00:04:50,370 --> 00:04:53,120 Ac yn wir, mae yna nifer o swyddogaethau yn ein cod dosbarthu 104 00:04:53,120 --> 00:04:56,930 eich bod chi, hefyd, efallai yn ddefnyddiol wrth chwilio am werthoedd penodol. 105 00:04:56,930 --> 00:05:00,630 >> Yn y pen draw, rydym yn copïo'r bytes hyn mewn llinell amrywiol o'r enw, 106 00:05:00,630 --> 00:05:03,510 caiff yr hysbysiad, hefyd, rydym wedi dyrannu ar y pentwr 107 00:05:03,510 --> 00:05:05,890 drwy gyfrwng amrywiaeth maint ddynamig. 108 00:05:05,890 --> 00:05:08,350 Ac rydym yn ceisio fwriadol i osgoi galw malloc 109 00:05:08,350 --> 00:05:11,100 oherwydd eto, oherwydd Rheoli C yn cael 110 00:05:11,100 --> 00:05:14,630 un o nodweddion posibl y rhaglen hon, rydym yn nad ydych am i gael y cod hwn yn sydyn 111 00:05:14,630 --> 00:05:17,479 torri ar draws y taro defnyddiwr Rheoli C, y canlyniad o'r rhain 112 00:05:17,479 --> 00:05:20,270 yw y gallai nad wyf yn cael y cyfle am rywbeth am ddim Rwyf wedi malloced. 113 00:05:20,270 --> 00:05:23,660 Felly rwy'n ceisio defnyddio cymaint o'r pentwr yw gallaf yma. 114 00:05:23,660 --> 00:05:26,040 >> Nesaf i fyny, criw cyfan o i'r dos. 115 00:05:26,040 --> 00:05:28,930 Bydd y fanyleb yn draethu'n ar yn union beth sy'n ddisgwyliedig yma, 116 00:05:28,930 --> 00:05:31,800 ond mae'r sylwadau yn rhoi i chi awgrym o hyn sydd o'n blaenau. 117 00:05:31,800 --> 00:05:33,830 Rydych angen yn gyntaf i ddilysu'r llinell cais 118 00:05:33,830 --> 00:05:37,760 a gwneud yn siŵr ei fod yn edrych fel y manylebau gramadeg, fel petai, 119 00:05:37,760 --> 00:05:38,541 Dywed y dylai. 120 00:05:38,541 --> 00:05:41,290 Yna, mae angen i chi dynnu rhywbeth Gelwir yr ymholiad, mae'r pethau allan 121 00:05:41,290 --> 00:05:44,200 ar ôl marc cwestiwn, fel gwelsom gyda'n enghraifft Google 122 00:05:44,200 --> 00:05:46,320 wrth fynd heibio mewn paramedr HD. 123 00:05:46,320 --> 00:05:49,050 Yna byddwn yn concatenate gyda'n gilydd gwraidd y gweinydd gwe 124 00:05:49,050 --> 00:05:52,520 gyda'r llwybr dyna mewn y llinell gyntaf cais 125 00:05:52,520 --> 00:05:56,010 ac yn ffurfio llwybr llawn y ffeil yr ydym am edrych am. 126 00:05:56,010 --> 00:06:00,300 >> Wedi hynny, rydym yn mynd i wneud yn siŵr bod y ffeil yn bodoli ac yn ddarllenadwy. 127 00:06:00,300 --> 00:06:05,100 Ac yna rydym yn mynd i dynnu ei estyniad ffeil, gall y .html neu'r .php, 128 00:06:05,100 --> 00:06:09,920 neu ryw estyniad o'r fath dyna yn y ddiwedd y llinyn y gofynnwyd amdani. 129 00:06:09,920 --> 00:06:11,940 Nesaf i fyny yn ei gyfanrwydd criw o cod ysgrifenasom 130 00:06:11,940 --> 00:06:15,800 i mewn gwirionedd yn cynhyrchu PHP cynnwys ar gyfer chi a gynhyrchir. 131 00:06:15,800 --> 00:06:18,010 Yn gryno, mae hwn cod cymryd yn yr enw 132 00:06:18,010 --> 00:06:20,250 o'r ffeil rydych am PHP i ddehongli. 133 00:06:20,250 --> 00:06:24,630 Rydym yn ei throsglwyddo gan rywbeth o'r enw pibell i mewn i cyfieithydd PHP yn. 134 00:06:24,630 --> 00:06:28,060 Cael yn ôl yr ymateb fel pe Roedd yr ymateb ffeil ei hun. 135 00:06:28,060 --> 00:06:32,110 Ac yna rydym yn ailadrodd dros y ffeil yn bytes, i gyd tynnu i mewn i un byffer 136 00:06:32,110 --> 00:06:34,180 fel y gallwn yn y pen draw argraffwch nhw allan. 137 00:06:34,180 --> 00:06:37,230 >> Yn wir, pob un o'r rhain yn galw yma i dprintf 138 00:06:37,230 --> 00:06:40,110 yn ein galluogi i argraffu rhywbeth a elwir yn disgrifydd ffeil, a oedd yn 139 00:06:40,110 --> 00:06:42,350 yn unig yw gyfanrif sy'n cynrychioli ffeil. 140 00:06:42,350 --> 00:06:45,360 Debyg iawn o ran ysbryd, ond sylfaenol wahanol o ffeil 141 00:06:45,360 --> 00:06:46,620 pwyntydd seren. 142 00:06:46,620 --> 00:06:50,260 Sylwch sut y gallwch ddefnyddio cystrawen yn hoffi printf yma fel y gallaf ddeinamig 143 00:06:50,260 --> 00:06:54,000 mewnosod rhywbeth fel hyd am y gwerth o pennawd HTTP 144 00:06:54,000 --> 00:06:55,270 Gelwir Cynnwys-Hyd. 145 00:06:55,270 --> 00:06:57,990 Ac yn y pen draw Defnyddiais y hawl i ysgrifennu mewn gwirionedd yn swyddogaeth 146 00:06:57,990 --> 00:07:00,040 y corff i'r cais. 147 00:07:00,040 --> 00:07:03,750 >> Yn anffodus, dim ond rhoi ar waith cymorth ar gyfer ddynamig 148 00:07:03,750 --> 00:07:05,350 ffeiliau PHP a gynhyrchir. 149 00:07:05,350 --> 00:07:08,520 Doedden ni ddim yn gweithredu cymorth ar gyfer ffeiliau statig fel gifs, a jpegs, 150 00:07:08,520 --> 00:07:10,660 a CSS a HTML ffeiliau. 151 00:07:10,660 --> 00:07:14,450 Mae hynny, yn anffodus, yn cael ei adael i chi i ymateb i'r pwrpas cleient 152 00:07:14,450 --> 00:07:15,090 hyn i'w wneud. 153 00:07:15,090 --> 00:07:20,050 Felly, i mewn 'na fe welwch fod yna Nid yw llawer o ysbrydoliaeth o fewn y bloc, 154 00:07:20,050 --> 00:07:23,520 ond os ydych ychydig yn uwch i fyny ar sut aethom am ddehongli cod PHP, 155 00:07:23,520 --> 00:07:25,520 swyddogaethau y byddwch yn ei ddefnyddio ychydig yn wahanol. 156 00:07:25,520 --> 00:07:27,561 >> Yn wir, y gallwch ei fenthyg rhai o'r swyddogaethau 157 00:07:27,561 --> 00:07:29,620 efallai o'r fforensig set problem, oherwydd 158 00:07:29,620 --> 00:07:32,860 ar ddiwedd y dydd i gyd angen i chi wneud yma yw unwaith y byddwch yn gwybod pa ffeil agored 159 00:07:32,860 --> 00:07:35,690 ac ar ôl i chi ei wybod ei fod yn hyn a elwir yn Math MIME neu fath gynnwys, 160 00:07:35,690 --> 00:07:39,040 mae angen i chi ddarllen yn y bytes y rhai ac yn poeri rhywsut yn ôl allan. 161 00:07:39,040 --> 00:07:41,190 >> Ac yn awr ar daith o gwmpas hyn swyddogaethau eraill ffeil yn. 162 00:07:41,190 --> 00:07:43,820 Up gyntaf yn gysylltiedig, sydd yn syml yn dychwelyd gwir 163 00:07:43,820 --> 00:07:47,350 pan fydd yn clywed yn olaf cysylltiad gan ddefnyddiwr. 164 00:07:47,350 --> 00:07:48,786 Nesaf i fyny yw gwall. 165 00:07:48,786 --> 00:07:52,296 Gwall, yn y cyfamser, fel swyddogaeth yr ydym Ysgrifennodd i ymdrin â phob un o'r gwahanol 400 166 00:07:52,296 --> 00:07:55,360 a statws HTTP 500 Codau efallai y byddwch am 167 00:07:55,360 --> 00:07:58,500 i'w hanfon yn ôl at y defnyddiwr, ynghyd â neges safonol. 168 00:07:58,500 --> 00:08:01,950 >> Nesaf i fyny yn llwyth, sef arbennig swyddogaeth swmpus, y mae eu pwrpas mewn bywyd 169 00:08:01,950 --> 00:08:06,920 yw darllen o ffeil seren pwyntydd y cynnwys ffeil i mewn i byffer byd-eang 170 00:08:06,920 --> 00:08:09,000 ein bod yn datgan yn fyd-eang uchod [? prif. ?] 171 00:08:09,000 --> 00:08:12,649 Mae hwn yn dipyn o gymhleth oherwydd ein rhaid i ddarllen y bytes o'r ffeil 172 00:08:12,649 --> 00:08:14,690 ond edrychwch ar bob iteriad a ydym i wedi eisoes 173 00:08:14,690 --> 00:08:17,600 taro diwedd y ffeil neu rhywbeth arall wedi mynd o'i le. 174 00:08:17,600 --> 00:08:21,210 Ac rydym yn defnyddio realloc i wneud yn siŵr bod beth bynnag byffer rydym yn ei ddefnyddio yn tyfu 175 00:08:21,210 --> 00:08:24,440 ac yn tyfu ac yn tyfu a bob amser yn aros o flaen y nifer o bytes 176 00:08:24,440 --> 00:08:25,675 bod angen i ni ffitio i mewn 'na. 177 00:08:25,675 --> 00:08:27,550 Triniwr, yn y cyfamser, mae y swyddogaeth sy'n cael 178 00:08:27,550 --> 00:08:30,630 Gelwir drwy gael cofrestru Rheoli C fel arwydd 179 00:08:30,630 --> 00:08:32,140 ein bod am i ryng-gipio. 180 00:08:32,140 --> 00:08:34,070 Hysbysiad yma yn trafodwr ei fod yn y pen draw 181 00:08:34,070 --> 00:08:36,780 galwadau stopio, sydd wrth gwrs yn atal y gweinydd gwe. 182 00:08:36,780 --> 00:08:39,750 Ac yn anffodus, am-edrych Nid yw yn cael ei weithredu. 183 00:08:39,750 --> 00:08:41,940 Yn yr ysbryd, mae hwn yn swyddogaeth yn weddol syml. 184 00:08:41,940 --> 00:08:44,900 O ystyried estyniad ffeil, mae angen i ddychwelyd ei fod yn MIME hyn a elwir yn 185 00:08:44,900 --> 00:08:46,320 math neu fath gynnwys. 186 00:08:46,320 --> 00:08:49,260 Ac rydym yn nodi yn y fanyleb hyn y mae'n rhaid mapio hwnnw fod. 187 00:08:49,260 --> 00:08:52,330 Ond mae angen i chi ei gyfieithu yn y pen draw i c cod. 188 00:08:52,330 --> 00:08:56,490 >> Nesaf i fyny yw ein swyddogaeth yn yr un modd swmpus Gelwir dosrannu, y mae eu pwrpas mewn bywyd 189 00:08:56,490 --> 00:08:59,350 yw darllen, nid o ffeil, ond o gysylltiad rhwydwaith. 190 00:08:59,350 --> 00:09:03,510 Yn benodol, darllen ac dosrannu y Cais HTTP sydd wedi dod o borwr 191 00:09:03,510 --> 00:09:05,940 at y gweinydd fel bod yn y pen draw, gallwn dosrannu 192 00:09:05,940 --> 00:09:09,530 sef dim ond y penawdau yn y cais llinell a dychwelyd y rhai i chi 193 00:09:09,530 --> 00:09:12,720 drwy gyfrwng byffer byd-eang sy'n rydym yn datgan uchod [? prif. ?] 194 00:09:12,720 --> 00:09:14,880 >> Ailosod, yn y cyfamser, yn swyddogaeth yr ydym yn diffinio 195 00:09:14,880 --> 00:09:18,730 sy'n cael elwir ailadroddol y tu mewn o brif bob tro y byddwch chi ar fin 196 00:09:18,730 --> 00:09:20,799 yn barod i ddechrau gwrando am gysylltiad newydd 197 00:09:20,799 --> 00:09:22,840 fel ein bod bob amser yn gwybod cyflwr ein newidynnau 198 00:09:22,840 --> 00:09:24,870 ac er mwyn i ni i wedi hefyd rhyddhau unrhyw cof bod 199 00:09:24,870 --> 00:09:28,070 gellid bod wedi dyrannu ar gyfer gysylltiad rhwydwaith blaenorol. 200 00:09:28,070 --> 00:09:30,060 Nesaf i fyny yw cychwyn, mae'r swyddogaeth yr ydym yn ysgrifennu 201 00:09:30,060 --> 00:09:31,920 sy'n cynnwys cyfan llawer o cod rhwydweithio 202 00:09:31,920 --> 00:09:34,420 yn y pen draw yn dechrau y gweinydd gwe. 203 00:09:34,420 --> 00:09:36,680 >> I fyny olaf yw swyddogaeth Gelwir stop, sy'n 204 00:09:36,680 --> 00:09:38,770 gwneud yn union hynny, mae'n yn atal y gweinydd gwe. 205 00:09:38,770 --> 00:09:42,270 Ond yn gyntaf mae'n rhyddhau unrhyw cof sy'n parhau wedi'i ddyrannu. 206 00:09:42,270 --> 00:09:45,850 Ond yn y pen draw yn galw allanfa heb hyd yn oed yn dychwelyd rheolaeth 207 00:09:45,850 --> 00:09:47,480 at ein prif swyddogaeth. 208 00:09:47,480 --> 00:09:49,480 Yn y pen draw, un o'r y rhan fwyaf o dechnegau pwysig 209 00:09:49,480 --> 00:09:52,680 wrth weithredu hyn weinydd y we yn yn mynd i fod yn dipyn o brofi a methu, 210 00:09:52,680 --> 00:09:55,886 cael un porwr ar agor ffenestr ar y dde ac terfynell ffenestr ar 211 00:09:55,886 --> 00:09:57,760 i'r chwith, y consol gweinyddwyr ffenestr, er mwyn i chi 212 00:09:57,760 --> 00:10:00,420 yn gallu gweld y negeseuon sy'n cael eu cael ei arddangos ar y sgrin. 213 00:10:00,420 --> 00:10:04,170 >> Ond byddai yn well yn dal i fod un rhan o dair ffenestri, ail ffenestr terfynell, 214 00:10:04,170 --> 00:10:07,135 lle y byddwch yn eu defnyddio Telnet, mae'r defnydd y mae ei ragnodi yn y fanyleb. 215 00:10:07,135 --> 00:10:09,640 Ac Telnet yn unig yw iawn rhaglen rhwydwaith syml 216 00:10:09,640 --> 00:10:12,660 sy'n gadael i chi esgus i fod yn porwr mewn un ffenestr 217 00:10:12,660 --> 00:10:14,540 tra'n siarad â'r ffenestr arall. 218 00:10:14,540 --> 00:10:16,830 Fel hyn, gallwch weld union yr gorchmynion testunol 219 00:10:16,830 --> 00:10:18,700 sydd yn dod yn ôl o'r gweinydd i gleient 220 00:10:18,700 --> 00:10:20,810 heb orfod procio o gwmpas datblygwr crôm yn 221 00:10:20,810 --> 00:10:24,010 offer mewn fel arall rhyngwyneb clunkier. 222 00:10:24,010 --> 00:10:29,099