|
ÀÁÐÀÊÀÄÀÁÐÀ (Òîæå ñàìîå íî â ÷èòàåìîì âèäå)
Ætyobys rfr de,-cthdth: 400 Bad Request - cdblfybt ,tp ,ertnf 401 Unauthorized - pfve;tv 402 Payment Required - e;by ghb cdtxf[ 403 Forbidden - herb ghjxm! 404 Not Found - ctujlyz z uekz. c gjlheufvb 405 Method Not Allowed - Ít-t, yt c pflb... 406 Method Not Acceptable - ...njkmrj yt cjcfnm! 407 Proxy Auth. Required - yflj cghjcbnm vfve 408 Request Timeout - pyftim rjkmrj ns e;t yt pdjybk? 409 Conflict - xnj 'nj nfv ,skf, pf ,kjylbyrf dxthf? 410 Document Removed - [jxe hfpdjlf 411 Lenght Required - xnj? 'nj ns yfpsdftim lkbyysv? 412 Precondition Failed - xnj? e nt,z ytn ghtpthdfnbdf? 413 Request Entity Too Large - Òfrjq yt dktpbn! 415 Unsupported Media Type - ytt, dxtndthjv yt bynthtcnyj. 500 Internal Server Error - vtczxyst 501 Not Implemented - to¸ ybrjulf yt ghj,jdfkf 502 Bad Gateway - ...ae, cjk¸yj! 503 Service Unavailable - ujkjdf ,jkbn 504 Gateway Timeout - 'nj e;t dc¸?
 gjcktlytt dhtvz djpvj;yjcnm eghfdktybz ghbkj;tybtv ghb gjvjob WEB bynthatqcf cnfyjdbncz dct ,jktt gjgekzhyjq. Ëbxyj z ghbvtybk djpvj;yjcnm elfktyyjuj eghfdktybz d hzlt cdjb[ ghjuhfvv, b 'nj ceotcndtyyj eghjcnbkj b[ cjghjdj;ltybt d eckjdbz[ ,jkmijq jhufybpfwbb. Delphi cjlth;bn ljcnfnjxyj vjoyst rjvgjytyns, gjpdjkz.obt kturj jhufybpjdsdfnm cjtlbytybz gj ghjnjrjke TCP/IP. Ýnj rjvgjytyns TServerSocket b TClientSocket. Äkz jhufybpfwbb WEB cthdthf yfv gjnht,etncz njkmrj TServerSocket. Äkz ljcnegf r yfitve cthdthe ghbvtybv gjhn c yjvthjv 5000 (yfgjvbyf., xnj gjhns c yjvthfvb vtymit 1024 vjuen bcgjkmpjdfnmcz njkmrj gj yfpyfxtyb. b tcnm jgfcyjcnm, xnj yf Âfitq vfibyt ,eltn ecnfyjdktyj ytrjnjhjt ghbkj;tybt, bcgjkmpe.ott cnfylfhnysq gjhn HTTP 80). Ïhb 'njv URL ,eltn dsukzltnm rfr machine:5000/path ghb ljcnegt bp ctnb bkb 127.0.0.1:5000/path ghb ljcnegt c kjrfkmyjuj [jcnf. Ñktletn chfpe gjujdjhbnm j lde[ njyrjcnz[, yt bvt.ob[ ghzvjuj jnyjitybz r yfgbcfyb. WEB cthdthf - Ädf ghbkj;tybz yf jlyjv rjvgm.ntht yt vjuen jlyjdhtvtyyj bcgjkmpjdfnm jlby b njn-;t gjhn. Ïj'njve cktletn dsyjcbnm yjvth gjhnf d yfcnhjqrb ghjuhfvvs b (bkb) ghtlecvfnhbdfnm vt[fybpv fdnjvfnbxtcrjuj ds,jhf jlyjuj bp fkmnthyfnbdys[ gjhnjd yf ckexfq, tckb jcyjdyjq e;t pfyzn.
- Ñktlcndbtv bp ytcj,k.ltybz geyrnf 1 zdkztncz ytdjpvj;yjcnm pfgecrf lde[ rjgbq jlyjq ghjuhfvvs ,tp ghbyznbz cjjndtncnde.ob[ vth
- Ïhjuhfvvf vj;tn ,snm pfgeotyf yf rjvgm.ntht, yt yfcnhjtyyjv yf hf,jne c ctnm.. Ïjgsnrf bcgjkmpjdfybz rjvgjytynf TServerSocket d 'njv ckexft ghbdtltn r jib,rfv, rjnjhst vjuen gjvtifnm yjhvfkmyjve pfgecre ghjuhfvvs.
Ðtitybtv dct[ 'nb[ ghj,ktv vj;tn gjcke;bnm cktle.obq cjdtn: ybrjulf yt cnfdmnt cdjqcndj Active:= true; dj dhtvz lbpfqyf !! Àrnbdbheqnt rjvgjytyn TServerSocket ghb cnfhnt ghjuhfvvs d rjycnherwbb try ... except; Ènfr, vs gjujdjhbkb j, j,ob[ djghjcf[. Òtgthm cktletn gjujdjhbnm j ghjnjrjkt HTTP. Ïhjnjrjk HTTP - rhfnrfz cghfdjxyfz byajhvfwbz. Î,vty gj ghjnjrjke HTTP ghjbpdjlbncz d n.y. nhfypfrwbz[, rjnjhst cjcnjzn bp nht[ ifujd - Ócnfyjdrf cjtlbytybz. Ïhjbpdjlbncz gj bybwbfnbdt rkbtynf b lkz 'njuj ytj,[jlbvj pyfnm gjhn, gj rjnjhjve hf,jnftn cthdth.
- Çfghjc rkbtynf. Êkbtyn gthtlftn cthdthe HTTP pfghjc (cjlth;fobq HTTP vtnjl, bltynbabrfnjh htcehcf b dthcb. ghjnjrjkf) + ljgjkybntkmye. byajhvfwb.. Ïhbvth nbgjdjuj pfghjcf "GET /book/index.htm HTTP/1.0". Çfghjc rfr ghfdbkj pfdthiftncz gecnjq cnhjrjq b j,zpfntkmysv CRLF. Âjn gjkysq ghbvth pfghjcf IE5 (gtht[dfxtyysq rcnfnb ghb gjvjob ghbvthf 2):
GET /btn7.gif HTTP/1.1 Accept: */* Referer: http://127.0.0.1:5000/ Accept-Language: ru Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt) Host: 127.0.0.1:5000 Connection: Keep-Alive
|
- Îndtn cthdthf. Ñthdth d jndtn dslftn HTTP jndtn + ljgjkybntkmyst lfyyst + pfghjityye. byajvfwb. (tckb nht,etncz). Îndtn cthdthf dctulf cjcnjbn bp cnhjrb c dthcbtq ghjnjrjkf HTTP, ghj,tkf, nht[pyfxyjuj rjlf cnfnecf, pf rjnjhsv xthtp ghj,tk vj;tn cktljdfnm tuj hfcibahjdrf. Ïjckt 'njuj gthtlftncz CRLF (cbvdjkjd c rjlfvb 0Dh, 0Ah), pfntv bltn ytj,zpfntkmyfz byajhvfwbjyyfz xfcnm d ajhvfnt gfhfvtnh=pyfxtybt b yfrjytw pfdthiftncz jndtn tot jlyjq gfhjq cbvdjkjd CRLF. Çfntv cktletn pfghjityyfz byajhvfwbz (tckb tt gthtlfxf djpvj;yf b nht,etncz d lfyyjv rjyntrcnt). Ïhbvth jndtnf - "ÍÒÒÐ/1.0 200 OK". 4. Ñthdth hfphsdftn cjtlbytybt c rkbtynjv, xnj cke;bn cbuyfkjv r pfdthityb. j,vtyf Êkbtyn nj;t vj;tn ghthdfnm j,vty yf k.,jq cnflbb, hfpjhdfd cjtlbytybt c cthdthjv. Îcj,tyyj 'nj k.,bn ltkfnm IE. Îy dslftn pfghjc, gjkexftn jndtn b yfxbyftn gjkexfnm lfyyst, f ntv dhtvtytv fyfkbpbhez gjkextyysq jndtn dszcyztn, xnj pfghjityysq htcehc e;t tcnm d rtit b tuj yt nht,etncz pfuhe;fnm. Ïhb 'njv IE hfphsdftn cjtlbytybt b ghthsdftn pfuhepre. Àyfkjubxyj jy dtltn ct,z ghb yf;fnbb ryjgrb "Ñnjg". Ïj'njve ghb yfxfkmyjv ntcnbhjdfybb z ,s htrjvtyljdfk bcgjkmpjdfnm ghjuhfvve Net Vampire, rjnjhfz jnj,hf;ftn gjlhj,ysq ghjnjrjk j,vtyf c cthdthjv (xnj b rjulf gthtlfyj yf cthdth b xnj ghbyznj d jndtn).
Êkfccs rjljd jndtnf HTTP. Êfr ujdjhbkjcm hfytt, rjl jndtnf ghtlcnfdkztn cj,jq nht[pyfxyjt xbckj. Êjls cuheggbhjdfys d gznm rfntujhbq, rfntujhbz jghtltkztncz gthdjq wbahjq - 1** Èyajhvfwbjyyfz. Íf lfyysq vjvtyn pfhtpthdbhjdfyf
- 2** Ócgtiyj. Ñjj,oftn j, ecgtiyjv dsgjkytybb pfghjcf
- 3** Ïthtyfghfdktybt. Órfpsdftn rkbtyne, xnj lkz dsgjkytybz pfghjcf ytj,[jlbvs ljgjkybntkmyst ltqcndbz
- 4** Îib,rf rkbtynf. Ñjj,oftn rkbtyne j njv, xnj pfghjc ytgjkysq bkb cjlth;bn cbynfrcbxtcrbt jib,rb. Êhjvt njuj, jib,rb 'njq rfntujhbb djpybrf.n, tckb pfghjityysq htcehc yt yfqlty bkb ytljcnegty
- 5** Îib,rf cthdthf. Âjpybrftn, tckb cthdth gthtuhe;ty, ytljcnegty bkb d hf,jnt cthdthf djpybrkb rfrbt kb,j jib,rb
Ífb,jkmibq bynthtc ghtlcnfdkz.n cj,jq cktle.obt rjls (jyb yfb,jktt hfcghjcnhfytys). rjls WEB-cthdthf - 200 ÎÊ
- 201 Ócgtiyfz rjvfylf POST
- 202 Çfghjc ghbyzn
- 203 Çfghjc GET kb,j HEAD dsgjkyty
- 204 Çfghjc dsgjkyty, yj ytn cjlth;bvjuj
- 300 Ðtcehc j,yfhe;ty d ytcrjkmrb[ vtcnf[
- 301 Ðtcehc elfkty yfdctulf
- 302 Ðtcehc dhtvtyyj elfkty
- 304 Ðtcehc bpvtyty
- 400 Ïkj[jq pfghjc jn rkbtynf
- 401 Ítfdnjhbpjdfyysq pfghjc
- 402 Ítj,[jlbvf jgkfnf pf pfghjc
- 403 Äjcneg r htcehce pfghtoty
- 404 Ðtcehc yt yfqlty
- 405 Ìtnjl ytghbvtybv lkz lfyyjuj htcehcf
- 406 Ítljgecnbvsq nbg htcehcf
- 410 Ðtcehc ytljcnegty
- 500 Âyenhtyyzz jib,rf cthdthf
- 501 Ìtnjl yt dsgjkyty
- 502 Ïthtuheprf cthdthf bkb ytbcghfdysq ik.p
- 503 Ñthdth ytljcnegty bkb nfqvfen ik.pf
Ìtnjls ghjnjrjkf HTTP Äfyyfz cnfnmz yt ghtcktletn wtkm jgbcfnm gjlhj,yjcnm ghjnjrjkf HTTP, yj lkz gjybvfybz ghbywbgjd hf,jns ghbvthf hfccvjnhbv ytcrjkmrj jcyjdys[ vtnjljd: Ìtnjl GET Ìtnjl GET zdkztncz cfvsv xfcnj bcgjkmpetvsv b ghtlyfpyfxty lkz gjkextybz byajhvfwbb jn cthdthf. Â rfxtcndt byajhvfwbb vj;tn dscnegfnm afqk bkb htpekmnfns hf,jns rfrjuj kb,j ghjwtccf, yfghbvth CGI. Ìtnjl GET vj;tn ljgjkyznmcz eckjdbtv ghb gjvjob gfhfvtnhf If-Modified-Since d pfghjct - d njv ckexft htpekmnfn gthtlftncz njkmrj tckb htcehc bvttn lfne vjlbabrfwbb, ,jkmie. erfpfyyjq d If-Modified-Since. Êhjvt pfghjcf vtnjl GET vj;tn ghbvtyznmcz lkz gthtlfxt yt,jkmib[ j,]tvjd lfyys[ d dblt gfhfvtnhjd. Ìtnjl HEAD Ìtnjl HEAD gjkyjcnm. fyfkjubxty vtnjle GET, yj d jndtn cthdth gthtlftn njkmrj pfujkjdjr (yj yt gthtlftn lfyyst). Ìtnjl POST Ìtnjl POST ghbvtyztncz lkz gthtlfxb cthdthe lfyys[ Ìtnjl PUT Ìtnjl PUT ghtlyfpyfxty lkz cj[hfytybz lfyys[, gthtlfyys[ gjckt pfujkjdrf pfghjcf, gjl bvtytv, erfpfyysv d pfghjct. Ìtnjl DELETE Ìtnjl DELETE bcgjkmpetncz lkz elfktybz htcehcjd c erfpfyysv d pfghjct bvtytv Ènfr, vs gjujdjhbkb j ntjhbb (ghbxtv 'nj yt ntjhbz, f rhfnrbq kbr,tp). Ífqnb ,jktt gjlhj,yjt jgbcfybt ljcnfnjxyj kturj, tcnm vfccf cfqnjd, cgtwbfkbpbhe.ob[cz yf gjlj,yjq ljrevtynfwbb. Îlyfrj kexit dctuj gjxbnfnm cnfylfhns RFC (d xfcnyjcnb, ljrevtyn RFC2068) ß yt [jxe ghbdjlbnm pltcm cfvb bc[jlyst ntrcns - cnhfybxrf gjkexbncz jxtym ,jkmijq, gj'njve jcnfkmyfz xfcnm cnfkmb d dblt lde[ [jhjij ghjljrevtynbhjdfyys[ ghjtrnf kt;bn d fh[bdf[: Ïhbvth 1. Ïhjcntqibq Web cthdth - ,fpf lkz eghfdktybz ghjuhfvvjq xthtp WEB. Â ghbvtht yjvth 1 vs hfccvjnhbv cjplfybt ghjcntqibq WEB cthdth. Â jndtn yf k.,jq pfghjc jy dslftn jlye b ne;t cnhfybxre c byajhvfwbtq j rkbtynt b ajhvjq, ltvjycnhbhe.otq gthtlfxe pfghjcjd cthdthe gj vtnjle GET. Äfyysq ghbvth vj;tn cke;bnm ghjnjnbgjv lkz cbcntv elfktyyjuj eghfdktybz/flvbybcnhbhjdfybz c WEB bynthatqcjv. Ïhbvth 2. Î,sxysq Web cthdth - ,fpf lkz hfphf,jnrb cdjb[ cthdthjd. Â 'njv ghbvtht hfccvjnhty gjkyjaeyrwbjyfkmysq cthdth. Ó ytuj jghtltkztncz lbhtrnjhbq, d rjnjhjv ,elen [hfybnmcz afqks b jy vj;tn djpdhfofnm b[ gj pfghjcfv rkbtyncrjq ghjuhfvvs. ß hflb 'rcgthbvtynf hfpvtcnbk yf ytv cdjq cfqn gj Delphi (c rjnjhjuj Âs ctqxfc xbnftnt 'ne cnfnm.), b jy ghtrhfcyj jnrhskcz ghb gjvjob IE. Ålbycndtyysq juht[ - gthbjlbxtcrb dsktnfkf jib,rf socket error 10054, cdzpfyyfz c ntv, xnj IE ,hfk cnhfybxrb bp rtif b hdfk cjtlbytybt d ghjwtcct b[ gthtlfxb.
|