1 00:00:00,000 --> 00:00:09,647 2 00:00:09,647 --> 00:00:11,730 વક્તા: હવે દો માતાનો ડાઈવ વિતરણ કોડમાં 3 00:00:11,730 --> 00:00:14,470 અને સંદર્ભમાં પર એક નજર જેમાં કોડ તમે લખો 4 00:00:14,470 --> 00:00:15,780 સંચાલન કરી રહ્યું છે. 5 00:00:15,780 --> 00:00:17,350 દિવસ ના અંતે, તમે અમલ કરવા જઈ રહ્યા છો 6 00:00:17,350 --> 00:00:18,710 વેબ સર્વરનું સમગ્ર. 7 00:00:18,710 --> 00:00:20,460 પરંતુ અમે આપેલા છે હાડપિંજર સાથે તમને 8 00:00:20,460 --> 00:00:24,090 કેટલાક વિધેય હોય છે કે કોડ છે, ખાસ કરીને નેટવર્કિંગ સાથે સંબંધિત. 9 00:00:24,090 --> 00:00:25,390 ચાલો એક નજર. 10 00:00:25,390 --> 00:00:27,560 >> અહીં ટોચ તરફ અપ જેથી આ ફાઇલ એક ટોળું છે 11 00:00:27,560 --> 00:00:30,020 લક્ષણનો મેક્રો જરૂરીયાતો પરીક્ષણ. 12 00:00:30,020 --> 00:00:33,570 હવે આ ગ, જેમાં માત્ર એક લક્ષણ છે મદદ પાનાંઓ એક ટોળું મુજબ 13 00:00:33,570 --> 00:00:36,410 તમે કેટલાક વ્યાખ્યાયિત કરવા માટે હોય છે આ સ્થિરાંકો વાત સાચી છે 14 00:00:36,410 --> 00:00:39,920 અથવા કે જેથી પણ ચોક્કસ નંબરો હોવાનું તમે અમુક કાર્યો વપરાશ હોય છે. 15 00:00:39,920 --> 00:00:42,470 અન્યથા તેઓ અઘોષિત આવશે અને તમે ઍક્સેસ હશે નહીં. 16 00:00:42,470 --> 00:00:45,340 તેથી હું જે રીતે દ્વારા આ કંઇ કર્યું ના મદદ પાનાંઓ વાંચી. 17 00:00:45,340 --> 00:00:48,410 હવે નીચે નીચે, માં 17 દ્વારા લીટીઓ 15, અમે 18 00:00:48,410 --> 00:00:50,550 જાહેર કર્યો મર્યાદા સંપૂર્ણ જથ્થો હોય છે. 19 00:00:50,550 --> 00:00:53,370 >> અને અમે એક આ ઉધાર કર્યું અપાચે કહેવાય લોકપ્રિય વેબ સર્વર. 20 00:00:53,370 --> 00:00:54,650 અને આ માત્ર છે જતા હોય છે કે નંબરો 21 00:00:54,650 --> 00:00:56,810 કુલ સંખ્યા નિયંત્રણ મૂકવા બાઇટ્સ કે માન્ય છે 22 00:00:56,810 --> 00:01:01,930 આ HTTP વિનંતિ માટે વિવિધ સંદર્ભોમાં કે એક બ્રાઉઝર છે મને મોકલો માન્ય છે. 23 00:01:01,930 --> 00:01:04,310 પછી, આપણે ઓક્ટેટ વ્યાખ્યાયિત કરે છે. 24 00:01:04,310 --> 00:01:07,790 હવે એક ઑક્ટેટ માત્ર એક ફેન્સી માર્ગ છે એક બાઇટ, અથવા આઠ બિટ્સ કહેતા. 25 00:01:07,790 --> 00:01:10,720 Yesteryear એક બાઇટ માં બહાર કરે જરૂરી નથી આઠ બિટ્સ હતી, 26 00:01:10,720 --> 00:01:12,339 તેથી ઑક્ટેટ હંમેશા આઠ બિટ્સ છે. 27 00:01:12,339 --> 00:01:14,880 તેથી આ કિસ્સામાં અમે અપનાવવામાં આવ્યાં છે શું નેટવર્કીંગ સામાન્ય છે 28 00:01:14,880 --> 00:01:17,410 આઠ બાઇટ્સ એક ઑક્ટેટ બોલાવવા ની વિશ્વ. 29 00:01:17,410 --> 00:01:21,840 >> અહીં હું ઓક્ટેટ ચાલશે કે સ્પષ્ટ કર્યું તેથી તે ખૂબ વિદેશી જેમ, 512 થઈ 30 00:01:21,840 --> 00:01:24,170 અમે એક ટોળું વાંચી ત્યારે એક સમયે બાઇટ્સ, અહીં પણ, 31 00:01:24,170 --> 00:01:27,390 અમે એક વાંચી રહ્યા છીએ એક સમયે ઓક્ટેટ ના ટોળું. 32 00:01:27,390 --> 00:01:28,922 હેડર ફાઈલો સંપૂર્ણ સમૂહ પછીના. 33 00:01:28,922 --> 00:01:30,255 હું કેવી આ સમાવવા માટે ખબર હતી? 34 00:01:30,255 --> 00:01:32,730 સાથે સાથે હું ફક્ત માણસ વાંચી કાર્યો એક નંબર માટે પૃષ્ઠો 35 00:01:32,730 --> 00:01:35,620 અમે આ વિતરણ ઉપયોગ કરશો કે કોડ અને રાશિઓ માં સમાવેશ 36 00:01:35,620 --> 00:01:37,390 હું સૂચના આપવામાં આવી. 37 00:01:37,390 --> 00:01:39,090 >> અને હવે અમે એક માહિતી પ્રકાર છે. 38 00:01:39,090 --> 00:01:41,470 અમે ચાર રચે હોવાનું એક ઑક્ટેટ જાહેર કર્યું છે. 39 00:01:41,470 --> 00:01:44,040 અને અમે તે છે કે પાછળથી જોશો FIPS એ દરમ્યાન વપરાય. 40 00:01:44,040 --> 00:01:45,670 અને અમે જાહેર કર્યું છે એક પ્રોટોટાઇપ સંપૂર્ણ જથ્થો, 41 00:01:45,670 --> 00:01:47,961 અને અમે મારફતે ઝડપથી ચાલવા પડશે તે કાર્યો દરેક. 42 00:01:47,961 --> 00:01:50,400 છેલ્લે, અને કદાચ સૌથી રાખો મહત્વની 43 00:01:50,400 --> 00:01:52,520 આ બિંદુએ ઓછામાં વાંધો વાર્તા, કે ત્યાં 44 00:01:52,520 --> 00:01:54,520 હકીકતમાં, સમગ્ર છે વૈશ્વિક ચલો સમૂહ 45 00:01:54,520 --> 00:02:00,430 આ ફાઇલ ટોચ પર, રુટ, CFD, એસ.ડી.એફ, વિનંતી, ફાઇલ અને શરીર. 46 00:02:00,430 --> 00:02:03,960 >> હવે સામાન્ય રીતે, ત્યાં ઘણા વૈશ્વિક વાપરીને ચલો, અથવા બધા પર વૈશ્વિક ચલો, 47 00:02:03,960 --> 00:02:05,280 પાછળ પ્રથા નથી. 48 00:02:05,280 --> 00:02:09,090 પરંતુ તે અમે પણ એક ઉપયોગ કરી રહ્યાં છો બહાર કરે ટેકનિક કહેવાય સંકેત હેન્ડલિંગ પાછળથી 49 00:02:09,090 --> 00:02:11,930 માટે પરવાનગી આપે છે કે જે કોડ છે, માં વપરાશકર્તાને કંઈક બનાવ્યા ત્યારે શોધી 50 00:02:11,930 --> 00:02:15,080 CTRL C અને બંધ જેવા પ્રભાવશાળીપણે સર્વર. 51 00:02:15,080 --> 00:02:18,240 અને ક્રમમાં પ્રભાવશાળીપણે તે કરવા માટે અને ખરેખર મુક્ત મેમરી અપ, 52 00:02:18,240 --> 00:02:20,800 અમે વપરાશ હોય છે જરૂર આ વૈશ્વિક ચલો. 53 00:02:20,800 --> 00:02:24,510 >> અને હવે મુખ્ય પર એક નજર, લેવા દો, જે આ કાર્યક્રમ સમગ્ર બનાવ્યો. 54 00:02:24,510 --> 00:02:27,720 પ્રથમ, અહીં ટોચ પર અમે ભૂલ નંબર ચલ હોય 55 00:02:27,720 --> 00:02:29,570 કે ન તેમ લાગે છે એક પ્રકાર ધરાવે છે, પરંતુ તે છે 56 00:02:29,570 --> 00:02:31,500 તે ખરેખર છે, કારણ કે તરીકે ઓળખાતી ફાઈલ માં વ્યાખ્યાયિત 57 00:02:31,500 --> 00:02:34,800 ભૂલ errno.h જે ઉચ્ચ અપ સમાવવામાં આવેલ છે. 58 00:02:34,800 --> 00:02:38,780 તમે ખરેખર કરવા errno માણસ કરો તો આ વસ્તુ માટે વ્યાખ્યા જોવા, 59 00:02:38,780 --> 00:02:41,230 જો તમે આ એક છે કે જોશો ખાસ વૈશ્વિક ચલ કે 60 00:02:41,230 --> 00:02:43,350 સંપૂર્ણ જથ્થો દ્વારા સુયોજિત થયેલ છે કાર્યો લખેલા ન 61 00:02:43,350 --> 00:02:48,730 અમને દ્વારા, પરંતુ Linux ના લેખકો દ્વારા અને અન્ય સિસ્ટમો વાસ્તવમાં સુયોજિત કરો 62 00:02:48,730 --> 00:02:52,400 કે ચલ જ્યારે કંઇક કરવા સંખ્યાબંધ ખોટું થાય તો તમે વૈશ્વિક કરી શકો કે જેથી 63 00:02:52,400 --> 00:02:54,830 ખોટી જઈ શું કર્યું એ સમજી. 64 00:02:54,830 --> 00:02:58,540 >> હવે નીચે નીચે તમે નવી જોશો ટેકનિક કદાચ, getopt વાપરીને 65 00:02:58,540 --> 00:03:01,790 વિશ્લેષણ આદેશ મદદ કરે છે કે કાર્ય વાક્ય દલીલો અમે નથી કે જેથી 66 00:03:01,790 --> 00:03:05,540 figuring વ્યય સમય સંતાપ હોય આઉટ 8080 કંઈક પાર્સ કેવી રીતે, 67 00:03:05,540 --> 00:03:08,350 અથવા ડેશ પૃ, અથવા ડેશ ક મદદ મેળવવા માટે. 68 00:03:08,350 --> 00:03:10,300 getopt અનિવાર્યપણે અમારા માટે કે કરે છે. 69 00:03:10,300 --> 00:03:11,750 વધુ માટે મદદ પાનું જુઓ. 70 00:03:11,750 --> 00:03:13,960 >> પછી, આપણે ભૂલ એક બીટ કરવું તેની ખાતરી કરવા માટે ચકાસણી 71 00:03:13,960 --> 00:03:17,420 પોર્ટ નંબર અંદર છે કે સ્પેક સ્પષ્ટ કરેલ શ્રેણી. 72 00:03:17,420 --> 00:03:20,240 પછી, આપણે આ કાર્ય માટે કૉલ જોવા જેની વ્યાખ્યા, અમે કરીશું શરૂ 73 00:03:20,240 --> 00:03:24,040 એક ક્ષણ જોવા, અને તેનું નામ તરીકે આ વેબ સર્વર શરૂ થાય છે, જે સૂચવે છે. 74 00:03:24,040 --> 00:03:26,960 અહીં અમે એક કાર્ય માટે કૉલ હોય જે કહે છે કહેવાય સંકેત, 75 00:03:26,960 --> 00:03:30,750 અને જો તમારી પાસેથી નિયંત્રણ સી સાંભળવા જ્યારે વપરાશકર્તાની કીબોર્ડ, આગળ વધો અને કૉલ 76 00:03:30,750 --> 00:03:34,650 બનશે કે જે કાર્ય કહેવાય સંભાળનાર માટે આખરે સ્વચ્છ વસ્તુઓને અને બંધ 77 00:03:34,650 --> 00:03:35,500 સર્વર. 78 00:03:35,500 --> 00:03:39,470 >> કે નીચે એક હોય તેવું લાગે છે તે છે અનંત લૂપ, પ્રથમ વાક્ય જેમાંથી 79 00:03:39,470 --> 00:03:41,660 અસરકારક કોલ છે કહેવાય કાર્ય કરવા 80 00:03:41,660 --> 00:03:45,110 જાતને અમે જે, રીસેટ ક્રમમાં પાછળથી અમલ 81 00:03:45,110 --> 00:03:47,470 અમારા વૈશ્વિક રાજ્યો કેટલાક મુક્ત. 82 00:03:47,470 --> 00:03:50,480 કે પછી એક વાક્ય છે કોડ કે શરતે 83 00:03:50,480 --> 00:03:52,576 પરત ચકાસે છે જોડાયેલ બજારમૂલ્ય. 84 00:03:52,576 --> 00:03:55,700 એક predicate જેવા હવે જોડાયેલ દેખાવ, સાચું કે ખોટું આપે છે કે જે કંઈક. 85 00:03:55,700 --> 00:03:58,040 અને તે કરે છે, પરંતુ ત્યાં જોડાયેલ માં ખાસ કંઈક 86 00:03:58,040 --> 00:03:59,960 કે તે એક અવરોધિત કરવાનું કોલ છે. 87 00:03:59,960 --> 00:04:03,180 તે ત્યાં બેસીને રાહ જોવી પડશે વપરાશકર્તા બ્રાઉઝર ત્યાં સુધી 88 00:04:03,180 --> 00:04:05,860 આ વેબ સાથે જોડાવા માટે પ્રયાસ કરે છે સર્વર અને માત્ર પછી તે કરશે 89 00:04:05,860 --> 00:04:10,160 અમે આગળ વધવા કે જેથી સાચું કે ખોટું પરત આ તો વિધાન અંદરની કરો. 90 00:04:10,160 --> 00:04:13,870 >> ત્યાં એક વાર, એક કરવા માટે આ કાર્ય નોટિસ અમે લખ્યું જે વિશ્લેષણ કહેવાય વિધેય, 91 00:04:13,870 --> 00:04:17,230 જે બધા માટે, ઓક્ટેટ તમામ પદચ્છેદન કરે એક બ્રાઉઝર આવતા બાઇટ્સ 92 00:04:17,230 --> 00:04:21,010 સર્વર પર, કે જેથી અમે હાથ શકો એક સાથે તમે પાછા છેવટે નીચેની 93 00:04:21,010 --> 00:04:24,420 તે વૈશ્વિક ચલો કે સ્ટોર્સ માત્ર માં બાઇટ્સ તમામ 94 00:04:24,420 --> 00:04:26,630 કે ના હેડરો વિનંતી, ન શરીર 95 00:04:26,630 --> 00:04:28,920 તે માટે ખરેખર એક શરીર ત્યાં તો. 96 00:04:28,920 --> 00:04:32,980 >> હવે અમે માટે શરૂ નીચે નીચે બહાર કાઢવા તે હેડરો પાર્સ 97 00:04:32,980 --> 00:04:35,490 આ જાણકારી ઉપગણ અમે વિશે કાળજી છે. 98 00:04:35,490 --> 00:04:37,740 ખાસ કરીને, દર આ સ્પષ્ટીકરણ, અમે પ્રથમ 99 00:04:37,740 --> 00:04:40,580 છે, કે જે વાક્ય વિનંતી કરવા ઇચ્છતા માત્ર કે ખૂબ જ પ્રથમ વાક્ય કે 100 00:04:40,580 --> 00:04:45,710 આસ્થાપૂર્વક વિચાર કંઈક કહે સ્લેશ અથવા અમુક પાથ અને પછી HTTP 1.1. 101 00:04:45,710 --> 00:04:48,150 અમે આ રૂપક ઉપયોગ કરી રહ્યાં છો એક haystack એક સોય ની 102 00:04:48,150 --> 00:04:50,370 ચોક્કસ જોવા માટે અક્ષરો અને સરનામું. 103 00:04:50,370 --> 00:04:53,120 અને ખરેખર, એક નંબર છે અમારા વિતરણ કોડ વિધેયો 104 00:04:53,120 --> 00:04:56,930 તમે તે, પણ, ઉપયોગી થઇ શકે છે ચોક્કસ કિંમતો માટે જોઈ રહ્યા હોય. 105 00:04:56,930 --> 00:05:00,630 >> આખરે, અમે આ બાઇટ્સ નકલ એક ચલ કહેવાય લીટી માં, 106 00:05:00,630 --> 00:05:03,510 જે પણ, અમે કર્યું, નોટિસ સ્ટેક પર ફાળવવામાં 107 00:05:03,510 --> 00:05:05,890 એક ગતિશીલ માપવાળા એરે માર્ગ દ્વારા. 108 00:05:05,890 --> 00:05:08,350 અને અમે જાણી જોઈને પ્રયાસ કરી રહ્યાં છો malloc કૉલ કરે ટાળવા 109 00:05:08,350 --> 00:05:11,100 ફરી, કારણ કે કારણ નિયંત્રણ સી હોવાની 110 00:05:11,100 --> 00:05:14,630 આ કાર્યક્રમ એક સંભવિત લક્ષણ, અમે અચાનક આ કોડ હોય નથી માંગતા 111 00:05:14,630 --> 00:05:17,479 વપરાશકર્તાને હિટિંગ દ્વારા વિક્ષેપ નિયંત્રણ સી, જે પરિણામ 112 00:05:17,479 --> 00:05:20,270 હું એક તક છે નથી શકે છે મફત કંઈક માટે હું malloced કર્યું છે. 113 00:05:20,270 --> 00:05:23,660 તેથી હું ખૂબ તરીકે ઉપયોગ કરવાનો પ્રયાસ કરી રહ્યો છું સ્ટેક હું અહીં કરી શકો છે. 114 00:05:23,660 --> 00:05:26,040 >> આગામી ડોસ માટે સંપૂર્ણ જથ્થો, અપ. 115 00:05:26,040 --> 00:05:28,930 સ્પષ્ટીકરણ પ્રગટ કરશે અહીં અપેક્ષિત છે બરાબર શું પર, 116 00:05:28,930 --> 00:05:31,800 પરંતુ ટિપ્પણીઓ તમને આપી શું એક સંકેતની આગળ આવેલું. 117 00:05:31,800 --> 00:05:33,830 તમને પહેલી જરૂરિયાત વિનંતી વાક્ય માન્ય 118 00:05:33,830 --> 00:05:37,760 અને તે જેવી લાગે છે કે નહીં તેની ખાતરી સ્પષ્ટીકરણો, તેથી વાત કરવા માટે, વ્યાકરણ 119 00:05:37,760 --> 00:05:38,541 તે જોઇએ કહે છે. 120 00:05:38,541 --> 00:05:41,290 તમે પછી કંઈક બહાર કાઢવા માટે જરૂર છે બહાર સામગ્રી, આ ક્વેરી કહેવાય 121 00:05:41,290 --> 00:05:44,200 પ્રશ્ન ચિહ્ન પછી, જેવા અમે અમારી ગૂગલ ઉદાહરણ સાથે જોવા મળી 122 00:05:44,200 --> 00:05:46,320 એક એચડી પરિમાણ માં પસાર કરે છે. 123 00:05:46,320 --> 00:05:49,050 અમે પછી એકસાથે એકસાથે જોડવું વેબ સર્વરની રુટ 124 00:05:49,050 --> 00:05:52,520 માં છે કે પથ સાથે કે વિનંતી પ્રથમ વાક્ય 125 00:05:52,520 --> 00:05:56,010 અને સંપૂર્ણ પાથ રચના આ ફાઇલ અમે જોવા માંગો છો. 126 00:05:56,010 --> 00:06:00,300 >> ત્યારબાદ, અમે ખાતરી કરવા માટે જઈ રહ્યાં છો કે જે ફાઈલ અસ્તિત્વમાં છે અને વાંચી શકાય છે. 127 00:06:00,300 --> 00:06:05,100 અને પછી અમે બહાર કાઢવા રહ્યા છીએ તેના ફાઇલ એક્સ્ટેંશન, આ .html અથવા PHP, 128 00:06:05,100 --> 00:06:09,920 અથવા ઓછામાં છે કે કેટલાક જેમ વિસ્તરણ વિનંતી શબ્દમાળા ખૂબ ઓવરને. 129 00:06:09,920 --> 00:06:11,940 અપ આગલું સમગ્ર છે કોડના ટોળું અમે લખ્યું 130 00:06:11,940 --> 00:06:15,800 વાસ્તવમાં PHP પેદા કરવા તમારા માટે સામગ્રી પેદા. 131 00:06:15,800 --> 00:06:18,010 ટૂંકમાં, આ કોડ નામે લે 132 00:06:18,010 --> 00:06:20,250 આ ફાઈલની તમે PHP અર્થઘટન કરવા માંગો છો. 133 00:06:20,250 --> 00:06:24,630 અમે કહેવાય છે તેની કરીને તેને પસાર PHP, માતાનો ઈન્ટરપ્રીટર એક પાઇપ. 134 00:06:24,630 --> 00:06:28,060 જોકે તરીકે પ્રતિભાવ પાછા મળી પ્રતિભાવ ફાઈલ પોતે હતા. 135 00:06:28,060 --> 00:06:32,110 અને પછી અમે તે ફાઈલ માતાનો પર ફરી વળવું એક બફર માં તેમને બધા ખેંચીને બાઇટ્સ, 136 00:06:32,110 --> 00:06:34,180 અમે આખરે આ કરી શકો કે જેથી તેમને છાપે. 137 00:06:34,180 --> 00:06:37,230 >> આમાંથી ખરેખર, બધા dprintf માટે અહીં કહે 138 00:06:37,230 --> 00:06:40,110 અમને કંઈક છાપવા માટે પરવાનગી આપે છે ફાઇલ વર્ણનકર્તા, કહેવાય જે 139 00:06:40,110 --> 00:06:42,350 માત્ર પૂર્ણાંક છે કે ફાઈલ રજૂ કરે છે. 140 00:06:42,350 --> 00:06:45,360 , ભાવના ખૂબ સમાન છે, પરંતુ ફાઈલ કરતાં મૂળભૂત રીતે જુદા 141 00:06:45,360 --> 00:06:46,620 સ્ટાર નિર્દેશક. 142 00:06:46,620 --> 00:06:50,260 તમારા જેવા વાક્યરચના ઉપયોગ કરી શકો છો નોંધ કેવી રીતે printf અહીં હું ગતિશીલ કરી શકો કે જેથી 143 00:06:50,260 --> 00:06:54,000 લંબાઈ કંઈક દાખલ એ HTTP હેડર ની કિંમત માટે 144 00:06:54,000 --> 00:06:55,270 સામગ્રી-લંબાઈ કહેવાય. 145 00:06:55,270 --> 00:06:57,990 અને છેવટે હું વપરાયેલ કાર્ય ખરેખર લખવા માટે અધિકાર 146 00:06:57,990 --> 00:07:00,040 વિનંતી કરવા માટે શરીર. 147 00:07:00,040 --> 00:07:03,750 >> દુર્ભાગ્યે, અમે માત્ર અમલ ગતિશીલ રીતે માટે આધાર 148 00:07:03,750 --> 00:07:05,350 પેદા PHP, ફાઈલો. 149 00:07:05,350 --> 00:07:08,520 અમે માટે આધાર અમલ ન હતી સ્ટેટિક ગિફ્ટ્સ જેવી ફાઈલો, અને jpegs, 150 00:07:08,520 --> 00:07:10,660 અને CSS અને HTML ફાઈલો. 151 00:07:10,660 --> 00:07:14,450 કે, કમનસીબે, તમને બાકી છે ક્લાઈન્ટ હેતુ માટે જવાબ 152 00:07:14,450 --> 00:07:15,090 આ કરવા માટે. 153 00:07:15,090 --> 00:07:20,050 ત્યાં તેથી તમે છે તે મળશે નથી કે બ્લોક અંદર જ પ્રેરણા, 154 00:07:20,050 --> 00:07:23,520 પરંતુ કેવી રીતે પર અપ થોડું વધારે તમને તો અમે PHP કોડ ઈન્ટરપ્રીટ વિશે ગયા 155 00:07:23,520 --> 00:07:25,520 કાર્યો તમે ઉપયોગ કરશો થોડી અલગ છે. 156 00:07:25,520 --> 00:07:27,561 >> હકીકતમાં, તમે ઉધાર શકે કાર્યત્મકતા કેટલાક 157 00:07:27,561 --> 00:07:29,620 કદાચ વિદેશી થી સમસ્યા સેટ, કારણ 158 00:07:29,620 --> 00:07:32,860 આ દિવસ ઓવરને અંતે તમામ તમે જરૂર તમે જાણો વાર અહીં શું છે ઓપન શું ફાઇલ 159 00:07:32,860 --> 00:07:35,690 તમે જાણો એકવાર અને તે કહેવાતા છે MIME પ્રકાર અથવા સામગ્રી પ્રકાર, 160 00:07:35,690 --> 00:07:39,040 તમે તે બાઈટમાં વાંચી જરૂર અને કોઈક બહાર તેમને પાછા બોલે. 161 00:07:39,040 --> 00:07:41,190 >> આ અને હવે પ્રવાસ ફાઇલના અન્ય કાર્યો. 162 00:07:41,190 --> 00:07:43,820 પ્રથમ જોડાયેલ છે અપ, જે ખાલી સાચું આપે 163 00:07:43,820 --> 00:07:47,350 જ્યારે તે છેલ્લે એક સુનાવણી વપરાશકર્તા પાસેથી જોડાણ. 164 00:07:47,350 --> 00:07:48,786 અપ આગલું ભૂલ છે. 165 00:07:48,786 --> 00:07:52,296 ભૂલ, વચ્ચે, તરીકે કાર્ય આપણે વિવિધ 400 તમામ હેન્ડલ લખ્યું 166 00:07:52,296 --> 00:07:55,360 અને 500 HTTP સ્થિતિ તમે ઇચ્છો કે જે કદાચ કોડ 167 00:07:55,360 --> 00:07:58,500 વપરાશકર્તાને પાછા મોકલવા માટે, પ્રમાણભૂત સંદેશ સાથે. 168 00:07:58,500 --> 00:08:01,950 >> આગામી અપ લોડ છે, ખાસ કરીને જેની હેતુ જીવનમાં meaty કાર્ય, 169 00:08:01,950 --> 00:08:06,920 ફાઈલ સ્ટાર માંથી વાંચવા માટે આવે નિર્દેશક વૈશ્વિક બફર માં ફાઈલના સમાવિષ્ટો 170 00:08:06,920 --> 00:08:09,000 અમે વૈશ્વિક સ્તરે જાહેર કર્યું કે [ઉપર? મુખ્ય. ?] 171 00:08:09,000 --> 00:08:12,649 આ અમે કારણ થોડી જટિલ છે આ ફાઇલ માંથી બાઇટ્સ વાંચી છે 172 00:08:12,649 --> 00:08:14,690 પરંતુ દરેક ઇટરેશન પર તપાસો અમે પહેલેથી કર્યું કે શું 173 00:08:14,690 --> 00:08:17,600 આ ફાઈલના અંતે હિટ અથવા કંઈક બીજું ખોટું થયું છે. 174 00:08:17,600 --> 00:08:21,210 અને અમે ખાતરી કરવા માટે કે realloc ઉપયોગ ગમે અમે ઉપયોગ કરી રહ્યાં છો બફર વધી રહી છે 175 00:08:21,210 --> 00:08:24,440 અને વધતી જતી અને હંમેશા વધતી જતી અને બાઇટ્સ સંખ્યા આગળ રહીને 176 00:08:24,440 --> 00:08:25,675 આપણે ત્યાં ફિટ કરવા જેવી. 177 00:08:25,675 --> 00:08:27,550 સંભાળનાર, વચ્ચે, છે નહીં કે કાર્ય 178 00:08:27,550 --> 00:08:30,630 કર્યા માર્ગ દ્વારા કહેવાય સંકેત તરીકે નિયંત્રણ સી રજીસ્ટર 179 00:08:30,630 --> 00:08:32,140 અમે પકડવાનો માંગો છો કે. 180 00:08:32,140 --> 00:08:34,070 સંભાળનાર માં અહીં નોટિસ તે છેવટે 181 00:08:34,070 --> 00:08:36,780 કોલ્સ, બંધ, જે અલબત્ત વેબ સર્વર બંધ કરે છે. 182 00:08:36,780 --> 00:08:39,750 અને કમનસીબે, લૂકઅપ અમલમાં નથી. 183 00:08:39,750 --> 00:08:41,940 ભાવના, આ એક છે એકદમ સરળ કાર્ય. 184 00:08:41,940 --> 00:08:44,900 ફાઈલ એક્સટેન્સન આપવામાં, તે જરૂર તે MIME જેથી-કહેવાય છે પાછા આવવા 185 00:08:44,900 --> 00:08:46,320 પ્રકાર અથવા સામગ્રી પ્રકાર. 186 00:08:46,320 --> 00:08:49,260 અને અમે સ્પષ્ટીકરણમાં સ્પષ્ટ કે મેપિંગ હોવા જ જોઈએ શું. 187 00:08:49,260 --> 00:08:52,330 પણ તમે અનુવાદ કરવા જરૂર છેવટે ગ કોડ માટે તેનો. 188 00:08:52,330 --> 00:08:56,490 >> આગામી અપ અમારા જ રીતે meaty કાર્ય છે જીવનમાં જેની હેતુ, વિશ્લેષણ કહેવાય 189 00:08:56,490 --> 00:08:59,350 નથી એક ફાઇલમાંથી, વાંચવા માટે છે, પરંતુ એક નેટવર્ક જોડાણ થી. 190 00:08:59,350 --> 00:09:03,510 ખાસ કરીને, વાંચન અને વિશ્લેષિત એક બ્રાઉઝર આવે છે કે HTTP વિનંતિ 191 00:09:03,510 --> 00:09:05,940 કે જેથી સર્વર સાથે છેવટે અમે પાર્સ શકો 192 00:09:05,940 --> 00:09:09,530 વિનંતી માત્ર હેડરો પર લાઇન અને તમને તે પરત 193 00:09:09,530 --> 00:09:12,720 વૈશ્વિક બફર માર્ગ દ્વારા કે અમે [ઉપરના જાહેર કર્યું? મુખ્ય. ?] 194 00:09:12,720 --> 00:09:14,880 >> દરમિયાન, એક છે, રીસેટ અમે વ્યાખ્યાયિત કે કાર્ય 195 00:09:14,880 --> 00:09:18,730 કે iteratively અંદર કહેવાય નહીં મુખ્ય દર વખતે તમે કરી રહ્યાં છો 196 00:09:18,730 --> 00:09:20,799 સાંભળી શરૂ કરવા માટે તૈયાર નવું જોડાણ માટે 197 00:09:20,799 --> 00:09:22,840 આપણે હંમેશા જાણતા કે જેથી અમારા ચલો રાજ્ય 198 00:09:22,840 --> 00:09:24,870 અને તેથી કે જે અમે કર્યું કોઈપણ મેમરી મુક્ત કે 199 00:09:24,870 --> 00:09:28,070 માટે ફાળવવામાં આવ્યા છે શકે પહેલાંના નેટવર્ક જોડાણ. 200 00:09:28,070 --> 00:09:30,060 આગામી અપ છે શરૂ કરવા માટે, આ અમે લખ્યું તે કાર્ય 201 00:09:30,060 --> 00:09:31,920 કે સમગ્ર સમાવે નેટવર્કિંગ કોડ ઘણો 202 00:09:31,920 --> 00:09:34,420 કે આખરે વેબ સર્વર શરૂ થાય છે. 203 00:09:34,420 --> 00:09:36,680 >> છેલ્લા અપ કાર્ય છે કહેવાય સ્ટોપ, જે 204 00:09:36,680 --> 00:09:38,770 બરાબર છે કે કરે છે, તે વેબ સર્વર બંધ કરે છે. 205 00:09:38,770 --> 00:09:42,270 પરંતુ પ્રથમ તે કોઇપણ મેમરી મુક્ત કરે છે કે હજુ સોંપી દેવાયેલ છે. 206 00:09:42,270 --> 00:09:45,850 પરંતુ તે છેવટે બહાર નીકળો કહે પણ નિયંત્રણ પરત વગર 207 00:09:45,850 --> 00:09:47,480 અમારી મુખ્ય કાર્ય કરવા માટે. 208 00:09:47,480 --> 00:09:49,480 છેવટે, આ એક સૌથી મહત્વની ટેકનિક 209 00:09:49,480 --> 00:09:52,680 અમલીકરણ ત્યારે આ વેબ સર્વર છે ટ્રાયલ અને ભૂલ એક બીટ હોઈ ચાલે, 210 00:09:52,680 --> 00:09:55,886 એક બ્રાઉઝર વિન્ડો ખોલવા કર્યા અંતે અધિકાર અને ટર્મિનલ વિન્ડો પર 211 00:09:55,886 --> 00:09:57,760 બાકી, આ સર્વર્સ કોન્સોલ વિન્ડો, કે જેથી તમે 212 00:09:57,760 --> 00:10:00,420 છે એ સંદેશા જોઈ શકે સ્ક્રીન પર પ્રદર્શિત કરવામાં આવી રહી. 213 00:10:00,420 --> 00:10:04,170 >> પરંતુ વધુ સારી હજુ ત્રીજા હશે વિન્ડો, બીજી ટર્મિનલ વિન્ડોમાં, 214 00:10:04,170 --> 00:10:07,135 જેમાં તમે Telnet, વપરાશ વાપરો જેના માટે સ્પેક લખી આપવામાં આવે છે. 215 00:10:07,135 --> 00:10:09,640 અને Telnet માત્ર એક ખૂબ જ છે સરળ નેટવર્ક પ્રોગ્રામ 216 00:10:09,640 --> 00:10:12,660 કે જો તમે ડોળ કરવા દે એક વિન્ડો માં એક બ્રાઉઝર હોવું 217 00:10:12,660 --> 00:10:14,540 બીજી વિન્ડો સાથે વાત કરતી વખતે. 218 00:10:14,540 --> 00:10:16,830 તમે જોઈ શકો છો આ રીતે બરાબર એ શાબ્દિક આદેશો 219 00:10:16,830 --> 00:10:18,700 પાછા કે આવી રહ્યા સર્વરમાંથી ક્લાઈન્ટ માટે 220 00:10:18,700 --> 00:10:20,810 poking કર્યા વગર ક્રોમ માતાનો ડેવલપર આસપાસ 221 00:10:20,810 --> 00:10:24,010 એક અન્યથા માં સાધનો clunkier ઈન્ટરફેસ. 222 00:10:24,010 --> 00:10:29,099