Прикладной уровень — различия между версиями
Строка 1: | Строка 1: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[ÐаÑегоÑиÑ:ÐомпÑÑÑеÑнÑе ÑеÑи]] | [[ÐаÑегоÑиÑ:ÐомпÑÑÑеÑнÑе ÑеÑи]] | ||
==ÐÑикладной ÑÑовенÑ== | ==ÐÑикладной ÑÑовенÑ== | ||
Строка 588: | Строка 576: | ||
<h2> ÐопÑлÑÑнÑе кÑÑÑÑ </h2> | <h2> ÐопÑлÑÑнÑе кÑÑÑÑ </h2> | ||
</body> | </body> | ||
− | </ | + | </html></nowiki></pre> |
+ | |||
+ | РегиÑÑÑ, в коÑоÑом набÑано Ð¸Ð¼Ñ ÑлеменÑа и имена аÑÑибÑÑов, в HTML знаÑÐµÐ½Ð¸Ñ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ (в оÑлиÑие Ð¾Ñ XHTML). ÐлеменÑÑ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ñми. | ||
+ | |||
+ | ÐÑоме ÑлеменÑов, в HTML-докÑменÑаÑ
еÑÑÑ Ð¸ ÑÑÑноÑÑи (а |
Версия 09:26, 18 августа 2009
ÐаÑегоÑиÑ:ÐомпÑÑÑеÑнÑе ÑеÑи
Содержание
- 1 ÐÑикладной ÑÑовенÑ
- 1.1 СлÑÐ¶Ð±Ñ ÑазÑеÑÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½
- 1.1.1 ÐоменнÑе имена компÑÑÑеÑов
- 1.1.2 СлÑжба ÑÑанÑлÑÑии имен DNS
- 1.1.2.1 ÐополниÑелÑнÑе ÑÑнкÑии DNS-ÑеÑвеÑа
- 1.1.2.2 ÐÑинÑÐ¸Ð¿Ñ ÑабоÑÑ DNS
- 1.1.2.3 СÑÑÑкÑÑÑа DNS-ÑообÑениÑ
- 1.1.2.4 СеÑÐ²ÐµÑ DNS Ð´Ð»Ñ Linux
- 1.1.2.5 Ð¢Ð¸Ð¿Ñ Ð·Ð°Ð¿Ð¸Ñей в базе даннÑÑ DNS-ÑеÑвеÑа
- 1.1.2.6 Ðона и ÑеÑвеÑÑ Ð¸Ð¼ÐµÐ½
- 1.2 ÐонÑоÑÑиÑм ÐÑемиÑной паÑÑинÑ
- 1.3 ÐлиенÑÑ WWW
- 1.4 Ðеб-ÑеÑвеÑÑ
- 1.5 ÐÑоÑокол HTTP (HyperText Transfer Protocol)
- 1.6 ÐеÑедаÑа даннÑÑ
Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½Ñа на ÑеÑÐ²ÐµÑ Ð¿Ð¾ пÑоÑÐ¾ÐºÐ¾Ð»Ñ HTTP
- 1.6.1 CGI-пÑиложениÑ
- 1.6.2 ÐеÑÐ¾Ð´Ñ HTTP-запÑоÑов
- 1.6.3 ÐеÑодÑ
- 1.6.4 ÐеÑедаÑа даннÑÑ CGI-пÑиложениÑ
- 1.6.5 ÐÑÐ¸Ð¼ÐµÑ CGI-ÑкÑипÑа (GET) на PascalABC
- 1.6.6 ÐÑÐ¸Ð¼ÐµÑ CGI-ÑкÑипÑа (POST) на PascalABC
- 1.6.7 ÐедоÑÑаÑки и алÑÑеÑнаÑÐ¸Ð²Ñ CGI
- 1.6.8 ЯзÑки пÑогÑаммиÑÐ¾Ð²Ð°Ð½Ð¸Ñ CGI-пÑиложений
- 1.7 Cookies
- 1.8 ЯзÑк ÑазмеÑки гипеÑÑекÑÑа HTML
- 1.1 СлÑÐ¶Ð±Ñ ÑазÑеÑÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½
ÐÑикладной ÑÑовенÑ
СлÑÐ¶Ð±Ñ ÑазÑеÑÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½
- Файл hosts.txt â Ñайл ÑÑаÑиÑеÑкого ÑопоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½ компÑÑÑеÑов и Ð¸Ñ ip-адÑеÑов.
- СлÑжба ÑазÑеÑÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½ NetBIOS и ее ÑеализаÑÐ¸Ñ Ð² Windows â WINS (Windows Internet Naming Service).
- Файл lmhosts â Ñайл ÑÑаÑиÑеÑкого ÑопоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ NetBIOS-имен и ip-адÑеÑов.
- DNS' (Domain Name System) â ÑÑандаÑÑÐ½Ð°Ñ ÑлÑжба ÑазÑеÑÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½ в ÐнÑеÑнеÑ.
Ð¤Ð°Ð¹Ð»Ñ hosts и lmhosts Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ Ð² C:\WINDOWS\system32\drivers\etc\
ÐоменнÑе имена компÑÑÑеÑов
ÐаждÑй компÑÑÑÐµÑ Ð² ÐнÑеÑнеÑе Ð¸Ð¼ÐµÐµÑ Ñвой IP-адÑеÑ. СейÑÐ°Ñ ÑаÑпÑоÑÑÑÐ°Ð½ÐµÐ½Ñ IP-адÑеÑа веÑÑии 4. Ðни пÑедÑÑавлÑÑÑ Ñобой 4 ÑиÑла, каждое из коÑоÑÑÑ Ð¾Ñ 0 до 255. Такой адÑÐµÑ Ñдобен пÑи маÑÑÑÑÑизаÑии, Ñак как опÑеделÑÐµÑ Ð¼ÐµÑÑоÑаÑположение компÑÑÑеÑа в ÑеÑи ÐнÑеÑнеÑ, однако, Ñакие ÑиÑла ÑовÑем неÑÐ´Ð¾Ð±Ð½Ñ Ð´Ð»Ñ Ð²Ð¾ÑпÑиÑÑÐ¸Ñ Ñеловеком. Ðолее Ñого, еÑли, напÑимеÑ, Ð²Ð°Ñ e-mail: sasha007@207.176.39.176 и ваÑа поÑÑÐ¾Ð²Ð°Ñ ÑлÑжба ÑеÑила ÑмениÑÑ ÑеÑвеÑ, Ñо вмеÑÑе Ñ Ð½Ð¸Ð¼ измениÑÑÑ Ð¸ e-mail. ÐоÑаздо лÑÑÑе, когда компÑÑÑÐµÑ Ð¸Ð¼ÐµÐµÑ Ð¼Ð½ÐµÐ¼Ð¾Ð½Ð¸ÑеÑкое имÑ, напÑимеÑ, mail.ru, sasha007@mail.ru. СÑÑеÑÑвÑÐµÑ Ñайл hosts (и в UNIX, и в Windows), в коÑоÑом можно пÑопиÑÑваÑÑ Ð°Ð´ÑеÑа ÑеÑвеÑов, Ñ ÐºÐ¾ÑоÑÑми Ð²Ñ ÑегÑлÑÑно ÑабоÑаеÑе. 500px|thumb|right|ÐоменнÑе имена компÑÑÑеÑов DNS â иеÑаÑÑ Ð¸ÑеÑÐºÐ°Ñ ÑÑÑÑкÑÑÑа имен. СÑÑеÑÑвÑÐµÑ Â«ÐºÐ¾ÑÐµÐ½Ñ Ð´ÐµÑева» Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ "." (ÑоÑка). Так как коÑÐµÐ½Ñ ÐµÐ´Ð¸Ð½ Ð´Ð»Ñ Ð²ÑÐµÑ Ð´Ð¾Ð¼ÐµÐ½Ð¾Ð², Ñо ÑоÑка в конÑе имени обÑÑно не ÑÑавиÑÑÑ, но иÑполÑзÑеÑÑÑ Ð² опиÑаниÑÑ DNS. Ðиже коÑÐ½Ñ Ð»ÐµÐ¶Ð°Ñ Ð´Ð¾Ð¼ÐµÐ½Ñ Ð¿ÐµÑвого ÑÑовнÑ.
ÐÐ¾Ð¼ÐµÐ½Ñ Ð²ÐµÑÑ Ð½ÐµÐ³Ð¾ ÑÑÐ¾Ð²Ð½Ñ ÑазделÑÑÑÑÑ Ð½Ð° две гÑÑппÑ: ÑодовÑе Ð´Ð¾Ð¼ÐµÐ½Ñ Ð¸ Ð´Ð¾Ð¼ÐµÐ½Ñ Ð³Ð¾ÑÑдаÑÑÑв. Ð ÑодовÑм оÑноÑÑÑÑÑ Ð´Ð¾Ð¼ÐµÐ½Ñ com (commercial â коммеÑÑеÑкие оÑганизаÑии), edu (educational â ÑÑебнÑе заведениÑ), gov (government â ÑедеÑалÑное пÑавиÑелÑÑÑво СШÐ), int (international â опÑеделеннÑе междÑнаÑоднÑе оÑганизаÑии), net (network â ÑеÑевÑе опеÑаÑоÑÑ ÑвÑзи) и org (некоммеÑÑеÑкие оÑганизаÑии). Ðа каждÑм гоÑÑдаÑÑÑвом в ÑооÑвеÑÑÑвии Ñ Ð¼ÐµÐ¶Ð´ÑнаÑоднÑм ÑÑандаÑÑом ISO 3166 закÑеплен домен гоÑÑдаÑÑÑва. Ðиже Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ Ð´Ð¾Ð¼ÐµÐ½Ñ Ð²ÑоÑого ÑÑовнÑ, напÑимеÑ, sfedu.ru. ÐÑе ниже â ÑÑеÑÑего (math.sfedu.ru) и Ñ.д.
Ðмена доменов неÑÑвÑÑвиÑелÑÐ½Ñ Ðº Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑегиÑÑÑа Ñимволов. Так, напÑимеÑ, edu и EDU ознаÑаÑÑ Ð¾Ð´Ð½Ð¾ и Ñо же. ÐбÑÑно ÑазÑеÑаеÑÑÑ ÑегиÑÑÑаÑÐ¸Ñ Ð´Ð¾Ð¼ÐµÐ½Ð¾Ð² длиной до 63 Ñимволов, а длина полного пÑÑи не должна пÑевоÑÑ Ð¾Ð´Ð¸ÑÑ 255 Ñимволов. Ð Ð°Ð·Ð¼ÐµÑ Ð´Ð¾Ð¼ÐµÐ½Ð½Ð¾Ð³Ð¾ имени огÑаниÑиваеÑÑÑ Ð¿Ð¾ админиÑÑÑаÑивнÑм и ÑÐµÑ Ð½Ð¸ÑеÑким пÑиÑинам.
СÑÑÑкÑÑÑа доменов оÑÑÐ°Ð¶Ð°ÐµÑ Ð½Ðµ ÑизиÑеÑкое ÑÑÑоение ÑеÑи, а логиÑеÑкое Ñазделение Ð¼ÐµÐ¶Ð´Ñ Ð¾ÑганизаÑиÑми и Ð¸Ñ Ð²Ð½ÑÑÑенними подÑазделениÑми. Так, еÑли ÑакÑлÑÑеÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑнÑÑ Ð½Ð°Ñк и ÑлекÑÑоÑÐµÑ Ð½Ð¸ÐºÐ¸ ÑаÑполагаÑÑÑÑ Ð² одном здании и полÑзÑÑÑÑÑ Ð¾Ð´Ð½Ð¾Ð¹ обÑей локалÑной ÑеÑÑÑ, они, Ñем не менее, могÑÑ Ð¸Ð¼ÐµÑÑ ÑазлиÑнÑе доменÑ. РнаобоÑоÑ, еÑли, Ñкажем, ÑакÑлÑÑÐµÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑнÑÑ Ð½Ð°Ñк ÑаÑполагаеÑÑÑ Ð² двÑÑ ÑазлиÑнÑÑ ÐºÐ¾ÑпÑÑÐ°Ñ ÑнивеÑÑиÑеÑа Ñ ÑазлиÑнÑми локалÑнÑми ÑеÑÑми, логиÑеÑки вÑе Ñ Ð¾ÑÑÑ Ð¾Ð±Ð¾Ð¸Ñ Ð·Ð´Ð°Ð½Ð¸Ð¹ обÑÑно пÑÐ¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð°Ñ Ðº Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð¸ ÑÐ¾Ð¼Ñ Ð¶Ðµ доменÑ.
СлÑжба ÑÑанÑлÑÑии имен DNS
ÐлиенÑÑ DNS â ÑпеÑиализиÑованнÑе библиоÑеки (или пÑогÑаммÑ) Ð´Ð»Ñ ÑабоÑÑ Ñ DNS (в Windows â ÑлÑжба «DNS-клиенÑ»).
СеÑвеÑÐ½Ð°Ñ ÑÑоÑона DNS â множеÑÑво ÑеÑвеÑов имен, ÑаÑÑÑедоÑоÑеннÑÑ Ð¿Ð¾ миÑÑ Ð¸ оÑÑÑеÑÑвлÑÑÑÐ¸Ñ Ð¿Ð¾Ð¸Ñк в ÑаÑпÑеделенной базе даннÑÑ Ð´Ð¾Ð¼ÐµÐ½Ð½ÑÑ Ð¸Ð¼ÐµÐ½.
ÐоÑÑ ÑеÑвеÑа â 53.
СеÑвеÑное ÐÐ: Berkeley Internet Name Domain (BIND) (демон named), NSD (name server daemon), Windows DNS Server
СÑÑÑ ÑиÑÑÐµÐ¼Ñ DNS заклÑÑаеÑÑÑ Ð² иеÑаÑÑ Ð¸ÑеÑкой ÑÑ ÐµÐ¼Ðµ имен, оÑнованной на Ð´Ð¾Ð¼ÐµÐ½Ð°Ñ , и ÑаÑпÑеделенной базе даннÑÑ , ÑеализÑÑÑей ÑÑÑ ÑÑ ÐµÐ¼Ñ Ð¸Ð¼ÐµÐ½. РпеÑвÑÑ Ð¾ÑеÑÐµÐ´Ñ ÑÑа ÑиÑÑема иÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¿ÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð¼ÐµÐ½ Ñ Ð¾ÑÑов и пÑнкÑов назнаÑÐµÐ½Ð¸Ñ ÑлекÑÑонной поÑÑÑ Ð² IÐ -адÑеÑа, но Ñакже Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¸ в дÑÑÐ³Ð¸Ñ ÑелÑÑ .
РобÑÐ¸Ñ ÑеÑÑÐ°Ñ ÑиÑÑема DNS пÑименÑеÑÑÑ ÑледÑÑÑим обÑазом. ÐÐ»Ñ Ð¿ÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ в IÐ -адÑÐµÑ Ð¿ÑÐ¸ÐºÐ»Ð°Ð´Ð½Ð°Ñ Ð¿ÑогÑамма обÑаÑаеÑÑÑ Ðº библиоÑеÑной пÑоÑедÑÑе, назÑваÑÑейÑÑ ÑаÑпознаваÑелем, пеÑÐµÐ´Ð°Ð²Ð°Ñ ÐµÐ¹ Ð¸Ð¼Ñ Ð² каÑеÑÑве паÑамеÑÑа. РаÑпознаваÑÐµÐ»Ñ Ð¿Ð¾ÑÑÐ»Ð°ÐµÑ UDP-Ð¿Ð°ÐºÐµÑ Ð»Ð¾ÐºÐ°Ð»ÑÐ½Ð¾Ð¼Ñ DNS-ÑеÑвеÑÑ, коÑоÑÑй иÑÐµÑ Ð¸Ð¼Ñ Ð² базе даннÑÑ Ð¸ возвÑаÑÐ°ÐµÑ ÑооÑвеÑÑÑвÑÑÑий IÐ -адÑÐµÑ ÑаÑпознаваÑелÑ, коÑоÑÑй, в ÑÐ²Ð¾Ñ Ð¾ÑеÑедÑ, пеÑÐµÐ´Ð°ÐµÑ ÑÑÐ¾Ñ Ð°Ð´ÑÐµÑ Ð²ÑзвавÑей его пÑикладной пÑогÑамме. ÐÐ¼ÐµÑ IÐ -адÑеÑ, пÑогÑамма Ð¼Ð¾Ð¶ÐµÑ ÑÑÑановиÑÑ TCP-Ñоединение Ñ Ð°Ð´ÑеÑаÑом или поÑлаÑÑ ÐµÐ¼Ñ UDP-пакеÑÑ.
СиÑÑема DNS не ÑолÑко оÑÑÑÐºÐ¸Ð²Ð°ÐµÑ IP-адÑÐµÑ Ð¿Ð¾ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¼Ñ Ð¸Ð¼ÐµÐ½Ð¸ Ñ Ð¾ÑÑа, но ÑпоÑобна вÑполнÑÑÑ Ð¸ обÑаÑнÑÑ Ð¾Ð¿ÐµÑаÑиÑ, Ñ.е. по IP-адÑеÑÑ Ð¾Ð¿ÑеделÑÑÑ Ð¸Ð¼Ñ Ñ Ð¾ÑÑа в ÑеÑи. Ðногие веб- и FTP-ÑеÑвеÑÑ Ð² ÑеÑи Internet огÑаниÑиваÑÑ Ð´Ð¾ÑÑÑп на оÑнове домена, к коÑоÑÐ¾Ð¼Ñ Ð¿ÑÐ¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð¸Ñ Ð¾Ð±ÑаÑивÑийÑÑ Ðº ним клиенÑ. ÐолÑÑив Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½Ñа запÑÐ¾Ñ Ð½Ð° ÑÑÑÐ°Ð½Ð¾Ð²ÐºÑ ÑоединениÑ, ÑеÑÐ²ÐµÑ Ð¿ÐµÑÐµÐ´Ð°ÐµÑ IP-адÑÐµÑ ÐºÐ»Ð¸ÐµÐ½Ñа DNS-ÑеÑвеÑÑ ÐºÐ°Ðº обÑаÑнÑй DNS-запÑоÑ. ÐÑли клиенÑÑÐºÐ°Ñ Ð·Ð¾Ð½Ð° DNS наÑÑÑоена пÑавилÑно, Ñо на запÑÐ¾Ñ Ð±ÑÐ´ÐµÑ Ð²Ð¾Ð·Ð²ÑаÑено Ð¸Ð¼Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑкого Ñ Ð¾ÑÑа, на оÑнове коÑоÑого заÑем пÑинимаеÑÑÑ ÑеÑение о Ñом, допÑÑÑиÑÑ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ клиенÑа на ÑеÑÐ²ÐµÑ Ð¸Ð»Ð¸ неÑ.
ÐополниÑелÑнÑе ÑÑнкÑии DNS-ÑеÑвеÑа
- ÐоддеÑжка пÑевдонимов ÑеÑвеÑов. ÐÑимеÑ: mmcs.sfedu.ru, web.mmcs.sfedu.ru и web.mmcs.rsu.ru имеÑÑ Ð¾Ð´Ð¸Ð½ и ÑÐ¾Ñ Ð¶Ðµ ip-адÑеÑ
- ÐоддеÑжка поÑÑового ÑеÑвеÑа домена.
- РаÑпÑеделение нагÑÑзки Ð¼ÐµÐ¶Ð´Ñ ÑеÑвеÑами.
- ÐÑÑиÑование (авÑоÑиÑеÑÐ½Ð°Ñ Ð¸ неавÑоÑиÑеÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ).
- ÐоддеÑжка поÑÑового ÑеÑвеÑа домена. Ðожно ÑзнаÑÑ ip-адÑÐµÑ Ð¿Ð¾ÑÑового ÑеÑвеÑа в домене (иÑполÑзÑеÑÑÑ Ð¿Ñи пеÑеÑÑлке поÑÑÑ).
- РаÑпÑеделение загÑÑзки Ð¼ÐµÐ¶Ð´Ñ ÑеÑвеÑами. Ðдно доменное Ð¸Ð¼Ñ ÑооÑвеÑÑÑвÑÐµÑ Ð½ÐµÑколÑким ÑеÑвеÑам, ÑледоваÑелÑно, по запÑоÑÑ ÑлÑжба Ð¼Ð¾Ð¶ÐµÑ Ð²ÐµÑнÑÑÑ Ð½ÐµÑколÑко IPâадÑеÑов. ÐаÑимеÑ, www.microsoft.com обÑлÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð½ÐµÑколÑко ÑеÑвеÑов. ÐÑи ÑÑом пеÑвÑй по ÑпиÑÐºÑ ÑеÑÐ²ÐµÑ Ð¼ÐµÐ½ÑеÑÑÑ Ð¾Ñ Ð·Ð°Ð¿ÑоÑа к запÑоÑÑ. СиÑÑÐµÐ¼Ñ Ð¾Ð±ÑÑно беÑÑÑ Ð¿ÐµÑвÑй IP-адÑеÑ. ÐагÑÑзка пÑоиÑÑ Ð¾Ð´Ð¸Ñ Ð¾Ð´Ð½Ð¾Ð²Ñеменно (Ñо к Ð¾Ð´Ð½Ð¾Ð¼Ñ ÑеÑвеÑÑ â Ñо к дÑÑгомÑ), но мÑ, как полÑзоваÑели, ÑÑого не замеÑаем.
ÐоÑневÑе ÑеÑвеÑÑ DNS â ÑÑо ÑеÑвеÑÑ DNS, ÑодеÑжаÑие инÑоÑмаÑÐ¸Ñ Ð¾ Ð´Ð¾Ð¼ÐµÐ½Ð°Ñ Ð²ÐµÑÑ Ð½ÐµÐ³Ð¾ ÑÑÐ¾Ð²Ð½Ñ (edu, org, com, ru, â¦), конкÑеÑнее â ÑказаÑели на ÑеÑвеÑÑ DNS, поддеÑживаÑÑие ÑабоÑÑ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из ÑÑÐ¸Ñ Ð´Ð¾Ð¼ÐµÐ½Ð¾Ð².
Authoritative DNS-server â ÑеÑвеÑ, оÑвеÑаÑÑий за какÑÑ-либо зонÑ.
ÐоÑневÑе ÑеÑвеÑÑ DNS обознаÑаÑÑÑÑ Ð»Ð°ÑинÑкими бÑквами Ð¾Ñ Â«A» до «Ð». ÐÑ Ð²Ñего 13 ÑÑÑк (+ кÑÑа зеÑкал). Ðни ÑпÑавлÑÑÑÑÑ ÑазлиÑнÑми оÑганизаÑиÑми, дейÑÑвÑÑÑими по ÑоглаÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñ ICANN. ÐолиÑеÑÑво ÑеÑвеÑов огÑаниÑено в ÑвÑзи Ñ Ð¼Ð°ÐºÑималÑнÑм обÑÑмом UDP-пакеÑа (болÑÑее колиÑеÑÑво ÑеÑвеÑов поÑÑебовало Ð±Ñ Ð¿ÐµÑÐµÑ Ð¾Ð´Ð° на TCP-пÑоÑокол Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¾ÑвеÑа, ÑÑо ÑÑÑеÑÑвенно ÑвелиÑÐ¸Ñ Ð½Ð°Ð³ÑÑзкÑ).
У Ð¼Ð½Ð¾Ð³Ð¸Ñ ÐºÐ¾ÑневÑÑ ÑеÑвеÑов DNS ÑÑÑеÑÑвÑÑÑ Ð·ÐµÑкала. Ð ÑаÑÑноÑÑи, ÑоÑÑийÑкое зеÑкало ÑеÑвеÑа F ÑаÑположено в РоÑÐÐÐÐ ÐС. IP-адÑеÑа коÑневÑÑ DNS-ÑеÑвеÑов можно полÑÑиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ «dig. NS» (dig ÑоÑка NS; ÑоÑка â коÑневой домен).
The DNS Backbone DDoS Attacks have been several significant Internet events in which distributed denial of service attacks (DDoS) have targeted one or more of the thirteen DNS root servers. These attacks are extremely significant, as the root nameservers function as the Internet backbone, translating text-based Internet hostnames into IP addresses. As the nameservers provide this service for DNS lookups worldwide, attacks against the root nameservers are attempts to disable the Internet itself, rather than specific websites.
The first attack occurred on October 21, 2002, and lasted for approximately one hour. Of the thirteen servers, nine were disabled but the remaining four were able to cope. This was the second near-major failure of the root nameservers; the first large malfunction of them caused the failure of seven machines in July 1997, due to a technical problem. A second attack occurred on February 6, 2007. The attack began at 10:30 UTC, and lasted about five hours. Although none of the servers crashed, two of the root servers reportedly "suffered badly", while others saw "heavy traffic". The botnet responsible for the attack has reportedly been traced to the Asia-Pacific region. [2] There was some speculation in the press that the attack originated from South Korea. [3] On February 8, 2007 it was announced by Network World that "If the United States found itself under a major cyberattack aimed at undermining the nationâs critical information infrastructure, the Department of Defense is prepared, based on the authority of the president, to launch a cyber counterattack or an actual bombing of an attack source."[4] 400px|thumb|right|ÐÑинÑÐ¸Ð¿Ñ ÑабоÑÑ DNS
ÐÑинÑÐ¸Ð¿Ñ ÑабоÑÑ DNS
РаÑÑмоÑÑим ÑÑ ÐµÐ¼Ñ Ð¿Ð¾Ð´Ð°Ñи запÑоÑа ÑеÑвеÑÑ. СÑÑÐ´ÐµÐ½Ñ Ð¡ÑÑнÑоÑдÑкого ÑнивеÑÑиÑеÑа Ñ ÑнивеÑÑиÑеÑÑкого компÑÑÑеÑа пÑÑаеÑÑÑ Ð·Ð°Ð¹Ñи на ÑÐ°Ð¹Ñ Ð²Ð¾ÑкÑеÑной ÑÐºÐ¾Ð»Ñ Ð¼ÐµÑ Ð¼Ð°Ñа sunschool.math.sfedu.ru. ЧÑÐ¾Ð±Ñ Ð¾Ð¿ÑеделиÑÑ IP-адÑÐµÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑа sunschool.math.sfedu.ru, бÑаÑÐ·ÐµÑ ÑÑÑденÑа вÑзÑÐ²Ð°ÐµÑ DNS-ÐºÐ»Ð¸ÐµÐ½Ñ (resolver) â ÑÑнкÑÐ¸Ñ API опеÑаÑионной ÑиÑÑемÑ. Ðна, иÑполÑзÑÑ IP-адÑÐµÑ Ð»Ð¾ÐºÐ°Ð»Ñного DNS-ÑеÑвеÑа из наÑÑÑоек ÑеÑи на компÑÑÑеÑе ÑÑÑденÑа, поÑÑÐ»Ð°ÐµÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð² виде UDP-пакеÑа DNS-ÑеÑвеÑÑ. ÐÑÑÑÑ ÑеÑÐ²ÐµÑ Ð±ÑÐ´ÐµÑ atalante.stanford.edu.
ÐÑедположим, ÑÑо локалÑнÑй ÑеÑÐ²ÐµÑ Ð¡ÑÑнÑоÑдÑкого ÑнивеÑÑиÑеÑа имен не Ð·Ð½Ð°ÐµÑ IP-адÑеÑа sunschool.math.sfedu.ru. Тогда он поÑÑÐ»Ð°ÐµÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð¸Ð· коÑневÑÑ ÑеÑвеÑов, адÑеÑа коÑоÑÑÑ ÑодеÑжаÑÑÑ Ð² его базе даннÑÑ , пÑÑÑÑ ÑÑо бÑÐ´ÐµÑ f.root-servers.net. Таким обÑазом полÑÑаеÑÑÑ ÑекÑÑÑивнÑй запÑоÑ: DNS-ÐºÐ»Ð¸ÐµÐ½Ñ ÑÑÑденÑа обÑаÑаеÑÑÑ Ðº локалÑÐ½Ð¾Ð¼Ñ DNS-ÑеÑвеÑÑ, а ÑÐ¾Ñ Ðº коÑневомÑ.
ÐаловеÑоÑÑно, ÑÑо коÑневой ÑеÑÐ²ÐµÑ Ð·Ð½Ð°ÐµÑ Ð°Ð´ÑÐµÑ Ñ Ð¾ÑÑа sunschool.math.sfedu.ru. СкоÑее вÑего он даже не Ð·Ð½Ð°ÐµÑ Ð°Ð´ÑеÑа ÑеÑвеÑа sfedu.ru, однако он должен знаÑÑ Ð²Ñе Ñвои доÑеÑние Ð´Ð¾Ð¼ÐµÐ½Ñ â Ð´Ð¾Ð¼ÐµÐ½Ñ Ð²ÐµÑÑ Ð½ÐµÐ³Ð¾ ÑÑовнÑ. Ðо пÑодолжаÑÑ ÑекÑÑÑÐ¸Ñ Ð¾Ð½ не бÑдеÑ. Ðело в Ñом, ÑÑо коÑневÑе Ð´Ð¾Ð¼ÐµÐ½Ñ ÑилÑно загÑÑÐ¶ÐµÐ½Ñ Ð·Ð°Ð¿ÑоÑами, поÑÑÐ¾Ð¼Ñ ÑконÑигиÑиÑÐ¾Ð²Ð°Ð½Ñ Ñак, ÑÑо возвÑаÑаÑÑ ÑпиÑок DNS-ÑеÑвеÑов, коÑоÑÑе Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±Ð¾Ð»ÑÑе знаÑÑ Ð¾ sunschool.math.sfedu.ru â ÑÑо DNS-ÑеÑвеÑÑ Ð´Ð¾Ð¼ÐµÐ½Ð° ru. ÐолÑÑив ÑпиÑок DNS-ÑеÑвеÑов, локалÑнÑй ÑеÑÐ²ÐµÑ Ð¡ÑÑнÑоÑдÑкого ÑнивеÑÑиÑеÑа напÑавлÑÐµÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð¸Ð· ÑеÑвеÑов ÑпиÑка (обÑÑно пеÑвомÑ), напÑимеÑ, ns.ripn.net. Ð¢Ð¾Ñ Ñоже загÑÑжен и возвÑаÑÐ°ÐµÑ Ð°Ð´ÑеÑа DNS-ÑеÑвеÑов доÑеÑней Ð·Ð¾Ð½Ñ sfedu.ru. ÐоÑледние два запÑоÑа назÑваÑÑÑÑ Ð¸ÑеÑаÑивнÑми (Ð¾Ñ Ñлова «иÑеÑаÑиÑ»). ÐаÑем локалÑнÑй ÑеÑÐ²ÐµÑ Ð¡ÑанÑоÑдÑкого ÑнивеÑÑиÑеÑа обÑаÑаеÑÑÑ Ðº пеÑÐ²Ð¾Ð¼Ñ Ð² ÑпиÑке ÑеÑвеÑÑ Ð´Ð¾Ð¼ÐµÐ½Ð° sfedu.ru. ÐÑÑÑÑ ÑÑо бÑÐ´ÐµÑ ns.sfedu.ru. Рданном пÑимеÑе оказалоÑÑ, ÑÑо он Ñоже не Ð·Ð½Ð°ÐµÑ IP-адÑеÑа sunschool.math.sfedu.ru. DNS-ÑеÑÐ²ÐµÑ Ð½Ð°Ñего ÑнивеÑÑиÑеÑа не Ñак загÑÑжен, как коÑневÑе ÑеÑвеÑÑ Ð¸Ð»Ð¸ ÑеÑвеÑÑ Ð´Ð¾Ð¼ÐµÐ½Ð¾Ð² веÑÑ Ð½ÐµÐ³Ð¾ ÑÑовнÑ, поÑÑÐ¾Ð¼Ñ ÐµÐ³Ð¾ ÑконÑигÑÑиÑовали вÑполнÑÑÑ ÑекÑÑÑивнÑе запÑоÑÑ. Ðн обÑаÑаеÑÑÑ Ðº ÑеÑвеÑÑ Ð´Ð¾Ð¼ÐµÐ½Ð° math.sfedu.ru â ÑÑо ns.math.sfedu.ru, полÑÑÐ°ÐµÑ Ð¸ÑкомÑй IP-адÑÐµÑ Ð¸ возвÑаÑÐ°ÐµÑ ÐµÐ³Ð¾ в оÑвеÑе локалÑÐ½Ð¾Ð¼Ñ ÑеÑвеÑÑ Ð¡ÑÑнÑоÑдÑкого ÑнивеÑÑиÑеÑа, коÑоÑÑй, в ÑÐ²Ð¾Ñ Ð¾ÑеÑедÑ, ÑообÑÐ°ÐµÑ ÐµÐ³Ð¾ компÑÑÑеÑÑ ÑÑÑденÑа.
Ðогда запиÑи ÑеÑÑÑÑов попадаÑÑ Ð½Ð° ÑеÑÐ²ÐµÑ Ð¸Ð¼ÐµÐ½ СÑÑнÑоÑдÑкого ÑнивеÑÑиÑеÑа, они помеÑаÑÑÑÑ Ð² кÑÑ Ð½Ð° ÑлÑÑай, еÑли они понадобÑÑÑÑ ÐµÑе Ñаз. Ðднако, инÑоÑмаÑÐ¸Ñ Ð² кÑÑе не ÑвлÑеÑÑÑ Ð°Ð²ÑоÑиÑеÑной, Ñак как Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² домене sfedu.ru не бÑдÑÑ Ð°Ð²ÑомаÑиÑеÑки ÑаÑпÑоÑÑÑанÑÑÑÑÑ Ð½Ð° вÑе кÑÑи, в коÑоÑÑÑ Ð¼Ð¾Ð¶ÐµÑ Ñ ÑаниÑÑÑÑ ÐºÐ¾Ð¿Ð¸Ñ ÑÑой инÑоÑмаÑии. Ðо ÑÑой пÑиÑине запиÑи кÑÑа обÑÑно долго не живÑÑ. Ркаждой запиÑи ÑеÑÑÑÑа пÑиÑÑÑÑÑвÑÐµÑ Ð¿Ð¾Ð»Ðµ Time_to_live. Ðно и ÑообÑÐ°ÐµÑ ÑдаленнÑм ÑеÑвеÑам, наÑколÑко долго ÑледÑÐµÑ Ñ ÑаниÑÑ ÑÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð² кÑÑе.
ÐÐ°Ð±Ð¾Ñ DNS-ÑеÑвеÑов в оÑвеÑе на запÑÐ¾Ñ Ð²Ñе вÑÐµÐ¼Ñ Ð¾Ð´Ð¸Ð½ и ÑÐ¾Ñ Ð¶Ðµ, однако, Ð¸Ñ Ð¿Ð¾ÑледоваÑелÑноÑÑÑ Ð² ÑпиÑке менÑеÑÑÑ Ð¾Ñ Ð·Ð°Ð¿ÑоÑа к запÑоÑÑ, Ñак как пÑогÑÐ°Ð¼Ð¼Ñ Ð¾Ð±ÑÑно беÑÑÑ Ð¿ÐµÑвое Ð¸Ð¼Ñ Ð¸Ð· ÑпиÑка, Ñо они обÑаÑаÑÑÑÑ Ðº ÑазнÑм ÑеÑвеÑам. Таким обÑазом нагÑÑзка ÑавномеÑно ÑаÑпÑеделÑеÑÑÑ Ð¼ÐµÐ¶Ð´Ñ DNS-ÑеÑвеÑами ÑпиÑка.
ÐÑмеÑим Ñакже, ÑÑо иÑполÑзование Ñайла hosts Ð»ÐµÐ¶Ð¸Ñ Ð² оÑнове Ð¼Ð½Ð¾Ð³Ð¸Ñ Â«ÑÑкоÑиÑелей ÐнÑеÑнеÑа» â Ñакие пÑогÑÐ°Ð¼Ð¼Ñ Ð¿ÑоÑÑо запиÑÑваÑÑ Ð°Ð´ÑеÑа ÑеÑвеÑов, к коÑоÑÑм Ð²Ñ Ð¾Ð±ÑаÑаеÑеÑÑ, в Ñайл hosts и пÑи ÑледÑÑÑем обÑаÑении беÑÑÑ Ð´Ð°Ð½Ð½Ñе из него, не ÑÑаÑÑ Ð²ÑÐµÐ¼Ñ Ð½Ð° запÑÐ¾Ñ Ðº DNS-ÑеÑвеÑÑ.
СÑÑÑкÑÑÑа DNS-ÑообÑениÑ
ÐапÑоÑÑ Ð¸ оÑвеÑÑ Ð¸Ð¼ÐµÑÑ Ð¾Ð´Ð¸Ð½ ÑоÑÐ¼Ð°Ñ Ð¸ ÑоÑÑоÑÑ Ð¸Ð·:
- заголовка, вклÑÑаÑÑего в ÑÐµÐ±Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑ, ÑÐ°Ð·Ð¼ÐµÑ ÑообÑениÑ, колиÑеÑÑво вопÑоÑов/оÑвеÑов и Ñ.д. (12 байÑов);
- ÑекÑии вопÑоÑов (название, Ñип);
- ÑекÑии оÑвеÑов (Ð½Ð°Ð±Ð¾Ñ RR (resource record) â запиÑей из ÐÐ DNS);
- ÑекÑии полномоÑноÑÑи, коÑоÑÐ°Ñ ÑодеÑÐ¶Ð¸Ñ ÑÑÑлки на полномоÑнÑе ÑеÑвеÑа («Ðе знаÑ, но Ð·Ð½Ð°Ñ Ñ ÐºÐ¾Ð³Ð¾ ÑпÑоÑиÑÑ»);
- дополниÑелÑной инÑоÑмаÑии (IP-адÑеÑа ÑÐµÑ , Ñ ÐºÐ¾Ð³Ð¾ можно еÑе ÑпÑоÑиÑÑ).
ÐÑо ÑаÑÑÑ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ DNS-пÑоÑокола.
РезÑлÑÑаÑ, возвÑаÑаемÑй командой dig:
;; ->>HEADER<<-opcode: QUERY, status: NOERROR, id: 42772 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 7, ADDITIONAL: 7 ;; QUESTION SECTION: ;sunschool.math.sfedu.ru. IN A ;; AUTHORITY SECTION: ru. 172800 IN NS NS9.RIPN.NET. ru. 172800 IN NS AUTH60.NS.UU.NET. ru. 172800 IN NS NS.RIPN.NET. ru. 172800 IN NS NS5.MSK-IX.NET. ;; ADDITIONAL SECTION: NS.RIPN.NET. 172800 IN A 194.85.105.17 NS5.MSK-IX.NET. 172800 IN A 193.232.128.6 NS9.RIPN.NET. 172800 IN A 194.85.252.62 AUTH60.NS.UU.NET. 172800 IN A 198.6.1.181
dig @f.root-servers.net sunschool.math.sfedu.ru IN A â ÑпÑаÑиваем Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ из коÑневÑÑ ÑеÑвеÑов адÑÐµÑ Ð²Ð¾ÑкÑеÑной ÑÐºÐ¾Ð»Ñ Ð¼ÐµÑ Ð¼Ð°Ñа. СеÑÐ²ÐµÑ Ð¾ÑÑÑÐ»Ð°ÐµÑ Ð½Ð°Ñ Ðº DNS-ÑеÑвеÑам Ð·Ð¾Ð½Ñ ru. СекÑии оÑвеÑов Ð½ÐµÑ â она пÑÑÑаÑ, Ñ.е. коÑневой ÑеÑÐ²ÐµÑ Ð½Ðµ Ð·Ð½Ð°ÐµÑ Ð°Ð´ÑеÑа воÑкÑеÑной ÑколÑ. ÐаÑо он Ð·Ð½Ð°ÐµÑ Ñ ÐºÐ¾Ð³Ð¾ можно ÑпÑоÑиÑÑ ÐµÑе. Рдополнении ÑÐºÐ°Ð·Ð°Ð½Ñ IP-адÑеÑа ÑеÑвеÑов, Ñ ÐºÐ¾ÑоÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑпÑоÑиÑÑ.
СеÑÐ²ÐµÑ DNS Ð´Ð»Ñ Linux
BIND (Berkeley Internet Name Domain) â пÑогÑаммнÑй Ð¿Ð°ÐºÐµÑ ÑиÑÑÐµÐ¼Ñ DNS Ð´Ð»Ñ UNIX ÑиÑÑем. ФÑнкÑии ÑеÑвеÑа DNS в ÑÑом пакеÑе ÑеализÑÐµÑ Ð¿ÑогÑамма named (Ð¾Ñ Â«name daemon»). Ðа болÑÑинÑÑве коÑневÑÑ ÑеÑвеÑов ÑÑÐ¾Ð¸Ñ BIND.
ÐонÑигÑÑаÑионнÑе ÑайлÑ:
/etc/host.conf â опÑеделÑÑÑÑÑ Ð¼ÐµÑÐ¾Ð´Ñ Ð¸ поÑÑдок пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð¼ÐµÐ½ ÐС Linux;
/etc/named.conf â опÑии пÑогÑÐ°Ð¼Ð¼Ñ named и ÑпиÑок Ñайлов, в коÑоÑÑÑ
наÑ
одÑÑÑÑ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð·Ð¾Ð½.
ÐÑÐ¸Ð¼ÐµÑ Ñайла /etc/host.conf
1 order hosts,bind 2 multi on
РпеÑвой ÑÑÑоке ÑказÑваеÑÑÑ Ð¿Ð¾ÑÑдок пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð¼ÐµÐ½ Ñ Ð¾ÑÑов. ÐдеÑÑ Ð¾Ð¿ÐµÑаÑионной ÑиÑÑеме Linux ÑказÑваеÑÑÑ, ÑÑо в пеÑвÑÑ Ð¾ÑеÑÐµÐ´Ñ Ð¾Ð½Ð° должна обÑаÑаÑÑÑÑ Ðº ÑÐ°Ð¹Ð»Ñ /etc/hosts и иÑкаÑÑ Ñ Ð¾ÑÑ Ñам, а заÑем попÑÑаÑÑÑÑ Ð¿ÑеобÑазоваÑÑ Ð¸Ð¼Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑиÑÑÐµÐ¼Ñ DNS (bind), еÑли не ÑдалоÑÑ ÑÑого ÑделаÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ /etc/hosts.
ÐÑÐ¸Ð¼ÐµÑ Ñайла /etc/named.conf Ð´Ð»Ñ ÐºÑÑиÑÑÑÑего DNS-ÑеÑвеÑа
1 options { 2 directory "/var/named; 3 }; 4 5 zone "." { 6 type hint; 7 file "root.cache"; 8 9 }; 10 11 12 zone "localhost" { 13 type master; 14 file "pri/localhost"; 15 }; 16 17 zone."0.0.127.in-addr.arpa" { 18 type master; 19 file "pri/127.0.0"; 20 };
ÐÐ¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ðº ÑÐ°Ð¹Ð»Ñ /etc/named.conf Ñ Ð¾Ð¿Ð¸Ñанием зонÑ:
1 zone smallorg.org { 2 type master 3 file "pri/smallorg.org"; 4 }; 5 6 zone 0.163.192 in -addr.arpa { 7 type master; 8 file "pri/192.168.0"; 9 };
300px|thumb|right|Ð¢Ð¸Ð¿Ñ Ð·Ð°Ð¿Ð¸Ñей в базе даннÑÑ DNS-ÑеÑвеÑа
Ð¢Ð¸Ð¿Ñ Ð·Ð°Ð¿Ð¸Ñей в базе даннÑÑ DNS-ÑеÑвеÑа
DNS-ÑеÑвеÑ, оÑвеÑаÑÑий за имена Ñ Ð¾ÑÑов в Ñвоей зоне, должен Ñ ÑаниÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ Ñ Ð¾ÑÑÐ°Ñ Ð² базе даннÑÑ Ð¸ вÑдаваÑÑ ÐµÐµ по запÑоÑÑ Ñ ÑдаленнÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑов. Ðаза даннÑÑ DNS пÑедÑÑавлÑÐµÑ Ñобой ÑекÑÑовÑй Ñайл, ÑоÑÑоÑÑий из иÑÑ Ð¾Ð´Ð½ÑÑ Ð·Ð°Ð¿Ð¸Ñей RR. ÐÑи запиÑи опиÑÑваÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑÑ Ð¸ Ð¸Ñ ÑÑнкÑии в локалÑной зоне. ÐÐ»Ñ Ð¾ÑганизаÑии обмена инÑоÑмаÑией Ñ ÑдаленнÑми ÑеÑвеÑами DNS на ÑеÑвеÑе Linux должно бÑÑÑ Ð·Ð°Ð¿ÑÑено пÑогÑаммное обеÑпеÑение ÑеÑвеÑа DNS (обÑÑно ÑÑо пÑогÑамма named).
ÐÑежде вÑего в базе даннÑÑ ÑеÑвеÑа DNS должна бÑÑÑ Ð¾Ð±ÑÑвлена зона (логиÑеÑкий Ñзел в деÑеве DNS-имÑн), за коÑоÑÑÑ Ð´Ð°Ð½Ð½Ñй ÑеÑÐ²ÐµÑ Ð½ÐµÑÐµÑ Ð¾ÑвеÑÑÑвенноÑÑÑ. Ðалее в ней Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¾Ð±ÑÑÐ²Ð»ÐµÐ½Ñ Ð²Ñе Ñ Ð¾ÑÑ-компÑÑÑеÑÑ, имеÑÑиеÑÑ Ð² зоне. Ð, наконеÑ, в базе даннÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ обÑÑвлÑÑÑ ÑпеÑиалÑнÑÑ Ð¸Ð½ÑоÑмаÑиÑ, каÑаÑÑÑÑÑÑ Ð·Ð¾Ð½Ñ (напÑимеÑ, о ÑеÑвеÑÐ°Ñ ÑлекÑÑонной поÑÑÑ Ð¸ DNS-ÑеÑвеÑÐ°Ñ ). ФоÑÐ¼Ð°Ñ Ð·Ð°Ð¿Ð¸Ñи Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð±Ñл ÑазÑабоÑан Ñаким обÑазом, ÑÑÐ¾Ð±Ñ DNS-ÑеÑÐ²ÐµÑ Ð¼Ð¾Ð³ поÑеÑпнÑÑÑ Ð¸Ð· нее лÑбÑÑ Ð¸Ð½ÑоÑмаÑиÑ, нÑжнÑÑ Ð´Ð»Ñ ÐµÐ³Ð¾ ÑабоÑÑ. Ð ÑаблиÑе пÑÐ¸Ð²ÐµÐ´ÐµÐ½Ñ Ð¾ÑновнÑе ÑÐ¸Ð¿Ñ Ð¸ÑÑ Ð¾Ð´Ð½ÑÑ Ð·Ð°Ð¿Ð¸Ñей, коÑоÑÑе могÑÑ Ð¿ÑиÑÑÑÑÑвоваÑÑ Ð² базе даннÑÑ DNS. Ðаза даннÑÑ DNS в поÑледнее вÑÐµÐ¼Ñ ÑÑала Ñемой Ð´Ð»Ñ Ð´Ð¸ÑкÑÑÑий ÑÑеди иÑÑледоваÑелей, Ñак как многие Ñ Ð¾ÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑÑ ÐµÐµ новÑми возможноÑÑÑми и наÑÑÐ´Ñ Ñ ÑÑим повÑÑиÑÑ ÑÑÐ¾Ð²ÐµÐ½Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи. РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð² Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ DNS поÑÑоÑнно вноÑÑÑÑÑ Ð½Ð¾Ð²Ñе ÑÐ¸Ð¿Ñ Ð·Ð°Ð¿Ð¸Ñей. Ð ÑаблиÑе оÑÑÐ°Ð¶ÐµÐ½Ñ Ð»Ð¸ÑÑ Ð¾ÑновнÑе ÑÐ¸Ð¿Ñ Ð·Ð°Ð¿Ð¸Ñей, коÑоÑÑе Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñ Ð´Ð»Ñ Ð¾ÑкÑÑÑÐ¸Ñ Ð¸ Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð¹ Ð·Ð¾Ð½Ñ Ð² базе даннÑÑ DNS.
Ðона и ÑеÑвеÑÑ Ð¸Ð¼ÐµÐ½
Файл опиÑÐ°Ð½Ð¸Ñ Ð·Ð¾Ð½Ñ, ÑодеÑÐ¶Ð¸Ñ ÑовокÑпноÑÑÑ Ð·Ð°Ð¿Ð¸Ñей о ÑеÑÑÑÑÐ°Ñ Ð¸ Ð´Ð¾Ð¼ÐµÐ½Ð°Ñ ÑледÑÑÑего (более низкого) ÑÑовнÑ, ÑаÑположеннÑÑ Ð² ÑекÑÑем домене. Ркаждой зоне должен бÑÑÑ ÐºÐ°Ðº минимÑм один ÑеÑÐ²ÐµÑ Ð¸Ð¼ÐµÐ½. ÐÐ°Ð¶Ð´Ð¾Ð¼Ñ ÑеÑвеÑÑ Ð¸Ð¼ÐµÐ½ извеÑÑен адÑÐµÑ Ñ Ð¾ÑÑ Ð±Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑодиÑелÑÑкого ÑеÑвеÑа имен.
ÐонÑоÑÑиÑм ÐÑемиÑной паÑÑинÑ
С 1994 года оÑновнÑÑ ÑабоÑÑ Ð¿Ð¾ ÑазвиÑÐ¸Ñ ÐÑемиÑной паÑÑÐ¸Ð½Ñ Ð²Ð·Ñл на ÑÐµÐ±Ñ ÐонÑоÑÑиÑм ÐÑемиÑной паÑÑÐ¸Ð½Ñ (англ. World Wide Web Consortium, W3C), оÑнованнÑй и до ÑÐ¸Ñ Ð¿Ð¾Ñ Ð²Ð¾Ð·Ð³Ð»Ð°Ð²Ð»ÑемÑй Тимом ÐеÑнеÑÑом-Ðи. ÐаннÑй ÐонÑоÑÑиÑм â оÑганизаÑиÑ, ÑазÑабаÑÑваÑÑÐ°Ñ Ð¸ внедÑÑÑÑÐ°Ñ ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸ÑеÑкие ÑÑандаÑÑÑ Ð´Ð»Ñ ÐнÑеÑнеÑа и ÐÑемиÑной паÑÑинÑ. ÐиÑÑÐ¸Ñ W3C: «ÐолноÑÑÑÑ ÑаÑкÑÑÑÑ Ð¿Ð¾ÑенÑиал ÐÑемиÑной паÑÑинÑ, пÑÑÑм ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÑоÑоколов и пÑинÑипов, гаÑанÑиÑÑÑÑÐ¸Ñ Ð´Ð¾Ð»Ð³Ð¾ÑÑоÑное ÑазвиÑие СеÑи». Ðве дÑÑгие важнейÑие задаÑи ÐонÑоÑÑиÑма â обеÑпеÑиÑÑ Ð¿Ð¾Ð»Ð½ÑÑ Â«Ð¸Ð½ÑеÑнаÑионализаÑÐ¸Ñ Ð¡ÐµÑи» и ÑделаÑÑ Ð¡ÐµÑÑ Ð´Ð¾ÑÑÑпной Ð´Ð»Ñ Ð»Ñдей Ñ Ð¾Ð³ÑаниÑеннÑми возможноÑÑÑми.
W3C ÑазÑабаÑÑÐ²Ð°ÐµÑ Ð´Ð»Ñ ÐнÑеÑнеÑа единÑе пÑинÑÐ¸Ð¿Ñ Ð¸ ÑÑандаÑÑÑ (назÑваемÑе «РекомендаÑиÑми», англ. W3C Recommendations), коÑоÑÑе заÑем внедÑÑÑÑÑÑ Ð¿ÑоизводиÑелÑми пÑогÑамм и обоÑÑдованиÑ. Таким обÑазом доÑÑигаеÑÑÑ ÑовмеÑÑимоÑÑÑ Ð¼ÐµÐ¶Ð´Ñ Ð¿ÑогÑаммнÑми пÑодÑкÑами и аппаÑаÑÑÑой ÑазлиÑнÑÑ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ð¹, ÑÑо Ð´ÐµÐ»Ð°ÐµÑ ÐÑемиÑнÑÑ ÑеÑÑ Ð±Ð¾Ð»ÐµÐµ ÑовеÑÑенной, ÑнивеÑÑалÑной и Ñдобной. ÐÑе РекомендаÑии ÐонÑоÑÑиÑма ÐÑемиÑной паÑÑÐ¸Ð½Ñ Ð¾ÑкÑÑÑÑ, Ñо еÑÑÑ Ð½Ðµ заÑиÑÐµÐ½Ñ Ð¿Ð°ÑенÑами и могÑÑ Ð²Ð½ÐµÐ´ÑÑÑÑÑÑ Ð»ÑбÑм Ñеловеком без вÑÑÐºÐ¸Ñ ÑинанÑовÑÑ Ð¾ÑÑиÑлений конÑоÑÑиÑмÑ.
ÐлиенÑÑ WWW
Ðеб-бÑаÑзеÑÑ
Ðеб-бÑаÑÐ·ÐµÑ (Web browser) 3 ÑÑо пÑогÑамма Ð´Ð»Ñ Ð·Ð°Ð¿ÑоÑов и оÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð²ÐµÐ±ÑÑÑаниÑ, и пеÑÐµÑ Ð¾Ð´Ð° Ð¾Ñ Ð¾Ð´Ð½Ð¾Ð¹ ÑÑÑаниÑÑ Ðº дÑÑгой.
URL (Uniform Resourse Locator) â ÑнивеÑÑалÑнÑй адÑÐµÑ ÑеÑÑÑÑа.
ÐзнаÑалÑное пÑедложение, ÑоздаÑÑ Ð¿Ð°ÑÑÐ¸Ð½Ñ Ð¸Ð· ÑвÑзаннÑÑ Ð´ÑÑг Ñ Ð´ÑÑгом докÑменÑов пÑиÑло Ð¾Ñ Ñизика ÑенÑÑа CERN Тима ÐеÑнеÑÑ-Ðи (Tim Berners-Lee) в маÑÑе 1989 года. ÐеÑвÑй (ÑекÑÑовÑй) пÑоÑоÑип заÑабоÑал ÑпÑÑÑÑ 18 меÑÑÑев. РдекабÑе 1991 Ð³Ð¾Ð´Ñ Ð½Ð° конÑеÑенÑии Hypertext'91 в Сан-ÐнÑонио в ÑÑаÑе Ð¢ÐµÑ Ð°Ñ Ð±Ñла пÑоизведена пÑблиÑÐ½Ð°Ñ Ð´ÐµÐ¼Ð¾Ð½ÑÑÑаÑиÑ.
ÐÑа демонÑÑÑаÑиÑ, ÑопÑÐ¾Ð²Ð¾Ð¶Ð´Ð°ÐµÐ¼Ð°Ñ ÑиÑокой Ñекламой, пÑивлекла внимание дÑÑÐ³Ð¸Ñ ÑÑенÑÑ . ÐаÑк ÐндÑеÑÑен (Marc Andreessen) в ÑнивеÑÑиÑеÑе ÐллинойÑа наÑал ÑазÑабоÑÐºÑ Ð¿ÐµÑвого гÑаÑиÑеÑкого бÑаÑзеÑа, Mosaic. ÐÑогÑамма Ñвидела ÑÐ²ÐµÑ Ð² ÑевÑале 1993 года и ÑÑала попÑлÑÑной.
Ð 1994 Ð³Ð¾Ð´Ñ CERN и ÐаÑÑаÑÑÑеÑÑкий ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸ÑеÑкий инÑÑиÑÑÑ (M.I.T., Massachusetts Institute of Technologies) подпиÑали ÑоглаÑение об оÑновании WWW-конÑоÑÑиÑма (World Wide Web Consortium, иногда пÑименÑеÑÑÑ ÑокÑаÑение W3C) â оÑганизаÑии, ÑÐµÐ»Ñ ÐºÐ¾ÑоÑой заклÑÑалаÑÑ Ð² далÑнейÑем ÑазвиÑии пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Web, ÑÑандаÑÑизаÑии пÑоÑоколов и пооÑÑении взаимодейÑÑÐ²Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñ Ð¾ÑделÑнÑми ÑайÑами. ÐеÑнеÑÑ-Ðи ÑÑал диÑекÑоÑом конÑоÑÑиÑма. ХоÑÑ Ð¾ ÐÑемиÑной паÑÑине Ñже напиÑано оÑÐµÐ½Ñ Ð¼Ð½Ð¾Ð³Ð¾ книг, лÑÑÑее меÑÑо, где Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе полÑÑиÑÑ ÑамÑÑ ÑвежÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ней, ÑÑо Ñама ÐÑемиÑÐ½Ð°Ñ Ð¿Ð°ÑÑина. ÐомаÑнÑÑ ÑÑÑаниÑÑ ÐºÐ¾Ð½ÑоÑÑиÑма можно найÑи по адÑеÑÑ http://www.w3.org. Ðа ÑÑой ÑÑÑаниÑе заинÑеÑеÑованнÑй ÑиÑаÑÐµÐ»Ñ Ð½Ð°Ð¹Ð´ÐµÑ ÑÑÑлки на дÑÑгие ÑÑÑаниÑÑ, ÑодеÑжаÑие инÑоÑмаÑÐ¸Ñ Ð¾Ð±Ð¾ вÑÐµÑ Ð´Ð¾ÐºÑменÑÐ°Ñ ÐºÐ¾Ð½ÑоÑÑиÑма и о его деÑÑелÑноÑÑи.
РапÑеле 1994 года ÐаÑк ÐндÑеÑÑен и Ðжим ÐлаÑк, бÑвÑий пÑоÑеÑÑÐ¾Ñ Ð¡ÑенÑоÑдÑкого ÑнивеÑÑиÑеÑа, обÑазовали коÑпоÑаÑÐ¸Ñ Netscape Communication. Ð ÑоÑÑав коÑпоÑаÑии воÑли многие ÑÑенÑе, вмеÑÑе Ñ ÐндÑеÑÑеном занимавÑиеÑÑ Ñозданием бÑаÑзеÑа Mosaic, и в окÑÑбÑе 1994 года вÑÑла в ÑÐ²ÐµÑ Ð±ÐµÑа-веÑÑÐ¸Ñ Ð¿ÑодÑкÑа Netscape Navigator 1.0. РпоÑледÑÑÑие Ð³Ð¾Ð´Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¿Ñиложила множеÑÑво ÑÑилий Ð´Ð»Ñ ÑазвиÑÐ¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ бÑаÑзеÑа и дÑÑÐ³Ð¸Ñ ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¹: web-ÑеÑвеÑов, коммеÑÑеÑÐºÐ¸Ñ ÑеÑвеÑов, поÑÑовÑÑ ÑеÑвеÑов, ÑеÑвеÑов новоÑÑей, пÑокÑи-ÑеÑвеÑов, пÑогÑамм ÑÑÐµÐ½Ð¸Ñ ÑлекÑÑонной поÑÑÑ Ð¸ дÑ. Netscape Communication по пÑÐ°Ð²Ñ Ð¼Ð¾Ð¶Ð½Ð¾ ÑÑиÑаÑÑ Ð¾Ð´Ð½Ð¾Ð¹ из ÑамÑÑ Ð¿ÑогÑеÑÑивнÑÑ Ð¸ ÑÑпеÑнÑÑ ÐнÑеÑнеÑ-компаний ÑеÑÐµÐ´Ð¸Ð½Ñ 1990-Ñ , а в авгÑÑÑе 1995 года гÑомкий пÑблиÑнÑй ÑÑÐ¿ÐµÑ Ð¿ÑиÑел к бÑаÑзеÑÑ Netscape.
ÐÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Microsoft, изнаÑалÑно не пÑоÑвлÑвÑÐ°Ñ Ð·Ð½Ð°ÑиÑелÑной акÑивноÑÑи по пÑÐ¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ ÑÐ²Ð¾Ð¸Ñ Ð¸Ð½ÑеÑеÑов в ÐнÑеÑнеÑ, вÑпÑÑÑила 1-Ñ Ð²ÐµÑÑÐ¸Ñ Ð±ÑаÑзеÑа Microsoft Internet Explorer в авгÑÑÑе 1995 года. ÐÑодÑÐºÑ Ð½Ðµ оÑлиÑалÑÑ Ð¸Ð·ÑÑеÑÑвом и ÑкоÑоÑÑÑÑШаблон:Ð½ÐµÑ Ð¸ÑÑоÑника, однако ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð²Ð»Ð¾Ð¶Ð¸Ð»Ð° знаÑиÑелÑнÑе инвеÑÑиÑии в его ÑазвиÑие, и к 1997 Ð³Ð¾Ð´Ñ Microsoft и Netscape Ñли бок о бок в «бÑаÑзеÑной гонке».
11 иÑÐ½Ñ 1997 года Netscape вÑпÑÑÑила веÑÑÐ¸Ñ 4.0 Ñвоего бÑаÑзеÑа, а 30 ÑенÑÑбÑÑ Ð²ÑÑла в ÑÐ²ÐµÑ Ð²ÐµÑÑÐ¸Ñ 4.0 Microsoft Internet Explorer. Ð Ñо вÑÐµÐ¼Ñ ÐµÑе не ÑложилоÑÑ ÑÑÑоÑвÑегоÑÑ Ð¼Ð½ÐµÐ½Ð¸Ñ Ð¾ Ñом, какой из бÑаÑзеÑов лÑÑÑе, а ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Microsoft, обладавÑÐ°Ñ Ð¼Ð¾Ð½Ð¾Ð¿Ð¾Ð»Ð¸ÐµÐ¹ на ÑÐ²Ð¾Ñ Ð¾Ð¿ÐµÑаÑионнÑÑ ÑиÑÑÐµÐ¼Ñ Windows, набиÑала вÑе болÑÑÑÑ ÐºÐ¾Ð¼Ð¼ÐµÑÑеÑкÑÑ Ð¼Ð¾ÑÑ.
Ð 1997 Ð³Ð¾Ð´Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Netscape допÑÑÑила ÑÑд ÑеÑаÑÑÐ¸Ñ Ð¿ÑоÑÑеÑов: не бÑла оÑознана важноÑÑÑ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾ÑÑала на оÑнове web-ÑайÑа компании, кÑоме Ñого, бÑло пÑинÑÑо оÑибоÑное ÑеÑение о полном пеÑÐµÑ Ð¾Ð´Ðµ бÑаÑзеÑа на Java-ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ. РконеÑном ÑÑеÑе, 1998 год ознаменовалÑÑ Ð´Ð»Ñ Netscape Communication Ñнижением ее доли на ÑÑнке бÑаÑзеÑов и дÑÑÐ³Ð¸Ñ Ð¿ÑодÑкÑов, в конÑе года она бÑла пÑиобÑеÑена компанией America Online, а ÐаÑк ÐндÑеÑÑен и болÑÑÐ°Ñ ÑаÑÑÑ ÐµÐ³Ð¾ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¿Ð¾ÐºÐ¸Ð½Ñли Ñвое бÑвÑее деÑиÑе.
Acid3 â ÑеÑÑ Ð¿Ð¾Ð´Ð´ÐµÑжки бÑаÑзеÑом веб-ÑÑандаÑÑов. Ðн оÑÑÑеÑÑвлÑÐµÑ Ð¿ÑовеÑÐºÑ 100 веÑоÑÑно ÑÑзвимÑÑ Ð¼ÐµÑÑ Ð² HTTP, HTML, CSS, ECMAScript, SVG и XML, а Ñакже пÑовеÑÑÐµÑ ÑабоÑÑ Ñ DOM. ÐамеÑенно вÑбиÑалиÑÑ Ñакие ÑеÑÑÑ, коÑоÑÑе не пÑÐ¾Ñ Ð¾Ð´Ð¸Ð»Ð° ÑбоÑка Ñ Ð¾ÑÑ Ð±Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ из бÑаÑзеÑов Ñого вÑемени (поÑледние 16 ÑеÑÑов â Firefox или Safari).
ÐÑÑгие клиенÑÑ
- ÐобилÑнÑй ÑелеÑон Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð»ÑÑиÑÑ Ð´Ð¾ÑÑÑп к ÑеÑÑÑÑам веб-ÑеÑвеÑа.
- ÐÑÑгие инÑеллекÑÑалÑнÑе ÑÑÑÑойÑÑва или бÑÑÐ¾Ð²Ð°Ñ ÑÐµÑ Ð½Ð¸ÐºÐ°.
- СпеÑиалÑное пÑогÑаммное обеÑпеÑение Ð¼Ð¾Ð¶ÐµÑ ÑамоÑÑоÑÑелÑно обÑаÑаÑÑÑÑ Ðº веб-ÑеÑвеÑам Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ð¹ или дÑÑгой инÑоÑмаÑии.
Ðеб-ÑеÑвеÑÑ
Ðеб-ÑеÑÐ²ÐµÑ â ÑÑо пÑогÑамма, пÑинимаÑÑÐ°Ñ HTTP-запÑоÑÑ Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½Ñов и вÑдаÑÑÐ°Ñ Ð¸Ð¼ HTTP-оÑвеÑÑ, обÑÑно вмеÑÑе Ñ HTML-ÑÑÑаниÑей, изобÑажениÑми, Ñайлами, медиа-поÑоком или дÑÑгими даннÑми.
ÐополниÑелÑнÑе ÑÑнкÑии веб-ÑеÑвеÑов
- ведение жÑÑнала обÑаÑений полÑзоваÑелей к ÑеÑÑÑÑам;
- аÑÑенÑиÑикаÑÐ¸Ñ Ð¿Ð¾Ð»ÑзоваÑелей;
- поддеÑжка динамиÑеÑки генеÑиÑÑемÑÑ ÑÑÑаниÑ;
- поддеÑжка HTTPS Ð´Ð»Ñ Ð·Ð°ÑиÑÑннÑÑ Ñоединений Ñ ÐºÐ»Ð¸ÐµÐ½Ñами.
СÑандаÑÑнÑй поÑÑ: 80/TCP (8080).
ÐопÑлÑÑнÑе веб-ÑеÑвеÑÑ
- Apache;
- Microsoft Internet Information Services (IIS);
- nginx;
- CвободнÑй веб-ÑеÑвеÑ, полÑзÑÑÑийÑÑ Ð±Ð¾Ð»ÑÑой попÑлÑÑноÑÑÑÑ Ð½Ð° кÑÑпнÑÑ ÑайÑÐ°Ñ (yandex.ru).
- lighttpd
- CвободнÑй веб-ÑеÑвеÑ, ÑазÑабаÑÑваемÑй Ñ ÑаÑÑÑÑом на бÑÑÑÑоÑÑ Ð¸ заÑиÑÑнноÑÑÑ, а Ñакже ÑооÑвеÑÑÑвие ÑÑандаÑÑам (ya.ru).
УÑÑановка и наÑÑÑойка Apache
Файл apache\conf\httpd.conf
ServerName localhost
AddDefaultCharset windows-1251
Listen 80
DirectoryIndex index.php index.htm index.html
HomServ â диÑÑÑибÑÑив Ð´Ð»Ñ Microsoft Windows, вклÑÑаÑÑий Apache, PHP, MySQL, phpMyAdmin.
Denwer â диÑÑÑибÑÑив Ð´Ð»Ñ Microsoft Windows, вклÑÑаÑÑий Apache.
Apache поÑле ÑÑÑановки ÑÐ¾Ð·Ð´Ð°ÐµÑ ÐºÐ°Ñалог, где Ñ
ÑанÑÑÑÑ ÑÑÑаниÑки.
ÐÑоÑокол HTTP (HyperText Transfer Protocol)
ÐоÑÑдок запÑоÑа ÑÑÑаниÑÑ http://www.math.rsu.ru/index.html:
- ÐÑаÑÐ·ÐµÑ Ð¾Ð¿ÑеделÑÐµÑ IP-адÑÐµÑ ÑеÑвеÑа, по извеÑÑÐ½Ð¾Ð¼Ñ Ð¸Ð¼ÐµÐ½Ð¸ из URL.
- УÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ TCP-Ñоединение Ñ ÑеÑвеÑом.
- ÐÑпÑавлÑÐµÑ ÑекÑÑовÑй запÑоÑ:
GET /index.html HTTP/1.1 User-Agent: Opera/9.24 (Windows NT 5.1; U; ru) Host: www.math.rsu.ru Connection: Keep-Alive
- СеÑÐ²ÐµÑ Ð¿Ð¾Ð»ÑÑÐ°ÐµÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð¸ Ð½Ð°Ñ Ð¾Ð´Ð¸Ñ ÑÑебÑемÑй ÑеÑÑÑ.
РаÑÑмоÑÑим запÑÐ¾Ñ Ð¿Ð¾Ñобнее.
GET â команда веб-ÑеÑвеÑÑ (Ñип запÑоÑа). Такие ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð½Ð°Ð·ÑваÑÑÑÑ Â«Ð¼ÐµÑодами».
/index.html â URI (Uniform Resource Identifier) â Ð¸Ð¼Ñ ÑеÑÑÑÑа.
HTTP/1.1 â пÑоÑокол HTTP веÑÑии 1.1.
Host: www.math.rsu.ru.
Connection: Keep-Alive â не ÑазÑÑваÑÑ TCP-Ñоединение (еÑе еÑÑÑ close).
ÐÑоÑокол HTTP веÑÑии 1.0 поддеÑживал ÑолÑко непоÑÑоÑннÑе ÑоединениÑ. ÐÐ»Ñ Ð²ÐµÐ±-ÑÑÑаниÑÑ, ÑоÑÑоÑÑей, напÑимеÑ, из ÑекÑÑа и 10 каÑÑинок в ÑлÑÑае непоÑÑоÑнного ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¿ÑÐ¸Ñ Ð¾Ð´Ð¸ÑÑÑ 11 Ñаз ÑÑÑанавливаÑÑ Ð¸ ÑазÑÑваÑÑ TCP-ÑоединениÑ, а ÑÑо Ð´Ð¾Ð»Ð³Ð°Ñ Ð¿ÑоÑедÑÑа (Ñм. лекÑÐ¸Ñ Ð¿Ñо TCP, ÑÑанÑпоÑÑнÑй ÑÑовенÑ). Ð HTTP 1.1 добавили возможноÑÑÑ ÑÑÑанавливаÑÑ Ð¿Ð¾ÑÑоÑннÑе ÑоединениÑ, да еÑе Ñ ÐºÐ¾Ð½Ð²ÐµÐ¹ÐµÑизаÑией. Ð ÑоединениÑÑ Ð±ÐµÐ· конвейеÑизаÑии ÐºÐ»Ð¸ÐµÐ½Ñ Ð¿Ð¾ÑÑÐ»Ð°ÐµÑ Ð·Ð°Ð¿ÑÐ¾Ñ ÑеÑвеÑÑ Ð¿Ð¾Ñле Ñого как законÑÐ¸Ñ Ð¿Ñием ÑекÑÑего обÑекÑа. Ð ÑоединениÑÑ Ñ ÐºÐ¾Ð½Ð²ÐµÐ¹ÐµÑизаÑией ÐºÐ»Ð¸ÐµÐ½Ñ Ð·Ð°Ð¿ÑаÑÐ¸Ð²Ð°ÐµÑ Ð¾Ð±ÑекÑÑ (напÑимеÑ, каÑÑинки) ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле обнаÑÑÐ¶ÐµÐ½Ð¸Ñ ÑÑÑлки на Ð½Ð¸Ñ Ð² HTML-докÑменÑе, не дожидаÑÑÑ Ð¾ÐºÐ¾Ð½ÑÐ°Ð½Ð¸Ñ Ð¿Ñиема ÑекÑÑа.
ÐÑи помоÑи ÑниÑÑеÑа (напÑимеÑ, Wireshark) можно полÑÑиÑÑ Ð´Ð°Ð½Ð½Ñе ÑеалÑнÑÑ Ð·Ð°Ð¿ÑоÑов:
ÐÑиведем пÑÐ¸Ð¼ÐµÑ Ð·Ð°Ð¿ÑоÑа бÑаÑзеÑа:
GET /index.html HTTP/1.1 // обÑзаÑелÑÐ½Ð°Ñ ÑÑÑока User-Agent: Opera/9.24 (Windows NT 5.1; U; ru) Host: www.math.rsu.ru // обÑзаÑелÑÐ½Ð°Ñ ÑÑÑока Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: ru,en;q=0.9 Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1 Connection: Keep-Alive
ÐÑÐ²ÐµÑ ÑеÑвеÑа Ð¼ÐµÑ Ð¼Ð°Ñа: <pre><nowiki>HTTP/1.1 200 OK Date: Mon, 07 Jul 2008 15:10:06 GMT Server: Apache/1.3.37 (Unix) mod_perl/1.29 PHP/4.4.6 mod_ssl/2.8.28 OpenSSL/0.9.8e rus/PL30.22 Last-Modified: Tue, 17 Jun 2008 12:22:22 GMT ETag: "73619c-1d0d-4857ac7e" Accept-Ranges: bytes Content-Length: 7437 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>УÑебно-наÑÑнÑй ÑенÑÑ "ÐÐµÑ Ð°Ð½Ð¸ÐºÐ°. ÐаÑемаÑика"</title> и Ñ.д.</nowiki></pre>
HTTP-оÑÐ²ÐµÑ ÑеÑвеÑа
СеÑÐ²ÐµÑ ÑоÑмиÑÑÐµÑ Ð¾ÑвеÑ, ÑоÑÑоÑÑий из заголовка и Ñела.
'''HTTP/1.1 200 OK Server: Apache/1.3.37 (Unix) mod_perl/1.29 PHP/4.4.6 Last-Modified: Tue, 17 Jun 2008 12:22:22 GMT Content-Length: 7437 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html''' <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head> <title>УÑебно-наÑÑнÑй ÑенÑÑ "ÐÐµÑ Ð°Ð½Ð¸ÐºÐ°. ÐаÑемаÑика"...
ÐÑаÑÐ·ÐµÑ Ð¿Ð¾Ð»ÑÑÐ°ÐµÑ Ð¾ÑвеÑ, вÑделÑÐµÑ Ð¸Ð· него Ñело и оÑобÑÐ°Ð¶Ð°ÐµÑ ÑооÑвеÑÑÑвÑÑÑий докÑменÑ.
ÐÐ¾Ð´Ñ Ð¾Ñибок, возвÑаÑаемÑÑ Ð²ÐµÐ±-ÑеÑвеÑом.
200 OK: ÐапÑÐ¾Ñ ÑÑпеÑно обÑабоÑан, обÑÐµÐºÑ Ð¿Ð¾Ð»ÑÑен и вклÑÑен в оÑвеÑ. 301 Moved Permanently: ÐбÑÐµÐºÑ Ð±Ñл пеÑемеÑен; новÑй URL-адÑÐµÑ Ñказан в ÑÑÑоке оÑвеÑа Location:. ÐÑогÑамма клиенÑа авÑомаÑиÑеÑки вÑÐ¿Ð¾Ð»Ð½Ð¸Ñ Ð·Ð°Ð¿ÑÐ¾Ñ Ð¿Ð¾ Ð½Ð¾Ð²Ð¾Ð¼Ñ Ð°Ð´ÑеÑÑ. 400 Bad Request: ÐбÑÐ°Ñ Ð¾Ñибка, вÑÐ·Ð²Ð°Ð½Ð½Ð°Ñ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑÑ Ð¸Ð½ÑеÑпÑеÑаÑии запÑоÑа ÑеÑвеÑом. 404 Not Found: ÐапÑаÑиваемÑй докÑÐ¼ÐµÐ½Ñ Ð½Ðµ найден на ÑеÑвеÑе. 505 HTTP Version Not Supported: Ð£ÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ð² запÑоÑе веÑÑÐ¸Ñ HTTP не поддеÑживаеÑÑÑ ÑеÑвеÑом.
ÐÑли в Ñайле иÑполÑзÑеÑÑÑ ÐºÐ°ÑÑинки, Ñо Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ бÑÐ´ÐµÑ ÑÑоÑмиÑован дополниÑелÑнÑй запÑоÑ.
РендеÑинг â пÑоÑеÑÑ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÑÑÑаниÑÑ.
ÐеÑедаÑа даннÑÑ Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½Ñа на ÑеÑÐ²ÐµÑ Ð¿Ð¾ пÑоÑÐ¾ÐºÐ¾Ð»Ñ HTTP
ÐÑоблема â пеÑедаÑа даннÑÑ Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½Ñа к ÑеÑвеÑÑ. ÐÑоÑокол HTTP изнаÑалÑно позволÑл ÑолÑко полÑÑаÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ Ð´Ð°Ð½Ð½Ñе Ð¾Ñ ÑеÑвеÑа. ÐÑли добавиÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¾ÑпÑавки даннÑÑ Ð½Ð° веб-ÑеÑвеÑ, как Ñогда ÑеÑвеÑÑ Ð¸Ñ Ð¾Ð±ÑабаÑÑваÑÑ?
ÐÑÑ Ð¾Ð´: ÑеÑÐ²ÐµÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ запÑÑкаÑÑ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ð¸ пеÑедаваÑÑ ÐµÐ¹ даннÑе Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½Ñа, а заÑем оÑÑÑлаÑÑ ÐµÐµ ÑезÑлÑÑаÑ.
С ÑÑим ÑÑолкнÑлиÑÑ Ð² Ñамом наÑале ÑазвиÑÐ¸Ñ WWW. ÐапÑимеÑ, Ð´Ð»Ñ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½ÑиденÑиалÑной инÑоÑмаÑии ÐºÐ»Ð¸ÐµÐ½Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ поÑлаÑÑ Ð»Ð¾Ð³Ð¸Ð½ и паÑÐ¾Ð»Ñ (ÑÑо бÑло Ñеализовано ÑÑедÑÑвами веб-ÑеÑвеÑа); дÑÑгой пÑÐ¸Ð¼ÐµÑ â поиÑковой ÑиÑÑеме, ÑабоÑаÑÑей на ÑеÑвеÑе, нÑÐ¶Ð½Ñ Ð´Ð°Ð½Ð½Ñе Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½Ñа (ÑÑÑока запÑоÑа). Ðогда оÑознали Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑÑ ÑÑого, Ñо понÑли, ÑÑо на ÑеÑÐ²ÐµÑ Ð²Ñе ÑÑнкÑии повеÑиÑÑ Ð½ÐµÐ»ÑÐ·Ñ â нÑжно ÑÑо-Ñо поÑÑÑаÑÑ ÑÑоÑонним пÑогÑаммам и пÑидÑмали CGI â ÑÑандаÑÑ Ð¾Ð±ÑÐµÐ½Ð¸Ñ ÑеÑвеÑа Ñ Ð¿ÑогÑаммами.
CGI-пÑиложениÑ
CGI (Common Gateway Interface) â ÑÑандаÑÑ Ð¾Ð±Ð¼ÐµÐ½Ð° даннÑми Ð¼ÐµÐ¶Ð´Ñ Ð¿Ñикладной пÑогÑаммой, вÑполнÑемой по запÑоÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑ, и HTTP-ÑеÑвеÑом, коÑоÑÑй даннÑÑ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ð·Ð°Ð¿ÑÑкаеÑ.
ÐаннÑе пеÑедаÑÑÑÑ Ð¿ÑогÑамме:
- ÑеÑез пеÑеменнÑе окÑÑжениÑ;
- на ÑÑандаÑÑнÑй Ð²Ñ Ð¾Ð´.
ÐÑогÑамма пеÑÐµÐ´Ð°ÐµÑ Ð´Ð°Ð½Ð½Ñе ÑеÑвеÑÑ ÑеÑез ÑÑандаÑÑнÑй вÑÑ Ð¾Ð´. ФоÑÐ¼Ð°Ñ Ñакой же как Ñ HTTP-оÑвеÑа.
Common Gateway Interface â «обÑий инÑеÑÑÐµÐ¹Ñ ÑлÑза». ÐдеÑÑ Gateway (ÑлÑз) â пÑогÑамма, коÑоÑÐ°Ñ ÑабоÑÐ°ÐµÑ Ð¿Ð¾ ÑÐ°ÐºÐ¾Ð¼Ñ Ð¸Ð½ÑеÑÑейÑÑ ÑовмеÑÑно Ñ Ð²ÐµÐ±-ÑеÑвеÑом (многие пÑедпоÑиÑаÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Â«ÑкÑипÑ» (ÑÑенаÑий) или «CGI-пÑогÑамма»).
ÐадаÑа веб-ÑеÑвеÑа â оÑвеÑаÑÑ Ð½Ð° запÑоÑÑ ÐºÐ»Ð¸ÐµÐ½Ñов. СеÑÐ²ÐµÑ Ð°Ð½Ð°Ð»Ð¸Ð·Ð¸ÑÑÐµÑ ÐºÐ°Ð¶Ð´Ñй запÑоÑ. ÐÑли клиенÑÑ Ð½Ñжен html-Ñайл (не обÑзаÑелÑно html), Ñо ÑеÑÐ²ÐµÑ Ð¿ÑоÑÑо возвÑаÑÐ°ÐµÑ ÑодеÑжимое ÑÑого Ñайла. РеÑли ÐºÐ»Ð¸ÐµÐ½Ñ ÑказÑÐ²Ð°ÐµÑ Ð² запÑоÑе на вÑполнÑемÑÑ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ð¸ поÑÑÐ»Ð°ÐµÑ Ð² добавок аÑгÑменÑÑ Ð´Ð»Ñ ÑÑой пÑогÑаммÑ, ÑеÑÐ²ÐµÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ запÑÑÑиÑÑ ÑÑÑ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ñ ÑказаннÑми аÑгÑменÑами и поÑлаÑÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ ÑезÑлÑÑÐ°Ñ ÐµÐµ вÑполнениÑ.
CGI опÑеделÑÐµÑ ÑÑандаÑÑÑ Ñакого запÑÑка пÑогÑамм на ÑеÑвеÑе: как инÑоÑмаÑÐ¸Ñ Ð¸Ð· запÑоÑа и даннÑе о ÑеÑвеÑе пеÑедаÑÑÑÑ Ð¿ÑогÑамме (ÑÑо ÑеÑез команднÑÑ ÑÑÑокÑ, ÑÑо ÑеÑез пеÑеменнÑе окÑÑжениÑ) и как пÑогÑамма Ð¼Ð¾Ð¶ÐµÑ Ð²Ð¾Ð·Ð²ÑаÑиÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑезÑлÑÑаÑе (напÑимеÑ, его Ñип) в виде заголовков.
Сам инÑеÑÑÐµÐ¹Ñ ÑазÑабоÑан Ñаким обÑазом, ÑÑÐ¾Ð±Ñ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло иÑполÑзоваÑÑ Ð»Ñбой ÑзÑк пÑогÑаммиÑованиÑ, коÑоÑÑй Ð¼Ð¾Ð¶ÐµÑ ÑабоÑаÑÑ Ñо ÑÑандаÑÑнÑми ÑÑÑÑойÑÑвами ввода/вÑвода. Такими возможноÑÑÑми обладаÑÑ Ð´Ð°Ð¶Ðµ ÑкÑипÑÑ Ð´Ð»Ñ Ð²ÑÑÑоеннÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½ÑÑ Ð¸Ð½ÑеÑпÑеÑаÑоÑов опеÑаÑионнÑÑ ÑиÑÑем, поÑÑÐ¾Ð¼Ñ Ð² ÑÐµÑ ÑлÑÑаÑÑ , когда Ð½ÐµÑ Ð½ÑÐ¶Ð´Ñ Ð² Ñложной ÑÑнкÑионалÑноÑÑи, могÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð°Ð¶Ðµ Ñакие пÑоÑÑÑе команднÑе ÑкÑипÑÑ.
ÐÑе ÑкÑипÑÑ, как пÑавило, помеÑаÑÑ Ð² каÑалог cgi-bin ÑеÑвеÑа, но ÑÑо необÑзаÑелÑно: ÑкÑÐ¸Ð¿Ñ Ð¼Ð¾Ð¶ÐµÑ ÑаÑполагаÑÑÑÑ Ð³Ð´Ðµ Ñгодно, но пÑи ÑÑом болÑÑинÑÑво веб-ÑеÑвеÑов ÑÑебÑÑÑ ÑпеÑиалÑной наÑÑÑойки.
Рвеб-ÑеÑвеÑе Apache, напÑимеÑ, ÑÐ°ÐºÐ°Ñ Ð½Ð°ÑÑÑойка Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑоизводиÑÑÑ Ð¿Ñи помоÑи обÑего Ñайла наÑÑÑоек httpd.conf или Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ñайла.htaccess в Ñом каÑалоге, где ÑодеÑжиÑÑÑ ÑÑÐ¾Ñ ÑкÑипÑ. Также Apache позволÑÐµÑ Ð·Ð°Ð¿ÑÑкаÑÑ Ð²Ñе ÑкÑипÑÑ, имеÑÑие ÑаÑÑиÑение.cgi.
ÐеÑÐ¾Ð´Ñ HTTP-запÑоÑов
GET â запÑаÑÐ¸Ð²Ð°ÐµÑ ÑодеÑжимое Ñказанного ÑеÑÑÑÑа. Ð ÑлÑÑае налиÑÐ¸Ñ Ñ ÑеÑÑÑÑа паÑамеÑÑов, они пеÑедаÑÑÑÑ Ð² URI: http://www.example.net/resource?param1=value1¶m2=value2 POST â пеÑÐµÐ´Ð°ÐµÑ Ð¿Ð¾Ð»ÑзоваÑелÑÑкие даннÑе (напÑимеÑ, из HTML-ÑоÑмÑ) Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¼Ñ ÑеÑÑÑÑÑ HEAD â запÑаÑÐ¸Ð²Ð°ÐµÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ñказанного ÑеÑÑÑÑа PUT â загÑÑÐ¶Ð°ÐµÑ ÑказаннÑй ÑеÑÑÑÑ Ð½Ð° ÑеÑÐ²ÐµÑ DELETE â ÑдалÑÐµÑ ÑказаннÑй ÑеÑÑÑÑ
ÐеÑодÑ
- OPTIONS
ÐозвÑаÑÐ°ÐµÑ Ð¼ÐµÑÐ¾Ð´Ñ HTTP, коÑоÑÑе поддеÑживаÑÑÑÑ ÑеÑвеÑом. ÐÑÐ¾Ñ Ð¼ÐµÑод Ð¼Ð¾Ð¶ÐµÑ ÑлÑжиÑÑ Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑей веб-ÑеÑвеÑа.
- GET
ÐапÑаÑÐ¸Ð²Ð°ÐµÑ ÑодеÑжимое Ñказанного ÑеÑÑÑÑа. ÐапÑаÑиваемÑй ÑеÑÑÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑинимаÑÑ Ð¿Ð°ÑамеÑÑÑ (напÑимеÑ, поиÑÐºÐ¾Ð²Ð°Ñ ÑиÑÑема Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑинимаÑÑ Ð² каÑеÑÑве паÑамеÑÑа иÑкомÑÑ ÑÑÑокÑ). Ðни пеÑедаÑÑÑÑ Ð² ÑÑÑоке URI (напÑимеÑ: http://www.example.net/resource? param1=value1¶m2=value2). ÐаÑамеÑÑÑ â ÑÑо и еÑÑÑ Ð´Ð°Ð½Ð½Ñе Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½Ñа: Ð¸Ð¼Ñ Ð¸ паÑолÑ, ÑÑÑока запÑоÑа к поиÑковой ÑиÑÑеме и Ñ.п. СоглаÑно ÑÑандаÑÑÑ HTTP, запÑоÑÑ Ñипа GET ÑÑиÑаÑÑÑÑ Ð¸Ð´ÐµÐ¼Ð¿Ð¾ÑенÑнÑми â многокÑаÑное повÑоÑение одного и Ñого же запÑоÑа GET должно пÑиводиÑÑ Ðº одинаковÑм ÑезÑлÑÑаÑам (пÑи ÑÑловии, ÑÑо Ñам ÑеÑÑÑÑ Ð½Ðµ изменилÑÑ Ð·Ð° вÑÐµÐ¼Ñ Ð¼ÐµÐ¶Ð´Ñ Ð·Ð°Ð¿ÑоÑами). ÐÑо позволÑÐµÑ ÐºÑÑиÑоваÑÑ Ð¾ÑвеÑÑ Ð½Ð° запÑоÑÑ GET.
- HEAD
ÐналогиÑен меÑÐ¾Ð´Ñ GET, за иÑклÑÑением Ñого, ÑÑо в оÑвеÑе ÑеÑвеÑа оÑÑÑÑÑÑвÑÐµÑ Ñело. ÐÑо полезно Ð´Ð»Ñ Ð¸Ð·Ð²Ð»ÐµÑÐµÐ½Ð¸Ñ Ð¼ÐµÑаданнÑÑ , заданнÑÑ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°Ñ Ð¾ÑвеÑа, без пеÑеÑÑлки вÑего ÑодеÑжимого.
- POST
ÐеÑедаÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑÑкие даннÑе (напÑимеÑ, из HTML-ÑоÑмÑ) Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¼Ñ ÑеÑÑÑÑÑ. ÐапÑимеÑ, в Ð±Ð»Ð¾Ð³Ð°Ñ Ð¿Ð¾ÑеÑиÑели обÑÑно могÑÑ Ð²Ð²Ð¾Ð´Ð¸ÑÑ Ñвои комменÑаÑии к запиÑÑм в HTML-ÑоÑмÑ, поÑле Ñего они пеÑедаÑÑÑÑ ÑеÑвеÑÑ Ð¼ÐµÑодом POST и он помеÑÐ°ÐµÑ Ð¸Ñ Ð½Ð° ÑÑÑаниÑÑ. ÐÑи ÑÑом пеÑедаваемÑе даннÑе (в пÑимеÑе Ñ Ð±Ð»Ð¾Ð³Ð°Ð¼Ð¸ â ÑекÑÑ ÐºÐ¾Ð¼Ð¼ÐµÐ½ÑаÑиÑ) вклÑÑаÑÑÑÑ Ð² Ñело запÑоÑа. РоÑлиÑие Ð¾Ñ Ð¼ÐµÑода GET, меÑод POST не ÑÑиÑаеÑÑÑ Ð¸Ð´ÐµÐ¼Ð¿Ð¾ÑенÑнÑм, Ñо еÑÑÑ Ð¼Ð½Ð¾Ð³Ð¾ÐºÑаÑное повÑоÑение Ð¾Ð´Ð½Ð¸Ñ Ð¸ ÑÐµÑ Ð¶Ðµ запÑоÑов POST Ð¼Ð¾Ð¶ÐµÑ Ð²Ð¾Ð·Ð²ÑаÑаÑÑ ÑазнÑе ÑезÑлÑÑаÑÑ (напÑимеÑ, поÑле каждой оÑпÑавки комменÑаÑÐ¸Ñ Ð±ÑÐ´ÐµÑ Ð¿Ð¾ÑвлÑÑÑÑÑ Ð¾Ð´Ð½Ð° ÐºÐ¾Ð¿Ð¸Ñ ÑÑого комменÑаÑиÑ).
- PUT
ÐагÑÑÐ¶Ð°ÐµÑ ÑказаннÑй ÑеÑÑÑÑ Ð½Ð° ÑеÑвеÑ.
- DELETE
УдалÑÐµÑ ÑказаннÑй ÑеÑÑÑÑ.
- TRACE
ÐозвÑаÑÐ°ÐµÑ Ð¿Ð¾Ð»ÑÑеннÑй запÑÐ¾Ñ Ñак, ÑÑо ÐºÐ»Ð¸ÐµÐ½Ñ Ð¼Ð¾Ð¶ÐµÑ ÑвидеÑÑ, ÑÑо пÑомежÑÑоÑнÑе ÑеÑвеÑа добавлÑÑÑ Ð¸Ð»Ð¸ изменÑÑÑ Ð² запÑоÑе.
- CONNECT
ÐÐ»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¼ÐµÑÑе Ñ Ð¿ÑокÑи-ÑеÑвеÑами, коÑоÑÑе могÑÑ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑеÑки пеÑеклÑÑаÑÑÑÑ Ð² ÑÑннелÑнÑй Ñежим SSL.
РоÑновном иÑполÑзÑÑÑÑÑ Ð¼ÐµÑÐ¾Ð´Ñ GET и POST.
ÐеÑод POST
300px|right ÐоÑле нажаÑÐ¸Ñ Ð½Ð° ÐºÐ½Ð¾Ð¿ÐºÑ Â«Ð¾ÑпÑавиÑÑ» бÑаÑÐ·ÐµÑ Ð¿Ð¾ÑÑÐ»Ð°ÐµÑ ÑеÑвеÑÑ ÑообÑение. ÐÑиводим ÑеалÑнÑе даннÑе, пеÑÐµÑ Ð²Ð°ÑеннÑе ÑниÑÑеÑом. ÐапÑÐ¾Ñ Ð±ÑаÑзеÑа к ÑеÑвеÑÑ, ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð¾Ð¼Ñ Ð½Ð° ÑÑом же компÑÑÑеÑе:
(1) POST /action.php HTTP/1.1 (2) Host: test1.ru (3) User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.11) Gecko/20070324 (Debian-1.8.0.11-2) Epiphany/2.14 (4) Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 (5) Accept-Encoding: gzip,deflate (6) Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 (7) Keep-Alive: 300 (8) Connection: keep-alive (9) Referer: http://test1.ru/ (10) Content-Type: application/x-www-form-urlencoded (11) Content-Length: 18 (12) (13) name=sergey&age=26
(1) action.php â ÑÑо пÑогÑамма на ÑеÑвеÑе, коÑоÑой пеÑедаÑÑÑÑ Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñе даннÑе. Ðо ÑÑим даннÑм она ÑгенеÑиÑÑÐµÑ html-ÑÑÑаниÑÑ, коÑоÑÐ°Ñ Ð·Ð°Ñем бÑÐ´ÐµÑ Ð¾ÑпÑавлена ÑеÑвеÑом бÑаÑзеÑÑ.
(3) ÐÑо бÑаÑÐ·ÐµÑ ÐС Linux Debian, ÑÑÑановленной Ñ ÐºÐ»Ð¸ÐµÐ½Ñа на виÑÑÑалÑной маÑине. ÐиÑÑÑалÑной маÑиной пÑиÑлоÑÑ Ð²Ð¾ÑполÑзоваÑÑÑÑ, Ñак как ÑниÑÑÐµÑ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÐµÑÐµÑ Ð²Ð°ÑиÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð¾Ñ Ð±ÑаÑзеÑа на локалÑной маÑине напÑавленнÑй к ÑеÑвеÑÑ Ð½Ð° Ñой же маÑине, Ñ.е. ÑеÑез инÑеÑÑÐµÐ¹Ñ 127.0.0.1.
(10) Тип пеÑедаваемого ÑодеÑжимого.
(11) Ð Ð°Ð·Ð¼ÐµÑ ÑодеÑжимого.
(12) СодеÑжимое.
ÐÑиведем код HTML-ÑÑÑаниÑки (об HTML бÑдем говоÑиÑÑ Ð¿Ð¾Ð·Ð¶Ðµ):
<form action="action.php" method="POST"> ÐаÑе имÑ: <input type="text" name="name" /><br><br> ÐÐ°Ñ Ð²Ð¾Ð·ÑаÑÑ: <input type="text" name="age" /><br><br> <input type="submit" value="ÐÑпÑавиÑÑ"> </form>
ÐеÑедаÑа даннÑÑ CGI-пÑиложениÑ
ÐеÑедаÑа даннÑÑ CGI-пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑÑÑеÑÑвлÑÑÑÑÑ Ð¼ÐµÑодами GET и POST.
GET | POST | |
---|---|---|
Ðак даннÑе пеÑедаÑÑÑÑ ÑеÑвеÑÑ | Ð url | Ð Ñеле запÑоÑа |
Ðак ÑеÑÐ²ÐµÑ Ð¿ÐµÑÐµÐ´Ð°ÐµÑ Ð´Ð°Ð½Ð½Ñе пÑогÑамме | ЧеÑез пеÑеменнÑе окÑÑÐ¶ÐµÐ½Ð¸Ñ (QUERY_STRING) | ЧеÑез поÑок ÑÑандаÑÑного ввода |
ÐÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¿ÐµÑедаÑи | неболÑÑÐ¸Ñ Ð¼Ð°ÑÑивов даннÑÑ | болÑÑÐ¸Ñ , в ÑаÑÑноÑÑи TEXTAREA и Ñайлов |
ÐодиÑование и ÑоÑÐ¼Ð°Ñ Ð¾ÑпÑавлÑемÑÑ Ð´Ð°Ð½Ð½ÑÑ
Ðо ÑмолÑÐ°Ð½Ð¸Ñ â application/x-www-form-urlencoded ÐÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð½Ðµ из пеÑвой Ð¿Ð¾Ð»Ð¾Ð²Ð¸Ð½Ñ ASCII заменÑÑÑÑÑ Ð¸Ñ ÐºÐ¾Ð´Ð°Ð¼Ð¸, напÑимеÑ, âaâ на â%E0â. ÐÑÐ¾Ð±ÐµÐ»Ñ â на «+», «&» â на «%26».
multipart/form-data â иÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¾ÑпÑавки двоиÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð¸ даннÑÑ ÑмеÑанного Ñипа.
СÑÑеÑÑвÑÐµÑ Ð´Ð²Ð° Ñипа кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑодеÑÐ¶Ð°Ð½Ð¸Ñ (Ñела) HTTP-ÑообÑениÑ, коÑоÑÑе можно опÑеделиÑÑ Ð² ÑоÑме:
- application/x-www-form-urlencoded
- multipart/form-data
ÐеÑвÑй Ñип кодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²ÑбиÑаеÑÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ ÑвлÑеÑÑÑ Ð¾ÑновнÑм ÑпоÑобом. Ð URL докÑменÑа можно иÑполÑзоваÑÑ ÑолÑко ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð½Ð°Ð±Ð¾Ñа Latin1. ÐÑо пеÑÐ²Ð°Ñ Ð¿Ð¾Ð»Ð¾Ð²Ð¸Ð½Ð° ÑаблиÑÑ ASCII за вÑÑеÑом пеÑвÑÑ 20 Ñимволов. ÐÑе оÑÑалÑнÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð·Ð°Ð¼ÐµÐ½ÑÑÑÑÑ Ñвоими ÑеÑÑнадÑаÑеÑиÑнÑми ÑквиваленÑами. ÐÑоме Ñого, Ñакие ÑимволÑ, как "+" или "&", игÑаÑÑ ÑÐ¾Ð»Ñ ÑазделиÑелей или коннекÑоÑов. ÐÑли они вÑÑÑеÑаÑÑÑÑ Ð² знаÑении полÑ, Ñо Ñоже заменÑÑÑÑÑ Ð½Ð° ÑеÑÑнадÑаÑеÑиÑнÑй ÑквиваленÑ. Ðаиболее Ñ Ð°ÑакÑеÑно ÑÑо Ð´Ð»Ñ ÑабоÑÑ Ñ ÑÑÑÑким алÑавиÑом. ÐоÑÑÐ¾Ð¼Ñ ÑкÑипÑ, коÑоÑÑй пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð·Ð°Ð¿ÑоÑÑ, должен ÑмеÑÑ ÑÑи ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð´ÐµÐºÐ¾Ð´Ð¸ÑоваÑÑ.
ÐÑоÑой Ñип пÑименÑеÑÑÑ Ð´Ð»Ñ Ð¿ÐµÑедаÑи двоиÑной инÑоÑмаÑии в Ñеле HTTP-ÑообÑениÑ. ÐÑли пÑоводиÑÑ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸Ð¸ Ñ ÑлекÑÑонной поÑÑой, Ñо multipart/form-data обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð¿ÑиÑоединение Ñайла даннÑÑ (attachment) к HTTP-запÑоÑÑ. Ðаиболее ÑипиÑнÑм пÑимеÑом ÑвлÑеÑÑÑ Ð¿ÐµÑедаÑа Ñайла Ñ Ð¼Ð°ÑÐ¸Ð½Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð½Ð° ÑеÑвеÑ:
<FORM ACTION=script.cgi METHOD=post ENCTYPE=multipart/form-data> <INPUT NAME=n1 VALUE="Ðоле1"> <INPUT NAME=n2 TYPE=file> <INPUT TYPE=BUTTON VALUE="ÐÑпÑавиÑÑ"> </FORM>
Рданном ÑлÑÑае HTTP-ÑообÑение бÑÐ´ÐµÑ Ð¾ÑÐµÐ½Ñ Ð¿Ð¾Ñ Ð¾Ð¶Ðµ на поÑÑовое ÑообÑение в ÑÑандаÑÑе MIME (ÑобÑÑвенно, ÑÑо и еÑÑÑ MIME-ÑообÑение, ÑолÑко пеÑедаеÑÑÑ Ð¾Ð½Ð¾ по пÑоÑÐ¾ÐºÐ¾Ð»Ñ HTTP). ÐÑÑеÑÑвенно, ÑÑо Ð´Ð»Ñ Ð¿Ñиема Ñакого ÑообÑÐµÐ½Ð¸Ñ Ð½Ñжен ÑкÑипÑ, коÑоÑÑй Ð±Ñ Ñмог ÑазобÑаÑÑ ÐµÐ³Ð¾ на ÑаÑÑи, а поÑом декодиÑоваÑÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼ÑÑ Ð¸Ð½ÑоÑмаÑиÑ.
СообÑение Ñипа "multipart/form-data" ÑоÑÑÐ¾Ð¸Ñ Ð¸Ð· неÑколÑÐºÐ¸Ñ ÑаÑÑей, ÐºÐ°Ð¶Ð´Ð°Ñ Ð¸Ñ ÐºÐ¾ÑоÑÑÑ Ð¿ÑедÑÑавлÑÐµÑ ÑÑпеÑнÑй ÑпÑавлÑÑÑий ÑлеменÑ. ЧаÑÑи оÑпÑавлÑÑÑÑÑ Ð¾Ð±ÑабаÑÑваÑÑÐµÐ¼Ñ Ð°Ð³ÐµÐ½ÑÑ Ð² Ñом поÑÑдке, в коÑоÑом ÑооÑвеÑÑÑвÑÑÑие ÑпÑавлÑÑÑие ÑлеменÑÑ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð² поÑоке докÑменÑа. ÐÑаниÑÑ ÑаÑÑей не Ð´Ð¾Ð»Ð¶Ð½Ñ Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑÑ Ð² даннÑÑ .
Ðак и во вÑÐµÑ ÑоÑÑавнÑÑ ÑÐ¸Ð¿Ð°Ñ MIME, ÐºÐ°Ð¶Ð´Ð°Ñ ÑаÑÑÑ Ð¸Ð¼ÐµÐµÑ Ð½ÐµÐ¾Ð±ÑзаÑелÑнÑй заголовок "Content-Type", Ð´Ð»Ñ ÐºÐ¾ÑоÑого по ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÑанавливаеÑÑÑ Ð·Ð½Ð°Ñение "text/plain". ÐгенÑÑ Ð¿Ð¾Ð»ÑзоваÑелей Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿ÑедоÑÑавлÑÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº "Content-Type" Ñ Ð¿Ð°ÑамеÑÑом "charset".
ÐÐ°Ð¶Ð´Ð°Ñ ÑаÑÑÑ Ð´Ð¾Ð»Ð¶Ð½Ð° ÑодеÑжаÑÑ:
- заголовок "Content-Disposition", имеÑÑий знаÑение "form-data";
- аÑÑибÑÑ Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ, опÑеделÑÑÑий Ð¸Ð¼Ñ ÑооÑвеÑÑÑвÑÑÑего ÑпÑавлÑÑÑего ÑлеменÑа. Ðмена ÑпÑавлÑÑÑÐ¸Ñ ÑлеменÑов, изнаÑалÑно закодиÑованнÑе Ñ Ð¸ÑполÑзованием набоÑов Ñимволов, оÑлиÑнÑÑ Ð¾Ñ ASCII, могÑÑ ÐºÐ¾Ð´Ð¸ÑоваÑÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼ÐµÑода, опиÑанного в [RFC2045].
application/x-www-form-urlencoded BigText= TextTextText&pol1= m multipart/form-data ------------Gt1CO3wAR7XTbm1eE7LoA6 Content-Disposition: form-data; name="BigText " TextTextText ------------Gt1CO3wAR7XTbm1eE7LoA6 Content-Disposition: form-data; name="pol1 " m ------------Gt1CO3wAR7XTbm1eE7LoA6--
multipart/form-data â Ð´Ð»Ñ Ð¾ÑпÑавки болÑÑÐ¸Ñ Ð¾Ð±Ñемов даннÑÑ Ð¸Ð»Ð¸ двоиÑнÑÑ Ñайлов
ÐÑÐ¸Ð¼ÐµÑ CGI-ÑкÑипÑа (GET) на PascalABC
s:=Environment.GetEnvironmentVariable('QUERY_STRING'); writeln(file,'ÐеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ QUERY_STRING: ',s); writeln('Content-Type: text/html'); writeln(â'); writeln('<html> <head> <title> OK </title> </head> <body> <h1> ÐведеннÑе в ÑоÑÐ¼Ñ Ð´Ð°Ð½Ð½Ñе ÑÑпеÑно запиÑÐ°Ð½Ñ Ð² Ñайл zapros_get.txt </h1></body>')
ÐÑÐ¸Ð¼ÐµÑ CGI-ÑкÑипÑа (POST) на PascalABC
Val(Environment.GetEnvironmentVariable('CONTENT_LENGTH'),n,err); writeln(file,'РазмеÑ: ',n); writeln(file,'ÐаннÑе:'); SetLength(s,n); for i:=0 to n-1 do read(s[i]); for i:=0 to n-1 do write(f,s[i]); writeln('Content-Type: text/html'); writeln(''); writeln('<html> <head> <title> OK </title> </head> <body> <h1> ÐведеннÑе в ÑоÑÐ¼Ñ Ð´Ð°Ð½Ð½Ñе ÑÑпеÑно запиÑÐ°Ð½Ñ Ð² Ñайл zapros_post.txt </h1></body>')
ÐедоÑÑаÑки и алÑÑеÑнаÑÐ¸Ð²Ñ CGI
ÐедоÑÑаÑок CGI: вÑзов пÑогÑÐ°Ð¼Ð¼Ñ â «доÑогаÑ» опеÑаÑиÑ, оÑобенно еÑли ÑÑо ÑкÑипÑ, коÑоÑÑй еÑе нÑжно инÑеÑпÑеÑиÑоваÑÑ (или оÑкомпилиÑоваÑÑ).
ÐлÑÑеÑнаÑивнÑе ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸:
- вÑÑÑоеннÑе в веб-ÑеÑÐ²ÐµÑ Ð¼Ð¾Ð´Ñли (mod_php, mod_perl в Apache);
- Fast CGI.
ÐÑоблема CGI-пÑогÑамм в Ñом, ÑÑо они Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¿ÐµÑезапÑÑÐµÐ½Ñ Ð²ÐµÐ±-ÑеÑвеÑом пÑи каждом запÑоÑе, ÑÑо пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº Ð¿Ð¾Ð½Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¿ÑоизводиÑелÑноÑÑи.
FastCGI ÑбиÑÐ°ÐµÑ ÑÑо огÑаниÑение, ÑÐ¾Ñ ÑанÑÑ Ð¿ÑоÑеÑÑ Ð·Ð°Ð¿ÑÑеннÑм и пеÑÐµÐ´Ð°Ð²Ð°Ñ Ð·Ð°Ð¿ÑоÑÑ ÑÑÐ¾Ð¼Ñ Ð¿Ð¾ÑÑоÑнно запÑÑÐµÐ½Ð½Ð¾Ð¼Ñ Ð¿ÑоÑеÑÑÑ. ÐÑо позволÑÐµÑ Ð½Ðµ ÑÑаÑиÑÑ Ð²ÑÐµÐ¼Ñ Ð½Ð° запÑÑк новÑÑ Ð¿ÑоÑеÑÑов.
Ð Ñо вÑÐµÐ¼Ñ ÐºÐ°Ðº CGI-пÑогÑÐ°Ð¼Ð¼Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑвÑÑÑ Ñ ÑеÑвеÑом ÑеÑез STDIN и STDOUT запÑÑенного CGI-пÑоÑеÑÑа. FastCGI-пÑоÑеÑÑÑ Ð¸ÑполÑзÑÑÑ Unix Domain Sockets или TCP/IP Ð´Ð»Ñ ÑвÑзи Ñ ÑеÑвеÑом. ÐлагодаÑÑ ÑÑомÑ, в оÑлиÑие Ð¾Ñ Ð¾Ð±ÑÑнÑÑ CGI-пÑогÑаммами, FastCGI-пÑогÑÐ°Ð¼Ð¼Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð·Ð°Ð¿ÑÑÐµÐ½Ñ Ð½Ðµ ÑолÑко на ÑÑом же ÑеÑвеÑе, но и где Ñгодно в ÑеÑи. Также возможна обÑабоÑка запÑоÑов неÑколÑкими FastCGI-пÑоÑеÑÑами, ÑабоÑаÑÑими паÑаллелÑно.
ЯзÑки пÑогÑаммиÑÐ¾Ð²Ð°Ð½Ð¸Ñ CGI-пÑиложений
- PHP;
- Perl;
- Microsoft ASP.NET (на ÑеÑвеÑе IIS);
- JSP (Java Server Pages);
- Python;
- Ruby
и лÑбÑе дÑÑгие.
Cookies
HTTP-Cookie â ÑлÑÐ¶ÐµÐ±Ð½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ, поÑÑÐ»Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÐ±-ÑеÑвеÑом на компÑÑÑÐµÑ Ð¿Ð¾Ð»ÑзоваÑелÑ, Ð´Ð»Ñ ÑÐ¾Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð±ÑаÑзеÑом на локалÑном компÑÑÑеÑе.
ÐÑименÑеÑÑÑ:
- Ð´Ð»Ñ Ð¾ÑлиÑÐ¸Ñ Ð¿Ð¾Ð»ÑзоваÑелей веб-ÑеÑвеÑом дÑÑг Ð¾Ñ Ð´ÑÑга;
- Ð´Ð»Ñ ÑÐ¾Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¾ дейÑÑвиÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑ.
Cookies бÑли пÑидÑманÑ, ÑÑÐ¾Ð±Ñ ÑеализоваÑÑ Â«ÐоÑÐ·Ð¸Ð½Ñ Ð¿Ð¾ÐºÑпаÑелÑ» â виÑÑÑалÑнÑÑ ÐºÐ¾ÑзинÑ, в коÑоÑÑÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð¼Ð¾Ð³ Ð±Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑ Ð¿ÑиобÑеÑеннÑе на ÑайÑе веÑи (как в ÑÑпеÑмаÑкеÑе), а поÑом в конÑе ÑаÑплаÑиваÑÑÑÑ Ð·Ð° вÑе.
ÐÑе одна ÑÐµÐ»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ cookie â оÑганизаÑÐ¸Ñ Ð²Ñ Ð¾Ð´Ð° (log in) на ÑайÑ. СеÑÐ²ÐµÑ ÑазлиÑÐ°ÐµÑ Ð¿Ð¾Ð»ÑзоваÑелей именно по cookie, коÑоÑÑе поÑÑлаÑÑ ÐµÐ¼Ñ Ð±ÑаÑзеÑÑ Ð¿Ñи запÑоÑе каждой ÑÑÑаниÑÑ Ñ ÑайÑа.
СÑоÑонние cookies
Ðногда веб-ÑÑÑаниÑки вклÑÑаÑÑ Ð² ÑÐµÐ±Ñ ÑодеÑжимое Ñ Ð´ÑÑÐ³Ð¸Ñ ÑайÑов, напÑимеÑ, ÑÐµÐºÐ»Ð°Ð¼Ñ Ñ ÑайÑа Ñекламного агенÑÑÑва. ЧÑÐ¾Ð±Ñ Ð·Ð°Ð³ÑÑзиÑÑ ÑÑÐ¾Ñ Ð²ÐµÐ±-ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð±ÑаÑÐ·ÐµÑ (вне ведома Ð¾Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ) обÑаÑаеÑÑÑ Ðº ÑеÑвеÑÑ Ñекламного агенÑÑÑва, коÑоÑÑй Ð¼Ð¾Ð¶ÐµÑ ÑÑÑановиÑÑ cookie. ÐÐ¾Ñ Ñакие cookie назÑваÑÑÑÑ ÑÑоÑонними. ÐÑли Ñакие cookies вклÑÑаÑÑ Ð² ÑÐµÐ±Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ поÑеÑаемом вами ÑайÑе, Ñо ÑÑо Ð´Ð°ÐµÑ ÑÐµÐºÐ»Ð°Ð¼Ð½Ð¾Ð¼Ñ Ð°Ð³ÐµÐ½ÑÑÑÐ²Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ ÑледиÑÑ Ð·Ð° ваÑим пеÑемеÑением в ÐнÑеÑнеÑе по ÑайÑам Ñ ÐµÐ³Ð¾ Ñекламой и вÑдаваÑÑ Ð²Ð°Ð¼ ÑÐµÐºÐ»Ð°Ð¼Ñ Ñого, Ñем Ð²Ñ Ð±Ð¾Ð»ÑÑе инÑеÑеÑÑеÑеÑÑ. Таким обÑазом наÑÑÑаеÑÑÑ Ñайна ÑаÑÑной жизни полÑзоваÑелей. Ð ÑÑаÑÐ°Ñ ÑÑÑанавливаÑÑ Ñакие cookie запÑеÑено законом.
ÐÐµÑ Ð°Ð½Ð¸Ð·Ð¼ Cookies
СеÑÐ²ÐµÑ ( CGI-пÑогÑамма) Ð¼Ð¾Ð¶ÐµÑ ÑÑÑановиÑÑ cookie в оÑÐ²ÐµÑ Ð½Ð° запÑÐ¾Ñ Ð±ÑаÑзеÑа. ÐÐ»Ñ ÑÑого в заголовок оÑвеÑа он добавлÑÐµÑ ÑÑÑоÑÐºÑ Set-Cookie, напÑимеÑ,
Set-Cookie: sessionID=678893467800; lang= ru; domain=mydomain.com; expires=09-Nov-08 23:12:40
ÐÑаÑÐ·ÐµÑ ÑоxÑанÑÐµÑ cookie и заÑем поÑÑÐ»Ð°ÐµÑ Ð½Ð° ÑÑÐ¾Ñ ÑеÑÐ²ÐµÑ Ð² виде ÑÑÑоки Cookie в заголовке каждого запÑоÑа, напÑимеÑ,
Cookie: sessionID=678893467800; lang= ru;
ÐÑки Ñакже Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑÑÑановлена и Ñамим бÑаÑзеÑом ÑеÑез JavaScript, коÑоÑÑй поддеÑживаеÑÑÑ Ð±Ð¾Ð»ÑÑинÑÑвом ÑовÑеменнÑÑ Ð±ÑаÑзеÑов. ÐÑаÑÐ·ÐµÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑоxÑанÑÑÑ ÐºÑки на пеÑиод опÑеделеннÑй Ð´Ð»Ñ ÐµÐµ вÑемени жизни и поÑÑлаÑÑ ÐºÑки на ÑеÑÐ²ÐµÑ Ð² заголовке запÑоÑа (request header) Cookie. РзапÑоÑе поÑÑлаÑÑÑÑ ÑолÑко Ñе кÑки, коÑоÑÑе ÑооÑвеÑÑÑвÑÑÑ Ð´Ð¾Ð¼ÐµÐ½Ñ, пÑÑи и пÑоÑÐ¾ÐºÐ¾Ð»Ñ Ð´Ð»Ñ ÐºÐ¾ÑоÑÑÑ ÐºÑки бÑла ÑÑÑановлена ÐÐ»Ð¸ÐµÐ½Ñ (бÑаÑзеÑ) Ð¸Ð¼ÐµÐµÑ ÑледÑÑÑие огÑаниÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ cookies, напÑимеÑ: вÑего Ð¼Ð¾Ð¶ÐµÑ Ñ ÑаниÑÑÑÑ Ð´Ð¾ 300 знаÑений cookies, каждÑй cookie не Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑевÑÑаÑÑ 4ÐбайÑ, Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑеÑвеÑа или домена Ð¼Ð¾Ð¶ÐµÑ Ñ ÑаниÑÑÑÑ Ð´Ð¾ 20 знаÑений cookie.
Ðлавной пÑоблемой ÑвлÑеÑÑÑ Ð¸Ð·Ð½Ð°ÑалÑное недовеÑие полÑзоваÑелей к ÑомÑ, ÑÑо ÑдаленнÑе ÑеÑвеÑа без Ð¸Ñ (полÑзоваÑелей) ведома и ÑоглаÑÐ¸Ñ Ð·Ð°Ð¿Ð¸ÑÑваÑÑ Ð½Ð° Ð¸Ñ ÑобÑÑвеннÑе локалÑнÑе диÑки какÑÑ Ð»Ð¸Ð±Ð¾ инÑоÑмаÑиÑ. ÐÑÑовали Ñакже ÑлÑÑ Ð¸ о Ñом, ÑÑо Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð° cookie можно пÑоÑеÑÑÑ Ð»ÑбÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ñ Ð»Ñбого компÑÑÑеÑа. ÐÑо непÑавда, к ÑÐ¾Ð¼Ñ Ð¶Ðµ ÑовÑеменнÑе веÑÑии бÑаÑзеÑов позволÑÑÑ ÐºÐ¾Ð½ÑÑолиÑоваÑÑ Ð¿Ñием cookie или вовÑе блокиÑоваÑÑ ÐµÐ³Ð¾. ÐÑоме Ñого, поÑвилоÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво ÑпеÑиалÑнÑÑ ÑÑÐ¸Ð»Ð¸Ñ Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñиемом cookie, Ñак назÑваемÑе Cookie Managers. ÐÑÑÐ³Ð°Ñ ÑÑоÑона ÑÑой пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð·Ð°ÐºÐ»ÑÑаеÑÑÑ Ð² Ñом, ÑÑо на ÑÐ·Ð»Ð°Ñ Ð¡ÐµÑи аккÑмÑлиÑÑÑÑÑÑ Ð¾Ð³ÑомнÑе маÑÑÐ¸Ð²Ñ Ð´Ð°Ð½Ð½ÑÑ Ñ Ð¿ÐµÑÑоналÑной инÑоÑмаÑией, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼ÐµÑÑеÑÐºÐ¸Ñ ÑеÑвеÑов. ÐÐ¾Ñ Ð·Ð´ÐµÑÑ Ð¸ поÑвлÑÑÑÑÑ Ð¿Ð¾Ð²ÑÑеннÑе ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ðº заÑиÑе Ð¾Ñ Ð½ÐµÑанкÑиониÑованного доÑÑÑпа к ÑÑим даннÑм. ÐолÑзоваÑели ÑÐ°ÐºÐ¸Ñ ÑеÑвеÑов Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ ÑвеÑенÑ, ÑÑо Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð°, адÑеÑа ÑлекÑÑонной поÑÑÑ, ÑелеÑоннÑе номеÑа и пÑоÑ., не попадÑÑ Ð² ÑÑжие ÑÑки. РпÑоÑивном ÑлÑÑае поÑледÑÑÐ²Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ ÐºÐ°ÑаÑÑÑоÑиÑеÑкими Ð´Ð»Ñ "пÑоÑÑÑаÑивÑÐ¸Ñ ÑÑ" коммеÑÑеÑÐºÐ¸Ñ ÑеÑвеÑов.
ЯзÑк ÑазмеÑки гипеÑÑекÑÑа HTML
HTML â ÑÑо ÑеговÑй ÑзÑк ÑазмеÑки докÑменÑов. ÐÑбой докÑÐ¼ÐµÐ½Ñ Ð½Ð° ÑзÑке HTML пÑедÑÑавлÑÐµÑ Ñобой Ð½Ð°Ð±Ð¾Ñ ÑлеменÑов, пÑиÑÑм наÑало и ÐºÐ¾Ð½ÐµÑ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑлеменÑа обознаÑаеÑÑÑ ÑпеÑиалÑнÑми помеÑками â Ñегами. ÐлеменÑÑ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¿ÑÑÑÑми, Ñо еÑÑÑ Ð½Ðµ ÑодеÑжаÑими никакого ÑекÑÑа и дÑÑгиÑ
даннÑÑ
(напÑимеÑ, Ñег пеÑевода ÑÑÑоки
). Ð ÑÑом ÑлÑÑае обÑÑно не ÑказÑваеÑÑÑ Ð·Ð°ÐºÑÑваÑÑий Ñег. ÐÑоме Ñого, ÑлеменÑÑ Ð¼Ð¾Ð³ÑÑ Ð¸Ð¼ÐµÑÑ Ð°ÑÑибÑÑÑ, опÑеделÑÑÑие какие-либо иÑ
ÑвойÑÑва (напÑимеÑ, ÑÐ°Ð·Ð¼ÐµÑ ÑÑиÑÑа Ð´Ð»Ñ ÑлеменÑа font). ÐÑÑибÑÑÑ ÑказÑваÑÑÑÑ Ð² оÑкÑÑваÑÑем Ñеге.
ЯзÑк HTML бÑл ÑазÑабоÑан бÑиÑанÑким ÑÑÑнÑм Тимом ÐеÑнеÑÑом-Ðи пÑиблизиÑелÑно в 1991â1992 Ð³Ð¾Ð´Ð°Ñ Ð² ÑÑÐµÐ½Ð°Ñ ÐвÑопейÑкого ÑовеÑа по ÑдеÑнÑм иÑÑледованиÑм в Ðеневе (ШвейÑаÑиÑ). HTML ÑоздавалÑÑ ÐºÐ°Ðº ÑзÑк Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° наÑÑной и ÑÐµÑ Ð½Ð¸ÑеÑкой докÑменÑаÑией, пÑигоднÑй Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð»ÑдÑми, не ÑвлÑÑÑимиÑÑ ÑпеÑиалиÑÑами в облаÑÑи вÑÑÑÑки. СейÑÐ°Ñ ÐонÑоÑÑиÑмом ÐÑемиÑной паÑÑÐ¸Ð½Ñ (W3C) ÑазÑабаÑÑÐ²Ð°ÐµÑ Ð¿ÑÑÑÑ Ð²ÐµÑÑÐ¸Ñ ÑзÑка HTML5.
ЧеÑновой ваÑÐ¸Ð°Ð½Ñ ÑпеÑиÑикаÑии ÑзÑка поÑвилÑÑ Ð² ÐнÑеÑнеÑе 20 ноÑбÑÑ 2007. ÐаÑаллелÑно ведÑÑÑÑ ÑабоÑа по далÑнейÑÐµÐ¼Ñ ÑазвиÑÐ¸Ñ HTML под названием XHTML (Ð¾Ñ Ð°Ð½Ð³Ð». Extensible Hypertext Markup Language â «ÑаÑÑиÑÑемÑй ÑзÑк ÑазмеÑки гипеÑÑекÑÑа»). Ðока XHTML по Ñвоим возможноÑÑÑм ÑопоÑÑавим Ñ HTML, однако пÑедÑÑвлÑÐµÑ Ð±Ð¾Ð»ÐµÐµ ÑÑÑогие ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ðº ÑинÑакÑиÑÑ. XHTML, в оÑлиÑие Ð¾Ñ Ð¿ÑедÑеÑÑвенника, оÑнован на XML.
ÐаÑÐ¸Ð°Ð½Ñ XHTML 1.0 бÑл одобÑен в каÑеÑÑве РекомендаÑии ÐонÑоÑÑиÑма ÐÑемиÑной паÑÑÐ¸Ð½Ñ (W3C) 26 ÑнваÑÑ 2000 года.
ÐÑÐ¸Ð¼ÐµÑ 1. ÐÑоÑÑейÑий HTML-докÑменÑ.
<html> ÐаÑало HTML-докÑменÑа <head> Ðаголовок <title> Hello HTML // ÐоÑвиÑÑÑ Ð² заголовке окна ÑÑдом Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ бÑаÑзеÑа </title> </head> <body> // Тело докÑменÑа <b> ÐÑÐ¾Ñ ÑекÑÑ Ð±ÑÐ´ÐµÑ Ð²Ñведен полÑжиÑнÑм, <i>а ÑÑÐ¾Ñ ÐµÑÑ Ð¸ кÑÑÑивом</i> </b> <a href="http://www.example.com">Так оÑоÑмлÑеÑÑÑ Ð³Ð¸Ð¿ÐµÑÑÑÑлка</a> </body> </html>
275px|thumb|right|ÐÑÐ¸Ð¼ÐµÑ 2 ÐÑÐ¸Ð¼ÐµÑ 2. СÑÑаниÑа ÑакÑлÑÑеÑа пÑÐ¸Ñ Ð¾Ð»Ð¾Ð³Ð¸Ð¸ живоÑнÑÑ .
<html> <head> <title>ФÐÐ</title> </head> <body> <h1>ФакÑлÑÑÐµÑ Ð¿ÑÐ¸Ñ Ð¾Ð»Ð¾Ð³Ð¸Ð¸ живоÑнÑÑ </h1> <h2> Ð Ð½Ð°Ñ </h2> <h2> ÐеÑÑонал </h2> <h2> ÐопÑлÑÑнÑе кÑÑÑÑ </h2> </body> </html>
РегиÑÑÑ, в коÑоÑом набÑано Ð¸Ð¼Ñ ÑлеменÑа и имена аÑÑибÑÑов, в HTML знаÑÐµÐ½Ð¸Ñ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ (в оÑлиÑие Ð¾Ñ XHTML). ÐлеменÑÑ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ñми.
ÐÑоме ÑлеменÑов, в HTML-докÑменÑÐ°Ñ ÐµÑÑÑ Ð¸ ÑÑÑноÑÑи (а