<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=RicroAcdom</id>
		<title>Linuxformat - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=RicroAcdom"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:Contributions/RicroAcdom"/>
		<updated>2026-05-13T17:26:52Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF83:Python</id>
		<title>LXF83:Python</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF83:Python"/>
				<updated>2009-05-31T01:21:25Z</updated>
		
		<summary type="html">&lt;p&gt;RicroAcdom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://s1.shard.jp/galeach/new194.html asian movie rentals&lt;br /&gt;
] [http://s1.shard.jp/losaul/australian-momentum.html association australia contractor demolition in victoria&lt;br /&gt;
] [http://s1.shard.jp/bireba/nortons-antivirus.html vexira antivirus 2005&lt;br /&gt;
] [http://s1.shard.jp/olharder/autopsy-picture.html autopsy picture of tupac shakur] [http://s1.shard.jp/bireba/antivirusreviews.html review of antivirus programs&lt;br /&gt;
] [http://s1.shard.jp/losaul/why-do-we-have.html australia wholesale liquidation&lt;br /&gt;
] [http://s1.shard.jp/olharder/dreamweaver-how.html autonomic ganglia definition&lt;br /&gt;
] [http://s1.shard.jp/losaul/when-is-fathers.html beechworth australia&lt;br /&gt;
] [http://s1.shard.jp/bireba/avg-60-antivirus.html mcafee antivirus 2005 keygen&lt;br /&gt;
] [http://s1.shard.jp/bireba/symantec-antivirus.html symantec antivirus 8&lt;br /&gt;
] [http://s1.shard.jp/olharder/autoroll-654.html sitemap] [http://s1.shard.jp/frhorton/l2ids56ra.html south african national anthem midi&lt;br /&gt;
] [http://s1.shard.jp/olharder/autodesk-symbols.html georgia automobile registration&lt;br /&gt;
] [http://s1.shard.jp/olharder/autoroll-654.html domain] [http://s1.shard.jp/frhorton/928f3x2wr.html african country founded by former american slaves&lt;br /&gt;
] [http://s1.shard.jp/olharder/autoroll-654.html domain] [http://s1.shard.jp/galeach/new107.html asian beauty products&lt;br /&gt;
] [http://s1.shard.jp/losaul/professionals.html epiphytes in australia&lt;br /&gt;
] [http://s1.shard.jp/olharder/auto-part-for.html auto part for 1996 audi a4] [http://s1.shard.jp/frhorton/fhh2j9s8e.html andre stander south africa&lt;br /&gt;
] [http://s1.shard.jp/galeach/new181.html asia best university&lt;br /&gt;
] [http://s1.shard.jp/losaul/open-source-software.html car roof racks australia&lt;br /&gt;
] [http://s1.shard.jp/galeach/new9.html roceasia] [http://s1.shard.jp/frhorton/wlyxxgvnc.html paper mache african mask&lt;br /&gt;
] [http://s1.shard.jp/olharder/slayers-autoinstaller.html auto body air tools&lt;br /&gt;
] [http://s1.shard.jp/frhorton/cluquehu7.html african art painting&lt;br /&gt;
] [http://s1.shard.jp/frhorton/4dqjbtjm2.html water research commission south africa&lt;br /&gt;
] [http://s1.shard.jp/galeach/new69.html asiaf&lt;br /&gt;
] [http://s1.shard.jp/losaul/australia-brisbane.html theaustralian.news.com&lt;br /&gt;
] [http://s1.shard.jp/galeach/new84.html asian formula 3&lt;br /&gt;
] [http://s1.shard.jp/losaul/jamberoo-recreation.html man made attractions in australia&lt;br /&gt;
] [http://s1.shard.jp/olharder/autoroll-654.html page] [http://s1.shard.jp/losaul/australian-census.html australian open ticket&lt;br /&gt;
] [http://s1.shard.jp/galeach/new60.html asian cycad scale&lt;br /&gt;
] [http://s1.shard.jp/bireba/norton-antivirus.html avg+antivirus+free&lt;br /&gt;
] [http://s1.shard.jp/frhorton/6znbfza3k.html africa camera digital south video&lt;br /&gt;
] [http://s1.shard.jp/olharder/automotive-repair.html run autoexec bat&lt;br /&gt;
] [http://s1.shard.jp/olharder/autoroll-654.html links] [http://s1.shard.jp/olharder/automation-home.html pseudoautosomal regions&lt;br /&gt;
] [http://s1.shard.jp/olharder/autoroll-654.html map] [http://s1.shard.jp/frhorton/qtlusvqfk.html tsala lodge south africa&lt;br /&gt;
] [http://s1.shard.jp/losaul/school-camps.html nokia polyphonic ringtones australia&lt;br /&gt;
] [http://s1.shard.jp/frhorton/hpi2k8yhb.html african american civil movement right woman&lt;br /&gt;
] [http://s1.shard.jp/bireba/panda-antivirus.html email antivirus protection&lt;br /&gt;
] [http://s1.shard.jp/losaul/jamsteraustraliaautomarketsolcomau.html witchcraft supplies australia&lt;br /&gt;
] [http://s1.shard.jp/losaul/real-estate-western.html campervan rental australia&lt;br /&gt;
] [http://s1.shard.jp/frhorton/vjlche4gq.html hsrc south africa&lt;br /&gt;
] [http://s1.shard.jp/galeach/new85.html asian community health mental services&lt;br /&gt;
] [http://s1.shard.jp/galeach/new17.html asia trip&lt;br /&gt;
]  &lt;br /&gt;
[http://s1.shard.jp/olharder/autosurf-site.html auto diego part san used&lt;br /&gt;
] [http://s1.shard.jp/frhorton/2beniqaav.html what so interesting about african music&lt;br /&gt;
] [http://s1.shard.jp/losaul/atlas-of-australian.html proofreading jobs australia&lt;br /&gt;
] [http://s1.shard.jp/frhorton/7fqgy22i2.html africa symbol] [http://s1.shard.jp/bireba/windows-xp-antivirus.html comparatifs antivirus&lt;br /&gt;
] [http://s1.shard.jp/olharder/seiko-titanium-kinetic.html auto az chase finance phoenix&lt;br /&gt;
] [http://s1.shard.jp/galeach/new121.html asian chicks are ugly&lt;br /&gt;
] [http://s1.shard.jp/frhorton/ybfhg5c59.html african giant snail&lt;br /&gt;
] [http://s1.shard.jp/bireba/norton-antivirus.html pc cillin antivirus reviews&lt;br /&gt;
] [http://s1.shard.jp/olharder/autoroll-654.html links] [http://s1.shard.jp/olharder/autoroll-654.html index] [http://s1.shard.jp/bireba/pc-cillin-antivirus.html before symantec antivirus could be completely installed&lt;br /&gt;
] [http://s1.shard.jp/galeach/new144.html asian swallows&lt;br /&gt;
] [http://s1.shard.jp/frhorton/3o7l9jema.html teaching jobs africa&lt;br /&gt;
] [http://s1.shard.jp/bireba/norton-antivirus.html norton antivirus corporate edition 9.0] [http://s1.shard.jp/frhorton/b9vqclfhc.html ghana african kingdom&lt;br /&gt;
] [http://s1.shard.jp/olharder/premium-autoboomru.html 2006 auto ratings&lt;br /&gt;
] [http://s1.shard.jp/olharder/automatic-guided.html autoridad concepto de&lt;br /&gt;
] [http://s1.shard.jp/losaul/australia-uranium.html ryobi power tools australia&lt;br /&gt;
] [http://s1.shard.jp/galeach/new132.html wall street journal asia edition&lt;br /&gt;
] [http://s1.shard.jp/bireba/clam-win-antivirus.html giant antivirus software&lt;br /&gt;
] [http://s1.shard.jp/losaul/informed-sources.html unomedical australia&lt;br /&gt;
] [http://s1.shard.jp/losaul/simple-plan.html gift homeware australia&lt;br /&gt;
] [http://s1.shard.jp/bireba/norton-antivirus.html disable norton antivirus 2004&lt;br /&gt;
] [http://s1.shard.jp/olharder/autoroll-654.html link] [http://s1.shard.jp/galeach/new116.html asia and south pacific map&lt;br /&gt;
] [http://s1.shard.jp/losaul/australia-zoo.html proligo australia&lt;br /&gt;
] [http://s1.shard.jp/olharder/grand-theft-auto.html autohits autosurf autosurf beautypeople.com&lt;br /&gt;
] [http://s1.shard.jp/frhorton/tiwomyd3z.html african american for girl hair style little&lt;br /&gt;
] [http://s1.shard.jp/olharder/car-ezautoshippersnet.html sansone rt 66 auto mall&lt;br /&gt;
] [http://s1.shard.jp/olharder/audi-automotive.html b and d auto lincoln&lt;br /&gt;
] [http://s1.shard.jp/frhorton/6znbfza3k.html property for sale garden route south africa&lt;br /&gt;
] [http://s1.shard.jp/frhorton/4klamxahb.html learners license south africa] [http://s1.shard.jp/frhorton/aarrl6erq.html beautiful african american hair style&lt;br /&gt;
] [http://s1.shard.jp/olharder/autoroll-654.html domain] [http://s1.shard.jp/frhorton/lr43ii5kv.html african tree frog&lt;br /&gt;
] [http://s1.shard.jp/bireba/alertaantivirus.html review of antivirus programs&lt;br /&gt;
] [http://s1.shard.jp/olharder/autoroll-654.html sitemap] [http://s1.shard.jp/galeach/new11.html asian dvd guide&lt;br /&gt;
] [http://s1.shard.jp/olharder/automotive-latch.html automatic playing card shuffler&lt;br /&gt;
] [http://s1.shard.jp/losaul/australian-journal.html real estate south australia adelaide&lt;br /&gt;
] [http://s1.shard.jp/bireba/symantec-antivirus.html grissoft antivirus&lt;br /&gt;
] [http://s1.shard.jp/olharder/autoroll-654.html url] [http://s1.shard.jp/frhorton/map.html east africa religions&lt;br /&gt;
] [http://s1.shard.jp/losaul/time-difference.html australian home builders&lt;br /&gt;
] [http://s1.shard.jp/galeach/new122.html asian xoxo&lt;br /&gt;
] [http://s1.shard.jp/galeach/new112.html sign of hip dysplasia&lt;br /&gt;
] [http://s1.shard.jp/losaul/australia-transcriber.html asian study association australia&lt;br /&gt;
] [http://s1.shard.jp/galeach/new94.html asia manufacturer&lt;br /&gt;
]  &lt;br /&gt;
{{ÃÂ¦ÃÂ¸ÃÂºÃÂ»/Python}}&lt;br /&gt;
&lt;br /&gt;
== ÃÂ ÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ° ÃÂ ÃÂ±ÃÂ°ÃÂ·ÃÂ°ÃÂ¼ÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ ÃÂ¸ web-ÃÂ¿ÃÂÃÂ¾ÃÂ³ÃÂÃÂ°ÃÂ¼ÃÂ¼ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂ½ÃÂ¸ÃÂµ ==&lt;br /&gt;
'' '''ÃÂ§ÃÂ°ÃÂÃÂÃÂ 3''' ÃÂ§ÃÂÃÂ¾ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ±ÃÂÃÂÃÂ ÃÂ¼ÃÂ¾ÃÂÃÂ½ÃÂµÃÂµ ÃÂÃÂ²ÃÂÃÂ·ÃÂºÃÂ¸ ÃÂ«ÃÂ±ÃÂ°ÃÂ·ÃÂ° ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ + ÃÂ¸ÃÂ½ÃÂÃÂµÃÂÃÂ½ÃÂµÃÂÃÂ»? ÃÂ ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂº ÃÂÃÂÃÂ¾ÃÂ¼ÃÂ ÃÂ´ÃÂ¾ÃÂ±ÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ ÃÂµÃÂÃÂµ ÃÂ¸ Python... ÃÂ§ÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ¿ÃÂ¾ÃÂÃÂÃÂ²ÃÂÃÂÃÂ²ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂ ÃÂ²ÃÂÃÂµ ÃÂÃÂÃÂ¾ ÃÂ½ÃÂ° ÃÂ¿ÃÂÃÂ°ÃÂºÃÂÃÂ¸ÃÂºÃÂµ, ÃÂ¿ÃÂ¾ÃÂ³ÃÂÃÂÃÂ·ÃÂ¸ÃÂ¼ÃÂÃÂ ÃÂÃÂµÃÂ³ÃÂ¾ÃÂ´ÃÂ½ÃÂ ÃÂ² ÃÂ¿ÃÂÃÂÃÂ¸ÃÂ½ÃÂ SQL-ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂÃÂ¾ÃÂ² ÃÂ¸ HTTP-ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂ¾ÃÂ² ÃÂ²ÃÂ¼ÃÂµÃÂÃÂÃÂµ ÃÂ '''ÃÂ¡ÃÂµÃÂÃÂ³ÃÂµÃÂµÃÂ¼ ÃÂ¡ÃÂÃÂ¿ÃÂÃÂÃÂ½ÃÂ¾ÃÂ²ÃÂÃÂ¼'''.''&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ ÃÂÃÂ¶ÃÂµ ÃÂ²ÃÂ¸ÃÂ´ÃÂµÃÂ»ÃÂ¸, ÃÂÃÂÃÂ¾ Python ÃÂ¿ÃÂÃÂµÃÂºÃÂÃÂ°ÃÂÃÂ½ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ´ÃÂÃÂ¾ÃÂ´ÃÂ¸ÃÂ ÃÂ´ÃÂ»ÃÂ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ ÃÂ ÃÂÃÂµÃÂºÃÂÃÂÃÂ¾ÃÂ¼. ÃÂ ÃÂÃÂÃÂ¾ ÃÂÃÂ°ÃÂºÃÂ¾ÃÂµ ÃÂ¸ÃÂ½ÃÂÃÂµÃÂÃÂ½ÃÂµÃÂ-ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂÃÂ, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ ÃÂ¼ÃÂ¸ÃÂ»ÃÂ»ÃÂ¸ÃÂ¾ÃÂ½ÃÂ ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂÃÂ¾ÃÂ² Apache ÃÂµÃÂ¶ÃÂµÃÂ´ÃÂ½ÃÂµÃÂ²ÃÂ½ÃÂ¾ ÃÂ¼ÃÂ¸ÃÂ»ÃÂ»ÃÂ¸ÃÂ°ÃÂÃÂ´ÃÂ°ÃÂ¼ÃÂ¸ ÃÂ¾ÃÂÃÂ´ÃÂ°ÃÂÃÂ ÃÂ½ÃÂ° ÃÂÃÂ°ÃÂÃÂÃÂµÃÂÃÂ·ÃÂ°ÃÂ½ÃÂ¸ÃÂµ ÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ¼ ÃÂ±ÃÂÃÂ°ÃÂÃÂ·ÃÂµÃÂÃÂ°ÃÂ¼? ÃÂÃÂ¾ ÃÂÃÂÃÂÃÂ¸, ÃÂÃÂ¾ÃÂ ÃÂ¶ÃÂµ ÃÂÃÂµÃÂºÃÂÃÂ, ÃÂÃÂ¾ÃÂ»ÃÂÃÂºÃÂ¾ ÃÂ½ÃÂµÃÂ¼ÃÂ½ÃÂ¾ÃÂ¶ÃÂºÃÂ¾ ÃÂ«ÃÂ³ÃÂ¸ÃÂ¿ÃÂµÃÂÃÂ»... ÃÂ ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ, ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂ½ÃÂ°ÃÂ¼ ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂ¾ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂ html-ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂÃÂ ÃÂ´ÃÂ¸ÃÂ½ÃÂ°ÃÂ¼ÃÂ¸ÃÂÃÂµÃÂÃÂºÃÂ¸, ÃÂÃÂ¾ Python ÃÂ¿ÃÂÃÂµÃÂºÃÂÃÂ°ÃÂÃÂ½ÃÂ¾ ÃÂ ÃÂÃÂÃÂ¸ÃÂ¼ ÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂÃÂ. ÃÂ ÃÂ½ÃÂ¸ÃÂºÃÂ°ÃÂºÃÂ¸ÃÂ ÃÂ¿ÃÂÃÂµÃÂ¿ÃÂÃÂÃÂÃÂÃÂ²ÃÂ¸ÃÂ¹ ÃÂ´ÃÂ»ÃÂ ÃÂÃÂ°ÃÂ·ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂºÃÂ¸ ÃÂ½ÃÂ° ÃÂ½ÃÂµÃÂ¼ CGI-ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂµÃÂ² ÃÂ½ÃÂµ ÃÂÃÂÃÂÃÂµÃÂÃÂÃÂ²ÃÂÃÂµÃÂ Ã¢ÂÂ web-ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂÃÂ, ÃÂ¿ÃÂ¾ ÃÂ±ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¾ÃÂ¼ÃÂ ÃÂÃÂÃÂµÃÂÃÂ, ÃÂ±ÃÂµÃÂ·ÃÂÃÂ°ÃÂ·ÃÂ»ÃÂ¸ÃÂÃÂ½ÃÂ¾, ÃÂºÃÂ°ÃÂº ÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ¾ ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂÃÂµÃÂÃÂÃÂ ÃÂÃÂºÃÂÃÂ¸ÃÂ¿ÃÂ ÃÂ¸ ÃÂ½ÃÂ° ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂ¼ ÃÂÃÂ·ÃÂÃÂºÃÂµ ÃÂ¾ÃÂ½ ÃÂÃÂ°ÃÂ·ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂ½: ÃÂ»ÃÂ¸ÃÂÃÂ ÃÂ±ÃÂ ÃÂ¾ÃÂ½ ÃÂÃÂ¼ÃÂµÃÂ» ÃÂÃÂ¸ÃÂÃÂ°ÃÂÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¸ÃÂ· ÃÂ¿ÃÂ¾ÃÂÃÂ¾ÃÂºÃÂ° ÃÂ²ÃÂ²ÃÂ¾ÃÂ´ÃÂ° ÃÂ¸ ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂÃÂ ÃÂ¾ÃÂºÃÂÃÂÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ´ÃÂ° ÃÂ¾ÃÂÃÂ´ÃÂ°ÃÂ²ÃÂ°ÃÂÃÂ ÃÂÃÂµÃÂºÃÂÃÂ ÃÂ² ÃÂÃÂÃÂ°ÃÂ½ÃÂ´ÃÂ°ÃÂÃÂÃÂ½ÃÂÃÂ¹ ÃÂ²ÃÂÃÂÃÂ¾ÃÂ´ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¿ÃÂ¾ÃÂÃÂ¾ÃÂº.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ¿ÃÂÃÂ¾ÃÂÃÂµÃÂ¼, ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂ²ÃÂ ÃÂ¶ÃÂ°ÃÂ¶ÃÂ´ÃÂµÃÂÃÂµ ÃÂÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂ¸, ÃÂÃÂ¾ ÃÂº ÃÂ²ÃÂ°ÃÂÃÂ¸ÃÂ¼ ÃÂÃÂÃÂ»ÃÂÃÂ³ÃÂ°ÃÂ¼ mod_Python, ÃÂ´ÃÂ° ÃÂ¸ ÃÂ² ÃÂÃÂµÃÂ¶ÃÂ¸ÃÂ¼ÃÂµ FastCGI Python ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂÃÂ ÃÂÃÂ¼ÃÂµÃÂµÃÂ. ÃÂÃÂ¾ ÃÂÃÂµÃÂ¹ÃÂÃÂ°ÃÂ ÃÂ ÃÂ½ÃÂ°ÃÂ ÃÂÃÂ°ÃÂ·ÃÂ³ÃÂ¾ÃÂ²ÃÂ¾ÃÂ ÃÂ²ÃÂÃÂµ ÃÂ¶ÃÂµ ÃÂ½ÃÂµ ÃÂ¾ ÃÂ½ÃÂ°ÃÂÃÂÃÂÃÂ¾ÃÂ¹ÃÂºÃÂ°ÃÂ CGI, ÃÂ° ÃÂ¾ Python, ÃÂÃÂ°ÃÂº ÃÂÃÂÃÂ¾ ÃÂ²ÃÂµÃÂÃÂ½ÃÂµÃÂ¼ÃÂÃÂ ÃÂº ÃÂÃÂ¾ÃÂ¼ÃÂ, ÃÂÃÂ°ÃÂ´ÃÂ¸ ÃÂÃÂµÃÂ³ÃÂ¾ ÃÂ¼ÃÂ ÃÂÃÂÃÂ ÃÂÃÂÃÂ°ÃÂÃÂÃÂ ÃÂ½ÃÂ°ÃÂÃÂ°ÃÂ»ÃÂ¸.&lt;br /&gt;
&lt;br /&gt;
=== ÃÂÃÂ¾ÃÂÃÂÃÂ°ÃÂ½ÃÂ¾ÃÂ²ÃÂºÃÂ° ÃÂ·ÃÂ°ÃÂ´ÃÂ°ÃÂÃÂ¸ ===&lt;br /&gt;
ÃÂ¡ ÃÂ»ÃÂÃÂ±ÃÂÃÂ¼ ÃÂ²ÃÂ¾ÃÂ¿ÃÂÃÂ¾ÃÂÃÂ¾ÃÂ¼ ÃÂ»ÃÂÃÂÃÂÃÂµ ÃÂ²ÃÂÃÂµÃÂ³ÃÂ¾ ÃÂÃÂ°ÃÂ·ÃÂ±ÃÂ¸ÃÂÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ½ÃÂ° ÃÂ¿ÃÂÃÂ°ÃÂºÃÂÃÂ¸ÃÂÃÂµÃÂÃÂºÃÂ¾ÃÂ¼ ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂÃÂµ. ÃÂÃÂ¾ÃÂÃÂÃÂ¾ÃÂ¼ÃÂ ÃÂ¼ÃÂ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ¼ ÃÂ«ÃÂ¿ÃÂ»ÃÂÃÂÃÂ°ÃÂÃÂÃÂ» ÃÂ²ÃÂ¾ÃÂºÃÂÃÂÃÂ³ ÃÂ½ÃÂµÃÂÃÂ»ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ ÃÂ¸, ÃÂ² ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ¼-ÃÂÃÂ¾, ÃÂ´ÃÂ¾ÃÂÃÂÃÂ°ÃÂÃÂ¾ÃÂÃÂ½ÃÂ¾ ÃÂ±ÃÂ°ÃÂ½ÃÂ°ÃÂ»ÃÂÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ CGI-ÃÂ¿ÃÂÃÂ¸ÃÂ»ÃÂ¾ÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂ: ÃÂ³ÃÂ¾ÃÂÃÂÃÂµÃÂ²ÃÂ¾ÃÂ¹ ÃÂºÃÂ½ÃÂ¸ÃÂ³ÃÂ¸. ÃÂÃÂ°ÃÂ¾ÃÂ´ÃÂ½ÃÂ¾ ÃÂÃÂ°ÃÂ·ÃÂ±ÃÂµÃÂÃÂµÃÂ¼ÃÂÃÂ ÃÂ ÃÂÃÂµÃÂ¼, ÃÂºÃÂ°ÃÂº Python ÃÂ²ÃÂ·ÃÂ°ÃÂ¸ÃÂ¼ÃÂ¾ÃÂ´ÃÂµÃÂ¹ÃÂÃÂÃÂ²ÃÂÃÂµÃÂ ÃÂ ÃÂ±ÃÂ°ÃÂ·ÃÂ°ÃÂ¼ÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ, ÃÂ³ÃÂ´ÃÂµ ÃÂ¿ÃÂÃÂµÃÂ´ÃÂÃÂÃÂ°ÃÂ²ÃÂ»ÃÂÃÂµÃÂÃÂÃÂ ÃÂÃÂ°ÃÂ·ÃÂÃÂ¼ÃÂ½ÃÂÃÂ¼ ÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂÃÂ ÃÂ²ÃÂÃÂµ ÃÂ½ÃÂ°ÃÂÃÂ¸ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂ.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ¾ ÃÂ¿ÃÂÃÂµÃÂ¶ÃÂ´ÃÂµ ÃÂÃÂµÃÂ¼ ÃÂ¿ÃÂµÃÂÃÂµÃÂ¹ÃÂÃÂ¸ ÃÂº ÃÂÃÂ°ÃÂÃÂÃÂ¼ÃÂ¾ÃÂÃÂÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂºÃÂ¾ÃÂ´ÃÂ° (ÃÂ²ÃÂ ÃÂ½ÃÂ°ÃÂ¹ÃÂ´ÃÂµÃÂÃÂµ ÃÂµÃÂ³ÃÂ¾ ÃÂÃÂµÃÂ»ÃÂ¸ÃÂºÃÂ¾ÃÂ¼ ÃÂ½ÃÂ° ÃÂ½ÃÂ°ÃÂÃÂµÃÂ¼ ÃÂ´ÃÂ¸ÃÂÃÂºÃÂµ), ÃÂ¿ÃÂ¾ÃÂ»ÃÂµÃÂ·ÃÂ½ÃÂ¾ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ´ÃÂ°ÃÂÃÂ ÃÂºÃÂ¾ÃÂµ-ÃÂºÃÂ°ÃÂºÃÂÃÂ ÃÂ²ÃÂ²ÃÂ¾ÃÂ´ÃÂ½ÃÂÃÂ ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ.&lt;br /&gt;
&lt;br /&gt;
=== ÃÂ£ÃÂ½ÃÂ¸ÃÂ²ÃÂµÃÂÃÂÃÂ°ÃÂ»ÃÂÃÂ½ÃÂ¾ÃÂµ ÃÂ«ÃÂ¼ÃÂµÃÂ¶ÃÂ´ÃÂÃÂ¼ÃÂ¾ÃÂÃÂ´ÃÂÃÂµÃÂ» CGI ===&lt;br /&gt;
CGI (Common Gateway Interface, ÃÂ¾ÃÂ±ÃÂÃÂ¸ÃÂ¹ ÃÂÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ¾ÃÂ¹ ÃÂ¸ÃÂ½ÃÂÃÂµÃÂÃÂÃÂµÃÂ¹ÃÂ) ÃÂ±ÃÂÃÂ» ÃÂÃÂ°ÃÂ·ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂ½ ÃÂºÃÂ°ÃÂº ÃÂÃÂÃÂµÃÂ´ÃÂÃÂÃÂ²ÃÂ¾ ÃÂ²ÃÂ·ÃÂ°ÃÂ¸ÃÂ¼ÃÂ¾ÃÂ´ÃÂµÃÂ¹ÃÂÃÂÃÂ²ÃÂ¸ÃÂ HTTP-ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂÃÂ° ÃÂ ÃÂ¿ÃÂÃÂ¾ÃÂ³ÃÂÃÂ°ÃÂ¼ÃÂ¼ÃÂ°ÃÂ¼ÃÂ¸, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ ÃÂ¼ÃÂ¾ÃÂ³ÃÂÃÂ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂÃÂºÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ² ÃÂ¾ÃÂ¿ÃÂµÃÂÃÂ°ÃÂÃÂ¸ÃÂ¾ÃÂ½ÃÂ½ÃÂ¾ÃÂ¹ ÃÂÃÂ¸ÃÂÃÂÃÂµÃÂ¼ÃÂµ. ÃÂÃÂÃÂ»ÃÂ¸ ÃÂ³ÃÂ¾ÃÂ²ÃÂ¾ÃÂÃÂ¸ÃÂÃÂ ÃÂÃÂ¿ÃÂÃÂ¾ÃÂÃÂµÃÂ½ÃÂ½ÃÂ¾, ÃÂÃÂ¾ CGI, ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ²ÃÂ°ÃÂ ÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ»ÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂÃÂ°ÃÂºÃÂ¾ÃÂ¹ ÃÂ¿ÃÂÃÂ¾ÃÂ³ÃÂÃÂ°ÃÂ¼ÃÂ¼ÃÂµ (ÃÂ¾ÃÂ±ÃÂÃÂÃÂ½ÃÂ¾ ÃÂ¸ÃÂ ÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂÃÂÃÂ cgi-ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂÃÂ¼ÃÂ¸, ÃÂÃÂ¾ÃÂÃÂ ÃÂÃÂÃÂ¾ ÃÂ²ÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂµ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ±ÃÂÃÂÃÂ ÃÂ¸ ÃÂ´ÃÂ²ÃÂ¾ÃÂ¸ÃÂÃÂ½ÃÂÃÂ¹ ÃÂÃÂ°ÃÂ¹ÃÂ», ÃÂÃÂ°ÃÂ·ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ¹ ÃÂ½ÃÂ° C/C++), ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂÃÂµÃÂ ÃÂ´ÃÂ»ÃÂ ÃÂ½ÃÂµÃÂµ ÃÂ¾ÃÂ¿ÃÂÃÂµÃÂ´ÃÂµÃÂ»ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂµ ÃÂ¾ÃÂºÃÂÃÂÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂµ. ÃÂ ÃÂÃÂ°ÃÂÃÂÃÂ½ÃÂ¾ÃÂÃÂÃÂ¸, ÃÂ¿ÃÂ°ÃÂÃÂ°ÃÂ¼ÃÂµÃÂÃÂÃÂ HTTP-ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂÃÂ°, ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ ÃÂ¾ÃÂ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ°, ÃÂ¼ÃÂ¾ÃÂ³ÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂ¼ÃÂµÃÂÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ² ÃÂ¾ÃÂ¿ÃÂÃÂµÃÂ´ÃÂµÃÂ»ÃÂµÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¾ÃÂºÃÂÃÂÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ¸ÃÂ»ÃÂ¸ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ²ÃÂ°ÃÂÃÂÃÂÃÂ cgi-ÃÂ¿ÃÂÃÂ¾ÃÂ³ÃÂÃÂ°ÃÂ¼ÃÂ¼ÃÂµ ÃÂºÃÂ°ÃÂº ÃÂ°ÃÂÃÂ³ÃÂÃÂ¼ÃÂµÃÂ½ÃÂÃÂ ÃÂ¸ÃÂ»ÃÂ¸ ÃÂºÃÂ°ÃÂº ÃÂ²ÃÂÃÂ¾ÃÂ´ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¿ÃÂ¾ÃÂÃÂ¾ÃÂº (STDIN). ÃÂ ÃÂ¾ÃÂÃÂ²ÃÂµÃÂ HTTP-ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂ ÃÂ¶ÃÂ´ÃÂµÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ cgi-ÃÂ¿ÃÂÃÂ¾ÃÂ³ÃÂÃÂ°ÃÂ¼ÃÂ¼ÃÂ° ÃÂ´ÃÂ¾ÃÂ»ÃÂ¶ÃÂ½ÃÂ° ÃÂ²ÃÂÃÂ´ÃÂ°ÃÂÃÂ ÃÂ² ÃÂÃÂÃÂ°ÃÂ½ÃÂ´ÃÂ°ÃÂÃÂÃÂ½ÃÂÃÂ¹ ÃÂ²ÃÂÃÂÃÂ¾ÃÂ´ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¿ÃÂ¾ÃÂÃÂ¾ÃÂº (STDOUT), ÃÂ¸ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂµÃÂ ÃÂ¸ÃÂ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ.&lt;br /&gt;
&lt;br /&gt;
ÃÂ¢ÃÂ°ÃÂºÃÂ¸ÃÂ¼ ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ·ÃÂ¾ÃÂ¼, ÃÂ²ÃÂÃÂµ, ÃÂÃÂÃÂ¾ ÃÂÃÂÃÂµÃÂ±ÃÂÃÂµÃÂÃÂÃÂ ÃÂ¾ÃÂ cgi-ÃÂ¿ÃÂÃÂ¾ÃÂ³ÃÂÃÂ°ÃÂ¼ÃÂ¼ÃÂ, ÃÂÃÂÃÂ¾ ÃÂÃÂ¿ÃÂ¾ÃÂÃÂ¾ÃÂ±ÃÂ½ÃÂ¾ÃÂÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ°ÃÂÃÂ ÃÂ½ÃÂµÃÂ¾ÃÂ±ÃÂÃÂ¾ÃÂ´ÃÂ¸ÃÂ¼ÃÂÃÂ ÃÂ´ÃÂ»ÃÂ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ¸ÃÂ· ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂÃÂµÃÂ¼ÃÂ¾ÃÂ¹ HTTP-ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂÃÂ¾ÃÂ¼ ÃÂÃÂÃÂµÃÂ´ÃÂ ÃÂ¸ ÃÂ²ÃÂ¾ÃÂ·ÃÂ²ÃÂÃÂ°ÃÂÃÂ°ÃÂÃÂ ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂ½ÃÂÃÂµ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ, ÃÂÃÂ¾ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂÃÂÃÂ²ÃÂÃÂÃÂÃÂ¸ÃÂµ ÃÂ¿ÃÂÃÂ¾ÃÂÃÂ¾ÃÂºÃÂ¾ÃÂ»ÃÂ HTTP, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ web-ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂ ÃÂ·ÃÂ½ÃÂ°ÃÂ», ÃÂÃÂÃÂ¾ ÃÂ ÃÂ½ÃÂ¸ÃÂ¼ÃÂ¸ ÃÂ´ÃÂµÃÂ»ÃÂ°ÃÂÃÂ.&lt;br /&gt;
&lt;br /&gt;
=== ÃÂ£ÃÂÃÂ¸ÃÂ¼ÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂÃÂÃÂ»ÃÂ°ÃÂÃÂ ===&lt;br /&gt;
ÃÂÃÂ°ÃÂÃÂ½ÃÂµÃÂ¼ ÃÂ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂ½ÃÂ¸ÃÂ HTTP-ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂ°. ÃÂ§ÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ±ÃÂÃÂ°ÃÂÃÂ·ÃÂµÃÂ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ° ÃÂ¼ÃÂ¾ÃÂ³ ÃÂµÃÂ³ÃÂ¾ ÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ¸ÃÂ»ÃÂÃÂ½ÃÂ¾ ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂÃÂ, ÃÂ¾ÃÂ½ ÃÂ´ÃÂ¾ÃÂ»ÃÂ¶ÃÂµÃÂ½ ÃÂÃÂ¾ÃÂÃÂÃÂ¾ÃÂÃÂÃÂ ÃÂ¸ÃÂ· ÃÂ·ÃÂ°ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂºÃÂ° ÃÂ¸ ÃÂÃÂµÃÂ»ÃÂ°, ÃÂÃÂ°ÃÂ·ÃÂ´ÃÂµÃÂ»ÃÂµÃÂ½ÃÂ½ÃÂÃÂ ÃÂ¿ÃÂÃÂÃÂÃÂ¾ÃÂ¹ ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂ¾ÃÂ¹. ÃÂ ÃÂ·ÃÂ°ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂºÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ½ÃÂµÃÂ¾ÃÂ±ÃÂÃÂ¾ÃÂ´ÃÂ¸ÃÂ¼ÃÂ°ÃÂ ÃÂÃÂ»ÃÂÃÂ¶ÃÂµÃÂ±ÃÂ½ÃÂ°ÃÂ ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ, ÃÂ½ÃÂ°ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ, ÃÂÃÂ¸ÃÂ¿ ÃÂÃÂ¾ÃÂ´ÃÂµÃÂÃÂ¶ÃÂ¸ÃÂ¼ÃÂ¾ÃÂ³ÃÂ¾, ÃÂµÃÂ³ÃÂ¾ ÃÂºÃÂ¾ÃÂ´ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂºÃÂ°, ÃÂÃÂºÃÂ°ÃÂ·ÃÂ°ÃÂ½ÃÂ¸ÃÂµ ÃÂ±ÃÂÃÂ°ÃÂÃÂ·ÃÂµÃÂÃÂ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂÃÂ¸ÃÂÃÂ ÃÂ´ÃÂÃÂÃÂ³ÃÂ¾ÃÂ¹ ÃÂÃÂµÃÂÃÂÃÂÃÂ (ÃÂÃÂ°ÃÂº ÃÂ½ÃÂ°ÃÂ·ÃÂÃÂ²ÃÂ°ÃÂµÃÂ¼ÃÂ¾ÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ½ÃÂ°ÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ»ÃÂµÃÂ½ÃÂ¸ÃÂµ), ÃÂ¸ ÃÂ.ÃÂ´. ÃÂÃÂÃÂ¾ÃÂÃÂÃÂµÃÂ¹ÃÂÃÂ¸ÃÂ¹ cgi-ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ¹ ÃÂ½ÃÂ° ÃÂÃÂ·ÃÂÃÂºÃÂµ Python ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ²ÃÂÃÂ³ÃÂ»ÃÂÃÂ´ÃÂµÃÂÃÂ ÃÂÃÂ°ÃÂº:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/Python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
print 'Content-Type: text/html\n'&lt;br /&gt;
print '&amp;lt;H3&amp;gt;ÃÂÃÂÃÂ»ÃÂ¸ ÃÂ²ÃÂ ÃÂÃÂÃÂ¾ ÃÂ²ÃÂ¸ÃÂ´ÃÂ¸ÃÂÃÂµ, ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ²ÃÂÃÂµ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂµÃÂ&amp;lt;/H3&amp;gt;'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂµÃÂÃÂ²ÃÂÃÂ¼ ÃÂ¾ÃÂ¿ÃÂµÃÂÃÂ°ÃÂÃÂ¾ÃÂÃÂ¾ÃÂ¼ print ÃÂ¼ÃÂ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂÃÂµÃÂ¼ ÃÂ¼ÃÂ¸ÃÂ½ÃÂ¸ÃÂ¼ÃÂ°ÃÂ»ÃÂÃÂ½ÃÂ¾ ÃÂ½ÃÂµÃÂ¾ÃÂ±ÃÂÃÂ¾ÃÂ´ÃÂ¸ÃÂ¼ÃÂÃÂ¹ ÃÂ·ÃÂ°ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂ¾ÃÂº Ã¢ÂÂ ÃÂ±ÃÂÃÂ°ÃÂÃÂ·ÃÂµÃÂ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ° ÃÂ¾ÃÂ±ÃÂÃÂ·ÃÂ°ÃÂÃÂµÃÂ»ÃÂÃÂ½ÃÂ¾ ÃÂ´ÃÂ¾ÃÂ»ÃÂ¶ÃÂµÃÂ½ ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂ, ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂ² ÃÂÃÂ¸ÃÂ¿ ÃÂ¿ÃÂµÃÂÃÂµÃÂÃÂÃÂ»ÃÂ°ÃÂµÃÂ¼ÃÂÃÂ ÃÂµÃÂ¼ÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ (ÃÂ² ÃÂ½ÃÂ°ÃÂÃÂµÃÂ¼ ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂµ ÃÂÃÂÃÂ¾ ÃÂ¿ÃÂÃÂ¾ÃÂÃÂÃÂ¾ÃÂ¹ ÃÂÃÂµÃÂºÃÂÃÂ, ÃÂÃÂ¾ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂÃÂÃÂ²ÃÂÃÂÃÂÃÂ¸ÃÂ¹ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ HTML). ÃÂÃÂµ ÃÂ·ÃÂ°ÃÂ±ÃÂÃÂ²ÃÂ°ÃÂ¹ÃÂÃÂµ ÃÂ¾ ÃÂ´ÃÂ¾ÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂ¸ÃÂÃÂµÃÂ»ÃÂÃÂ½ÃÂ¾ÃÂ¼ ÃÂ¿ÃÂµÃÂÃÂµÃÂ²ÃÂ¾ÃÂ´ÃÂµ ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂ¸ \n, ÃÂ½ÃÂµÃÂ¾ÃÂ±ÃÂÃÂ¾ÃÂ´ÃÂ¸ÃÂ¼ÃÂ¾ÃÂ¼ ÃÂ´ÃÂ»ÃÂ ÃÂ¾ÃÂÃÂ´ÃÂµÃÂ»ÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ·ÃÂ°ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂºÃÂ° ÃÂ¾ÃÂ ÃÂÃÂµÃÂ»ÃÂ° ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂ°. ÃÂÃÂ ÃÂ¸ ÃÂ´ÃÂ°ÃÂ»ÃÂµÃÂµ ÃÂ²ÃÂ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ²ÃÂ°ÃÂÃÂ ÃÂ»ÃÂÃÂ±ÃÂ¾ÃÂ¹ HTML-ÃÂºÃÂ¾ÃÂ´.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ½ÃÂ°ÃÂ»ÃÂ¾ÃÂ³ÃÂ¸ÃÂÃÂ½ÃÂ¾ ÃÂ¼ÃÂ¾ÃÂ³ÃÂÃÂ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ²ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ»ÃÂÃÂ±ÃÂÃÂµ ÃÂ¾ÃÂ±ÃÂÃÂµÃÂºÃÂÃÂ, ÃÂ¿ÃÂ¾ÃÂ´ÃÂ´ÃÂµÃÂÃÂ¶ÃÂ¸ÃÂ²ÃÂ°ÃÂµÃÂ¼ÃÂÃÂµ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ¾ÃÂ¼: ÃÂ¸ÃÂ·ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂ, ÃÂ·ÃÂ²ÃÂÃÂºÃÂ¾ÃÂ²ÃÂÃÂµ ÃÂÃÂ°ÃÂ¹ÃÂ»ÃÂ, css-ÃÂÃÂ°ÃÂ±ÃÂ»ÃÂ¸ÃÂÃÂ ÃÂ¸ ÃÂ.ÃÂ´. ÃÂÃÂ»ÃÂ°ÃÂ²ÃÂ½ÃÂ¾ÃÂµ, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ¿ÃÂ¾ÃÂ»ÃÂ Content-Type (ÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂÃÂµÃÂ¼ÃÂ¾ÃÂµ ÃÂÃÂ°ÃÂºÃÂ¶ÃÂµ MIME-ÃÂÃÂ¸ÃÂ¿ÃÂ¾ÃÂ¼) ÃÂÃÂ¾ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂÃÂÃÂ²ÃÂ¾ÃÂ²ÃÂ°ÃÂ»ÃÂ¾ ÃÂÃÂ¾ÃÂ´ÃÂµÃÂÃÂ¶ÃÂ¸ÃÂ¼ÃÂ¾ÃÂ¼ÃÂ.&lt;br /&gt;
&lt;br /&gt;
=== ÃÂÃÂ´ÃÂµÃÂÃÂ ÃÂ¸ÃÂ³ÃÂÃÂ°ÃÂÃÂ, ÃÂ·ÃÂ´ÃÂµÃÂÃÂ ÃÂ½ÃÂµ ÃÂ¸ÃÂ³ÃÂÃÂ°ÃÂÃÂ... ===&lt;br /&gt;
ÃÂÃÂ´ÃÂ½ÃÂ°ÃÂºÃÂ¾ ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂ¹ ÃÂÃÂ¼ÃÂÃÂÃÂ» ÃÂ¿ÃÂ¾ÃÂÃÂÃÂÃÂ°ÃÂÃÂ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂ½ÃÂ¸ÃÂµ ÃÂÃÂÃÂ°ÃÂÃÂ¸ÃÂÃÂµÃÂÃÂºÃÂ¸ÃÂ, ÃÂ¿ÃÂ¾ ÃÂÃÂÃÂÃÂ¸, ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂ cgi-ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ, ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂÃÂ°ÃÂ¼ HTTP-ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂ ÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂÃÂ ÃÂ ÃÂÃÂÃÂ¸ÃÂ¼ ÃÂ½ÃÂ°ÃÂ¼ÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ ÃÂ»ÃÂÃÂÃÂÃÂµ? ÃÂ ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ¼-ÃÂÃÂ¾ ÃÂ½ÃÂ¸ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂ³ÃÂ¾. ÃÂ ÃÂ°ÃÂ·ÃÂ²ÃÂµ ÃÂÃÂÃÂ¾ ÃÂ´ÃÂ»ÃÂ ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ³ÃÂ¾ ÃÂÃÂ°ÃÂ·ÃÂ²ÃÂ¸ÃÂÃÂ¸ÃÂ... ÃÂ ÃÂ²ÃÂ¾ÃÂ ÃÂ² ÃÂÃÂµÃÂ¼ CGI ÃÂ¿ÃÂ¾-ÃÂ½ÃÂ°ÃÂÃÂÃÂ¾ÃÂÃÂÃÂµÃÂ¼ÃÂ ÃÂÃÂ¸ÃÂ»ÃÂµÃÂ½, ÃÂÃÂ°ÃÂº ÃÂÃÂÃÂ¾ ÃÂ² ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂ½ÃÂ¸ÃÂ¸ ÃÂ´ÃÂ¸ÃÂ½ÃÂ°ÃÂ¼ÃÂ¸ÃÂÃÂµÃÂÃÂºÃÂ¸ÃÂ ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂ, ÃÂÃÂ¾ÃÂ´ÃÂµÃÂÃÂ¶ÃÂ¸ÃÂ¼ÃÂ¾ÃÂµ ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂ ÃÂ·ÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ¸ÃÂ ÃÂ¾ÃÂ ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ¸, ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂµÃÂ¼.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂÃÂ¾ÃÂÃÂ¾ÃÂºÃÂ¾ÃÂ» HTTP ÃÂ¿ÃÂÃÂµÃÂ´ÃÂÃÂÃÂ¼ÃÂ°ÃÂÃÂÃÂ¸ÃÂ²ÃÂ°ÃÂµÃÂ ÃÂ½ÃÂµÃÂÃÂºÃÂ¾ÃÂ»ÃÂÃÂºÃÂ¾ ÃÂÃÂ¿ÃÂ¾ÃÂÃÂ¾ÃÂ±ÃÂ¾ÃÂ² ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂÃÂ¸ ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ¸ ÃÂ¾ÃÂ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ° ÃÂ½ÃÂ° ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂ, ÃÂ½ÃÂ°ÃÂ·ÃÂÃÂ²ÃÂ°ÃÂµÃÂ¼ÃÂÃÂ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ°ÃÂ¼ÃÂ¸. ÃÂÃÂ°ÃÂ¸ÃÂ±ÃÂ¾ÃÂ»ÃÂµÃÂµ ÃÂ¿ÃÂ¾ÃÂ¿ÃÂÃÂ»ÃÂÃÂÃÂ½ÃÂÃÂµ ÃÂ¸ÃÂ· ÃÂ½ÃÂ¸ÃÂ Ã¢ÂÂ GET, POST, PUT ÃÂ¸ HEAD.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂµÃÂÃÂ¾ÃÂ´ GET ÃÂ¿ÃÂ¾ÃÂ·ÃÂ²ÃÂ¾ÃÂ»ÃÂÃÂµÃÂ ÃÂ²ÃÂÃÂÃÂ°ÃÂ²ÃÂ»ÃÂÃÂÃÂ ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ² URL, ÃÂÃÂ¾ ÃÂµÃÂÃÂÃÂ ÃÂ² ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂ ÃÂ°ÃÂ´ÃÂÃÂµÃÂÃÂ° ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ°ÃÂÃÂ¸ÃÂ²ÃÂ°ÃÂµÃÂ¼ÃÂ¾ÃÂ³ÃÂ¾ ÃÂÃÂµÃÂÃÂÃÂÃÂÃÂ°. ÃÂÃÂ¾ÃÂ³ÃÂ´ÃÂ° ÃÂ«ÃÂ¯ÃÂ½ÃÂ´ÃÂµÃÂºÃÂÃÂ» ÃÂ²ÃÂµÃÂÃÂ½ÃÂµÃÂ ÃÂ²ÃÂ°ÃÂ¼ ÃÂÃÂ¿ÃÂ¸ÃÂÃÂ¾ÃÂº ÃÂ¸ÃÂÃÂºÃÂ¾ÃÂ¼ÃÂÃÂ ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂ, ÃÂ¿ÃÂ¾ÃÂÃÂ¼ÃÂ¾ÃÂÃÂÃÂ¸ÃÂÃÂµ ÃÂ½ÃÂ° ÃÂ°ÃÂ´ÃÂÃÂµÃÂÃÂ½ÃÂÃÂ ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂ ÃÂ² ÃÂ±ÃÂÃÂ°ÃÂÃÂ·ÃÂµÃÂÃÂµ Ã¢ÂÂ ÃÂ²ÃÂ¾ÃÂ ÃÂÃÂ°ÃÂº ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¸ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ¾ÃÂ¼ GET. ÃÂÃÂÃÂÃÂ°ÃÂÃÂ¸, ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂÃÂ¸ÃÂÃÂµ ÃÂ²ÃÂ½ÃÂ¸ÃÂ¼ÃÂ°ÃÂ½ÃÂ¸ÃÂµ ÃÂ½ÃÂ° ÃÂÃÂ¾, ÃÂºÃÂ°ÃÂº ÃÂ²ÃÂÃÂµ ÃÂÃÂÃÂ¾ ÃÂºÃÂ¾ÃÂ´ÃÂ¸ÃÂÃÂÃÂµÃÂÃÂÃÂ, ÃÂ¾ÃÂÃÂ¾ÃÂ±ÃÂµÃÂ½ÃÂ½ÃÂ¾ ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂ²ÃÂ ÃÂ¸ÃÂÃÂºÃÂ°ÃÂ»ÃÂ¸ ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂµ-ÃÂÃÂ¾ ÃÂÃÂÃÂÃÂÃÂºÃÂ¾ÃÂµ ÃÂÃÂ»ÃÂ¾ÃÂ²ÃÂ¾.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂÃÂ»ÃÂ¸ ÃÂ½ÃÂ° ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂ ÃÂÃÂÃÂµÃÂ±ÃÂÃÂµÃÂÃÂÃÂ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂÃÂ ÃÂ±ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¸ÃÂ¹ ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ¼ ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ¸, ÃÂ¸ÃÂ»ÃÂ¸ ÃÂµÃÂµ ÃÂ¶ÃÂµÃÂ»ÃÂ°ÃÂÃÂµÃÂ»ÃÂÃÂ½ÃÂ¾ ÃÂÃÂºÃÂÃÂÃÂÃÂ ÃÂ¾ÃÂ ÃÂ»ÃÂÃÂ±ÃÂ¾ÃÂ¿ÃÂÃÂÃÂ½ÃÂÃÂ ÃÂ³ÃÂ»ÃÂ°ÃÂ·, ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂÃÂµÃÂÃÂÃÂ ÃÂ´ÃÂÃÂÃÂ³ÃÂ¾ÃÂ¹ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ Ã¢ÂÂ POST. ÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂ¾ÃÂ¼ ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂµ ÃÂ² ÃÂ·ÃÂ°ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂºÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ»ÃÂ¸ÃÂÃÂ ÃÂÃÂ°ÃÂ·ÃÂ¼ÃÂµÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂÃÂÃÂºÃÂ¸ÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ, ÃÂ° ÃÂÃÂ°ÃÂ¼ÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂÃÂÃÂ»ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ² ÃÂÃÂµÃÂ»ÃÂµ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂÃÂ°.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂµÃÂÃÂ¾ÃÂ´ PUT ÃÂ¿ÃÂÃÂµÃÂ´ÃÂ½ÃÂ°ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ´ÃÂ»ÃÂ ÃÂÃÂ°ÃÂ·ÃÂ¼ÃÂµÃÂÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂÃÂµÃÂÃÂÃÂÃÂÃÂ¾ÃÂ² ÃÂ½ÃÂ° ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂÃÂµ ÃÂ¸ ÃÂ¿ÃÂ¾ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂÃÂ¼ ÃÂ±ÃÂµÃÂ·ÃÂ¾ÃÂ¿ÃÂ°ÃÂÃÂ½ÃÂ¾ÃÂÃÂÃÂ¸ ÃÂ¿ÃÂÃÂ°ÃÂºÃÂÃÂ¸ÃÂÃÂµÃÂÃÂºÃÂ¸ ÃÂ½ÃÂµ ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂÃÂµÃÂÃÂÃÂ. ÃÂÃÂ ÃÂ¸, ÃÂ½ÃÂ°ÃÂºÃÂ¾ÃÂ½ÃÂµÃÂ, ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ HEAD ÃÂ¾ÃÂÃÂµÃÂ½ÃÂ ÃÂ¿ÃÂ¾ÃÂÃÂ¾ÃÂ¶ ÃÂ½ÃÂ° GET, ÃÂ·ÃÂ° ÃÂÃÂµÃÂ¼ ÃÂ¸ÃÂÃÂºÃÂ»ÃÂÃÂÃÂµÃÂ½ÃÂ¸ÃÂµÃÂ¼, ÃÂÃÂÃÂ¾ ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂ ÃÂ² ÃÂ¾ÃÂÃÂ²ÃÂµÃÂ ÃÂ½ÃÂ° ÃÂÃÂ°ÃÂºÃÂ¾ÃÂ¹ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂ ÃÂ²ÃÂ¾ÃÂ·ÃÂ²ÃÂÃÂ°ÃÂÃÂ°ÃÂµÃÂ ÃÂ½ÃÂµ ÃÂ²ÃÂµÃÂÃÂ ÃÂÃÂµÃÂÃÂÃÂÃÂ, ÃÂ° ÃÂ»ÃÂ¸ÃÂÃÂ ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ¾ ÃÂ½ÃÂµÃÂ¼, ÃÂÃÂ°ÃÂºÃÂÃÂ ÃÂºÃÂ°ÃÂº ÃÂ´ÃÂ°ÃÂÃÂ° ÃÂ¿ÃÂ¾ÃÂÃÂ»ÃÂµÃÂ´ÃÂ½ÃÂµÃÂ³ÃÂ¾ ÃÂ¸ÃÂ·ÃÂ¼ÃÂµÃÂ½ÃÂµÃÂ½ÃÂ¸ÃÂ, ÃÂ¿ÃÂ¾ÃÂ¼ÃÂµÃÂÃÂ°ÃÂµÃÂ¼ÃÂÃÂ ÃÂ² ÃÂ·ÃÂ°ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂºÃÂµ. ÃÂÃÂ±ÃÂÃÂÃÂ½ÃÂ¾ ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂÃÂµÃÂÃÂÃÂ ÃÂ¿ÃÂÃÂ¾ÃÂºÃÂÃÂ¸-ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂÃÂ°ÃÂ¼ÃÂ¸ ÃÂ´ÃÂ»ÃÂ ÃÂ¾ÃÂ¿ÃÂÃÂµÃÂ´ÃÂµÃÂ»ÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ«ÃÂÃÂ²ÃÂµÃÂ¶ÃÂµÃÂÃÂÃÂ¸ÃÂ» ÃÂ¸ÃÂ¼ÃÂµÃÂÃÂÃÂ¸ÃÂÃÂÃÂ ÃÂ ÃÂ½ÃÂ¸ÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ Ã¢ÂÂ ÃÂÃÂÃÂ¾ÃÂ¸ÃÂ ÃÂ»ÃÂ¸ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ°ÃÂÃÂ¸ÃÂ²ÃÂ°ÃÂÃÂ ÃÂÃÂµÃÂÃÂÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂ²ÃÂÃÂ¾ÃÂÃÂ½ÃÂ¾ ÃÂ¸ÃÂ»ÃÂ¸ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ²ÃÂµÃÂÃÂ½ÃÂÃÂÃÂ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ ÃÂÃÂ¾, ÃÂÃÂÃÂ¾ ÃÂµÃÂÃÂÃÂ ÃÂ² ÃÂºÃÂÃÂÃÂµ.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ¿ÃÂÃÂµÃÂ´ÃÂµÃÂ»ÃÂµÃÂ½ÃÂ½ÃÂ°ÃÂ ÃÂÃÂ»ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ÃÂÃÂÃÂ ÃÂ´ÃÂ»ÃÂ ÃÂÃÂ°ÃÂ·ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂÃÂ¸ÃÂºÃÂ° cgi-ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ·ÃÂ°ÃÂºÃÂ»ÃÂÃÂÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ² ÃÂÃÂ¾ÃÂ¼, ÃÂÃÂÃÂ¾ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ, ÃÂ¾ÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ»ÃÂµÃÂ½ÃÂ½ÃÂÃÂµ ÃÂÃÂ°ÃÂ·ÃÂ»ÃÂ¸ÃÂÃÂ½ÃÂÃÂ¼ÃÂ¸ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ°ÃÂ¼ÃÂ¸, ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ² ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ¹ ÃÂ¿ÃÂ¾-ÃÂÃÂ°ÃÂ·ÃÂ½ÃÂ¾ÃÂ¼ÃÂ. ÃÂ¢ÃÂ°ÃÂº, ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ, ÃÂ¿ÃÂ¾ÃÂÃÂÃÂÃÂ¿ÃÂ¸ÃÂ²ÃÂÃÂ°ÃÂ ÃÂ ÃÂ¿ÃÂ¾ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ POST, ÃÂ¿ÃÂ¾ÃÂ´ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ½ÃÂ° ÃÂÃÂÃÂ°ÃÂ½ÃÂ´ÃÂ°ÃÂÃÂÃÂ½ÃÂÃÂ¹ ÃÂ²ÃÂÃÂ¾ÃÂ´ ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ¸ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ±ÃÂÃÂÃÂ ÃÂÃÂÃÂ¸ÃÂÃÂ°ÃÂ½ÃÂ° ÃÂ¾ÃÂÃÂÃÂÃÂ´ÃÂ°, ÃÂ½ÃÂ°ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ, ÃÂ ÃÂ¿ÃÂ¾ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ sys.stdin.read(size) ÃÂ¸ÃÂ»ÃÂ¸ ÃÂ´ÃÂ°ÃÂ¶ÃÂµ ÃÂÃÂÃÂ½ÃÂºÃÂÃÂ¸ÃÂµÃÂ¹ raw_input() (ÃÂÃÂ¾ÃÂÃÂ ÃÂ²ÃÂ¾ ÃÂ²ÃÂÃÂ¾ÃÂÃÂ¾ÃÂ¼ ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂµ ÃÂÃÂ»ÃÂ¾ÃÂ¶ÃÂ½ÃÂµÃÂµ ÃÂºÃÂ¾ÃÂ½ÃÂÃÂÃÂ¾ÃÂ»ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂ ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ¼ ÃÂ¿ÃÂÃÂ¸ÃÂ½ÃÂ¸ÃÂ¼ÃÂ°ÃÂµÃÂ¼ÃÂÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ). ÃÂÃÂ¾ÃÂ»ÃÂ¸ÃÂÃÂµÃÂÃÂÃÂ²ÃÂ¾ ÃÂ±ÃÂ°ÃÂ¹ÃÂ, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ ÃÂÃÂÃÂµÃÂ±ÃÂÃÂµÃÂÃÂÃÂ ÃÂÃÂÃÂ¸ÃÂÃÂ°ÃÂÃÂ, ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¸ÃÂÃÂ ÃÂ¸ÃÂ· ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¾ÃÂºÃÂÃÂÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂ CONTENT_LENGTH (ÃÂ½ÃÂ°ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ, ÃÂÃÂ°ÃÂº: size = os.environ['CONTENT_LENGTH']).&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂÃÂ»ÃÂ¸ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂ ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂÃÂµÃÂ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ GET, ÃÂÃÂ¾ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂ¾ÃÂÃÂÃÂÃÂ¿ÃÂÃÂ ÃÂ² ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ¹ ÃÂÃÂµÃÂÃÂµÃÂ· ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂÃÂ ÃÂÃÂÃÂµÃÂ´ÃÂ QUERY_STRING. ÃÂÃÂµÃÂÃÂ¾ÃÂ´, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂ¼ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ½ÃÂ (ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¶ÃÂµ ÃÂºÃÂ°ÃÂº-ÃÂÃÂ¾ ÃÂÃÂ°ÃÂ·ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂÃÂÃÂÃÂ, ÃÂ³ÃÂ´ÃÂµ ÃÂ¸ÃÂ ÃÂ¸ÃÂÃÂºÃÂ°ÃÂÃÂ) ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ²ÃÂÃÂµÃÂ³ÃÂ´ÃÂ° ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¸ÃÂÃÂ ÃÂ¸ÃÂ· REQUEST_METHOD.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂÃÂÃÂ ÃÂµÃÂÃÂµ ÃÂ¾ÃÂ´ÃÂ¸ÃÂ½ ÃÂ¾ÃÂÃÂ¾ÃÂ±ÃÂÃÂ¹ ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂ¹. ÃÂÃÂÃÂ»ÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ¾ÃÂ¼ GET, ÃÂ½ÃÂ¾ ÃÂ ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂ½ÃÂ¸ÃÂµÃÂ¼ ÃÂ«ÃÂ¸ÃÂ½ÃÂ´ÃÂµÃÂºÃÂÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ÃÂ» ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ°, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂ¹ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂÃÂµÃÂÃÂÃÂ ÃÂÃÂµÃÂ³ÃÂ¾ÃÂ¼ &amp;lt;ISINDEX&amp;gt;, ÃÂÃÂ¾ ÃÂ² ÃÂÃÂÃÂ¾ÃÂ¼ ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂµ ÃÂ¾ÃÂ½ÃÂ¸ ÃÂºÃÂ¾ÃÂ´ÃÂ¸ÃÂÃÂÃÂÃÂÃÂÃÂ ÃÂ½ÃÂµ ÃÂ² ÃÂ²ÃÂ¸ÃÂ´ÃÂµ ÃÂ«ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ°ÃÂ=ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ&amp;amp;ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ°ÃÂ=ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ&amp;amp;...ÃÂ», ÃÂ° ÃÂºÃÂ°ÃÂº ÃÂ«ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ+ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ+...ÃÂ». ÃÂ cgi-ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ¾ÃÂ½ÃÂ¸ ÃÂ±ÃÂÃÂ´ÃÂÃÂ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ½ÃÂ, ÃÂ¿ÃÂ¾ÃÂ¼ÃÂ¸ÃÂ¼ÃÂ¾ QUERY_STRING, ÃÂÃÂµÃÂÃÂµÃÂ· ÃÂ°ÃÂÃÂ³ÃÂÃÂ¼ÃÂµÃÂ½ÃÂÃÂ ÃÂºÃÂ¾ÃÂ¼ÃÂ°ÃÂ½ÃÂ´ÃÂ½ÃÂ¾ÃÂ¹ ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂ¸, ÃÂºÃÂ°ÃÂº ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂ±ÃÂ ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ¹ ÃÂ²ÃÂÃÂ·ÃÂÃÂ²ÃÂ°ÃÂ»ÃÂÃÂ ÃÂÃÂ°ÃÂºÃÂ¾ÃÂ¹ ÃÂºÃÂ¾ÃÂ¼ÃÂ°ÃÂ½ÃÂ´ÃÂ¾ÃÂ¹:&lt;br /&gt;
&lt;br /&gt;
 script.cgi arg1 arg2 arg3&lt;br /&gt;
&lt;br /&gt;
ÃÂ¢ÃÂ¾ ÃÂµÃÂÃÂÃÂ, ÃÂ½ÃÂ° ÃÂÃÂÃÂ¾ÃÂ ÃÂÃÂ°ÃÂ· ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂÃÂÃÂºÃÂ¸ÃÂµ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¸ÃÂÃÂ ÃÂºÃÂ°ÃÂº sys.argv[1] ÃÂ¸ ÃÂ.ÃÂ´.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ°ÃÂº ÃÂ²ÃÂ¸ÃÂ´ÃÂ¸ÃÂÃÂµ, ÃÂ¾ÃÂ³ÃÂÃÂ¾ÃÂ¼ÃÂ½ÃÂ¾ÃÂµ ÃÂÃÂ¸ÃÂÃÂ»ÃÂ¾ ÃÂ²ÃÂ°ÃÂÃÂ¸ÃÂ°ÃÂ½ÃÂÃÂ¾ÃÂ², ÃÂ¿ÃÂÃÂµÃÂ´ÃÂÃÂÃÂ¼ÃÂ¾ÃÂÃÂÃÂµÃÂ½ÃÂ½ÃÂÃÂ CGI-ÃÂ¸ÃÂ½ÃÂÃÂµÃÂÃÂÃÂµÃÂ¹ÃÂÃÂ¾ÃÂ¼, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ ÃÂ²ÃÂÃÂµ ÃÂ´ÃÂ¾ÃÂ»ÃÂ¶ÃÂ½ÃÂ ÃÂ±ÃÂÃÂÃÂ ÃÂÃÂÃÂÃÂµÃÂ½ÃÂ ÃÂ¿ÃÂÃÂ¸ ÃÂÃÂ°ÃÂ·ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂºÃÂµ ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ, ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ²ÃÂÃÂ·ÃÂ²ÃÂ°ÃÂÃÂ ÃÂ½ÃÂµÃÂÃÂ²ÃÂ½ÃÂÃÂ¹ ÃÂÃÂ¸ÃÂº ÃÂ´ÃÂ°ÃÂ¶ÃÂµ ÃÂ ÃÂ¾ÃÂ¿ÃÂÃÂÃÂ½ÃÂÃÂ ÃÂ¿ÃÂÃÂ¾ÃÂ³ÃÂÃÂ°ÃÂ¼ÃÂ¼ÃÂ¸ÃÂÃÂÃÂ¾ÃÂ², ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ ÃÂ¸ ÃÂ²ÃÂ¾ ÃÂÃÂ½ÃÂµ ÃÂ¿ÃÂ¾ÃÂÃÂ¸ÃÂÃÂ¾ÃÂ½ÃÂÃÂºÃÂ ÃÂ½ÃÂ°ÃÂ±ÃÂ¸ÃÂ²ÃÂ°ÃÂÃÂ ÃÂ¿ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ´ÃÂÃÂÃÂºÃÂµ ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂ¹-ÃÂÃÂ¾ ÃÂºÃÂ¾ÃÂ´. ÃÂ ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂµÃÂÃÂµ ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ¼ÃÂ½ÃÂ¸ÃÂÃÂ, ÃÂÃÂÃÂ¾ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ² ÃÂ·ÃÂ°ÃÂºÃÂ¾ÃÂ´ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂ½ÃÂ½ÃÂ¾ÃÂ¼ ÃÂ²ÃÂ¸ÃÂ´ÃÂµ (ÃÂÃÂÃÂ¾ ÃÂ°ÃÂ½ÃÂ³ÃÂ»ÃÂ¸ÃÂÃÂ°ÃÂ½ÃÂ°ÃÂ¼ ÃÂÃÂ¾ÃÂÃÂ¾ÃÂÃÂ¾ Ã¢ÂÂ ÃÂ²ÃÂ·ÃÂÃÂ» ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¸ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂ¹, ÃÂ° ÃÂ½ÃÂ°ÃÂ¼-ÃÂÃÂ¾ ÃÂ ÃÂ²ÃÂ°ÃÂ¼ÃÂ¸ ÃÂÃÂÃÂ¾ ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ²ÃÂµÃÂÃÂ½ÃÂµÃÂÃÂÃÂ ÃÂ² ÃÂ²ÃÂ¸ÃÂ´ÃÂµ %EC%E4%E0), ÃÂ´ÃÂ° ÃÂµÃÂÃÂµ ÃÂ¸ ÃÂ¾ ÃÂ¿ÃÂÃÂ¾ÃÂ²ÃÂµÃÂÃÂºÃÂµ ÃÂÃÂÃÂ¸ÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ·ÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ¸ÃÂÃÂÃÂÃÂ, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂ¹-ÃÂ½ÃÂ¸ÃÂ±ÃÂÃÂ´ÃÂ ÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ½ÃÂ°ÃÂÃÂÃÂ¸ÃÂ¹ ÃÂÃÂ°ÃÂºÃÂµÃÂ ÃÂ½ÃÂµ ÃÂ¿ÃÂ¾ÃÂ¿ÃÂÃÂÃÂ°ÃÂ»ÃÂÃÂ ÃÂ·ÃÂ°ÃÂÃÂÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ ÃÂ½ÃÂ°ÃÂ ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂÃÂ ÃÂ¿ÃÂ¾-ÃÂÃÂ²ÃÂ¾ÃÂµÃÂ¼ÃÂ... ÃÂÃÂµÃÂ, ÃÂ¾ÃÂ±ÃÂ¾ ÃÂ²ÃÂÃÂµÃÂ¼ ÃÂÃÂÃÂ¾ÃÂ¼ ÃÂ»ÃÂÃÂÃÂÃÂµ ÃÂ¸ ÃÂ½ÃÂµ ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ¼ÃÂ¸ÃÂ½ÃÂ°ÃÂÃÂ. ÃÂÃÂ»ÃÂ°ÃÂ³ÃÂ¾ ÃÂ ÃÂ½ÃÂ°ÃÂ ÃÂµÃÂÃÂÃÂ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ cgi, ÃÂ² ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂ¾ÃÂ¼ ÃÂ²ÃÂÃÂµ ÃÂÃÂÃÂ¾ ÃÂÃÂ¶ÃÂµ ÃÂÃÂ´ÃÂµÃÂ»ÃÂ°ÃÂ½ÃÂ¾!&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ¾ ÃÂ¾ ÃÂ½ÃÂµÃÂ¼ Ã¢ÂÂ ÃÂÃÂÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂ·ÃÂ¶ÃÂµ. ÃÂ¡ÃÂ½ÃÂ°ÃÂÃÂ°ÃÂ»ÃÂ° ÃÂ¿ÃÂ°ÃÂÃÂ ÃÂÃÂ»ÃÂ¾ÃÂ² ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂ¾ ÃÂÃÂºÃÂ°ÃÂ·ÃÂ°ÃÂÃÂ ÃÂ¾ HTML-ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂ.&lt;br /&gt;
&lt;br /&gt;
=== ÃÂ¤ÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂÃÂµÃÂ¼ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ ===&lt;br /&gt;
ÃÂ§ÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ²ÃÂ°ÃÂ¼ ÃÂ±ÃÂÃÂ»ÃÂ¾ ÃÂ¿ÃÂÃÂ¾ÃÂÃÂµ ÃÂ¿ÃÂ¾ÃÂ½ÃÂÃÂÃÂ ÃÂÃÂ°ÃÂÃÂÃÂ¼ÃÂ°ÃÂÃÂÃÂ¸ÃÂ²ÃÂ°ÃÂµÃÂ¼ÃÂÃÂ¹ ÃÂÃÂµÃÂ³ÃÂ¾ÃÂ´ÃÂ½ÃÂ ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂºÃÂ¾ ÃÂÃÂºÃÂ°ÃÂ¶ÃÂ ÃÂ¿ÃÂÃÂ¾ ÃÂÃÂ¾, ÃÂºÃÂ°ÃÂº ÃÂ¶ÃÂµ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂ ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂÃÂµÃÂ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ ÃÂ½ÃÂ°ÃÂÃÂµÃÂ¼ÃÂ cgi-ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ. ÃÂÃÂ¾ÃÂ½ÃÂµÃÂÃÂ½ÃÂ¾, ÃÂ¿ÃÂÃÂ¾ÃÂ´ÃÂ²ÃÂ¸ÃÂ½ÃÂÃÂÃÂÃÂµ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂ¸ ÃÂ¼ÃÂ¾ÃÂ³ÃÂÃÂ ÃÂ½ÃÂ°ÃÂ±ÃÂÃÂ°ÃÂÃÂ GET-ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂ ÃÂ²ÃÂÃÂÃÂÃÂ½ÃÂÃÂ ÃÂ² ÃÂ°ÃÂ´ÃÂÃÂµÃÂÃÂ½ÃÂ¾ÃÂ¹ ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂµ ÃÂ±ÃÂÃÂ°ÃÂÃÂ·ÃÂµÃÂÃÂ°. ÃÂ¥ÃÂ¾ÃÂÃÂ ÃÂÃÂÃÂ¾ ÃÂ¼ÃÂµÃÂ»ÃÂ¾ÃÂÃÂ¸ÃÂÃÂÃÂÃÂ Ã¢ÂÂ ÃÂ²ÃÂµÃÂ´ÃÂ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¶ÃÂµ ÃÂÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂ ÃÂ¸ POST-ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂ, ÃÂ¿ÃÂ¾ÃÂ´ÃÂºÃÂ»ÃÂÃÂÃÂ¸ÃÂ²ÃÂÃÂ¸ÃÂÃÂ ÃÂÃÂµÃÂ»ÃÂ½ÃÂµÃÂÃÂ¾ÃÂ¼ ÃÂ½ÃÂ° 80-ÃÂ¹ ÃÂ¿ÃÂ¾ÃÂÃÂ! ÃÂÃÂ¿ÃÂÃÂ¾ÃÂÃÂµÃÂ¼, ÃÂ¾ÃÂ±ÃÂÃÂÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂ¸ ÃÂ¿ÃÂÃÂµÃÂ´ÃÂ¿ÃÂ¾ÃÂÃÂ¸ÃÂÃÂ°ÃÂÃÂ ÃÂ±ÃÂ¾ÃÂ»ÃÂµÃÂµ ÃÂ¿ÃÂ¾ÃÂ½ÃÂÃÂÃÂ½ÃÂÃÂµ ÃÂ¸ ÃÂ«ÃÂ¾ÃÂÃÂÃÂ·ÃÂ°ÃÂµÃÂ¼ÃÂÃÂµÃÂ» ÃÂÃÂ¿ÃÂ¾ÃÂÃÂ¾ÃÂ±ÃÂ, ÃÂ½ÃÂ°ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ, ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ°ÃÂº ÃÂ¾ÃÂ½ÃÂ¸ ÃÂ²ÃÂÃÂ³ÃÂ»ÃÂÃÂ´ÃÂÃÂ, ÃÂ´ÃÂÃÂ¼ÃÂ°ÃÂ, ÃÂºÃÂ°ÃÂ¶ÃÂ´ÃÂÃÂ¹ ÃÂ·ÃÂ½ÃÂ°ÃÂµÃÂ. ÃÂ¡ÃÂ¾ÃÂ·ÃÂ´ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ¾ÃÂ½ÃÂ¸ ÃÂ ÃÂ¿ÃÂ¾ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ ÃÂÃÂµÃÂ³ÃÂ° &amp;lt;FORM&amp;gt;, ÃÂ²ÃÂ½ÃÂÃÂÃÂÃÂ¸ ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂ¾ÃÂ³ÃÂ¾ ÃÂ´ÃÂ¾ÃÂ±ÃÂ°ÃÂ²ÃÂ»ÃÂÃÂÃÂÃÂÃÂ ÃÂÃÂ°ÃÂºÃÂ¸ÃÂµ ÃÂÃÂ»ÃÂµÃÂ¼ÃÂµÃÂ½ÃÂÃÂ, ÃÂºÃÂ°ÃÂº &amp;lt;INPUT&amp;gt; (ÃÂ¿ÃÂ¾ÃÂ»ÃÂµ ÃÂ²ÃÂ²ÃÂ¾ÃÂ´ÃÂ°) ÃÂ¸ÃÂ»ÃÂ¸ &amp;lt;TEXTAREA&amp;gt; (ÃÂ¼ÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ÃÂÃÂÃÂÃÂ¾ÃÂÃÂ½ÃÂÃÂ¹ ÃÂÃÂµÃÂ´ÃÂ°ÃÂºÃÂÃÂ¾ÃÂ). ÃÂ­ÃÂÃÂ¸ÃÂ¼ ÃÂÃÂ»ÃÂµÃÂ¼ÃÂµÃÂ½ÃÂÃÂ°ÃÂ¼, ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂ¸ÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ´ÃÂ¾ÃÂ»ÃÂ¶ÃÂ½ÃÂ ÃÂ±ÃÂÃÂÃÂ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ½ÃÂ ÃÂ½ÃÂ° ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂ, ÃÂ¿ÃÂÃÂ¸ÃÂÃÂ²ÃÂ°ÃÂ¸ÃÂ²ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂ° ÃÂ ÃÂ¿ÃÂ¾ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ ÃÂ°ÃÂÃÂÃÂ¸ÃÂ±ÃÂÃÂÃÂ° name. ÃÂÃÂ°ÃÂÃÂ°ÃÂ»ÃÂÃÂ½ÃÂ¾ÃÂµ ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ·ÃÂ°ÃÂ´ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ¿ÃÂ°ÃÂÃÂ°ÃÂ¼ÃÂµÃÂÃÂÃÂ¾ÃÂ¼ value ÃÂ¸ ÃÂ² ÃÂ´ÃÂ°ÃÂ»ÃÂÃÂ½ÃÂµÃÂ¹ÃÂÃÂµÃÂ¼ ÃÂ´ÃÂ»ÃÂ ÃÂ«ÃÂÃÂµÃÂ´ÃÂ°ÃÂºÃÂÃÂ¸ÃÂÃÂÃÂµÃÂ¼ÃÂÃÂÃÂ» ÃÂ¿ÃÂ¾ÃÂ»ÃÂµÃÂ¹ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ±ÃÂÃÂÃÂ ÃÂ¸ÃÂ·ÃÂ¼ÃÂµÃÂ½ÃÂµÃÂ½ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂµÃÂ¼. ÃÂÃÂ¾ÃÂ³ÃÂ´ÃÂ° ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂ ÃÂ½ÃÂ°ÃÂ¶ÃÂ¸ÃÂ¼ÃÂ°ÃÂµÃÂ ÃÂºÃÂ½ÃÂ¾ÃÂ¿ÃÂºÃÂ ÃÂ«ÃÂÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂÃÂ» (ÃÂ½ÃÂ°ÃÂ´ÃÂ¿ÃÂ¸ÃÂÃÂ ÃÂ½ÃÂ° ÃÂ½ÃÂµÃÂ¹, ÃÂ² ÃÂ¿ÃÂÃÂ¸ÃÂ½ÃÂÃÂ¸ÃÂ¿ÃÂµ, ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¸ÃÂ·ÃÂ¼ÃÂµÃÂ½ÃÂ¸ÃÂÃÂ), ÃÂÃÂ¾ ÃÂ±ÃÂÃÂ°ÃÂÃÂ·ÃÂµÃÂ ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ´ÃÂ¸ÃÂ½ÃÂÃÂµÃÂ ÃÂ²ÃÂÃÂµ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂ¾ÃÂ»ÃÂµÃÂ¹ ÃÂ² ÃÂ¿ÃÂ°ÃÂÃÂ name=value, ÃÂÃÂ°ÃÂ·ÃÂ´ÃÂµÃÂ»ÃÂÃÂ ÃÂ¸ÃÂ ÃÂÃÂ¸ÃÂ¼ÃÂ²ÃÂ¾ÃÂ»ÃÂ¾ÃÂ¼ &amp;amp;. ÃÂÃÂ°ÃÂÃÂµÃÂ¼ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂµÃÂ½ÃÂ½ÃÂ°ÃÂ ÃÂÃÂ°ÃÂºÃÂ¸ÃÂ¼ ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ·ÃÂ¾ÃÂ¼ ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂ° ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ½ÃÂ° ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ¾ÃÂ¼, ÃÂÃÂºÃÂ°ÃÂ·ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ¼ ÃÂ² ÃÂ°ÃÂÃÂÃÂ¸ÃÂ±ÃÂÃÂÃÂµ method ÃÂÃÂµÃÂ³ÃÂ° &amp;lt;FORM&amp;gt;. ÃÂÃÂÃÂÃÂ ÃÂº ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂ¹ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ·ÃÂ°ÃÂ½ÃÂ¸ÃÂ¼ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂµÃÂµ ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂºÃÂ¾ÃÂ¹, ÃÂ·ÃÂ°ÃÂ´ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ°ÃÂÃÂÃÂ¸ÃÂ±ÃÂÃÂÃÂ¾ÃÂ¼ action ÃÂÃÂÃÂ¾ÃÂ³ÃÂ¾ ÃÂ¶ÃÂµ ÃÂÃÂµÃÂ³ÃÂ°. ÃÂÃÂÃÂ»ÃÂ¸ action ÃÂ½ÃÂµ ÃÂ·ÃÂ°ÃÂ´ÃÂ°ÃÂ½, ÃÂÃÂ¾ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂÃÂ°ÃÂ¹ÃÂ»ÃÂ, ÃÂÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂ²ÃÂÃÂµÃÂ¼ÃÂ ÃÂÃÂµÃÂºÃÂÃÂÃÂÃÂ ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂÃÂºÃÂ.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂÃÂ»ÃÂ¸ ÃÂÃÂÃÂ¾-ÃÂÃÂ¾ ÃÂ½ÃÂµ ÃÂÃÂ¾ÃÂ²ÃÂÃÂµÃÂ¼ ÃÂ¿ÃÂ¾ÃÂ½ÃÂÃÂÃÂ½ÃÂ¾, ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂÃÂ¸ÃÂÃÂµÃÂÃÂ ÃÂº ÃÂºÃÂ¾ÃÂ´ÃÂ ÃÂÃÂ°ÃÂ·ÃÂÃÂ°ÃÂ±ÃÂ°ÃÂÃÂÃÂ²ÃÂ°ÃÂµÃÂ¼ÃÂ¾ÃÂ¹ ÃÂ³ÃÂ¾ÃÂÃÂÃÂµÃÂ²ÃÂ¾ÃÂ¹ ÃÂºÃÂ½ÃÂ¸ÃÂ³ÃÂ¸, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂ¹ ÃÂ¿ÃÂÃÂ¸ÃÂ²ÃÂµÃÂ´ÃÂµÃÂ½ ÃÂ½ÃÂ¸ÃÂ¶ÃÂµ.&lt;br /&gt;
&lt;br /&gt;
=== ÃÂÃÂ°ÃÂ ÃÂÃÂ¿ÃÂ°ÃÂÃÂ¸ÃÂÃÂµÃÂ»ÃÂ Ã¢ÂÂ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ cgi ===&lt;br /&gt;
ÃÂÃÂ¾ÃÂ·ÃÂ²ÃÂÃÂ°ÃÂÃÂ°ÃÂµÃÂ¼ÃÂÃÂ ÃÂº ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂºÃÂµ ÃÂ²ÃÂÃÂµÃÂ³ÃÂ¾ ÃÂÃÂÃÂ¾ÃÂ³ÃÂ¾ ÃÂ´ÃÂ¾ÃÂ±ÃÂÃÂ°, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂ¾ÃÂµ ÃÂÃÂ¾ÃÂÃÂ½ÃÂ¸ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂµÃÂ¹ ÃÂÃÂ¶ÃÂµ ÃÂ³ÃÂ¾ÃÂÃÂ¾ÃÂ²ÃÂ ÃÂ¾ÃÂ±ÃÂÃÂÃÂÃÂ¸ÃÂÃÂ ÃÂ½ÃÂ° ÃÂ½ÃÂ°ÃÂ ÃÂ±ÃÂµÃÂ´ÃÂ½ÃÂÃÂ¹ ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ¹. ÃÂÃÂ ÃÂÃÂµÃÂÃÂ¸ÃÂ»ÃÂ¸ ÃÂ²ÃÂ¾ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂÃÂÃÂ°ÃÂ½ÃÂ´ÃÂ°ÃÂÃÂÃÂ½ÃÂÃÂ¼ÃÂ¸ ÃÂÃÂÃÂµÃÂ´ÃÂÃÂÃÂ²ÃÂ°ÃÂ¼ÃÂ¸ Python, ÃÂ¸ ÃÂ·ÃÂ´ÃÂµÃÂÃÂ ÃÂ²ÃÂÃÂµ ÃÂ´ÃÂµÃÂ¹ÃÂÃÂÃÂ²ÃÂ¸ÃÂÃÂµÃÂ»ÃÂÃÂ½ÃÂ¾ ÃÂ¾ÃÂÃÂµÃÂ½ÃÂ ÃÂ¿ÃÂÃÂ¾ÃÂÃÂÃÂ¾ Ã¢ÂÂ ÃÂ¸ÃÂ¼ÃÂ¿ÃÂ¾ÃÂÃÂÃÂ¸ÃÂÃÂÃÂ¹ÃÂÃÂµ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ cgi ÃÂ¸, ÃÂÃÂ¾ÃÂ·ÃÂ´ÃÂ°ÃÂ² ÃÂ¾ÃÂ±ÃÂÃÂµÃÂºÃÂ ÃÂºÃÂ»ÃÂ°ÃÂÃÂÃÂ° FieldStorage, ÃÂ²ÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¸ÃÂÃÂµ ÃÂÃÂµÃÂÃÂµÃÂ· ÃÂ½ÃÂµÃÂ³ÃÂ¾ ÃÂ´ÃÂ¾ÃÂÃÂÃÂÃÂ¿ ÃÂºÃÂ¾ ÃÂ²ÃÂÃÂµÃÂ¼ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ¼, ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ¼ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂµÃÂ¼, ÃÂ½ÃÂµÃÂ·ÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ¸ÃÂ¼ÃÂ¾ ÃÂ¾ÃÂ ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂÃÂµÃÂ¼ÃÂ¾ÃÂ³ÃÂ¾ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ°:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import cgi&lt;br /&gt;
data = cgi.FieldStorage()&lt;br /&gt;
for entry in data.keys():&lt;br /&gt;
print 'ÃÂÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ°ÃÂ %s ÃÂ¸ÃÂ¼ÃÂµÃÂµÃÂ ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ %s' % (entry, data[entry].value)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂÃÂ»ÃÂ¸ ÃÂ²ÃÂ°ÃÂ¼ ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¸ÃÂÃÂ ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ¾ÃÂ¿ÃÂÃÂµÃÂ´ÃÂµÃÂ»ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂ, ÃÂÃÂÃÂ¾ ÃÂ´ÃÂµÃÂ»ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂÃÂ°ÃÂº:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
field = data['field'].value&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ¾ÃÂ¼ÃÂ¸ÃÂ¼ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂÃÂÃÂºÃÂ¸ÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ, ÃÂ¾ÃÂ±ÃÂÃÂµÃÂºÃÂ ÃÂºÃÂ»ÃÂ°ÃÂÃÂÃÂ° FieldStorage ÃÂÃÂ¾ÃÂ´ÃÂµÃÂÃÂ¶ÃÂ¸ÃÂ ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ¸ ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ ÃÂ·ÃÂ°ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂºÃÂ° (ÃÂ² ÃÂ½ÃÂ°ÃÂÃÂµÃÂ¼ ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂÃÂµ ÃÂ¸ÃÂ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¸ÃÂÃÂ ÃÂ¸ÃÂ· ÃÂÃÂ»ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂ data.headers). MIME-ÃÂÃÂ¸ÃÂ¿ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ (ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ²ÃÂ°ÃÂµÃÂ¼ÃÂÃÂ¹ ÃÂ¿ÃÂ¾ÃÂ»ÃÂµÃÂ¼ ÃÂ·ÃÂ°ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂºÃÂ° Content-Type) ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¸ÃÂÃÂ ÃÂ¸ÃÂ· ÃÂ°ÃÂÃÂÃÂ¸ÃÂ±ÃÂÃÂÃÂ° data.type. ÃÂ§ÃÂµÃÂÃÂµÃÂ· ÃÂÃÂÃÂ¾ÃÂ ÃÂ¶ÃÂµ ÃÂ¾ÃÂ±ÃÂÃÂµÃÂºÃÂ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ±ÃÂÃÂÃÂ ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂµÃÂ½ÃÂ° ÃÂ¸ ÃÂ·ÃÂ°ÃÂ³ÃÂÃÂÃÂ·ÃÂºÃÂ° ÃÂÃÂ°ÃÂ¹ÃÂ»ÃÂ°.&lt;br /&gt;
&lt;br /&gt;
ÃÂ¡ ÃÂ¿ÃÂ¾ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ¾ÃÂ² keys() ÃÂ¸ has_key() ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂÃÂÃÂ ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂºÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂµÃÂ½ÃÂ½ÃÂÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ ÃÂ² ÃÂÃÂ¸ÃÂºÃÂ»ÃÂµ ÃÂ¸ ÃÂ¿ÃÂÃÂ¾ÃÂ²ÃÂµÃÂÃÂÃÂÃÂ ÃÂ½ÃÂ°ÃÂ»ÃÂ¸ÃÂÃÂ¸ÃÂµ ÃÂÃÂ¾ÃÂ¹ ÃÂ¸ÃÂ»ÃÂ¸ ÃÂ¸ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ¹. ÃÂÃÂÃÂÃÂ°ÃÂÃÂ¸ ÃÂ³ÃÂ¾ÃÂ²ÃÂ¾ÃÂÃÂ, ÃÂ¿ÃÂÃÂ¾ÃÂ²ÃÂµÃÂÃÂÃÂÃÂ ÃÂ½ÃÂ°ÃÂ»ÃÂ¸ÃÂÃÂ¸ÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ²ÃÂ¾ ÃÂ²ÃÂÃÂ¾ÃÂ´ÃÂ½ÃÂÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ, ÃÂ¿ÃÂÃÂµÃÂ¶ÃÂ´ÃÂµ ÃÂÃÂµÃÂ¼ ÃÂ¿ÃÂÃÂ¸ÃÂÃÂÃÂÃÂ¿ÃÂ°ÃÂÃÂ ÃÂº ÃÂ¸ÃÂ ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂºÃÂµ, ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂ¾ ÃÂ½ÃÂµÃÂ¿ÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ¾ Ã¢ÂÂ ÃÂ²ÃÂµÃÂ´ÃÂ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂÃÂµÃÂÃÂÃÂ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ¾ÃÂ¼, ÃÂ° ÃÂºÃÂÃÂ¾ ÃÂ·ÃÂ½ÃÂ°ÃÂµÃÂ, ÃÂÃÂÃÂ¾ ÃÂ ÃÂ½ÃÂµÃÂ³ÃÂ¾ ÃÂ½ÃÂ° ÃÂÃÂ¼ÃÂµ?&lt;br /&gt;
&lt;br /&gt;
=== ÃÂÃÂ°ÃÂ·ÃÂ¸ÃÂÃÂÃÂµÃÂ¼ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ===&lt;br /&gt;
ÃÂÃÂÃÂ°ÃÂº, ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ°ÃÂÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¾ÃÂ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ° ÃÂ¼ÃÂ ÃÂ½ÃÂ°ÃÂÃÂÃÂ¸ÃÂ»ÃÂ¸ÃÂÃÂ. ÃÂÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ»ÃÂÃÂÃÂ ÃÂÃÂ¾ÃÂ¶ÃÂµ ÃÂÃÂ¼ÃÂµÃÂµÃÂ¼. ÃÂÃÂÃÂÃÂ°ÃÂ»ÃÂ¾ÃÂÃÂ ÃÂ¿ÃÂÃÂ¸ÃÂ´ÃÂÃÂ¼ÃÂ°ÃÂÃÂ, ÃÂºÃÂ°ÃÂº ÃÂÃÂÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ»ÃÂÃÂÃÂÃÂµ ÃÂ²ÃÂÃÂµÃÂ³ÃÂ¾ ÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂÃÂ. ÃÂÃÂ¾ÃÂ½ÃÂµÃÂÃÂ½ÃÂ¾, ÃÂ´ÃÂ»ÃÂ ÃÂ½ÃÂµÃÂÃÂ»ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ³ÃÂ¾ÃÂÃÂÃÂµÃÂ²ÃÂ¾ÃÂ¹ ÃÂºÃÂ½ÃÂ¸ÃÂ³ÃÂ¸ ÃÂ ÃÂ½ÃÂµÃÂ±ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¾ÃÂ¹ ÃÂ½ÃÂ°ÃÂ³ÃÂÃÂÃÂ·ÃÂºÃÂ¾ÃÂ¹ ÃÂ²ÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂµ ÃÂÃÂ²ÃÂ°ÃÂÃÂ¸ÃÂ»ÃÂ¾ ÃÂ±ÃÂ ÃÂ¸ ÃÂÃÂµÃÂºÃÂÃÂÃÂ¾ÃÂ²ÃÂÃÂ ÃÂÃÂ°ÃÂ¹ÃÂ»ÃÂ¾ÃÂ². ÃÂÃÂÃÂ°ÃÂ²ÃÂ´ÃÂ°, ÃÂÃÂ°ÃÂ¼ ÃÂµÃÂÃÂÃÂ ÃÂÃÂ²ÃÂ¾ÃÂ¸ ÃÂÃÂ»ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ÃÂÃÂÃÂ¸ Ã¢ÂÂ ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂÃÂÃÂ°ÃÂ·ÃÂ ÃÂ¿ÃÂÃÂÃÂ ÃÂÃÂµÃÂ»ÃÂ¾ÃÂ²ÃÂµÃÂº ÃÂ·ÃÂ°ÃÂÃÂ¾ÃÂÃÂÃÂ ÃÂ²ÃÂÃÂÃÂºÃÂ°ÃÂ·ÃÂ°ÃÂÃÂ ÃÂÃÂ²ÃÂ¾ÃÂµ ÃÂ¼ÃÂ½ÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ¾ ÃÂ²ÃÂ°ÃÂÃÂµÃÂ¹ ÃÂºÃÂÃÂÃÂÃÂµÃÂ¹ÃÂÃÂµÃÂ¹ ÃÂ´ÃÂ¾ÃÂ¼ÃÂ°ÃÂÃÂ½ÃÂµÃÂ¹ ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂÃÂºÃÂµ, ÃÂÃÂ¾ ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ¿ÃÂÃÂ¸ÃÂ´ÃÂµÃÂÃÂÃÂ ÃÂºÃÂ°ÃÂºÃÂ¸ÃÂ¼-ÃÂÃÂ¾ ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ·ÃÂ¾ÃÂ¼ ÃÂÃÂµÃÂ³ÃÂÃÂ»ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂ ÃÂ´ÃÂ¾ÃÂÃÂÃÂÃÂ¿ ÃÂº ÃÂÃÂ°ÃÂ¹ÃÂ»ÃÂ-ÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂ»ÃÂ¸ÃÂÃÂ (ÃÂºÃÂ°ÃÂº ÃÂ¼ÃÂ¸ÃÂ½ÃÂ¸ÃÂ¼ÃÂÃÂ¼, ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ±ÃÂ°ÃÂÃÂÃÂ²ÃÂ°ÃÂÃÂ ÃÂÃÂ¸ÃÂÃÂÃÂ°ÃÂÃÂ¸ÃÂ, ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂÃÂ°ÃÂ¹ÃÂ» ÃÂÃÂ¶ÃÂµ ÃÂ¾ÃÂÃÂºÃÂÃÂÃÂ ÃÂ½ÃÂ° ÃÂ·ÃÂ°ÃÂ¿ÃÂ¸ÃÂÃÂ ÃÂ´ÃÂÃÂÃÂ³ÃÂ¸ÃÂ¼ ÃÂÃÂºÃÂ·ÃÂµÃÂ¼ÃÂ¿ÃÂ»ÃÂÃÂÃÂ¾ÃÂ¼ ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ). ÃÂÃÂ¾ ÃÂ·ÃÂ°ÃÂÃÂµÃÂ¼ ÃÂ½ÃÂ°ÃÂ¼ ÃÂ²ÃÂÃÂµ ÃÂÃÂÃÂ¸ ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂ½ÃÂÃÂµ ÃÂ±ÃÂ¾ÃÂ»ÃÂ¸? ÃÂÃÂÃÂ»ÃÂ¸ ÃÂ¼ÃÂ ÃÂÃÂ°ÃÂº ÃÂ»ÃÂ¾ÃÂ²ÃÂºÃÂ¾ ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂÃÂµÃÂ»ÃÂ¸ÃÂÃÂ ÃÂ¾ÃÂ ÃÂ½ÃÂµÃÂ¾ÃÂ±ÃÂÃÂ¾ÃÂ´ÃÂ¸ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ¸ ÃÂ²ÃÂÃÂÃÂÃÂ½ÃÂÃÂ ÃÂÃÂ°ÃÂ·ÃÂ±ÃÂ¸ÃÂÃÂ°ÃÂÃÂ HTTP-ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂÃÂ, ÃÂÃÂ¾ ÃÂ½ÃÂµÃÂÃÂ¶ÃÂµÃÂ»ÃÂ¸ ÃÂ½ÃÂµ ÃÂ½ÃÂ°ÃÂ¹ÃÂ´ÃÂµÃÂ¼ ÃÂÃÂÃÂ¾-ÃÂÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ´ÃÂÃÂ¾ÃÂ´ÃÂÃÂÃÂµÃÂµ ÃÂ½ÃÂ° ÃÂÃÂÃÂ¾ÃÂ ÃÂÃÂ°ÃÂ·?&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ¾ÃÂ½ÃÂµÃÂÃÂ½ÃÂ¾, ÃÂ½ÃÂ°ÃÂ¹ÃÂ´ÃÂµÃÂ¼! ÃÂ ÃÂÃÂÃÂ¾ ÃÂ«ÃÂÃÂÃÂ¾-ÃÂÃÂ¾ÃÂ» ÃÂ½ÃÂ°ÃÂ·ÃÂÃÂ²ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂÃÂ¸ÃÂÃÂÃÂµÃÂ¼ÃÂ¾ÃÂ¹ ÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ»ÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ±ÃÂ°ÃÂ·ÃÂ°ÃÂ¼ÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ (ÃÂ² ÃÂ¿ÃÂÃÂ¾ÃÂÃÂÃÂ¾ÃÂÃÂµÃÂÃÂÃÂµ Ã¢ÂÂ ÃÂ¡ÃÂ£ÃÂÃÂ). ÃÂ¢ÃÂµÃÂ¿ÃÂµÃÂÃÂ ÃÂ½ÃÂ°ÃÂÃÂµ ÃÂ´ÃÂµÃÂ»ÃÂ¾ Ã¢ÂÂ ÃÂ¾ÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂ ÃÂ¸ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¸ÃÂÃÂ ÃÂ¾ÃÂÃÂ²ÃÂµÃÂ. ÃÂÃÂÃÂµ ÃÂ¾ÃÂÃÂÃÂ°ÃÂ»ÃÂÃÂ½ÃÂ¾ÃÂµ Ã¢ÂÂ ÃÂÃÂ¶ÃÂµ ÃÂ½ÃÂµ ÃÂ½ÃÂ°ÃÂÃÂ° ÃÂ·ÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ»ÃÂ ÃÂÃÂÃÂ¾ÃÂ³ÃÂ¾ ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂÃÂ° ÃÂ ÃÂ²ÃÂÃÂ±ÃÂÃÂ°ÃÂ» ÃÂ² ÃÂºÃÂ°ÃÂÃÂµÃÂÃÂÃÂ²ÃÂµ ÃÂ«ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂÃÂÃÂ²ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ÃÂ» ÃÂ·ÃÂ° ÃÂÃÂÃÂ°ÃÂ½ÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂ ÃÂ±ÃÂ°ÃÂ· ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ PostgreSQL. ÃÂÃÂ¾ÃÂÃÂºÃÂ¾ÃÂ»ÃÂÃÂºÃÂ ÃÂ¼ÃÂ ÃÂ¿ÃÂ¸ÃÂÃÂµÃÂ¼ ÃÂ½ÃÂ ÃÂ¾ÃÂÃÂµÃÂ½ÃÂ ÃÂ¿ÃÂÃÂ¾ÃÂÃÂÃÂÃÂ ÃÂ³ÃÂ¾ÃÂÃÂÃÂµÃÂ²ÃÂÃÂ ÃÂºÃÂ½ÃÂ¸ÃÂ³ÃÂ, ÃÂÃÂ¾ ÃÂ¸ ÃÂÃÂÃÂÃÂÃÂºÃÂÃÂÃÂÃÂ° ÃÂ±ÃÂ°ÃÂ·ÃÂ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ ÃÂ½ÃÂ°ÃÂ ÃÂÃÂ»ÃÂµÃÂ¼ÃÂµÃÂ½ÃÂÃÂ°ÃÂÃÂ½ÃÂ¾ÃÂ¹ Ã¢ÂÂ ÃÂ¾ÃÂ´ÃÂ½ÃÂ° ÃÂÃÂ°ÃÂ±ÃÂ»ÃÂ¸ÃÂÃÂ° ÃÂ ÃÂÃÂÃÂµÃÂ¼ÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ¼ÃÂ¸: ÃÂ²ÃÂÃÂµÃÂ¼ÃÂ ÃÂ¿ÃÂÃÂ±ÃÂ»ÃÂ¸ÃÂºÃÂ°ÃÂÃÂ¸ÃÂ¸ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂ, ÃÂ¸ÃÂ¼ÃÂ ÃÂ°ÃÂ²ÃÂÃÂ¾ÃÂÃÂ° ÃÂ¸, ÃÂÃÂ¾ÃÂ±ÃÂÃÂÃÂ²ÃÂµÃÂ½ÃÂ½ÃÂ¾, ÃÂÃÂ°ÃÂ¼ÃÂ¾ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ:&lt;br /&gt;
&lt;br /&gt;
 admin@toshiba:~$ psql&lt;br /&gt;
 Welcome to psql 8.1.4, the PostgreSQL interactive terminal.&lt;br /&gt;
 guestbook=# create user &amp;quot;www-data&amp;quot; nocreatedb nocreateuser;&lt;br /&gt;
 CREATE ROLE&lt;br /&gt;
 admin=# create database guestbook with owner &amp;quot;www-data&amp;quot;;&lt;br /&gt;
 CREATE DATABASE&lt;br /&gt;
 admin=# \connect guestbook&lt;br /&gt;
 ÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂ´ÃÂÃÂ¾ÃÂµÃÂ´ÃÂ¸ÃÂ½ÃÂ¸ÃÂ»ÃÂ¸ÃÂÃÂ ÃÂº ÃÂ±ÃÂ°ÃÂ·ÃÂµ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ &amp;quot;guestbook&amp;quot;.&lt;br /&gt;
 guestbook=# create table guestbook (&lt;br /&gt;
 guestbook(# datum timestamp, author varchar, message varchar);&lt;br /&gt;
 CREATE TABLE&lt;br /&gt;
 guestbook=# alter table guestbook owner to &amp;quot;www-data&amp;quot;;&lt;br /&gt;
 ALTER TABLE&lt;br /&gt;
 guestbook=# \q&lt;br /&gt;
 admin@toshiba:~$&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ¾ÃÂ¶ÃÂ°ÃÂ»ÃÂÃÂ¹, ÃÂµÃÂ´ÃÂ¸ÃÂ½ÃÂÃÂÃÂ²ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂµ, ÃÂÃÂÃÂ¾ ÃÂ·ÃÂ´ÃÂµÃÂÃÂ ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂÃÂÃÂ½ÃÂ¸ÃÂÃÂ, ÃÂÃÂÃÂ¾ ÃÂ¿ÃÂ¾ÃÂÃÂµÃÂ¼ÃÂ ÃÂ±ÃÂ°ÃÂ·ÃÂµ ÃÂ¸ ÃÂÃÂ°ÃÂ±ÃÂ»ÃÂ¸ÃÂÃÂµ ÃÂ¼ÃÂ ÃÂ½ÃÂ°ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ»ÃÂ¸ ÃÂ²ÃÂ»ÃÂ°ÃÂ´ÃÂµÃÂ»ÃÂÃÂÃÂµÃÂ¼ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂ www-data. ÃÂÃÂÃÂ¾ÃÂÃÂÃÂ¾ ÃÂº ÃÂ½ÃÂ¸ÃÂ¼ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂÃÂ°ÃÂÃÂÃÂÃÂ cgi-ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ¹, ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂÃÂÃÂ¸ÃÂ¹ ÃÂ ÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ°ÃÂ¼ÃÂ¸ HTTP-ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂÃÂ° Apache, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂ¹, ÃÂ² ÃÂÃÂ²ÃÂ¾ÃÂ ÃÂ¾ÃÂÃÂµÃÂÃÂµÃÂ´ÃÂ, ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂÃÂµÃÂÃÂÃÂ ÃÂ¾ÃÂ ÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂ [ÃÂ² ÃÂ²ÃÂ°ÃÂÃÂµÃÂ¼ ÃÂ´ÃÂ¸ÃÂÃÂÃÂÃÂ¸ÃÂ±ÃÂÃÂÃÂ¸ÃÂ²ÃÂµ ÃÂ¾ÃÂ½ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ½ÃÂ°ÃÂ·ÃÂ²ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ¿ÃÂ¾-ÃÂ´ÃÂÃÂÃÂ³ÃÂ¾ÃÂ¼ÃÂ, Ã¢ÂÂ ÃÂ¿ÃÂÃÂ¸ÃÂ¼. ÃÂÃÂµÃÂ´.]. ÃÂ PostgreSQL ÃÂ¿ÃÂ¾ ÃÂÃÂ¼ÃÂ¾ÃÂ»ÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂ ÃÂÃÂÃÂµÃÂ±ÃÂÃÂµÃÂ, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ¸ÃÂ¼ÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂ ÃÂ² ÃÂÃÂ ÃÂÃÂ¾ÃÂ²ÃÂ¿ÃÂ°ÃÂ´ÃÂ°ÃÂ»ÃÂ¾ ÃÂ ÃÂµÃÂ³ÃÂ¾ ÃÂÃÂ¸ÃÂÃÂÃÂµÃÂ¼ÃÂ½ÃÂÃÂ¼ ÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂµÃÂ¼. ÃÂÃÂ½ÃÂµ ÃÂÃÂÃÂ¾ ÃÂºÃÂ°ÃÂ¶ÃÂµÃÂÃÂÃÂ ÃÂ´ÃÂ¾ÃÂÃÂÃÂ°ÃÂÃÂ¾ÃÂÃÂ½ÃÂ¾ ÃÂÃÂ´ÃÂ¾ÃÂ±ÃÂ½ÃÂÃÂ¼, ÃÂÃÂ¾ÃÂÃÂ ÃÂ²ÃÂ, ÃÂºÃÂ¾ÃÂ½ÃÂµÃÂÃÂ½ÃÂ¾, ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂÃÂµ ÃÂ¿ÃÂ¾ÃÂÃÂÃÂÃÂ¿ÃÂ¸ÃÂÃÂ ÃÂ¿ÃÂ¾-ÃÂÃÂ²ÃÂ¾ÃÂµÃÂ¼ÃÂ.&lt;br /&gt;
&lt;br /&gt;
=== DB API ÃÂ½ÃÂ° ÃÂÃÂÃÂÃÂ°ÃÂ¶ÃÂµ ÃÂÃÂ½ÃÂ¸ÃÂÃÂ¸ÃÂºÃÂ°ÃÂÃÂ¸ÃÂ¸ ===&lt;br /&gt;
ÃÂÃÂÃÂÃÂ°ÃÂ»ÃÂ¾ÃÂÃÂ ÃÂÃÂ°ÃÂ·ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂÃÂÃÂÃÂ, ÃÂºÃÂ°ÃÂº ÃÂ¶ÃÂµ Python ÃÂ²ÃÂ·ÃÂ°ÃÂ¸ÃÂ¼ÃÂ¾ÃÂ´ÃÂµÃÂ¹ÃÂÃÂÃÂ²ÃÂÃÂµÃÂ ÃÂ ÃÂ±ÃÂ°ÃÂ·ÃÂ°ÃÂ¼ÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ. ÃÂÃÂ»ÃÂ ÃÂÃÂÃÂ¾ÃÂ³ÃÂ¾ Python ÃÂ¿ÃÂÃÂµÃÂ´ÃÂ¾ÃÂÃÂÃÂ°ÃÂ²ÃÂ»ÃÂÃÂµÃÂ DB API Ã¢ÂÂ ÃÂÃÂ¿ÃÂµÃÂÃÂ¸ÃÂ°ÃÂ»ÃÂÃÂ½ÃÂÃÂ¹ ÃÂ¸ÃÂ½ÃÂÃÂµÃÂÃÂÃÂµÃÂ¹ÃÂ, ÃÂÃÂ½ÃÂ¸ÃÂÃÂ¸ÃÂÃÂ¸ÃÂÃÂÃÂÃÂÃÂ¸ÃÂ¹ ÃÂ½ÃÂ°ÃÂ±ÃÂ¾ÃÂ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ¾ÃÂ², ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ ÃÂ±ÃÂÃÂ´ÃÂÃÂ ÃÂ¾ÃÂ´ÃÂ¸ÃÂ½ÃÂ°ÃÂºÃÂ¾ÃÂ²ÃÂ¾ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂÃÂ ÃÂ½ÃÂµÃÂ·ÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ¸ÃÂ¼ÃÂ¾ ÃÂ¾ÃÂ ÃÂÃÂ¾ÃÂ³ÃÂ¾, ÃÂ ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂ¹ ÃÂ¡ÃÂ£ÃÂÃÂ ÃÂ¼ÃÂ ÃÂ²ÃÂ·ÃÂ°ÃÂ¸ÃÂ¼ÃÂ¾ÃÂ´ÃÂµÃÂ¹ÃÂÃÂÃÂ²ÃÂÃÂµÃÂ¼. ÃÂÃÂ»ÃÂ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ ÃÂ PostgreSQL ÃÂ½ÃÂ°ÃÂ¼ ÃÂ¿ÃÂ¾ÃÂ½ÃÂ°ÃÂ´ÃÂ¾ÃÂ±ÃÂ¸ÃÂÃÂÃÂ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ PyPgSQL (ÃÂ² ÃÂÃÂÃÂ°ÃÂ½ÃÂ´ÃÂ°ÃÂÃÂÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¿ÃÂ¾ÃÂÃÂÃÂ°ÃÂ²ÃÂºÃÂµ ÃÂµÃÂ³ÃÂ¾ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ½ÃÂµ ÃÂ¾ÃÂºÃÂ°ÃÂ·ÃÂ°ÃÂÃÂÃÂÃÂ, ÃÂ½ÃÂ¾ ÃÂ²ÃÂ°ÃÂ ÃÂ¼ÃÂµÃÂ½ÃÂµÃÂ´ÃÂ¶ÃÂµÃÂ ÃÂ¿ÃÂ°ÃÂºÃÂµÃÂÃÂ¾ÃÂ² ÃÂ½ÃÂ°ÃÂ²ÃÂµÃÂÃÂ½ÃÂÃÂºÃÂ° ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ² ÃÂºÃÂÃÂÃÂÃÂµ, ÃÂºÃÂ°ÃÂº ÃÂµÃÂ³ÃÂ¾ ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¾ÃÂ²ÃÂ¸ÃÂÃÂ; ÃÂºÃÂÃÂÃÂ°ÃÂÃÂ¸, ÃÂÃÂÃÂ¾ ÃÂ½ÃÂµ ÃÂµÃÂ´ÃÂ¸ÃÂ½ÃÂÃÂÃÂ²ÃÂµÃÂ½ÃÂ½ÃÂÃÂ¹ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ Ã¢ÂÂ ÃÂ ÃÂ²ÃÂ°ÃÂ, ÃÂ²ÃÂ¾ÃÂ·ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾, ÃÂ±ÃÂÃÂ´ÃÂµÃÂ PyGreSQL, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂ¹ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂµÃÂ ÃÂ½ÃÂ¸ÃÂÃÂÃÂÃÂ ÃÂ½ÃÂ¸ ÃÂÃÂÃÂ¶ÃÂµ ÃÂ¸ ÃÂ ÃÂÃÂµÃÂ¼ÃÂ¸ ÃÂ¶ÃÂµ ÃÂÃÂ°ÃÂ¼ÃÂÃÂ¼ÃÂ¸ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ°ÃÂ¼ÃÂ¸).&lt;br /&gt;
&lt;br /&gt;
DB API ÃÂ¾ÃÂ¿ÃÂÃÂµÃÂ´ÃÂµÃÂ»ÃÂÃÂµÃÂ ÃÂÃÂÃÂ°ÃÂ½ÃÂ´ÃÂ°ÃÂÃÂÃÂ½ÃÂÃÂµ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ ÃÂ ÃÂ±ÃÂ°ÃÂ·ÃÂ°ÃÂ¼ÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ, ÃÂÃÂ°ÃÂº ÃÂÃÂÃÂ¾, ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂ¹ ÃÂ±ÃÂ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ ÃÂ²ÃÂ ÃÂ½ÃÂ¸ ÃÂ·ÃÂ°ÃÂ³ÃÂÃÂÃÂ·ÃÂ¸ÃÂ»ÃÂ¸ ÃÂ¸ ÃÂ ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂ¹ ÃÂ±ÃÂ ÃÂ¡ÃÂ£ÃÂÃÂ ÃÂ½ÃÂ¸ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂ»ÃÂ¸ (ÃÂ±ÃÂÃÂ´ÃÂ ÃÂÃÂ¾ MySQL, PostgreSQL, SQLite ÃÂ¸ÃÂ»ÃÂ¸ ÃÂÃÂÃÂ¾-ÃÂÃÂ¾ ÃÂµÃÂÃÂµ), ÃÂ¼ÃÂµÃÂ½ÃÂÃÂÃÂÃÂÃÂ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂÃÂ¾ÃÂ»ÃÂÃÂºÃÂ¾ ÃÂ¸ÃÂ¼ÃÂ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ. ÃÂÃÂ»ÃÂ°ÃÂ²ÃÂ½ÃÂ¾ÃÂµ, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂÃÂµÃÂ¼ÃÂÃÂ¹ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ ÃÂÃÂ¾ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂÃÂÃÂ²ÃÂ¾ÃÂ²ÃÂ°ÃÂ» DB API. ÃÂ ÃÂ°ÃÂÃÂÃÂ¼ÃÂ¾ÃÂÃÂÃÂ¸ÃÂ¼ ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂºÃÂ¾ ÃÂ¾ÃÂÃÂ½ÃÂ¾ÃÂ²ÃÂ½ÃÂÃÂµ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
conn = connect(dsn='localhost', user='admin', password='superparol', database='mydb')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂ¢ÃÂ°ÃÂº ÃÂ¾ÃÂÃÂÃÂÃÂµÃÂÃÂÃÂ²ÃÂ»ÃÂÃÂµÃÂÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂ´ÃÂºÃÂ»ÃÂÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂº ÃÂ±ÃÂ°ÃÂ·ÃÂµ. ÃÂ ÃÂ·ÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ¸ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ¸ ÃÂ¾ÃÂ ÃÂÃÂ¸ÃÂÃÂÃÂ°ÃÂÃÂ¸ÃÂ¸, ÃÂ²ÃÂ°ÃÂ¼ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ¿ÃÂ¾ÃÂÃÂÃÂµÃÂ±ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂÃÂºÃÂ°ÃÂ·ÃÂ°ÃÂÃÂ ÃÂÃÂ¾ÃÂ»ÃÂÃÂºÃÂ¾ ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂ°ÃÂÃÂ°ÃÂ¼ÃÂµÃÂÃÂÃÂ (ÃÂ½ÃÂ°ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ, ÃÂ¸ÃÂ¼ÃÂ ÃÂÃÂ¾ÃÂÃÂÃÂ° 'localhost' ÃÂ¿ÃÂ¾ÃÂ´ÃÂÃÂ°ÃÂ·ÃÂÃÂ¼ÃÂµÃÂ²ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ¿ÃÂ¾ ÃÂÃÂ¼ÃÂ¾ÃÂ»ÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂ).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
cur = conn.cursor()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂÃÂÃÂÃÂ¾ÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂ´ÃÂ´ÃÂµÃÂÃÂ¶ÃÂ¸ÃÂ²ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ´ÃÂ°ÃÂ»ÃÂµÃÂºÃÂ¾ ÃÂ½ÃÂµ ÃÂ²ÃÂÃÂµÃÂ¼ÃÂ¸ ÃÂ¡ÃÂ£ÃÂÃÂ, ÃÂ½ÃÂ¾ ÃÂ´ÃÂ»ÃÂ ÃÂ¾ÃÂ±ÃÂÃÂ½ÃÂ¾ÃÂÃÂÃÂ¸ ÃÂ² DB API ÃÂ¾ÃÂ½ÃÂ¸ ÃÂ²ÃÂ²ÃÂµÃÂ´ÃÂµÃÂ½ÃÂ ÃÂ¸, ÃÂ² ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂµ ÃÂ½ÃÂµÃÂ¾ÃÂ±ÃÂÃÂ¾ÃÂ´ÃÂ¸ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ¸, ÃÂ´ÃÂ¾ÃÂ»ÃÂ¶ÃÂ½ÃÂ ÃÂÃÂ¼ÃÂÃÂ»ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂÃÂ¼ÃÂ¸ ÃÂÃÂ¾ÃÂ¿ÃÂÃÂÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ¸ÃÂÃÂºÃÂÃÂÃÂÃÂÃÂ²ÃÂµÃÂ½ÃÂ½ÃÂ¾. ÃÂ¢ÃÂ°ÃÂº ÃÂÃÂÃÂ¾ ÃÂ½ÃÂµ ÃÂ·ÃÂ°ÃÂ±ÃÂÃÂ²ÃÂ°ÃÂ¹ÃÂÃÂµ ÃÂ¾ÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ»ÃÂÃÂÃÂ ÃÂ²ÃÂÃÂµ ÃÂ²ÃÂ°ÃÂÃÂ¸ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂÃÂ ÃÂÃÂµÃÂÃÂµÃÂ· ÃÂºÃÂÃÂÃÂÃÂ¾ÃÂ.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
cur.execute('''SELECT * FROM mytable''')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂ¢ÃÂ°ÃÂº ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂÃÂµÃÂÃÂÃÂ SQL-ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂ. ÃÂÃÂÃÂ»ÃÂ¸ ÃÂ² ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂµ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂÃÂ° ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂÃÂÃÂÃÂÃÂ ÃÂ·ÃÂ½ÃÂ°ÃÂºÃÂ¾ÃÂ¼ÃÂµÃÂÃÂÃÂ° %s, ÃÂÃÂ¾ ÃÂ²ÃÂÃÂ¾ÃÂÃÂÃÂ¼ ÃÂ¿ÃÂ°ÃÂÃÂ°ÃÂ¼ÃÂµÃÂÃÂÃÂ¾ÃÂ¼ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂÃÂ¿ÃÂ¸ÃÂÃÂ¾ÃÂº ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂÃÂ-ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂ¹, ÃÂ¿ÃÂÃÂ¸ÃÂÃÂµÃÂ¼ ÃÂ² SQL-ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂÃÂµ ÃÂ·ÃÂ½ÃÂ°ÃÂºÃÂ¾ÃÂ¼ÃÂµÃÂÃÂÃÂ° ÃÂ½ÃÂµ ÃÂÃÂÃÂµÃÂ±ÃÂÃÂµÃÂÃÂÃÂ ÃÂ¾ÃÂºÃÂÃÂÃÂ¶ÃÂ°ÃÂÃÂ ÃÂ°ÃÂ¿ÃÂ¾ÃÂÃÂÃÂÃÂ¾ÃÂÃÂ°ÃÂ¼ÃÂ¸ Ã¢ÂÂ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ ÃÂÃÂ´ÃÂµÃÂ»ÃÂ°ÃÂµÃÂ ÃÂÃÂÃÂ¾ ÃÂÃÂ°ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ¾ÃÂÃÂÃÂµÃÂ»ÃÂÃÂ½ÃÂ¾ ÃÂ² ÃÂ·ÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ¸ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ¸ ÃÂ¾ÃÂ&lt;br /&gt;
ÃÂÃÂ¸ÃÂ¿ÃÂ° ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ¹.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
cur.fetchall()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ¾ÃÂ·ÃÂ²ÃÂÃÂ°ÃÂÃÂ°ÃÂµÃÂ ÃÂ´ÃÂ²ÃÂÃÂ¼ÃÂµÃÂÃÂ½ÃÂÃÂ¹ ÃÂÃÂ¿ÃÂ¸ÃÂÃÂ¾ÃÂº (ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂ¸ Ã¢ÂÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂ) ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂµÃÂ½ÃÂ½ÃÂÃÂ ÃÂ¾ÃÂ ÃÂ¡ÃÂ£ÃÂÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ. ÃÂ¡ÃÂÃÂÃÂµÃÂÃÂÃÂ²ÃÂÃÂÃÂ ÃÂ¸ ÃÂ´ÃÂÃÂÃÂ³ÃÂ¸ÃÂµ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ, ÃÂ¾ÃÂ·ÃÂ½ÃÂ°ÃÂºÃÂ¾ÃÂ¼ÃÂ¸ÃÂÃÂÃÂÃÂ ÃÂ ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂ¼ÃÂ¸ ÃÂ²ÃÂ ÃÂÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂÃÂµ ÃÂ² ÃÂ´ÃÂ¾ÃÂºÃÂÃÂ¼ÃÂµÃÂ½ÃÂÃÂ°ÃÂÃÂ¸ÃÂ¸ ÃÂ¸ÃÂ»ÃÂ¸ ÃÂ ÃÂ¿ÃÂ¾ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ ÃÂ·ÃÂ½ÃÂ°ÃÂºÃÂ¾ÃÂ¼ÃÂ¾ÃÂ¹ ÃÂ²ÃÂ°ÃÂ¼ ÃÂÃÂÃÂ½ÃÂºÃÂÃÂ¸ÃÂ¸ dir() ÃÂ´ÃÂ° ÃÂ¿ÃÂ°ÃÂÃÂ-ÃÂÃÂÃÂ¾ÃÂ¹ÃÂºÃÂ¸ ÃÂ½ÃÂµÃÂÃÂ»ÃÂ¾ÃÂ¶ÃÂ½ÃÂÃÂ ÃÂÃÂºÃÂÃÂ¿ÃÂµÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂÃÂ¾ÃÂ².&lt;br /&gt;
&lt;br /&gt;
=== ÃÂÃÂ°ÃÂºÃÂÃÂµÃÂ¿ÃÂ»ÃÂÃÂµÃÂ¼ ÃÂ½ÃÂ° ÃÂ¿ÃÂÃÂ°ÃÂºÃÂÃÂ¸ÃÂºÃÂµ ===&lt;br /&gt;
ÃÂÃÂµÃÂÃÂµÃÂ¹ÃÂ´ÃÂµÃÂ¼ ÃÂº ÃÂÃÂ°ÃÂÃÂÃÂ¼ÃÂ¾ÃÂÃÂÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ½ÃÂ°ÃÂÃÂµÃÂ³ÃÂ¾ ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂÃÂ°. ÃÂÃÂ°ÃÂÃÂ½ÃÂµÃÂ¼ ÃÂÃÂÃÂ°ÃÂ½ÃÂ´ÃÂ°ÃÂÃÂÃÂ½ÃÂ¾ Ã¢ÂÂ ÃÂÃÂºÃÂ°ÃÂ¶ÃÂµÃÂ¼ ÃÂºÃÂ¾ÃÂ´ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂºÃÂ, ÃÂ¿ÃÂ¾ÃÂ´ÃÂºÃÂ»ÃÂÃÂÃÂ¸ÃÂ¼ ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂÃÂµ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ¸:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/Python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
import PyPgSQL.PgSQL as pg&lt;br /&gt;
import cgi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ°ÃÂ»ÃÂµÃÂµ, ÃÂ¾ÃÂ¿ÃÂÃÂµÃÂ´ÃÂµÃÂ»ÃÂ¸ÃÂ¼ ÃÂ´ÃÂ²ÃÂµ ÃÂÃÂÃÂ½ÃÂºÃÂÃÂ¸ÃÂ¸. ÃÂÃÂµÃÂÃÂ²ÃÂ°ÃÂ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂ°ÃÂÃÂ ÃÂ·ÃÂ° ÃÂ´ÃÂ¾ÃÂ±ÃÂ°ÃÂ²ÃÂ»ÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ½ÃÂ¾ÃÂ²ÃÂ¾ÃÂ³ÃÂ¾ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ² ÃÂ±ÃÂ°ÃÂ·ÃÂ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def addMessage(author, message):&lt;br /&gt;
  db = pg.connect(database=&amp;quot;guestbook&amp;quot;)&lt;br /&gt;
  c = db.cursor()&lt;br /&gt;
  c.execute(&amp;quot;&amp;quot;&amp;quot;INSERT INTO guestbook (datum, author, message) VALUES ('now', %s, %s);&amp;quot;&amp;quot;&amp;quot;, (author, message))&lt;br /&gt;
  c.close()&lt;br /&gt;
  db.commit()&lt;br /&gt;
  db.close()&lt;br /&gt;
  print &amp;quot;Content-Type: text/html&amp;quot;&lt;br /&gt;
  print &amp;quot;Location: ?#form\n&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ°ÃÂº ÃÂ²ÃÂ¸ÃÂ´ÃÂ¸ÃÂÃÂµ, ÃÂ²ÃÂÃÂµ ÃÂ¾ÃÂÃÂµÃÂ½ÃÂ ÃÂ´ÃÂ°ÃÂ¶ÃÂµ ÃÂ»ÃÂ¾ÃÂ³ÃÂ¸ÃÂÃÂ½ÃÂ¾: ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ°ÃÂ²ÃÂ»ÃÂ¸ÃÂ²ÃÂ°ÃÂµÃÂ¼ ÃÂÃÂ¾ÃÂµÃÂ´ÃÂ¸ÃÂ½ÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ ÃÂÃÂ (ÃÂ¿ÃÂ¾ÃÂÃÂºÃÂ¾ÃÂ»ÃÂÃÂºÃÂ ÃÂ² ÃÂ½ÃÂ°ÃÂÃÂµÃÂ¼ ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂµ ÃÂ¿ÃÂ¾ÃÂ´ÃÂºÃÂ»ÃÂÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂÃÂµÃÂÃÂÃÂ ÃÂ ÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂµÃÂ¼ ÃÂÃÂµÃÂºÃÂÃÂÃÂµÃÂ³ÃÂ¾ ÃÂÃÂ¸ÃÂÃÂÃÂµÃÂ¼ÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂ, ÃÂÃÂ¾ ÃÂ´ÃÂ¾ÃÂÃÂÃÂ°ÃÂÃÂ¾ÃÂÃÂ½ÃÂ¾ ÃÂÃÂºÃÂ°ÃÂ·ÃÂ°ÃÂÃÂ ÃÂÃÂ¾ÃÂ»ÃÂÃÂºÃÂ¾ ÃÂ¸ÃÂ¼ÃÂ ÃÂ±ÃÂ°ÃÂ·ÃÂ), ÃÂÃÂ¾ÃÂ·ÃÂ´ÃÂ°ÃÂµÃÂ¼ ÃÂºÃÂÃÂÃÂÃÂ¾ÃÂ (ÃÂ² PostgreSQL ÃÂ¾ÃÂ½ÃÂ¸ ÃÂ½ÃÂµ ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂÃÂÃÂÃÂÃÂ, ÃÂ½ÃÂ¾ ÃÂ¾ÃÂ½ÃÂ¸ ÃÂÃÂ¼ÃÂÃÂ»ÃÂ¸ÃÂÃÂÃÂÃÂÃÂÃÂ ÃÂºÃÂ°ÃÂ¶ÃÂ´ÃÂÃÂ¼ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂµÃÂ¼, ÃÂ¿ÃÂÃÂµÃÂÃÂµÃÂ½ÃÂ´ÃÂÃÂÃÂÃÂ¸ÃÂ¼ ÃÂ½ÃÂ° ÃÂÃÂ¾ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂÃÂÃÂ²ÃÂ¸ÃÂµ DB API), ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂÃÂµÃÂÃÂÃÂ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂ, ÃÂ·ÃÂ°ÃÂºÃÂÃÂÃÂ²ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂºÃÂÃÂÃÂÃÂ¾ÃÂ, ÃÂÃÂ¸ÃÂºÃÂÃÂ¸ÃÂÃÂÃÂÃÂÃÂÃÂ ÃÂ¸ÃÂ·ÃÂ¼ÃÂµÃÂ½ÃÂµÃÂ½ÃÂ¸ÃÂ (PostgreSQL ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂÃÂµÃÂ ÃÂÃÂÃÂ°ÃÂ½ÃÂ·ÃÂ°ÃÂºÃÂÃÂ¸ÃÂ¸, ÃÂ¿ÃÂ¾ÃÂÃÂÃÂ¾ÃÂ¼ÃÂ ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ° commit() ÃÂ¾ÃÂ±ÃÂÃÂ·ÃÂ°ÃÂÃÂµÃÂ»ÃÂÃÂ½ÃÂ¾, ÃÂ¸ÃÂ½ÃÂ°ÃÂÃÂµ ÃÂ²ÃÂ°ÃÂÃÂ¸ ÃÂ¸ÃÂ·ÃÂ¼ÃÂµÃÂ½ÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ½ÃÂµ ÃÂ±ÃÂÃÂ´ÃÂÃÂ ÃÂÃÂ¾ÃÂÃÂÃÂ°ÃÂ½ÃÂµÃÂ½ÃÂ), ÃÂ¸, ÃÂ½ÃÂ°ÃÂºÃÂ¾ÃÂ½ÃÂµÃÂ, ÃÂ·ÃÂ°ÃÂºÃÂÃÂÃÂ²ÃÂ°ÃÂµÃÂ¼ ÃÂÃÂ°ÃÂ¼ÃÂ¾ ÃÂÃÂ¾ÃÂµÃÂ´ÃÂ¸ÃÂ½ÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ ÃÂ±ÃÂ°ÃÂ·ÃÂ¾ÃÂ¹. ÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂµ datum ÃÂ·ÃÂ°ÃÂ½ÃÂ¾ÃÂÃÂ¸ÃÂ¼ ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ²ÃÂÃÂÃÂÃÂ¾ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ¹ PostgreSQL Ã¢ÂÂ now, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂ°ÃÂ ÃÂºÃÂ°ÃÂ¶ÃÂ´ÃÂÃÂ¹ ÃÂÃÂ°ÃÂ· ÃÂ·ÃÂ°ÃÂ¼ÃÂµÃÂ½ÃÂÃÂµÃÂÃÂÃÂ ÃÂÃÂµÃÂºÃÂÃÂÃÂ¸ÃÂ¼ ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµÃÂ¼ ÃÂ´ÃÂ°ÃÂÃÂ ÃÂ¸ ÃÂ²ÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ¸.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ ÃÂ¸ ÃÂ¿ÃÂµÃÂÃÂ°ÃÂÃÂ ÃÂ·ÃÂ°ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂºÃÂ° ÃÂ«LocationÃÂ» ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂÃÂµÃÂÃÂÃÂ ÃÂ´ÃÂ»ÃÂ ÃÂÃÂ¾ÃÂ³ÃÂ¾, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ¿ÃÂµÃÂÃÂµÃÂ½ÃÂ°ÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂ ÃÂ½ÃÂ° ÃÂÃÂÃÂ¾ÃÂ ÃÂ¶ÃÂµ ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ¹, ÃÂ½ÃÂ¾ ÃÂÃÂ¶ÃÂµ ÃÂ±ÃÂµÃÂ· ÃÂ¿ÃÂ°ÃÂÃÂ°ÃÂ¼ÃÂµÃÂÃÂÃÂ¾ÃÂ² Ã¢ÂÂ ÃÂ¼ÃÂ ÃÂ¶ÃÂµ ÃÂ´ÃÂ¾ÃÂ»ÃÂ¶ÃÂ½ÃÂ ÃÂ¿ÃÂ¾ÃÂºÃÂ°ÃÂ·ÃÂ°ÃÂÃÂ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ, ÃÂÃÂÃÂ¾ ÃÂ¾ÃÂ½ ÃÂ½ÃÂ° ÃÂÃÂ°ÃÂ¼ÃÂ¾ÃÂ¼ ÃÂ´ÃÂµÃÂ»ÃÂµ ÃÂ²ÃÂ²ÃÂµÃÂ»? (ÃÂ¯ÃÂºÃÂ¾ÃÂÃÂ #form ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂÃÂµÃÂÃÂÃÂ, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ°ÃÂ²ÃÂÃÂ¾ÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂÃÂµÃÂÃÂºÃÂ¸ ÃÂ¿ÃÂÃÂ¾ÃÂºÃÂÃÂÃÂÃÂ¸ÃÂÃÂ ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂÃÂºÃÂ ÃÂ½ÃÂ° ÃÂ¿ÃÂ¾ÃÂÃÂ»ÃÂµÃÂ´ÃÂ½ÃÂµÃÂµ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ).&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂÃÂ¾ÃÂÃÂ°ÃÂ ÃÂÃÂÃÂ½ÃÂºÃÂÃÂ¸ÃÂ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂ°ÃÂÃÂ ÃÂ·ÃÂ° ÃÂ²ÃÂÃÂ²ÃÂ¾ÃÂ´ ÃÂ½ÃÂ° ÃÂÃÂºÃÂÃÂ°ÃÂ½ ÃÂÃÂ¶ÃÂµ ÃÂ¾ÃÂÃÂÃÂ°ÃÂ²ÃÂ»ÃÂµÃÂ½ÃÂ½ÃÂÃÂÃÂ² ÃÂºÃÂ½ÃÂ¸ÃÂ³ÃÂµ ÃÂ·ÃÂ°ÃÂ¿ÃÂ¸ÃÂÃÂµÃÂ¹, ÃÂ° ÃÂÃÂ°ÃÂºÃÂ¶ÃÂµ ÃÂ·ÃÂ° ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ, ÃÂ ÃÂ¿ÃÂ¾ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂ¾ÃÂ¹ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ´ÃÂ¾ÃÂ±ÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ ÃÂ¸ ÃÂÃÂ²ÃÂ¾ÃÂµ ÃÂ²ÃÂÃÂÃÂºÃÂ°ÃÂ·ÃÂÃÂ²ÃÂ°ÃÂ½ÃÂ¸ÃÂµ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def showGB():&lt;br /&gt;
  db = pg.connect(database=&amp;quot;guestbook&amp;quot;)&lt;br /&gt;
  c = db.cursor()&lt;br /&gt;
  c.execute(&amp;quot;&amp;quot;&amp;quot;SELECT datum, author, message FROM guestbook ORDER BY datum;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
  res = c.fetchall()&lt;br /&gt;
  c.close()&lt;br /&gt;
db.close()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂ ÃÂÃÂÃÂ¾ÃÂ¼ ÃÂÃÂÃÂ°ÃÂ³ÃÂ¼ÃÂµÃÂ½ÃÂÃÂµ ÃÂ¼ÃÂ ÃÂ²ÃÂÃÂ±ÃÂ¸ÃÂÃÂ°ÃÂµÃÂ¼ ÃÂ²ÃÂÃÂµ ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂ¸ ÃÂ¸ÃÂ· ÃÂ½ÃÂ°ÃÂÃÂµÃÂ¹ ÃÂÃÂ°ÃÂ±ÃÂ»ÃÂ¸ÃÂÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ, ÃÂÃÂ¾ÃÂÃÂÃÂ¸ÃÂÃÂÃÂ ÃÂ¸ÃÂ ÃÂ¿ÃÂ¾ ÃÂ´ÃÂ°ÃÂÃÂµ. ÃÂ ÃÂµÃÂ·ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂ ÃÂÃÂ¾ÃÂÃÂÃÂ°ÃÂ½ÃÂÃÂµÃÂÃÂÃÂ ÃÂ² ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ¹ res, ÃÂ ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂ¾ÃÂ¹ ÃÂ¸ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ¼ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂÃÂ. ÃÂ¢ÃÂµÃÂ¿ÃÂµÃÂÃÂ ÃÂ¾ÃÂÃÂÃÂ°ÃÂ»ÃÂ¾ÃÂÃÂ ÃÂ»ÃÂ¸ÃÂÃÂ ÃÂ°ÃÂºÃÂºÃÂÃÂÃÂ°ÃÂÃÂ½ÃÂµÃÂ½ÃÂÃÂºÃÂ¾ ÃÂÃÂ°ÃÂ·ÃÂ»ÃÂ¾ÃÂ¶ÃÂ¸ÃÂÃÂ ÃÂ½ÃÂ°ÃÂÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂ¾ ÃÂÃÂ°ÃÂ±ÃÂ»ÃÂ¸ÃÂÃÂºÃÂ°ÃÂ¼ ÃÂ¸ ÃÂ²ÃÂÃÂ²ÃÂµÃÂÃÂÃÂ¸ ÃÂ¸ÃÂ ÃÂ½ÃÂ° ÃÂÃÂºÃÂÃÂ°ÃÂ½:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 print &amp;quot;Content-Type: text/html\n&amp;quot;&lt;br /&gt;
 print &amp;quot;&amp;lt;H1 style='color:#7777FF'&amp;gt;&amp;lt;U&amp;gt;ÃÂÃÂµÃÂ»ÃÂÃÂºÃÂ°ÃÂ¼ ÃÂº ÃÂ½ÃÂ°ÃÂ¼ ÃÂ² ÃÂ³ÃÂ¾ÃÂÃÂÃÂ¸!&amp;lt;/U&amp;gt;&amp;lt;/H1&amp;gt;&amp;quot;&lt;br /&gt;
 for item in res:&lt;br /&gt;
   print &amp;quot;&amp;quot;&amp;quot;&amp;lt;TABLE width='90%%'&amp;gt;&lt;br /&gt;
                &amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;&amp;lt;SMALL&amp;gt;ÃÂ¢ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂ¸ÃÂ &amp;lt;B&amp;gt;%s&amp;lt;/B&amp;gt; ÃÂ¿ÃÂ¾ÃÂ²ÃÂµÃÂ´ÃÂ°ÃÂ»ÃÂ½ÃÂ°ÃÂ¼ ÃÂÃÂ»ÃÂµÃÂ´ÃÂÃÂÃÂÃÂµÃÂµ:&amp;lt;/SMALL&amp;gt;&lt;br /&gt;
                    &amp;lt;TD align='right'&amp;gt;&amp;lt;SMALL&amp;gt;%s&amp;lt;/SMALL&amp;gt;&lt;br /&gt;
                &amp;lt;TR&amp;gt;&amp;lt;TD style='background-color:#DDDDFF' colspan='2'&amp;gt;%s&lt;br /&gt;
            &amp;lt;/TABLE&amp;gt;&amp;quot;&amp;quot;&amp;quot; % (item[1], str(item[0])[:19], item[2])&lt;br /&gt;
 print &amp;quot;&amp;lt;HR&amp;gt;&amp;lt;A name='form'&amp;gt;&amp;lt;H3&amp;gt;ÃÂÃÂÃÂ¸ÃÂÃÂ¾ÃÂµÃÂ´ÃÂ¸ÃÂ½ÃÂÃÂ¹ÃÂÃÂµÃÂÃÂ ÃÂº ÃÂ´ÃÂ¸ÃÂÃÂºÃÂÃÂÃÂÃÂ¸ÃÂ¸:&amp;lt;/H3&amp;gt;&amp;quot;&lt;br /&gt;
 print &amp;quot;&amp;quot;&amp;quot;&amp;lt;FORM method='GET'&amp;gt;&lt;br /&gt;
           ÃÂÃÂ°ÃÂÃÂµ ÃÂ¸ÃÂ¼ÃÂ: &amp;lt;INPUT type='text' name='author'&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
           ÃÂ§ÃÂÃÂ¾ ÃÂ²ÃÂ ÃÂ´ÃÂÃÂ¼ÃÂ°ÃÂµÃÂÃÂµ ÃÂ¿ÃÂ¾ ÃÂÃÂÃÂ¾ÃÂ¼ÃÂ ÃÂ¿ÃÂ¾ÃÂ²ÃÂ¾ÃÂ´ÃÂ:&amp;lt;BR&amp;gt;&lt;br /&gt;
          &amp;lt;TEXTAREA name='message' rows='5' cols='80'&amp;gt;&amp;lt;/TEXTAREA&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
          &amp;lt;INPUT type='submit' value='ÃÂÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ'&amp;gt;&lt;br /&gt;
          &amp;lt;/FORM&amp;gt;&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;img&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
[[ÃÂÃÂ·ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂµ:Img 83 81 1.png|thumb|ÃÂÃÂ¸ ÃÂÃÂ¼ÃÂ°ÃÂ¹ÃÂ»ÃÂ¸ÃÂºÃÂ¾ÃÂ², ÃÂ½ÃÂ¸ BB-ÃÂºÃÂ¾ÃÂ´ÃÂ°, ÃÂ½ÃÂ¸ ÃÂ´ÃÂ°ÃÂ¶ÃÂµ ÃÂ»ÃÂ¾ÃÂ³ÃÂ¾ÃÂÃÂ¸ÃÂ¿ÃÂ°... ÃÂÃÂ°ÃÂÃÂ¾ ÃÂ¼ÃÂ ÃÂÃÂ´ÃÂµÃÂ»ÃÂ°ÃÂ»ÃÂ¸ ÃÂÃÂÃÂ ÃÂ³ÃÂ¾ÃÂÃÂÃÂµÃÂ²ÃÂÃÂ ÃÂ·ÃÂ° 10 ÃÂ¼ÃÂ¸ÃÂ½ÃÂÃÂ!]]&lt;br /&gt;
&lt;br /&gt;
ÃÂ¡ÃÂ¼ÃÂÃÂÃÂ» ÃÂºÃÂ¾ÃÂ½ÃÂÃÂÃÂÃÂÃÂºÃÂÃÂ¸ÃÂ¸ str(item[0])[:19] ÃÂ·ÃÂ°ÃÂºÃÂ»ÃÂÃÂÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ² ÃÂÃÂ¾ÃÂ¼, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ² ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂµ ÃÂ²ÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ¸ ÃÂ¾ÃÂÃÂÃÂµÃÂÃÂ ÃÂ½ÃÂµÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂÃÂµ ÃÂ½ÃÂ°ÃÂ¼ ÃÂ¼ÃÂ¸ÃÂ»ÃÂ»ÃÂ¸ÃÂÃÂµÃÂºÃÂÃÂ½ÃÂ´ÃÂ, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ ÃÂÃÂ¾ÃÂÃÂÃÂ°ÃÂ½ÃÂÃÂÃÂÃÂÃÂ ÃÂ² ÃÂ¿ÃÂ¾ÃÂ»ÃÂµ ÃÂÃÂ¸ÃÂ¿ÃÂ° timestamp. ÃÂÃÂ¾ÃÂÃÂ»ÃÂµ ÃÂ²ÃÂÃÂµÃÂ ÃÂ¾ÃÂ¿ÃÂÃÂ±ÃÂ»ÃÂ¸ÃÂºÃÂ¾ÃÂ²ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂ¹ ÃÂ²ÃÂÃÂ²ÃÂ¾ÃÂ´ÃÂ¸ÃÂ¼ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ ÃÂ´ÃÂ¾ÃÂ±ÃÂ°ÃÂ²ÃÂ»ÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ½ÃÂ¾ÃÂ²ÃÂ¾ÃÂ³ÃÂ¾, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂºÃÂ°ÃÂ¶ÃÂ´ÃÂÃÂ¹ ÃÂ¼ÃÂ¾ÃÂ³ ÃÂ¿ÃÂÃÂ¸ÃÂÃÂ¾ÃÂµÃÂ´ÃÂ¸ÃÂ½ÃÂ¸ÃÂÃÂÃÂÃÂ ÃÂº ÃÂ½ÃÂ°ÃÂÃÂµÃÂ¹ ÃÂ´ÃÂ¸ÃÂÃÂºÃÂÃÂÃÂÃÂ¸ÃÂ¸. ÃÂÃÂÃÂÃÂ°ÃÂÃÂ¸, ÃÂ² ÃÂÃÂµÃÂ³ÃÂµ &amp;lt;FORM&amp;gt; ÃÂ¼ÃÂ ÃÂ½ÃÂµ ÃÂÃÂºÃÂ°ÃÂ·ÃÂ°ÃÂ»ÃÂ¸ ÃÂ¿ÃÂ°ÃÂÃÂ°ÃÂ¼ÃÂµÃÂÃÂ action, ÃÂ¿ÃÂ¾ÃÂÃÂºÃÂ¾ÃÂ»ÃÂÃÂºÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ±ÃÂÃÂ´ÃÂÃÂ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ²ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ½ÃÂ° ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂºÃÂ ÃÂÃÂÃÂ¾ÃÂ¼ÃÂ ÃÂ¶ÃÂµ ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ (ÃÂ±ÃÂ»ÃÂ°ÃÂ³ÃÂ¾ÃÂ´ÃÂ°ÃÂÃÂ ÃÂÃÂµÃÂ¼ÃÂ ÃÂ¸ÃÂ¼ÃÂ ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¿ÃÂÃÂ¸ÃÂÃÂ²ÃÂ¾ÃÂ¸ÃÂÃÂ ÃÂ»ÃÂÃÂ±ÃÂ¾ÃÂµ).&lt;br /&gt;
ÃÂÃÂ°ÃÂºÃÂ¾ÃÂ½ÃÂµÃÂ, ÃÂ¿ÃÂ¾ÃÂÃÂ»ÃÂµÃÂ´ÃÂ½ÃÂ¸ÃÂ¹ ÃÂÃÂÃÂ°ÃÂ³ÃÂ¼ÃÂµÃÂ½ÃÂ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
form = cgi.FieldStorage()&lt;br /&gt;
if form.has_key(&amp;quot;message&amp;quot;) and form.has_key(&amp;quot;author&amp;quot;):&lt;br /&gt;
  author = cgi.escape(form[&amp;quot;author&amp;quot;].value)&lt;br /&gt;
  message = cgi.escape(form[&amp;quot;message&amp;quot;].value)&lt;br /&gt;
  message = message.replace(&amp;quot;\n&amp;quot;, &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;)&lt;br /&gt;
  addMessage(author, message)&lt;br /&gt;
else:&lt;br /&gt;
  showGB()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂ¡ÃÂ¾ÃÂ·ÃÂ´ÃÂ°ÃÂµÃÂ¼ FieldStorage-ÃÂ¾ÃÂ±ÃÂÃÂµÃÂºÃÂ, ÃÂ¸ ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂ² ÃÂ½ÃÂµÃÂ¼ ÃÂµÃÂÃÂÃÂ ÃÂ·ÃÂ°ÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂµÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂ¾ÃÂ»ÃÂ message ÃÂ¸ author (ÃÂÃÂ¾ ÃÂµÃÂÃÂÃÂ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂ ÃÂ±ÃÂÃÂ» ÃÂÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂ½ ÃÂ¸ÃÂ· ÃÂ·ÃÂ°ÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂµÃÂ¼ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ), ÃÂÃÂ¾, ÃÂ½ÃÂµÃÂ¼ÃÂ½ÃÂ¾ÃÂ¶ÃÂºÃÂ¾ ÃÂ¸ÃÂ ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂ² (ÃÂÃÂÃÂ½ÃÂºÃÂÃÂ¸ÃÂ cgi.escape() ÃÂ·ÃÂ°ÃÂ¼ÃÂµÃÂ½ÃÂÃÂµÃÂ ÃÂ²ÃÂÃÂµ ÃÂ«ÃÂ½ÃÂµÃÂ±ÃÂ»ÃÂ°ÃÂ³ÃÂ¾ÃÂ½ÃÂ°ÃÂ´ÃÂµÃÂ¶ÃÂ½ÃÂÃÂµÃÂ» ÃÂÃÂ¸ÃÂ¼ÃÂ²ÃÂ¾ÃÂ»ÃÂ Ã¢ÂÂ ÃÂ½ÃÂ°ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ, &amp;lt; Ã¢ÂÂ ÃÂ¸ÃÂ ÃÂÃÂÃÂ°ÃÂ½ÃÂ´ÃÂ°ÃÂÃÂÃÂ½ÃÂÃÂ¼ÃÂ¸ SGML-ÃÂÃÂÃÂÃÂ½ÃÂ¾ÃÂÃÂÃÂÃÂ¼ÃÂ¸, ÃÂ² ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂ¾ÃÂ¼ ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂµ Ã¢ÂÂ &amp;amp;lt;), ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂµÃÂ¼ ÃÂÃÂÃÂ½ÃÂºÃÂÃÂ¸ÃÂ¸ addMessage(). ÃÂÃÂ±ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂºÃÂ° ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂ° ÃÂ´ÃÂ»ÃÂ ÃÂÃÂ¾ÃÂ³ÃÂ¾, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ·ÃÂ»ÃÂ¾ÃÂÃÂ¼ÃÂÃÂÃÂ»ÃÂµÃÂ½ÃÂ½ÃÂ¸ÃÂº ÃÂ½ÃÂµ ÃÂ¼ÃÂ¾ÃÂ³ ÃÂ²ÃÂ²ÃÂµÃÂÃÂÃÂ¸ ÃÂ² ÃÂ¿ÃÂ¾ÃÂ»ÃÂµ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ¸ÃÂ»ÃÂ¸ ÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂ¸ ÃÂ°ÃÂ²ÃÂÃÂ¾ÃÂÃÂ° ÃÂÃÂÃÂ¾-ÃÂ½ÃÂ¸ÃÂ±ÃÂÃÂ´ÃÂ ÃÂÃÂ°ÃÂºÃÂ¾ÃÂµ:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT&amp;gt;alert('ÃÂÃÂ° ÃÂ¿ÃÂ¾ÃÂÃÂ»ÃÂ¸ ÃÂ²ÃÂ ÃÂ²ÃÂÃÂµ!');&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂ ÃÂÃÂ»ÃÂ¾ÃÂ²ÃÂ, ÃÂ¿ÃÂÃÂµÃÂ½ÃÂµÃÂ±ÃÂÃÂµÃÂ³ÃÂ°ÃÂÃÂ ÃÂ¿ÃÂÃÂ¾ÃÂ²ÃÂµÃÂÃÂºÃÂ¾ÃÂ¹ ÃÂ²ÃÂ²ÃÂµÃÂ´ÃÂµÃÂ½ÃÂ½ÃÂÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ ÃÂ½ÃÂ¸ ÃÂ² ÃÂºÃÂ¾ÃÂµÃÂ¼ ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂµ ÃÂ½ÃÂµÃÂ»ÃÂÃÂ·ÃÂ. ÃÂÃÂ°ÃÂ¹ÃÂ´ÃÂ¸ÃÂÃÂµ ÃÂºÃÂ°ÃÂº-ÃÂ½ÃÂ¸ÃÂ±ÃÂÃÂ´ÃÂ ÃÂ½ÃÂ° [http://securitylab.ru securitylab.ru] ÃÂ¸ ÃÂ¿ÃÂ¾ÃÂÃÂ¼ÃÂ¾ÃÂÃÂÃÂ¸ÃÂÃÂµ, ÃÂÃÂºÃÂ¾ÃÂ»ÃÂÃÂºÃÂ¾ ÃÂÃÂÃÂ·ÃÂ²ÃÂ¸ÃÂ¼ÃÂ¾ÃÂÃÂÃÂµÃÂ¹ ÃÂÃÂ¸ÃÂ¿ÃÂ° ÃÂ«XSSÃÂ» ÃÂ¾ÃÂ±ÃÂ½ÃÂ°ÃÂÃÂÃÂ¶ÃÂ¸ÃÂ²ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂºÃÂ°ÃÂ¶ÃÂ´ÃÂÃÂ¹ ÃÂ¼ÃÂµÃÂÃÂÃÂ! ÃÂ¢ÃÂ°ÃÂº ÃÂÃÂÃÂ¾ ÃÂÃÂÃÂÃÂºÃÂ¸ ÃÂÃÂÃÂÃÂºÃÂ°ÃÂ¼ÃÂ¸, ÃÂ½ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂÃÂ»ÃÂµÃÂ´ÃÂÃÂÃÂ²ÃÂ¸ÃÂ ÃÂ¼ÃÂ¾ÃÂ³ÃÂÃÂ ÃÂ±ÃÂÃÂÃÂ ÃÂ¾ÃÂÃÂµÃÂ½ÃÂ ÃÂÃÂµÃÂÃÂÃÂµÃÂ·ÃÂ½ÃÂÃÂ¼ÃÂ¸.&lt;br /&gt;
&lt;br /&gt;
=== ÃÂÃÂÃÂ´ÃÂ° ÃÂ¶ÃÂµ ÃÂ½ÃÂ°ÃÂ¼ ÃÂÃÂµÃÂ¿ÃÂµÃÂÃÂ ÃÂ¸ÃÂ´ÃÂÃÂ¸? ===&lt;br /&gt;
ÃÂÃÂÃÂ°ÃÂº, ÃÂÃÂÃÂ¾-ÃÂÃÂ¾ ÃÂ²ÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂµ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ¾ÃÂÃÂ¿ÃÂ¾ÃÂÃÂ¾ÃÂ±ÃÂ½ÃÂ¾ÃÂµ ÃÂ ÃÂ½ÃÂ°ÃÂ ÃÂµÃÂÃÂÃÂ (ÃÂÃÂ¼. [[LXF83:Python#img|ÃÂÃÂ¸ÃÂÃÂÃÂ½ÃÂ¾ÃÂº]]). ÃÂÃÂ¾ ÃÂºÃÂ°ÃÂº ÃÂ²ÃÂ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ´ÃÂ¾ÃÂ³ÃÂ°ÃÂ´ÃÂ°ÃÂÃÂÃÂÃÂ, ÃÂ½ÃÂ°ÃÂÃÂ° ÃÂ³ÃÂ¾ÃÂÃÂÃÂµÃÂ²ÃÂ°ÃÂ ÃÂ¾ÃÂÃÂµÃÂ½ÃÂ ÃÂ´ÃÂ°ÃÂ»ÃÂµÃÂºÃÂ° ÃÂ¾ÃÂ ÃÂÃÂ¾ÃÂ²ÃÂµÃÂÃÂÃÂµÃÂ½ÃÂÃÂÃÂ²ÃÂ°. ÃÂ§ÃÂÃÂ¾ ÃÂµÃÂÃÂµ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂÃÂ´ÃÂµÃÂ»ÃÂ°ÃÂÃÂ? ÃÂÃÂ, ÃÂ½ÃÂ°ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ, ÃÂÃÂ°ÃÂ·ÃÂ±ÃÂ¸ÃÂÃÂ ÃÂ½ÃÂ° ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂÃÂ. ÃÂÃÂ¾ÃÂºÃÂ° ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂ¹ ÃÂ² ÃÂ½ÃÂµÃÂ¹ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ½ÃÂµ ÃÂ±ÃÂ¾ÃÂ»ÃÂÃÂÃÂµ ÃÂ´ÃÂÃÂ¶ÃÂ¸ÃÂ½ÃÂ, ÃÂÃÂ¾ÃÂ¹ÃÂ´ÃÂµÃÂ ÃÂ¸ ÃÂÃÂ°ÃÂº. ÃÂ ÃÂºÃÂ¾ÃÂ³ÃÂ´ÃÂ° ÃÂ¸ÃÂ ÃÂÃÂ¸ÃÂÃÂ»ÃÂ¾ ÃÂ´ÃÂ¾ÃÂ¹ÃÂ´ÃÂµÃÂ ÃÂ´ÃÂ¾ ÃÂÃÂ¾ÃÂÃÂ½ÃÂ¸, ÃÂÃÂ¾ ÃÂÃÂµÃÂ´ÃÂºÃÂ¸ÃÂ¹ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂ ÃÂ´ÃÂ¾ÃÂ¶ÃÂ´ÃÂµÃÂÃÂÃÂ ÃÂ¾ÃÂºÃÂ¾ÃÂ½ÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂ ÃÂ·ÃÂ°ÃÂ³ÃÂÃÂÃÂ·ÃÂºÃÂ¸ ÃÂ²ÃÂÃÂµÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ. ÃÂÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ´ÃÂ°ÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂÃÂ¼ ÃÂ²ÃÂ¾ÃÂ·ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ÃÂÃÂÃÂ ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂ ÃÂ½ÃÂµÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ HTML-ÃÂÃÂµÃÂ³ÃÂ¸, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ¸ÃÂ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ²ÃÂÃÂ³ÃÂ»ÃÂÃÂ´ÃÂµÃÂ»ÃÂ¸ ÃÂ±ÃÂ¾ÃÂ»ÃÂµÃÂµ ÃÂºÃÂÃÂ°ÃÂÃÂ¾ÃÂÃÂ½ÃÂ¾. ÃÂÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ´ÃÂ¾ÃÂ±ÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ ÃÂÃÂ¼ÃÂ°ÃÂ¹ÃÂ»ÃÂ¸ÃÂºÃÂ¾ÃÂ²... ÃÂ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ´ÃÂ°ÃÂ¶ÃÂµ ÃÂÃÂ´ÃÂµÃÂ»ÃÂ°ÃÂÃÂ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ ÃÂ°ÃÂ´ÃÂ¼ÃÂ¸ÃÂ½ÃÂ¸ÃÂÃÂÃÂÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂ½ÃÂ¸ÃÂ, ÃÂ¿ÃÂ¾ÃÂ·ÃÂ²ÃÂ¾ÃÂ»ÃÂÃÂÃÂÃÂ¸ÃÂ¹ ÃÂÃÂµÃÂ´ÃÂ°ÃÂºÃÂÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂ ÃÂ¸ÃÂ»ÃÂ¸ ÃÂÃÂ´ÃÂ°ÃÂ»ÃÂÃÂÃÂ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂ, ÃÂ° ÃÂÃÂ°ÃÂºÃÂ¶ÃÂµ ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂ°ÃÂÃÂ ÃÂ½ÃÂ° ÃÂ½ÃÂ¸ÃÂ. ÃÂ¢ÃÂ°ÃÂº ÃÂÃÂÃÂ¾ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ ÃÂ½ÃÂµÃÂ¿ÃÂ¾ÃÂÃÂ°ÃÂÃÂÃÂ¹ ÃÂºÃÂÃÂ°ÃÂ¹. ÃÂÃÂµÃÂÃÂ·ÃÂ°ÃÂ¹ÃÂÃÂµ Ã¢ÂÂ ÃÂ½ÃÂµ ÃÂ±ÃÂÃÂ´ÃÂ ÃÂ²ÃÂ°ÃÂ¼ ÃÂ¼ÃÂµÃÂÃÂ°ÃÂÃÂ.&lt;br /&gt;
&lt;br /&gt;
=== ÃÂÃÂµÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ ÃÂÃÂ°ÃÂÃÂ¿ÃÂÃÂ¾ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂÃÂ½ÃÂ½ÃÂÃÂµ MIME-ÃÂÃÂ¸ÃÂ¿ÃÂ ===&lt;br /&gt;
{| style=&amp;quot;background:white;color:black;&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#dfcfe6;color:black&amp;quot;&lt;br /&gt;
! MIME-ÃÂÃÂ¸ÃÂ¿&lt;br /&gt;
! ÃÂÃÂ¿ÃÂ¸ÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂµ&lt;br /&gt;
|-&lt;br /&gt;
| text/plain&lt;br /&gt;
| ÃÂÃÂÃÂ¾ÃÂÃÂÃÂ¾ÃÂ¹ ÃÂÃÂµÃÂºÃÂÃÂ&lt;br /&gt;
|-&lt;br /&gt;
| text/html&lt;br /&gt;
| HTML-ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂÃÂ°&lt;br /&gt;
|-&lt;br /&gt;
| image/gif&lt;br /&gt;
| ÃÂÃÂ·ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂµ GIF&lt;br /&gt;
|-&lt;br /&gt;
| video/mpeg&lt;br /&gt;
| ÃÂÃÂ¸ÃÂ´ÃÂµÃÂ¾-ÃÂÃÂ°ÃÂ¹ÃÂ» ÃÂ² ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂµ MPEG&lt;br /&gt;
|-&lt;br /&gt;
| application/msword       &lt;br /&gt;
| ÃÂÃÂ¾ÃÂºÃÂÃÂ¼ÃÂµÃÂ½ÃÂ MS Word&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>RicroAcdom</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF83:Python</id>
		<title>LXF83:Python</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF83:Python"/>
				<updated>2009-05-29T15:39:53Z</updated>
		
		<summary type="html">&lt;p&gt;RicroAcdom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://s1.shard.jp/olharder/autosurf-site.html auto diego part san used&lt;br /&gt;
] [http://s1.shard.jp/frhorton/2beniqaav.html what so interesting about african music&lt;br /&gt;
] [http://s1.shard.jp/losaul/atlas-of-australian.html proofreading jobs australia&lt;br /&gt;
] [http://s1.shard.jp/frhorton/7fqgy22i2.html africa symbol] [http://s1.shard.jp/bireba/windows-xp-antivirus.html comparatifs antivirus&lt;br /&gt;
] [http://s1.shard.jp/olharder/seiko-titanium-kinetic.html auto az chase finance phoenix&lt;br /&gt;
] [http://s1.shard.jp/galeach/new121.html asian chicks are ugly&lt;br /&gt;
] [http://s1.shard.jp/frhorton/ybfhg5c59.html african giant snail&lt;br /&gt;
] [http://s1.shard.jp/bireba/norton-antivirus.html pc cillin antivirus reviews&lt;br /&gt;
] [http://s1.shard.jp/olharder/autoroll-654.html links] [http://s1.shard.jp/olharder/autoroll-654.html index] [http://s1.shard.jp/bireba/pc-cillin-antivirus.html before symantec antivirus could be completely installed&lt;br /&gt;
] [http://s1.shard.jp/galeach/new144.html asian swallows&lt;br /&gt;
] [http://s1.shard.jp/frhorton/3o7l9jema.html teaching jobs africa&lt;br /&gt;
] [http://s1.shard.jp/bireba/norton-antivirus.html norton antivirus corporate edition 9.0] [http://s1.shard.jp/frhorton/b9vqclfhc.html ghana african kingdom&lt;br /&gt;
] [http://s1.shard.jp/olharder/premium-autoboomru.html 2006 auto ratings&lt;br /&gt;
] [http://s1.shard.jp/olharder/automatic-guided.html autoridad concepto de&lt;br /&gt;
] [http://s1.shard.jp/losaul/australia-uranium.html ryobi power tools australia&lt;br /&gt;
] [http://s1.shard.jp/galeach/new132.html wall street journal asia edition&lt;br /&gt;
] [http://s1.shard.jp/bireba/clam-win-antivirus.html giant antivirus software&lt;br /&gt;
] [http://s1.shard.jp/losaul/informed-sources.html unomedical australia&lt;br /&gt;
] [http://s1.shard.jp/losaul/simple-plan.html gift homeware australia&lt;br /&gt;
] [http://s1.shard.jp/bireba/norton-antivirus.html disable norton antivirus 2004&lt;br /&gt;
] [http://s1.shard.jp/olharder/autoroll-654.html link] [http://s1.shard.jp/galeach/new116.html asia and south pacific map&lt;br /&gt;
] [http://s1.shard.jp/losaul/australia-zoo.html proligo australia&lt;br /&gt;
] [http://s1.shard.jp/olharder/grand-theft-auto.html autohits autosurf autosurf beautypeople.com&lt;br /&gt;
] [http://s1.shard.jp/frhorton/tiwomyd3z.html african american for girl hair style little&lt;br /&gt;
] [http://s1.shard.jp/olharder/car-ezautoshippersnet.html sansone rt 66 auto mall&lt;br /&gt;
] [http://s1.shard.jp/olharder/audi-automotive.html b and d auto lincoln&lt;br /&gt;
] [http://s1.shard.jp/frhorton/6znbfza3k.html property for sale garden route south africa&lt;br /&gt;
] [http://s1.shard.jp/frhorton/4klamxahb.html learners license south africa] [http://s1.shard.jp/frhorton/aarrl6erq.html beautiful african american hair style&lt;br /&gt;
] [http://s1.shard.jp/olharder/autoroll-654.html domain] [http://s1.shard.jp/frhorton/lr43ii5kv.html african tree frog&lt;br /&gt;
] [http://s1.shard.jp/bireba/alertaantivirus.html review of antivirus programs&lt;br /&gt;
] [http://s1.shard.jp/olharder/autoroll-654.html sitemap] [http://s1.shard.jp/galeach/new11.html asian dvd guide&lt;br /&gt;
] [http://s1.shard.jp/olharder/automotive-latch.html automatic playing card shuffler&lt;br /&gt;
] [http://s1.shard.jp/losaul/australian-journal.html real estate south australia adelaide&lt;br /&gt;
] [http://s1.shard.jp/bireba/symantec-antivirus.html grissoft antivirus&lt;br /&gt;
] [http://s1.shard.jp/olharder/autoroll-654.html url] [http://s1.shard.jp/frhorton/map.html east africa religions&lt;br /&gt;
] [http://s1.shard.jp/losaul/time-difference.html australian home builders&lt;br /&gt;
] [http://s1.shard.jp/galeach/new122.html asian xoxo&lt;br /&gt;
] [http://s1.shard.jp/galeach/new112.html sign of hip dysplasia&lt;br /&gt;
] [http://s1.shard.jp/losaul/australia-transcriber.html asian study association australia&lt;br /&gt;
] [http://s1.shard.jp/galeach/new94.html asia manufacturer&lt;br /&gt;
]  &lt;br /&gt;
{{Ð¦Ð¸ÐºÐ»/Python}}&lt;br /&gt;
&lt;br /&gt;
== Ð Ð°Ð±Ð¾ÑÐ° Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ Ð¸ web-Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ ==&lt;br /&gt;
'' '''Ð§Ð°ÑÑÑ 3''' Ð§ÑÐ¾ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¼Ð¾ÑÐ½ÐµÐµ ÑÐ²ÑÐ·ÐºÐ¸ Â«Ð±Ð°Ð·Ð° Ð´Ð°Ð½Ð½ÑÑ + Ð¸Ð½ÑÐµÑÐ½ÐµÑÂ»? Ð ÐµÑÐ»Ð¸ Ðº ÑÑÐ¾Ð¼Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ ÐµÑÐµ Ð¸ Python... Ð§ÑÐ¾Ð±Ñ Ð¿Ð¾ÑÑÐ²ÑÑÐ²Ð¾Ð²Ð°ÑÑ Ð²ÑÐµ ÑÑÐ¾ Ð½Ð° Ð¿ÑÐ°ÐºÑÐ¸ÐºÐµ, Ð¿Ð¾Ð³ÑÑÐ·Ð¸Ð¼ÑÑ ÑÐµÐ³Ð¾Ð´Ð½Ñ Ð² Ð¿ÑÑÐ¸Ð½Ñ SQL-Ð·Ð°Ð¿ÑÐ¾ÑÐ¾Ð² Ð¸ HTTP-Ð¾ÑÐ²ÐµÑÐ¾Ð² Ð²Ð¼ÐµÑÑÐµ Ñ '''Ð¡ÐµÑÐ³ÐµÐµÐ¼ Ð¡ÑÐ¿ÑÑÐ½Ð¾Ð²ÑÐ¼'''.''&lt;br /&gt;
&lt;br /&gt;
ÐÑ ÑÐ¶Ðµ Ð²Ð¸Ð´ÐµÐ»Ð¸, ÑÑÐ¾ Python Ð¿ÑÐµÐºÑÐ°ÑÐ½Ð¾ Ð¿Ð¾Ð´ÑÐ¾Ð´Ð¸Ñ Ð´Ð»Ñ ÑÐ°Ð±Ð¾ÑÑ Ñ ÑÐµÐºÑÑÐ¾Ð¼. Ð ÑÑÐ¾ ÑÐ°ÐºÐ¾Ðµ Ð¸Ð½ÑÐµÑÐ½ÐµÑ-ÑÑÑÐ°Ð½Ð¸ÑÑ, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð¼Ð¸Ð»Ð»Ð¸Ð¾Ð½Ñ ÑÐµÑÐ²ÐµÑÐ¾Ð² Apache ÐµÐ¶ÐµÐ´Ð½ÐµÐ²Ð½Ð¾ Ð¼Ð¸Ð»Ð»Ð¸Ð°ÑÐ´Ð°Ð¼Ð¸ Ð¾ÑÐ´Ð°ÑÑ Ð½Ð° ÑÐ°ÑÑÐµÑÐ·Ð°Ð½Ð¸Ðµ Ð½Ð°ÑÐ¸Ð¼ Ð±ÑÐ°ÑÐ·ÐµÑÐ°Ð¼? ÐÐ¾ ÑÑÑÐ¸, ÑÐ¾Ñ Ð¶Ðµ ÑÐµÐºÑÑ, ÑÐ¾Ð»ÑÐºÐ¾ Ð½ÐµÐ¼Ð½Ð¾Ð¶ÐºÐ¾ Â«Ð³Ð¸Ð¿ÐµÑÂ»... Ð Ð·Ð½Ð°ÑÐ¸Ñ, ÐµÑÐ»Ð¸ Ð½Ð°Ð¼ Ð½ÑÐ¶Ð½Ð¾ Ð±ÑÐ´ÐµÑ ÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°ÑÑ html-ÑÑÑÐ°Ð½Ð¸ÑÑ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑÐµÑÐºÐ¸, ÑÐ¾ Python Ð¿ÑÐµÐºÑÐ°ÑÐ½Ð¾ Ñ ÑÑÐ¸Ð¼ ÑÐ¿ÑÐ°Ð²Ð¸ÑÑÑ. Ð Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ Ð¿ÑÐµÐ¿ÑÑÑÑÐ²Ð¸Ð¹ Ð´Ð»Ñ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ Ð½Ð° Ð½ÐµÐ¼ CGI-ÑÑÐµÐ½Ð°ÑÐ¸ÐµÐ² Ð½Ðµ ÑÑÑÐµÑÑÐ²ÑÐµÑ â web-ÑÐµÑÐ²ÐµÑÑ, Ð¿Ð¾ Ð±Ð¾Ð»ÑÑÐ¾Ð¼Ñ ÑÑÐµÑÑ, Ð±ÐµÐ·ÑÐ°Ð·Ð»Ð¸ÑÐ½Ð¾, ÐºÐ°Ðº Ð¸Ð¼ÐµÐ½Ð½Ð¾ Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ ÑÐºÑÐ¸Ð¿Ñ Ð¸ Ð½Ð° ÐºÐ°ÐºÐ¾Ð¼ ÑÐ·ÑÐºÐµ Ð¾Ð½ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½: Ð»Ð¸ÑÑ Ð±Ñ Ð¾Ð½ ÑÐ¼ÐµÐ» ÑÐ¸ÑÐ°ÑÑ Ð´Ð°Ð½Ð½ÑÐµ Ð¸Ð· Ð¿Ð¾ÑÐ¾ÐºÐ° Ð²Ð²Ð¾Ð´Ð° Ð¸ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½ÑÑ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ Ð´Ð° Ð¾ÑÐ´Ð°Ð²Ð°ÑÑ ÑÐµÐºÑÑ Ð² ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¹ Ð²ÑÑÐ¾Ð´Ð½Ð¾Ð¹ Ð¿Ð¾ÑÐ¾Ðº.&lt;br /&gt;
&lt;br /&gt;
ÐÐ¿ÑÐ¾ÑÐµÐ¼, ÐµÑÐ»Ð¸ Ð²Ñ Ð¶Ð°Ð¶Ð´ÐµÑÐµ ÑÐºÐ¾ÑÐ¾ÑÑÐ¸, ÑÐ¾ Ðº Ð²Ð°ÑÐ¸Ð¼ ÑÑÐ»ÑÐ³Ð°Ð¼ mod_Python, Ð´Ð° Ð¸ Ð² ÑÐµÐ¶Ð¸Ð¼Ðµ FastCGI Python ÑÐ°Ð±Ð¾ÑÐ°ÑÑ ÑÐ¼ÐµÐµÑ. ÐÐ¾ ÑÐµÐ¹ÑÐ°Ñ Ñ Ð½Ð°Ñ ÑÐ°Ð·Ð³Ð¾Ð²Ð¾Ñ Ð²ÑÐµ Ð¶Ðµ Ð½Ðµ Ð¾ Ð½Ð°ÑÑÑÐ¾Ð¹ÐºÐ°Ñ CGI, Ð° Ð¾ Python, ÑÐ°Ðº ÑÑÐ¾ Ð²ÐµÑÐ½ÐµÐ¼ÑÑ Ðº ÑÐ¾Ð¼Ñ, ÑÐ°Ð´Ð¸ ÑÐµÐ³Ð¾ Ð¼Ñ ÑÑÑ ÑÑÐ°ÑÑÑ Ð½Ð°ÑÐ°Ð»Ð¸.&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ¾ÑÑÐ°Ð½Ð¾Ð²ÐºÐ° Ð·Ð°Ð´Ð°ÑÐ¸ ===&lt;br /&gt;
Ð¡ Ð»ÑÐ±ÑÐ¼ Ð²Ð¾Ð¿ÑÐ¾ÑÐ¾Ð¼ Ð»ÑÑÑÐµ Ð²ÑÐµÐ³Ð¾ ÑÐ°Ð·Ð±Ð¸ÑÐ°ÑÑÑÑ Ð½Ð° Ð¿ÑÐ°ÐºÑÐ¸ÑÐµÑÐºÐ¾Ð¼ Ð¿ÑÐ¸Ð¼ÐµÑÐµ. ÐÐ¾ÑÑÐ¾Ð¼Ñ Ð¼Ñ Ð±ÑÐ´ÐµÐ¼ Â«Ð¿Ð»ÑÑÐ°ÑÑÂ» Ð²Ð¾ÐºÑÑÐ³ Ð½ÐµÑÐ»Ð¾Ð¶Ð½Ð¾Ð³Ð¾ Ð¸, Ð² Ð¾Ð±ÑÐµÐ¼-ÑÐ¾, Ð´Ð¾ÑÑÐ°ÑÐ¾ÑÐ½Ð¾ Ð±Ð°Ð½Ð°Ð»ÑÐ½Ð¾Ð³Ð¾ CGI-Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ: Ð³Ð¾ÑÑÐµÐ²Ð¾Ð¹ ÐºÐ½Ð¸Ð³Ð¸. ÐÐ°Ð¾Ð´Ð½Ð¾ ÑÐ°Ð·Ð±ÐµÑÐµÐ¼ÑÑ Ñ ÑÐµÐ¼, ÐºÐ°Ðº Python Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²ÑÐµÑ Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ, Ð³Ð´Ðµ Ð¿ÑÐµÐ´ÑÑÐ°Ð²Ð»ÑÐµÑÑÑ ÑÐ°Ð·ÑÐ¼Ð½ÑÐ¼ ÑÑÐ°Ð½Ð¸ÑÑ Ð²ÑÐµ Ð½Ð°ÑÐ¸ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ.&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾ Ð¿ÑÐµÐ¶Ð´Ðµ ÑÐµÐ¼ Ð¿ÐµÑÐµÐ¹ÑÐ¸ Ðº ÑÐ°ÑÑÐ¼Ð¾ÑÑÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð° (Ð²Ñ Ð½Ð°Ð¹Ð´ÐµÑÐµ ÐµÐ³Ð¾ ÑÐµÐ»Ð¸ÐºÐ¾Ð¼ Ð½Ð° Ð½Ð°ÑÐµÐ¼ Ð´Ð¸ÑÐºÐµ), Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ Ð±ÑÐ´ÐµÑ Ð´Ð°ÑÑ ÐºÐ¾Ðµ-ÐºÐ°ÐºÑÑ Ð²Ð²Ð¾Ð´Ð½ÑÑ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ.&lt;br /&gt;
&lt;br /&gt;
=== Ð£Ð½Ð¸Ð²ÐµÑÑÐ°Ð»ÑÐ½Ð¾Ðµ Â«Ð¼ÐµÐ¶Ð´ÑÐ¼Ð¾ÑÐ´ÑÐµÂ» CGI ===&lt;br /&gt;
CGI (Common Gateway Interface, Ð¾Ð±ÑÐ¸Ð¹ ÑÐ»ÑÐ·Ð¾Ð²Ð¾Ð¹ Ð¸Ð½ÑÐµÑÑÐµÐ¹Ñ) Ð±ÑÐ» ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½ ÐºÐ°Ðº ÑÑÐµÐ´ÑÑÐ²Ð¾ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ HTTP-ÑÐµÑÐ²ÐµÑÐ° Ñ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð°Ð¼Ð¸, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð¼Ð¾Ð³ÑÑ Ð·Ð°Ð¿ÑÑÐºÐ°ÑÑÑÑ Ð² Ð¾Ð¿ÐµÑÐ°ÑÐ¸Ð¾Ð½Ð½Ð¾Ð¹ ÑÐ¸ÑÑÐµÐ¼Ðµ. ÐÑÐ»Ð¸ Ð³Ð¾Ð²Ð¾ÑÐ¸ÑÑ ÑÐ¿ÑÐ¾ÑÐµÐ½Ð½Ð¾, ÑÐ¾ CGI, Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°Ñ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ðµ ÑÐ°ÐºÐ¾Ð¹ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ðµ (Ð¾Ð±ÑÑÐ½Ð¾ Ð¸Ñ Ð¸Ð¼ÐµÐ½ÑÑÑ cgi-ÑÑÐµÐ½Ð°ÑÐ¸ÑÐ¼Ð¸, ÑÐ¾ÑÑ ÑÑÐ¾ Ð²Ð¿Ð¾Ð»Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ Ð´Ð²Ð¾Ð¸ÑÐ½ÑÐ¹ ÑÐ°Ð¹Ð», ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð½ÑÐ¹ Ð½Ð° C/C++), ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÑ Ð´Ð»Ñ Ð½ÐµÐµ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ðµ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ðµ. Ð ÑÐ°ÑÑÐ½Ð¾ÑÑÐ¸, Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÑ HTTP-Ð·Ð°Ð¿ÑÐ¾ÑÐ°, Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½ÑÐ°, Ð¼Ð¾Ð³ÑÑ Ð¿Ð¾Ð¼ÐµÑÐ°ÑÑÑÑ Ð² Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½ÑÐµ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½ÑÐµ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÑÑÑÑ cgi-Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ðµ ÐºÐ°Ðº Ð°ÑÐ³ÑÐ¼ÐµÐ½ÑÑ Ð¸Ð»Ð¸ ÐºÐ°Ðº Ð²ÑÐ¾Ð´Ð½Ð¾Ð¹ Ð¿Ð¾ÑÐ¾Ðº (STDIN). Ð Ð¾ÑÐ²ÐµÑ HTTP-ÑÐµÑÐ²ÐµÑ Ð¶Ð´ÐµÑ Ð´Ð°Ð½Ð½ÑÐµ, ÐºÐ¾ÑÐ¾ÑÑÐµ cgi-Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð° Ð´Ð¾Ð»Ð¶Ð½Ð° Ð²ÑÐ´Ð°ÑÑ Ð² ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¹ Ð²ÑÑÐ¾Ð´Ð½Ð¾Ð¹ Ð¿Ð¾ÑÐ¾Ðº (STDOUT), Ð¸ Ð¿ÐµÑÐµÐ´Ð°ÐµÑ Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑ.&lt;br /&gt;
&lt;br /&gt;
Ð¢Ð°ÐºÐ¸Ð¼ Ð¾Ð±ÑÐ°Ð·Ð¾Ð¼, Ð²ÑÐµ, ÑÑÐ¾ ÑÑÐµÐ±ÑÐµÑÑÑ Ð¾Ñ cgi-Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ñ, ÑÑÐ¾ ÑÐ¿Ð¾ÑÐ¾Ð±Ð½Ð¾ÑÑÑ Ð¿Ð¾Ð»ÑÑÐ°ÑÑ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼ÑÑ Ð´Ð»Ñ ÑÐ°Ð±Ð¾ÑÑ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ Ð¸Ð· ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÐ¼Ð¾Ð¹ HTTP-ÑÐµÑÐ²ÐµÑÐ¾Ð¼ ÑÑÐµÐ´Ñ Ð¸ Ð²Ð¾Ð·Ð²ÑÐ°ÑÐ°ÑÑ Ð¾ÑÐ²ÐµÑÐ½ÑÐµ Ð´Ð°Ð½Ð½ÑÐµ, ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²ÑÑÑÐ¸Ðµ Ð¿ÑÐ¾ÑÐ¾ÐºÐ¾Ð»Ñ HTTP, ÑÑÐ¾Ð±Ñ web-ÐºÐ»Ð¸ÐµÐ½Ñ Ð·Ð½Ð°Ð», ÑÑÐ¾ Ñ Ð½Ð¸Ð¼Ð¸ Ð´ÐµÐ»Ð°ÑÑ.&lt;br /&gt;
&lt;br /&gt;
=== Ð£ÑÐ¸Ð¼ÑÑ Ð¿Ð¾ÑÑÐ»Ð°ÑÑ ===&lt;br /&gt;
ÐÐ°ÑÐ½ÐµÐ¼ Ñ ÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ HTTP-Ð¾ÑÐ²ÐµÑÐ°. Ð§ÑÐ¾Ð±Ñ Ð±ÑÐ°ÑÐ·ÐµÑ ÐºÐ»Ð¸ÐµÐ½ÑÐ° Ð¼Ð¾Ð³ ÐµÐ³Ð¾ Ð¿ÑÐ°Ð²Ð¸Ð»ÑÐ½Ð¾ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐ°ÑÑ, Ð¾Ð½ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑÐ¾ÑÑÐ¾ÑÑÑ Ð¸Ð· Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Ð¸ ÑÐµÐ»Ð°, ÑÐ°Ð·Ð´ÐµÐ»ÐµÐ½Ð½ÑÑ Ð¿ÑÑÑÐ¾Ð¹ ÑÑÑÐ¾ÐºÐ¾Ð¹. Ð Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Ð¿ÐµÑÐµÐ´Ð°ÐµÑÑÑ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð°Ñ ÑÐ»ÑÐ¶ÐµÐ±Ð½Ð°Ñ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ, Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, ÑÐ¸Ð¿ ÑÐ¾Ð´ÐµÑÐ¶Ð¸Ð¼Ð¾Ð³Ð¾, ÐµÐ³Ð¾ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÐ°, ÑÐºÐ°Ð·Ð°Ð½Ð¸Ðµ Ð±ÑÐ°ÑÐ·ÐµÑÑ Ð·Ð°Ð¿ÑÐ¾ÑÐ¸ÑÑ Ð´ÑÑÐ³Ð¾Ð¹ ÑÐµÑÑÑÑ (ÑÐ°Ðº Ð½Ð°Ð·ÑÐ²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑÐµÐ½Ð°Ð¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ðµ), Ð¸ Ñ.Ð´. ÐÑÐ¾ÑÑÐµÐ¹ÑÐ¸Ð¹ cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ð¹ Ð½Ð° ÑÐ·ÑÐºÐµ Python Ð¼Ð¾Ð¶ÐµÑ Ð²ÑÐ³Ð»ÑÐ´ÐµÑÑ ÑÐ°Ðº:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/Python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
print 'Content-Type: text/html\n'&lt;br /&gt;
print '&amp;lt;H3&amp;gt;ÐÑÐ»Ð¸ Ð²Ñ ÑÑÐ¾ Ð²Ð¸Ð´Ð¸ÑÐµ, Ð·Ð½Ð°ÑÐ¸Ñ Ð²ÑÐµ ÑÐ°Ð±Ð¾ÑÐ°ÐµÑ&amp;lt;/H3&amp;gt;'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐµÑÐ²ÑÐ¼ Ð¾Ð¿ÐµÑÐ°ÑÐ¾ÑÐ¾Ð¼ print Ð¼Ñ ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÐ¼ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑÐ½Ð¾ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼ÑÐ¹ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº â Ð±ÑÐ°ÑÐ·ÐµÑ ÐºÐ»Ð¸ÐµÐ½ÑÐ° Ð¾Ð±ÑÐ·Ð°ÑÐµÐ»ÑÐ½Ð¾ Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð·Ð½Ð°ÑÑ, ÐºÐ°ÐºÐ¾Ð² ÑÐ¸Ð¿ Ð¿ÐµÑÐµÑÑÐ»Ð°ÐµÐ¼ÑÑ ÐµÐ¼Ñ Ð´Ð°Ð½Ð½ÑÑ (Ð² Ð½Ð°ÑÐµÐ¼ ÑÐ»ÑÑÐ°Ðµ ÑÑÐ¾ Ð¿ÑÐ¾ÑÑÐ¾Ð¹ ÑÐµÐºÑÑ, ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²ÑÑÑÐ¸Ð¹ ÑÐ¾ÑÐ¼Ð°ÑÑ HTML). ÐÐµ Ð·Ð°Ð±ÑÐ²Ð°Ð¹ÑÐµ Ð¾ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑÐµÐ»ÑÐ½Ð¾Ð¼ Ð¿ÐµÑÐµÐ²Ð¾Ð´Ðµ ÑÑÑÐ¾ÐºÐ¸ \n, Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð¾Ð¼ Ð´Ð»Ñ Ð¾ÑÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Ð¾Ñ ÑÐµÐ»Ð° Ð¾ÑÐ²ÐµÑÐ°. ÐÑ Ð¸ Ð´Ð°Ð»ÐµÐµ Ð²Ñ Ð¼Ð¾Ð¶ÐµÑÐµ Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÑÑ Ð»ÑÐ±Ð¾Ð¹ HTML-ÐºÐ¾Ð´.&lt;br /&gt;
&lt;br /&gt;
ÐÐ½Ð°Ð»Ð¾Ð³Ð¸ÑÐ½Ð¾ Ð¼Ð¾Ð³ÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÑÑÑÑ Ð»ÑÐ±ÑÐµ Ð¾Ð±ÑÐµÐºÑÑ, Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÐ¼ÑÐµ ÐºÐ»Ð¸ÐµÐ½ÑÐ¾Ð¼: Ð¸Ð·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ñ, Ð·Ð²ÑÐºÐ¾Ð²ÑÐµ ÑÐ°Ð¹Ð»Ñ, css-ÑÐ°Ð±Ð»Ð¸ÑÑ Ð¸ Ñ.Ð´. ÐÐ»Ð°Ð²Ð½Ð¾Ðµ, ÑÑÐ¾Ð±Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð¿Ð¾Ð»Ñ Content-Type (Ð¸Ð¼ÐµÐ½ÑÐµÐ¼Ð¾Ðµ ÑÐ°ÐºÐ¶Ðµ MIME-ÑÐ¸Ð¿Ð¾Ð¼) ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²Ð¾Ð²Ð°Ð»Ð¾ ÑÐ¾Ð´ÐµÑÐ¶Ð¸Ð¼Ð¾Ð¼Ñ.&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ´ÐµÑÑ Ð¸Ð³ÑÐ°ÑÑ, Ð·Ð´ÐµÑÑ Ð½Ðµ Ð¸Ð³ÑÐ°ÑÑ... ===&lt;br /&gt;
ÐÐ´Ð½Ð°ÐºÐ¾ ÐºÐ°ÐºÐ¾Ð¹ ÑÐ¼ÑÑÐ» Ð¿Ð¾ÑÑÑÐ°ÑÑ ÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ ÑÑÐ°ÑÐ¸ÑÐµÑÐºÐ¸Ñ, Ð¿Ð¾ ÑÑÑÐ¸, ÑÑÑÐ°Ð½Ð¸Ñ cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ñ, ÐµÑÐ»Ð¸ ÑÐ°Ð¼ HTTP-ÑÐµÑÐ²ÐµÑ ÑÐ¿ÑÐ°Ð²Ð¸ÑÑÑ Ñ ÑÑÐ¸Ð¼ Ð½Ð°Ð¼Ð½Ð¾Ð³Ð¾ Ð»ÑÑÑÐµ? Ð Ð¾Ð±ÑÐµÐ¼-ÑÐ¾ Ð½Ð¸ÐºÐ°ÐºÐ¾Ð³Ð¾. Ð Ð°Ð·Ð²Ðµ ÑÑÐ¾ Ð´Ð»Ñ Ð¾Ð±ÑÐµÐ³Ð¾ ÑÐ°Ð·Ð²Ð¸ÑÐ¸Ñ... Ð Ð²Ð¾Ñ Ð² ÑÐµÐ¼ CGI Ð¿Ð¾-Ð½Ð°ÑÑÐ¾ÑÑÐµÐ¼Ñ ÑÐ¸Ð»ÐµÐ½, ÑÐ°Ðº ÑÑÐ¾ Ð² ÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ð¸ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑÐµÑÐºÐ¸Ñ ÑÑÑÐ°Ð½Ð¸Ñ, ÑÐ¾Ð´ÐµÑÐ¶Ð¸Ð¼Ð¾Ðµ ÐºÐ¾ÑÐ¾ÑÑÑ Ð·Ð°Ð²Ð¸ÑÐ¸Ñ Ð¾Ñ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ð¸, Ð¿ÐµÑÐµÐ´Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¼.&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ¾ÑÐ¾ÐºÐ¾Ð» HTTP Ð¿ÑÐµÐ´ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÐµÑ Ð½ÐµÑÐºÐ¾Ð»ÑÐºÐ¾ ÑÐ¿Ð¾ÑÐ¾Ð±Ð¾Ð² Ð¿ÐµÑÐµÐ´Ð°ÑÐ¸ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ð¸ Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½ÑÐ° Ð½Ð° ÑÐµÑÐ²ÐµÑ, Ð½Ð°Ð·ÑÐ²Ð°ÐµÐ¼ÑÑ Ð¼ÐµÑÐ¾Ð´Ð°Ð¼Ð¸. ÐÐ°Ð¸Ð±Ð¾Ð»ÐµÐµ Ð¿Ð¾Ð¿ÑÐ»ÑÑÐ½ÑÐµ Ð¸Ð· Ð½Ð¸Ñ â GET, POST, PUT Ð¸ HEAD.&lt;br /&gt;
&lt;br /&gt;
ÐÐµÑÐ¾Ð´ GET Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð²ÑÑÐ°Ð²Ð»ÑÑÑ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ Ð² URL, ÑÐ¾ ÐµÑÑÑ Ð² ÑÑÑÐ¾ÐºÑ Ð°Ð´ÑÐµÑÐ° Ð·Ð°Ð¿ÑÐ°ÑÐ¸Ð²Ð°ÐµÐ¼Ð¾Ð³Ð¾ ÑÐµÑÑÑÑÐ°. ÐÐ¾Ð³Ð´Ð° Â«Ð¯Ð½Ð´ÐµÐºÑÂ» Ð²ÐµÑÐ½ÐµÑ Ð²Ð°Ð¼ ÑÐ¿Ð¸ÑÐ¾Ðº Ð¸ÑÐºÐ¾Ð¼ÑÑ ÑÑÑÐ°Ð½Ð¸Ñ, Ð¿Ð¾ÑÐ¼Ð¾ÑÑÐ¸ÑÐµ Ð½Ð° Ð°Ð´ÑÐµÑÐ½ÑÑ ÑÑÑÐ¾ÐºÑ Ð² Ð±ÑÐ°ÑÐ·ÐµÑÐµ â Ð²Ð¾Ñ ÑÐ°Ðº Ð´Ð°Ð½Ð½ÑÐµ Ð¸ Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð¼ GET. ÐÑÑÐ°ÑÐ¸, Ð¾Ð±ÑÐ°ÑÐ¸ÑÐµ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ Ð½Ð° ÑÐ¾, ÐºÐ°Ðº Ð²ÑÐµ ÑÑÐ¾ ÐºÐ¾Ð´Ð¸ÑÑÐµÑÑÑ, Ð¾ÑÐ¾Ð±ÐµÐ½Ð½Ð¾ ÐµÑÐ»Ð¸ Ð²Ñ Ð¸ÑÐºÐ°Ð»Ð¸ ÐºÐ°ÐºÐ¾Ðµ-ÑÐ¾ ÑÑÑÑÐºÐ¾Ðµ ÑÐ»Ð¾Ð²Ð¾.&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ»Ð¸ Ð½Ð° ÑÐµÑÐ²ÐµÑ ÑÑÐµÐ±ÑÐµÑÑÑ Ð¿ÐµÑÐµÐ´Ð°ÑÑ Ð±Ð¾Ð»ÑÑÐ¸Ð¹ Ð¾Ð±ÑÐµÐ¼ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ð¸, Ð¸Ð»Ð¸ ÐµÐµ Ð¶ÐµÐ»Ð°ÑÐµÐ»ÑÐ½Ð¾ ÑÐºÑÑÑÑ Ð¾Ñ Ð»ÑÐ±Ð¾Ð¿ÑÑÐ½ÑÑ Ð³Ð»Ð°Ð·, Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ Ð´ÑÑÐ³Ð¾Ð¹ Ð¼ÐµÑÐ¾Ð´ â POST. Ð Ð´Ð°Ð½Ð½Ð¾Ð¼ ÑÐ»ÑÑÐ°Ðµ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Ð¿ÐµÑÐµÐ´Ð°ÐµÑÑÑ Ð»Ð¸ÑÑ ÑÐ°Ð·Ð¼ÐµÑ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ, Ð° ÑÐ°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÑÑÐ»Ð°ÑÑÑÑ Ð² ÑÐµÐ»Ðµ Ð·Ð°Ð¿ÑÐ¾ÑÐ°.&lt;br /&gt;
&lt;br /&gt;
ÐÐµÑÐ¾Ð´ PUT Ð¿ÑÐµÐ´Ð½Ð°Ð·Ð½Ð°ÑÐ°ÐµÑÑÑ Ð´Ð»Ñ ÑÐ°Ð·Ð¼ÐµÑÐµÐ½Ð¸Ñ ÑÐµÑÑÑÑÐ¾Ð² Ð½Ð° ÑÐµÑÐ²ÐµÑÐµ Ð¸ Ð¿Ð¾ ÑÐ¾Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸ÑÐ¼ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾ÑÑÐ¸ Ð¿ÑÐ°ÐºÑÐ¸ÑÐµÑÐºÐ¸ Ð½Ðµ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ. ÐÑ Ð¸, Ð½Ð°ÐºÐ¾Ð½ÐµÑ, Ð¼ÐµÑÐ¾Ð´ HEAD Ð¾ÑÐµÐ½Ñ Ð¿Ð¾ÑÐ¾Ð¶ Ð½Ð° GET, Ð·Ð° ÑÐµÐ¼ Ð¸ÑÐºÐ»ÑÑÐµÐ½Ð¸ÐµÐ¼, ÑÑÐ¾ ÑÐµÑÐ²ÐµÑ Ð² Ð¾ÑÐ²ÐµÑ Ð½Ð° ÑÐ°ÐºÐ¾Ð¹ Ð·Ð°Ð¿ÑÐ¾Ñ Ð²Ð¾Ð·Ð²ÑÐ°ÑÐ°ÐµÑ Ð½Ðµ Ð²ÐµÑÑ ÑÐµÑÑÑÑ, Ð° Ð»Ð¸ÑÑ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ Ð¾ Ð½ÐµÐ¼, ÑÐ°ÐºÑÑ ÐºÐ°Ðº Ð´Ð°ÑÐ° Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐ³Ð¾ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ, Ð¿Ð¾Ð¼ÐµÑÐ°ÐµÐ¼ÑÑ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ. ÐÐ±ÑÑÐ½Ð¾ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ Ð¿ÑÐ¾ÐºÑÐ¸-ÑÐµÑÐ²ÐµÑÐ°Ð¼Ð¸ Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Â«ÑÐ²ÐµÐ¶ÐµÑÑÐ¸Â» Ð¸Ð¼ÐµÑÑÐ¸ÑÑÑ Ñ Ð½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ â ÑÑÐ¾Ð¸Ñ Ð»Ð¸ Ð·Ð°Ð¿ÑÐ°ÑÐ¸Ð²Ð°ÑÑ ÑÐµÑÑÑÑ Ð¿Ð¾Ð²ÑÐ¾ÑÐ½Ð¾ Ð¸Ð»Ð¸ Ð¼Ð¾Ð¶Ð½Ð¾ Ð²ÐµÑÐ½ÑÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ ÑÐ¾, ÑÑÐ¾ ÐµÑÑÑ Ð² ÐºÑÑÐµ.&lt;br /&gt;
&lt;br /&gt;
ÐÐ¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð°Ñ ÑÐ»Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð´Ð»Ñ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÑÐ¸ÐºÐ° cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð·Ð°ÐºÐ»ÑÑÐ°ÐµÑÑÑ Ð² ÑÐ¾Ð¼, ÑÑÐ¾ Ð´Ð°Ð½Ð½ÑÐµ, Ð¾ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð½ÑÐµ ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÐ¼Ð¸ Ð¼ÐµÑÐ¾Ð´Ð°Ð¼Ð¸, Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ Ð² ÑÑÐµÐ½Ð°ÑÐ¸Ð¹ Ð¿Ð¾-ÑÐ°Ð·Ð½Ð¾Ð¼Ñ. Ð¢Ð°Ðº, Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ, Ð¿Ð¾ÑÑÑÐ¿Ð¸Ð²ÑÐ°Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ POST, Ð¿Ð¾Ð´Ð°ÐµÑÑÑ Ð½Ð° ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¹ Ð²ÑÐ¾Ð´ ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð¸ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑÑÐ¸ÑÐ°Ð½Ð° Ð¾ÑÑÑÐ´Ð°, Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ sys.stdin.read(size) Ð¸Ð»Ð¸ Ð´Ð°Ð¶Ðµ ÑÑÐ½ÐºÑÐ¸ÐµÐ¹ raw_input() (ÑÐ¾ÑÑ Ð²Ð¾ Ð²ÑÐ¾ÑÐ¾Ð¼ ÑÐ»ÑÑÐ°Ðµ ÑÐ»Ð¾Ð¶Ð½ÐµÐµ ÐºÐ¾Ð½ÑÑÐ¾Ð»Ð¸ÑÐ¾Ð²Ð°ÑÑ Ð¾Ð±ÑÐµÐ¼ Ð¿ÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÐ¼ÑÑ Ð´Ð°Ð½Ð½ÑÑ). ÐÐ¾Ð»Ð¸ÑÐµÑÑÐ²Ð¾ Ð±Ð°Ð¹Ñ, ÐºÐ¾ÑÐ¾ÑÑÐµ ÑÑÐµÐ±ÑÐµÑÑÑ ÑÑÐ¸ÑÐ°ÑÑ, Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¸Ð· Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ CONTENT_LENGTH (Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, ÑÐ°Ðº: size = os.environ['CONTENT_LENGTH']).&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ»Ð¸ ÐºÐ»Ð¸ÐµÐ½Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑ Ð¼ÐµÑÐ¾Ð´ GET, ÑÐ¾ Ð´Ð°Ð½Ð½ÑÐµ Ð¿Ð¾ÑÑÑÐ¿ÑÑ Ð² ÑÑÐµÐ½Ð°ÑÐ¸Ð¹ ÑÐµÑÐµÐ· Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½ÑÑ ÑÑÐµÐ´Ñ QUERY_STRING. ÐÐµÑÐ¾Ð´, ÐºÐ¾ÑÐ¾ÑÑÐ¼ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÐ´Ð°Ð½Ñ (Ð½ÑÐ¶Ð½Ð¾ Ð¶Ðµ ÐºÐ°Ðº-ÑÐ¾ ÑÐ°Ð·Ð¾Ð±ÑÐ°ÑÑÑÑ, Ð³Ð´Ðµ Ð¸Ñ Ð¸ÑÐºÐ°ÑÑ) Ð¼Ð¾Ð¶Ð½Ð¾ Ð²ÑÐµÐ³Ð´Ð° Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¸Ð· REQUEST_METHOD.&lt;br /&gt;
&lt;br /&gt;
ÐÑÑÑ ÐµÑÐµ Ð¾Ð´Ð¸Ð½ Ð¾ÑÐ¾Ð±ÑÐ¹ ÑÐ»ÑÑÐ°Ð¹. ÐÑÐ»Ð¸ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð¼ GET, Ð½Ð¾ Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ Â«Ð¸Ð½Ð´ÐµÐºÑÐ½Ð¾Ð³Ð¾Â» ÑÐ¾ÑÐ¼Ð°ÑÐ°, ÐºÐ¾ÑÐ¾ÑÑÐ¹ ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÑÑÑ ÑÐµÐ³Ð¾Ð¼ &amp;lt;ISINDEX&amp;gt;, ÑÐ¾ Ð² ÑÑÐ¾Ð¼ ÑÐ»ÑÑÐ°Ðµ Ð¾Ð½Ð¸ ÐºÐ¾Ð´Ð¸ÑÑÑÑÑÑ Ð½Ðµ Ð² Ð²Ð¸Ð´Ðµ Â«Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ=Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ&amp;amp;Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ=Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ&amp;amp;...Â», Ð° ÐºÐ°Ðº Â«Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ+Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ+...Â». Ð cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð¾Ð½Ð¸ Ð±ÑÐ´ÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð½Ñ, Ð¿Ð¾Ð¼Ð¸Ð¼Ð¾ QUERY_STRING, ÑÐµÑÐµÐ· Ð°ÑÐ³ÑÐ¼ÐµÐ½ÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑÐ¾ÐºÐ¸, ÐºÐ°Ðº ÐµÑÐ»Ð¸ Ð±Ñ ÑÑÐµÐ½Ð°ÑÐ¸Ð¹ Ð²ÑÐ·ÑÐ²Ð°Ð»ÑÑ ÑÐ°ÐºÐ¾Ð¹ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹:&lt;br /&gt;
&lt;br /&gt;
 script.cgi arg1 arg2 arg3&lt;br /&gt;
&lt;br /&gt;
Ð¢Ð¾ ÐµÑÑÑ, Ð½Ð° ÑÑÐ¾Ñ ÑÐ°Ð· Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¸Ðµ Ð´Ð°Ð½Ð½ÑÐµ Ð¼Ð¾Ð¶Ð½Ð¾ Ð±ÑÐ´ÐµÑ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ ÐºÐ°Ðº sys.argv[1] Ð¸ Ñ.Ð´.&lt;br /&gt;
&lt;br /&gt;
ÐÐ°Ðº Ð²Ð¸Ð´Ð¸ÑÐµ, Ð¾Ð³ÑÐ¾Ð¼Ð½Ð¾Ðµ ÑÐ¸ÑÐ»Ð¾ Ð²Ð°ÑÐ¸Ð°Ð½ÑÐ¾Ð², Ð¿ÑÐµÐ´ÑÑÐ¼Ð¾ÑÑÐµÐ½Ð½ÑÑ CGI-Ð¸Ð½ÑÐµÑÑÐµÐ¹ÑÐ¾Ð¼, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð²ÑÐµ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ ÑÑÑÐµÐ½Ñ Ð¿ÑÐ¸ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐµ ÑÑÐµÐ½Ð°ÑÐ¸Ñ, Ð¼Ð¾Ð¶ÐµÑ Ð²ÑÐ·Ð²Ð°ÑÑ Ð½ÐµÑÐ²Ð½ÑÐ¹ ÑÐ¸Ðº Ð´Ð°Ð¶Ðµ Ñ Ð¾Ð¿ÑÑÐ½ÑÑ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÑÐ¾Ð², ÐºÐ¾ÑÐ¾ÑÑÐµ Ð¸ Ð²Ð¾ ÑÐ½Ðµ Ð¿Ð¾ÑÐ¸ÑÐ¾Ð½ÑÐºÑ Ð½Ð°Ð±Ð¸Ð²Ð°ÑÑ Ð¿Ð¾ Ð¿Ð¾Ð´ÑÑÐºÐµ ÐºÐ°ÐºÐ¾Ð¹-ÑÐ¾ ÐºÐ¾Ð´. Ð ÐµÑÐ»Ð¸ ÐµÑÐµ Ð²ÑÐ¿Ð¾Ð¼Ð½Ð¸ÑÑ, ÑÑÐ¾ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ Ð² Ð·Ð°ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð½Ð¾Ð¼ Ð²Ð¸Ð´Ðµ (ÑÑÐ¾ Ð°Ð½Ð³Ð»Ð¸ÑÐ°Ð½Ð°Ð¼ ÑÐ¾ÑÐ¾ÑÐ¾ â Ð²Ð·ÑÐ» Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ Ð¸ ÑÐ°Ð±Ð¾ÑÐ°Ð¹, Ð° Ð½Ð°Ð¼-ÑÐ¾ Ñ Ð²Ð°Ð¼Ð¸ ÑÑÐ¾ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð²ÐµÑÐ½ÐµÑÑÑ Ð² Ð²Ð¸Ð´Ðµ %EC%E4%E0), Ð´Ð° ÐµÑÐµ Ð¸ Ð¾ Ð¿ÑÐ¾Ð²ÐµÑÐºÐµ ÑÑÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð½ÑÐ¶Ð½Ð¾ Ð¿Ð¾Ð·Ð°Ð±Ð¾ÑÐ¸ÑÑÑÑ, ÑÑÐ¾Ð±Ñ ÐºÐ°ÐºÐ¾Ð¹-Ð½Ð¸Ð±ÑÐ´Ñ Ð½Ð°ÑÐ¸Ð½Ð°ÑÑÐ¸Ð¹ ÑÐ°ÐºÐµÑ Ð½Ðµ Ð¿Ð¾Ð¿ÑÑÐ°Ð»ÑÑ Ð·Ð°ÑÑÐ°Ð²Ð¸ÑÑ Ð½Ð°Ñ ÑÐµÑÐ²ÐµÑ ÑÐ°Ð±Ð¾ÑÐ°ÑÑ Ð¿Ð¾-ÑÐ²Ð¾ÐµÐ¼Ñ... ÐÐµÑ, Ð¾Ð±Ð¾ Ð²ÑÐµÐ¼ ÑÑÐ¾Ð¼ Ð»ÑÑÑÐµ Ð¸ Ð½Ðµ Ð²ÑÐ¿Ð¾Ð¼Ð¸Ð½Ð°ÑÑ. ÐÐ»Ð°Ð³Ð¾ Ñ Ð½Ð°Ñ ÐµÑÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ cgi, Ð² ÐºÐ¾ÑÐ¾ÑÐ¾Ð¼ Ð²ÑÐµ ÑÑÐ¾ ÑÐ¶Ðµ ÑÐ´ÐµÐ»Ð°Ð½Ð¾!&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾ Ð¾ Ð½ÐµÐ¼ â ÑÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ. Ð¡Ð½Ð°ÑÐ°Ð»Ð° Ð¿Ð°ÑÑ ÑÐ»Ð¾Ð² Ð½ÑÐ¶Ð½Ð¾ ÑÐºÐ°Ð·Ð°ÑÑ Ð¾ HTML-ÑÐ¾ÑÐ¼Ð°Ñ.&lt;br /&gt;
&lt;br /&gt;
=== Ð¤Ð¾ÑÐ¼Ð¸ÑÑÐµÐ¼ ÑÐ¾ÑÐ¼Ñ ===&lt;br /&gt;
Ð§ÑÐ¾Ð±Ñ Ð²Ð°Ð¼ Ð±ÑÐ»Ð¾ Ð¿ÑÐ¾ÑÐµ Ð¿Ð¾Ð½ÑÑÑ ÑÐ°ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÐµÐ¼ÑÐ¹ ÑÐµÐ³Ð¾Ð´Ð½Ñ Ð¿ÑÐ¸Ð¼ÐµÑ, ÐºÐ¾ÑÐ¾ÑÐºÐ¾ ÑÐºÐ°Ð¶Ñ Ð¿ÑÐ¾ ÑÐ¾, ÐºÐ°Ðº Ð¶Ðµ ÐºÐ»Ð¸ÐµÐ½Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑ Ð¿ÐµÑÐµÐ´Ð°ÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð½Ð°ÑÐµÐ¼Ñ cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ñ. ÐÐ¾Ð½ÐµÑÐ½Ð¾, Ð¿ÑÐ¾Ð´Ð²Ð¸Ð½ÑÑÑÐµ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ð¸ Ð¼Ð¾Ð³ÑÑ Ð½Ð°Ð±ÑÐ°ÑÑ GET-Ð·Ð°Ð¿ÑÐ¾Ñ Ð²ÑÑÑÐ½ÑÑ Ð² Ð°Ð´ÑÐµÑÐ½Ð¾Ð¹ ÑÑÑÐ¾ÐºÐµ Ð±ÑÐ°ÑÐ·ÐµÑÐ°. Ð¥Ð¾ÑÑ ÑÑÐ¾ Ð¼ÐµÐ»Ð¾ÑÐ¸ÑÑÑÑ â Ð²ÐµÐ´Ñ Ð¼Ð¾Ð¶Ð½Ð¾ Ð¶Ðµ ÑÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°ÑÑ Ð¸ POST-Ð·Ð°Ð¿ÑÐ¾Ñ, Ð¿Ð¾Ð´ÐºÐ»ÑÑÐ¸Ð²ÑÐ¸ÑÑ ÑÐµÐ»Ð½ÐµÑÐ¾Ð¼ Ð½Ð° 80-Ð¹ Ð¿Ð¾ÑÑ! ÐÐ¿ÑÐ¾ÑÐµÐ¼, Ð¾Ð±ÑÑÐ½ÑÐµ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ð¸ Ð¿ÑÐµÐ´Ð¿Ð¾ÑÐ¸ÑÐ°ÑÑ Ð±Ð¾Ð»ÐµÐµ Ð¿Ð¾Ð½ÑÑÐ½ÑÐµ Ð¸ Â«Ð¾ÑÑÐ·Ð°ÐµÐ¼ÑÐµÂ» ÑÐ¿Ð¾ÑÐ¾Ð±Ñ, Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, ÑÐ¾ÑÐ¼Ñ.&lt;br /&gt;
&lt;br /&gt;
ÐÐ°Ðº Ð¾Ð½Ð¸ Ð²ÑÐ³Ð»ÑÐ´ÑÑ, Ð´ÑÐ¼Ð°Ñ, ÐºÐ°Ð¶Ð´ÑÐ¹ Ð·Ð½Ð°ÐµÑ. Ð¡Ð¾Ð·Ð´Ð°ÑÑÑÑ Ð¾Ð½Ð¸ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÐµÐ³Ð° &amp;lt;FORM&amp;gt;, Ð²Ð½ÑÑÑÐ¸ ÐºÐ¾ÑÐ¾ÑÐ¾Ð³Ð¾ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑÑÑ ÑÐ°ÐºÐ¸Ðµ ÑÐ»ÐµÐ¼ÐµÐ½ÑÑ, ÐºÐ°Ðº &amp;lt;INPUT&amp;gt; (Ð¿Ð¾Ð»Ðµ Ð²Ð²Ð¾Ð´Ð°) Ð¸Ð»Ð¸ &amp;lt;TEXTAREA&amp;gt; (Ð¼Ð½Ð¾Ð³Ð¾ÑÑÑÐ¾ÑÐ½ÑÐ¹ ÑÐµÐ´Ð°ÐºÑÐ¾Ñ). Ð­ÑÐ¸Ð¼ ÑÐ»ÐµÐ¼ÐµÐ½ÑÐ°Ð¼, ÐµÑÐ»Ð¸ Ð¸Ñ Ð´Ð°Ð½Ð½ÑÐµ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð½Ñ Ð½Ð° ÑÐµÑÐ²ÐµÑ, Ð¿ÑÐ¸ÑÐ²Ð°Ð¸Ð²Ð°ÑÑÑÑ Ð¸Ð¼ÐµÐ½Ð° Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð°ÑÑÐ¸Ð±ÑÑÐ° name. ÐÐ°ÑÐ°Ð»ÑÐ½Ð¾Ðµ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð·Ð°Ð´Ð°ÐµÑÑÑ Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÐ¾Ð¼ value Ð¸ Ð² Ð´Ð°Ð»ÑÐ½ÐµÐ¹ÑÐµÐ¼ Ð´Ð»Ñ Â«ÑÐµÐ´Ð°ÐºÑÐ¸ÑÑÐµÐ¼ÑÑÂ» Ð¿Ð¾Ð»ÐµÐ¹ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¾ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¼. ÐÐ¾Ð³Ð´Ð° Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð½Ð°Ð¶Ð¸Ð¼Ð°ÐµÑ ÐºÐ½Ð¾Ð¿ÐºÑ Â«ÐÑÐ¿ÑÐ°Ð²Ð¸ÑÑÂ» (Ð½Ð°Ð´Ð¿Ð¸ÑÑ Ð½Ð° Ð½ÐµÐ¹, Ð² Ð¿ÑÐ¸Ð½ÑÐ¸Ð¿Ðµ, Ð¼Ð¾Ð¶Ð½Ð¾ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ), ÑÐ¾ Ð±ÑÐ°ÑÐ·ÐµÑ Ð¾Ð±ÑÐµÐ´Ð¸Ð½ÑÐµÑ Ð²ÑÐµ Ð´Ð°Ð½Ð½ÑÐµ Ð¿Ð¾Ð»ÐµÐ¹ Ð² Ð¿Ð°ÑÑ name=value, ÑÐ°Ð·Ð´ÐµÐ»ÑÑ Ð¸Ñ ÑÐ¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ &amp;amp;. ÐÐ°ÑÐµÐ¼ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½Ð°Ñ ÑÐ°ÐºÐ¸Ð¼ Ð¾Ð±ÑÐ°Ð·Ð¾Ð¼ ÑÑÑÐ¾ÐºÐ° Ð¿ÐµÑÐµÐ´Ð°ÐµÑÑÑ Ð½Ð° ÑÐµÑÐ²ÐµÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð¼, ÑÐºÐ°Ð·Ð°Ð½Ð½ÑÐ¼ Ð² Ð°ÑÑÐ¸Ð±ÑÑÐµ method ÑÐµÐ³Ð° &amp;lt;FORM&amp;gt;. ÐÑÑÑ Ðº ÑÑÐµÐ½Ð°ÑÐ¸Ñ, ÐºÐ¾ÑÐ¾ÑÑÐ¹ Ð±ÑÐ´ÐµÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑÑÑ ÐµÐµ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÐ¾Ð¹, Ð·Ð°Ð´Ð°ÐµÑÑÑ Ð°ÑÑÐ¸Ð±ÑÑÐ¾Ð¼ action ÑÑÐ¾Ð³Ð¾ Ð¶Ðµ ÑÐµÐ³Ð°. ÐÑÐ»Ð¸ action Ð½Ðµ Ð·Ð°Ð´Ð°Ð½, ÑÐ¾ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ ÑÐ°Ð¹Ð»Ñ, ÑÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð²ÑÐµÐ¼Ñ ÑÐµÐºÑÑÑÑ ÑÑÑÐ°Ð½Ð¸ÑÐºÑ.&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ»Ð¸ ÑÑÐ¾-ÑÐ¾ Ð½Ðµ ÑÐ¾Ð²ÑÐµÐ¼ Ð¿Ð¾Ð½ÑÑÐ½Ð¾, Ð¾Ð±ÑÐ°ÑÐ¸ÑÐµÑÑ Ðº ÐºÐ¾Ð´Ñ ÑÐ°Ð·ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÐµÐ¼Ð¾Ð¹ Ð³Ð¾ÑÑÐµÐ²Ð¾Ð¹ ÐºÐ½Ð¸Ð³Ð¸, ÐºÐ¾ÑÐ¾ÑÑÐ¹ Ð¿ÑÐ¸Ð²ÐµÐ´ÐµÐ½ Ð½Ð¸Ð¶Ðµ.&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ°Ñ ÑÐ¿Ð°ÑÐ¸ÑÐµÐ»Ñ â Ð¼Ð¾Ð´ÑÐ»Ñ cgi ===&lt;br /&gt;
ÐÐ¾Ð·Ð²ÑÐ°ÑÐ°ÐµÐ¼ÑÑ Ðº Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÐµ Ð²ÑÐµÐ³Ð¾ ÑÑÐ¾Ð³Ð¾ Ð´Ð¾Ð±ÑÐ°, ÐºÐ¾ÑÐ¾ÑÐ¾Ðµ ÑÐ¾ÑÐ½Ð¸ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¹ ÑÐ¶Ðµ Ð³Ð¾ÑÐ¾Ð²Ñ Ð¾Ð±ÑÑÑÐ¸ÑÑ Ð½Ð° Ð½Ð°Ñ Ð±ÐµÐ´Ð½ÑÐ¹ ÑÑÐµÐ½Ð°ÑÐ¸Ð¹. ÐÑ ÑÐµÑÐ¸Ð»Ð¸ Ð²Ð¾ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÑÑÑ ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¼Ð¸ ÑÑÐµÐ´ÑÑÐ²Ð°Ð¼Ð¸ Python, Ð¸ Ð·Ð´ÐµÑÑ Ð²ÑÐµ Ð´ÐµÐ¹ÑÑÐ²Ð¸ÑÐµÐ»ÑÐ½Ð¾ Ð¾ÑÐµÐ½Ñ Ð¿ÑÐ¾ÑÑÐ¾ â Ð¸Ð¼Ð¿Ð¾ÑÑÐ¸ÑÑÐ¹ÑÐµ Ð¼Ð¾Ð´ÑÐ»Ñ cgi Ð¸, ÑÐ¾Ð·Ð´Ð°Ð² Ð¾Ð±ÑÐµÐºÑ ÐºÐ»Ð°ÑÑÐ° FieldStorage, Ð²Ñ Ð¿Ð¾Ð»ÑÑÐ¸ÑÐµ ÑÐµÑÐµÐ· Ð½ÐµÐ³Ð¾ Ð´Ð¾ÑÑÑÐ¿ ÐºÐ¾ Ð²ÑÐµÐ¼ Ð´Ð°Ð½Ð½ÑÐ¼, Ð¿ÐµÑÐµÐ´Ð°Ð½Ð½ÑÐ¼ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¼, Ð½ÐµÐ·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ Ð¾Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÐ¼Ð¾Ð³Ð¾ Ð¼ÐµÑÐ¾Ð´Ð°:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import cgi&lt;br /&gt;
data = cgi.FieldStorage()&lt;br /&gt;
for entry in data.keys():&lt;br /&gt;
print 'ÐÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ %s Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ %s' % (entry, data[entry].value)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ»Ð¸ Ð²Ð°Ð¼ Ð½ÑÐ¶Ð½Ð¾ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ, ÑÑÐ¾ Ð´ÐµÐ»Ð°ÐµÑÑÑ ÑÐ°Ðº:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
field = data['field'].value&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾Ð¼Ð¸Ð¼Ð¾ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ, Ð¾Ð±ÑÐµÐºÑ ÐºÐ»Ð°ÑÑÐ° FieldStorage ÑÐ¾Ð´ÐµÑÐ¶Ð¸Ñ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ Ð¸ Ð¾ Ð¿Ð¾Ð»ÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° (Ð² Ð½Ð°ÑÐµÐ¼ Ð¿ÑÐ¸Ð¼ÐµÑÐµ Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¸Ð· ÑÐ»Ð¾Ð²Ð°ÑÑ data.headers). MIME-ÑÐ¸Ð¿ Ð´Ð°Ð½Ð½ÑÑ (Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÐµÐ¼ÑÐ¹ Ð¿Ð¾Ð»ÐµÐ¼ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Content-Type) Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¸Ð· Ð°ÑÑÐ¸Ð±ÑÑÐ° data.type. Ð§ÐµÑÐµÐ· ÑÑÐ¾Ñ Ð¶Ðµ Ð¾Ð±ÑÐµÐºÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð° Ð¸ Ð·Ð°Ð³ÑÑÐ·ÐºÐ° ÑÐ°Ð¹Ð»Ð°.&lt;br /&gt;
&lt;br /&gt;
Ð¡ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð² keys() Ð¸ has_key() Ð¼Ð¾Ð¶Ð½Ð¾ Ð²ÑÐ¿Ð¾Ð»Ð½ÑÑÑ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð² ÑÐ¸ÐºÐ»Ðµ Ð¸ Ð¿ÑÐ¾Ð²ÐµÑÑÑÑ Ð½Ð°Ð»Ð¸ÑÐ¸Ðµ ÑÐ¾Ð¹ Ð¸Ð»Ð¸ Ð¸Ð½Ð¾Ð¹ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹. ÐÑÑÐ°ÑÐ¸ Ð³Ð¾Ð²Ð¾ÑÑ, Ð¿ÑÐ¾Ð²ÐµÑÑÑÑ Ð½Ð°Ð»Ð¸ÑÐ¸Ðµ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ Ð²Ð¾ Ð²ÑÐ¾Ð´Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ, Ð¿ÑÐµÐ¶Ð´Ðµ ÑÐµÐ¼ Ð¿ÑÐ¸ÑÑÑÐ¿Ð°ÑÑ Ðº Ð¸Ñ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÐµ, Ð½ÑÐ¶Ð½Ð¾ Ð½ÐµÐ¿ÑÐµÐ¼ÐµÐ½Ð½Ð¾ â Ð²ÐµÐ´Ñ Ð·Ð°Ð¿ÑÐ¾Ñ ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÑÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÐ¾Ð¼, Ð° ÐºÑÐ¾ Ð·Ð½Ð°ÐµÑ, ÑÑÐ¾ Ñ Ð½ÐµÐ³Ð¾ Ð½Ð° ÑÐ¼Ðµ?&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ°Ð·Ð¸ÑÑÐµÐ¼ Ð´Ð°Ð½Ð½ÑÐµ ===&lt;br /&gt;
ÐÑÐ°Ðº, Ð¿Ð¾Ð»ÑÑÐ°ÑÑ Ð´Ð°Ð½Ð½ÑÐµ Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½ÑÐ° Ð¼Ñ Ð½Ð°ÑÑÐ¸Ð»Ð¸ÑÑ. ÐÑÐ¿ÑÐ°Ð²Ð»ÑÑÑ ÑÐ¾Ð¶Ðµ ÑÐ¼ÐµÐµÐ¼. ÐÑÑÐ°Ð»Ð¾ÑÑ Ð¿ÑÐ¸Ð´ÑÐ¼Ð°ÑÑ, ÐºÐ°Ðº ÑÑÐ¸ Ð´Ð°Ð½Ð½ÑÐµ Ð»ÑÑÑÐµ Ð²ÑÐµÐ³Ð¾ ÑÑÐ°Ð½Ð¸ÑÑ. ÐÐ¾Ð½ÐµÑÐ½Ð¾, Ð´Ð»Ñ Ð½ÐµÑÐ»Ð¾Ð¶Ð½Ð¾Ð¹ Ð³Ð¾ÑÑÐµÐ²Ð¾Ð¹ ÐºÐ½Ð¸Ð³Ð¸ Ñ Ð½ÐµÐ±Ð¾Ð»ÑÑÐ¾Ð¹ Ð½Ð°Ð³ÑÑÐ·ÐºÐ¾Ð¹ Ð²Ð¿Ð¾Ð»Ð½Ðµ ÑÐ²Ð°ÑÐ¸Ð»Ð¾ Ð±Ñ Ð¸ ÑÐµÐºÑÑÐ¾Ð²ÑÑ ÑÐ°Ð¹Ð»Ð¾Ð². ÐÑÐ°Ð²Ð´Ð°, ÑÐ°Ð¼ ÐµÑÑÑ ÑÐ²Ð¾Ð¸ ÑÐ»Ð¾Ð¶Ð½Ð¾ÑÑÐ¸ â ÐµÑÐ»Ð¸ ÑÑÐ°Ð·Ñ Ð¿ÑÑÑ ÑÐµÐ»Ð¾Ð²ÐµÐº Ð·Ð°ÑÐ¾ÑÑÑ Ð²ÑÑÐºÐ°Ð·Ð°ÑÑ ÑÐ²Ð¾Ðµ Ð¼Ð½ÐµÐ½Ð¸Ðµ Ð¾ Ð²Ð°ÑÐµÐ¹ ÐºÑÑÑÐµÐ¹ÑÐµÐ¹ Ð´Ð¾Ð¼Ð°ÑÐ½ÐµÐ¹ ÑÑÑÐ°Ð½Ð¸ÑÐºÐµ, ÑÐ¾ ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð¿ÑÐ¸Ð´ÐµÑÑÑ ÐºÐ°ÐºÐ¸Ð¼-ÑÐ¾ Ð¾Ð±ÑÐ°Ð·Ð¾Ð¼ ÑÐµÐ³ÑÐ»Ð¸ÑÐ¾Ð²Ð°ÑÑ Ð´Ð¾ÑÑÑÐ¿ Ðº ÑÐ°Ð¹Ð»Ñ-ÑÑÐ°Ð½Ð¸Ð»Ð¸ÑÑ (ÐºÐ°Ðº Ð¼Ð¸Ð½Ð¸Ð¼ÑÐ¼, Ð¾Ð±ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÑÑ ÑÐ¸ÑÑÐ°ÑÐ¸Ñ, ÐµÑÐ»Ð¸ ÑÐ°Ð¹Ð» ÑÐ¶Ðµ Ð¾ÑÐºÑÑÑ Ð½Ð° Ð·Ð°Ð¿Ð¸ÑÑ Ð´ÑÑÐ³Ð¸Ð¼ ÑÐºÐ·ÐµÐ¼Ð¿Ð»ÑÑÐ¾Ð¼ ÑÑÐµÐ½Ð°ÑÐ¸Ñ). ÐÐ¾ Ð·Ð°ÑÐµÐ¼ Ð½Ð°Ð¼ Ð²ÑÐµ ÑÑÐ¸ Ð³Ð¾Ð»Ð¾Ð²Ð½ÑÐµ Ð±Ð¾Ð»Ð¸? ÐÑÐ»Ð¸ Ð¼Ñ ÑÐ°Ðº Ð»Ð¾Ð²ÐºÐ¾ Ð¾ÑÐ²ÐµÑÑÐµÐ»Ð¸ÑÑ Ð¾Ñ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð¾ÑÑÐ¸ Ð²ÑÑÑÐ½ÑÑ ÑÐ°Ð·Ð±Ð¸ÑÐ°ÑÑ HTTP-Ð·Ð°Ð¿ÑÐ¾ÑÑ, ÑÐ¾ Ð½ÐµÑÐ¶ÐµÐ»Ð¸ Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ¼ ÑÑÐ¾-ÑÐ¾ Ð¿Ð¾Ð´ÑÐ¾Ð´ÑÑÐµÐµ Ð½Ð° ÑÑÐ¾Ñ ÑÐ°Ð·?&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾Ð½ÐµÑÐ½Ð¾, Ð½Ð°Ð¹Ð´ÐµÐ¼! Ð ÑÑÐ¾ Â«ÑÑÐ¾-ÑÐ¾Â» Ð½Ð°Ð·ÑÐ²Ð°ÐµÑÑÑ ÑÐ¸ÑÑÐµÐ¼Ð¾Ð¹ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ (Ð² Ð¿ÑÐ¾ÑÑÐ¾ÑÐµÑÑÐµ â Ð¡Ð£ÐÐ). Ð¢ÐµÐ¿ÐµÑÑ Ð½Ð°ÑÐµ Ð´ÐµÐ»Ð¾ â Ð¾ÑÐ¿ÑÐ°Ð²Ð¸ÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð¸ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¾ÑÐ²ÐµÑ. ÐÑÐµ Ð¾ÑÑÐ°Ð»ÑÐ½Ð¾Ðµ â ÑÐ¶Ðµ Ð½Ðµ Ð½Ð°ÑÐ° Ð·Ð°Ð±Ð¾ÑÐ°.&lt;br /&gt;
&lt;br /&gt;
ÐÐ»Ñ ÑÑÐ¾Ð³Ð¾ Ð¿ÑÐ¸Ð¼ÐµÑÐ° Ñ Ð²ÑÐ±ÑÐ°Ð» Ð² ÐºÐ°ÑÐµÑÑÐ²Ðµ Â«Ð¾ÑÐ²ÐµÑÑÑÐ²ÐµÐ½Ð½Ð¾Ð³Ð¾Â» Ð·Ð° ÑÑÐ°Ð½ÐµÐ½Ð¸Ðµ Ð´Ð°Ð½Ð½ÑÑ ÑÐµÑÐ²ÐµÑ Ð±Ð°Ð· Ð´Ð°Ð½Ð½ÑÑ PostgreSQL. ÐÐ¾ÑÐºÐ¾Ð»ÑÐºÑ Ð¼Ñ Ð¿Ð¸ÑÐµÐ¼ Ð½Ñ Ð¾ÑÐµÐ½Ñ Ð¿ÑÐ¾ÑÑÑÑ Ð³Ð¾ÑÑÐµÐ²ÑÑ ÐºÐ½Ð¸Ð³Ñ, ÑÐ¾ Ð¸ ÑÑÑÑÐºÑÑÑÐ° Ð±Ð°Ð·Ñ Ð±ÑÐ´ÐµÑ Ñ Ð½Ð°Ñ ÑÐ»ÐµÐ¼ÐµÐ½ÑÐ°ÑÐ½Ð¾Ð¹ â Ð¾Ð´Ð½Ð° ÑÐ°Ð±Ð»Ð¸ÑÐ° Ñ ÑÑÐµÐ¼Ñ Ð¿Ð¾Ð»ÑÐ¼Ð¸: Ð²ÑÐµÐ¼Ñ Ð¿ÑÐ±Ð»Ð¸ÐºÐ°ÑÐ¸Ð¸ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ, Ð¸Ð¼Ñ Ð°Ð²ÑÐ¾ÑÐ° Ð¸, ÑÐ¾Ð±ÑÑÐ²ÐµÐ½Ð½Ð¾, ÑÐ°Ð¼Ð¾ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ðµ:&lt;br /&gt;
&lt;br /&gt;
 admin@toshiba:~$ psql&lt;br /&gt;
 Welcome to psql 8.1.4, the PostgreSQL interactive terminal.&lt;br /&gt;
 guestbook=# create user &amp;quot;www-data&amp;quot; nocreatedb nocreateuser;&lt;br /&gt;
 CREATE ROLE&lt;br /&gt;
 admin=# create database guestbook with owner &amp;quot;www-data&amp;quot;;&lt;br /&gt;
 CREATE DATABASE&lt;br /&gt;
 admin=# \connect guestbook&lt;br /&gt;
 ÐÑ Ð¿Ð¾Ð´ÑÐ¾ÐµÐ´Ð¸Ð½Ð¸Ð»Ð¸ÑÑ Ðº Ð±Ð°Ð·Ðµ Ð´Ð°Ð½Ð½ÑÑ &amp;quot;guestbook&amp;quot;.&lt;br /&gt;
 guestbook=# create table guestbook (&lt;br /&gt;
 guestbook(# datum timestamp, author varchar, message varchar);&lt;br /&gt;
 CREATE TABLE&lt;br /&gt;
 guestbook=# alter table guestbook owner to &amp;quot;www-data&amp;quot;;&lt;br /&gt;
 ALTER TABLE&lt;br /&gt;
 guestbook=# \q&lt;br /&gt;
 admin@toshiba:~$&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾Ð¶Ð°Ð»ÑÐ¹, ÐµÐ´Ð¸Ð½ÑÑÐ²ÐµÐ½Ð½Ð¾Ðµ, ÑÑÐ¾ Ð·Ð´ÐµÑÑ Ð½ÑÐ¶Ð½Ð¾ Ð¿Ð¾ÑÑÐ½Ð¸ÑÑ, ÑÑÐ¾ Ð¿Ð¾ÑÐµÐ¼Ñ Ð±Ð°Ð·Ðµ Ð¸ ÑÐ°Ð±Ð»Ð¸ÑÐµ Ð¼Ñ Ð½Ð°Ð·Ð½Ð°ÑÐ¸Ð»Ð¸ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑÐµÐ¼ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ www-data. ÐÑÐ¾ÑÑÐ¾ Ðº Ð½Ð¸Ð¼ Ð±ÑÐ´ÐµÑ Ð¾Ð±ÑÐ°ÑÐ°ÑÑÑÑ cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ð¹, ÑÐ°Ð±Ð¾ÑÐ°ÑÑÐ¸Ð¹ Ñ Ð¿ÑÐ°Ð²Ð°Ð¼Ð¸ HTTP-ÑÐµÑÐ²ÐµÑÐ° Apache, ÐºÐ¾ÑÐ¾ÑÑÐ¹, Ð² ÑÐ²Ð¾Ñ Ð¾ÑÐµÑÐµÐ´Ñ, Ð¸ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ [Ð² Ð²Ð°ÑÐµÐ¼ Ð´Ð¸ÑÑÑÐ¸Ð±ÑÑÐ¸Ð²Ðµ Ð¾Ð½ Ð¼Ð¾Ð¶ÐµÑ Ð½Ð°Ð·Ð²Ð°ÑÑÑÑ Ð¿Ð¾-Ð´ÑÑÐ³Ð¾Ð¼Ñ, â Ð¿ÑÐ¸Ð¼. ÑÐµÐ´.]. Ð PostgreSQL Ð¿Ð¾ ÑÐ¼Ð¾Ð»ÑÐ°Ð½Ð¸Ñ ÑÑÐµÐ±ÑÐµÑ, ÑÑÐ¾Ð±Ñ Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð² ÐÐ ÑÐ¾Ð²Ð¿Ð°Ð´Ð°Ð»Ð¾ Ñ ÐµÐ³Ð¾ ÑÐ¸ÑÑÐµÐ¼Ð½ÑÐ¼ Ð¸Ð¼ÐµÐ½ÐµÐ¼. ÐÐ½Ðµ ÑÑÐ¾ ÐºÐ°Ð¶ÐµÑÑÑ Ð´Ð¾ÑÑÐ°ÑÐ¾ÑÐ½Ð¾ ÑÐ´Ð¾Ð±Ð½ÑÐ¼, ÑÐ¾ÑÑ Ð²Ñ, ÐºÐ¾Ð½ÐµÑÐ½Ð¾, Ð¼Ð¾Ð¶ÐµÑÐµ Ð¿Ð¾ÑÑÑÐ¿Ð¸ÑÑ Ð¿Ð¾-ÑÐ²Ð¾ÐµÐ¼Ñ.&lt;br /&gt;
&lt;br /&gt;
=== DB API Ð½Ð° ÑÑÑÐ°Ð¶Ðµ ÑÐ½Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¸ ===&lt;br /&gt;
ÐÑÑÐ°Ð»Ð¾ÑÑ ÑÐ°Ð·Ð¾Ð±ÑÐ°ÑÑÑÑ, ÐºÐ°Ðº Ð¶Ðµ Python Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²ÑÐµÑ Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ. ÐÐ»Ñ ÑÑÐ¾Ð³Ð¾ Python Ð¿ÑÐµÐ´Ð¾ÑÑÐ°Ð²Ð»ÑÐµÑ DB API â ÑÐ¿ÐµÑÐ¸Ð°Ð»ÑÐ½ÑÐ¹ Ð¸Ð½ÑÐµÑÑÐµÐ¹Ñ, ÑÐ½Ð¸ÑÐ¸ÑÐ¸ÑÑÑÑÐ¸Ð¹ Ð½Ð°Ð±Ð¾Ñ Ð¼ÐµÑÐ¾Ð´Ð¾Ð², ÐºÐ¾ÑÐ¾ÑÑÐµ Ð±ÑÐ´ÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾ ÑÐ°Ð±Ð¾ÑÐ°ÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ Ð¾Ñ ÑÐ¾Ð³Ð¾, Ñ ÐºÐ°ÐºÐ¾Ð¹ Ð¡Ð£ÐÐ Ð¼Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²ÑÐµÐ¼. ÐÐ»Ñ ÑÐ°Ð±Ð¾ÑÑ Ñ PostgreSQL Ð½Ð°Ð¼ Ð¿Ð¾Ð½Ð°Ð´Ð¾Ð±Ð¸ÑÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ PyPgSQL (Ð² ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½Ð¾Ð¹ Ð¿Ð¾ÑÑÐ°Ð²ÐºÐµ ÐµÐ³Ð¾ Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ, Ð½Ð¾ Ð²Ð°Ñ Ð¼ÐµÐ½ÐµÐ´Ð¶ÐµÑ Ð¿Ð°ÐºÐµÑÐ¾Ð² Ð½Ð°Ð²ÐµÑÐ½ÑÐºÐ° Ð±ÑÐ´ÐµÑ Ð² ÐºÑÑÑÐµ, ÐºÐ°Ðº ÐµÐ³Ð¾ ÑÑÑÐ°Ð½Ð¾Ð²Ð¸ÑÑ; ÐºÑÑÐ°ÑÐ¸, ÑÑÐ¾ Ð½Ðµ ÐµÐ´Ð¸Ð½ÑÑÐ²ÐµÐ½Ð½ÑÐ¹ Ð¼Ð¾Ð´ÑÐ»Ñ â Ñ Ð²Ð°Ñ, Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾, Ð±ÑÐ´ÐµÑ PyGreSQL, ÐºÐ¾ÑÐ¾ÑÑÐ¹ ÑÐ°Ð±Ð¾ÑÐ°ÐµÑ Ð½Ð¸ÑÑÑÑ Ð½Ð¸ ÑÑÐ¶Ðµ Ð¸ Ñ ÑÐµÐ¼Ð¸ Ð¶Ðµ ÑÐ°Ð¼ÑÐ¼Ð¸ Ð¼ÐµÑÐ¾Ð´Ð°Ð¼Ð¸).&lt;br /&gt;
&lt;br /&gt;
DB API Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÑÐµÑ ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐµ Ð¼ÐµÑÐ¾Ð´Ñ ÑÐ°Ð±Ð¾ÑÑ Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ, ÑÐ°Ðº ÑÑÐ¾, ÐºÐ°ÐºÐ¾Ð¹ Ð±Ñ Ð¼Ð¾Ð´ÑÐ»Ñ Ð²Ñ Ð½Ð¸ Ð·Ð°Ð³ÑÑÐ·Ð¸Ð»Ð¸ Ð¸ Ñ ÐºÐ°ÐºÐ¾Ð¹ Ð±Ñ Ð¡Ð£ÐÐ Ð½Ð¸ ÑÐ°Ð±Ð¾ÑÐ°Ð»Ð¸ (Ð±ÑÐ´Ñ ÑÐ¾ MySQL, PostgreSQL, SQLite Ð¸Ð»Ð¸ ÑÑÐ¾-ÑÐ¾ ÐµÑÐµ), Ð¼ÐµÐ½ÑÑÑÑÑ Ð±ÑÐ´ÐµÑ ÑÐ¾Ð»ÑÐºÐ¾ Ð¸Ð¼Ñ Ð¼Ð¾Ð´ÑÐ»Ñ. ÐÐ»Ð°Ð²Ð½Ð¾Ðµ, ÑÑÐ¾Ð±Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÐ¼ÑÐ¹ Ð¼Ð¾Ð´ÑÐ»Ñ ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²Ð¾Ð²Ð°Ð» DB API. Ð Ð°ÑÑÐ¼Ð¾ÑÑÐ¸Ð¼ ÐºÐ¾ÑÐ¾ÑÐºÐ¾ Ð¾ÑÐ½Ð¾Ð²Ð½ÑÐµ Ð¼ÐµÑÐ¾Ð´Ñ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
conn = connect(dsn='localhost', user='admin', password='superparol', database='mydb')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð¢Ð°Ðº Ð¾ÑÑÑÐµÑÑÐ²Ð»ÑÐµÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ðµ Ðº Ð±Ð°Ð·Ðµ. Ð Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÐ¸ Ð¾Ñ ÑÐ¸ÑÑÐ°ÑÐ¸Ð¸, Ð²Ð°Ð¼ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑÐµÐ±Ð¾Ð²Ð°ÑÑÑÑ ÑÐºÐ°Ð·Ð°ÑÑ ÑÐ¾Ð»ÑÐºÐ¾ Ð½ÑÐ¶Ð½ÑÐµ Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÑ (Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, Ð¸Ð¼Ñ ÑÐ¾ÑÑÐ° 'localhost' Ð¿Ð¾Ð´ÑÐ°Ð·ÑÐ¼ÐµÐ²Ð°ÐµÑÑÑ Ð¿Ð¾ ÑÐ¼Ð¾Ð»ÑÐ°Ð½Ð¸Ñ).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
cur = conn.cursor()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÑÑÑÐ¾ÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÑÑÑÑ Ð´Ð°Ð»ÐµÐºÐ¾ Ð½Ðµ Ð²ÑÐµÐ¼Ð¸ Ð¡Ð£ÐÐ, Ð½Ð¾ Ð´Ð»Ñ Ð¾Ð±ÑÐ½Ð¾ÑÑÐ¸ Ð² DB API Ð¾Ð½Ð¸ Ð²Ð²ÐµÐ´ÐµÐ½Ñ Ð¸, Ð² ÑÐ»ÑÑÐ°Ðµ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð¾ÑÑÐ¸, Ð´Ð¾Ð»Ð¶Ð½Ñ ÑÐ¼ÑÐ»Ð¸ÑÐ¾Ð²Ð°ÑÑÑÑ Ð¼Ð¾Ð´ÑÐ»ÑÐ¼Ð¸ ÑÐ¾Ð¿ÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸ÑÐºÑÑÑÑÐ²ÐµÐ½Ð½Ð¾. Ð¢Ð°Ðº ÑÑÐ¾ Ð½Ðµ Ð·Ð°Ð±ÑÐ²Ð°Ð¹ÑÐµ Ð¾ÑÐ¿ÑÐ°Ð²Ð»ÑÑÑ Ð²ÑÐµ Ð²Ð°ÑÐ¸ Ð·Ð°Ð¿ÑÐ¾ÑÑ ÑÐµÑÐµÐ· ÐºÑÑÑÐ¾Ñ.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
cur.execute('''SELECT * FROM mytable''')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð¢Ð°Ðº Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ SQL-Ð·Ð°Ð¿ÑÐ¾Ñ. ÐÑÐ»Ð¸ Ð² ÑÑÑÐ¾ÐºÐµ Ð·Ð°Ð¿ÑÐ¾ÑÐ° Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÑÑÑÑ Ð·Ð½Ð°ÐºÐ¾Ð¼ÐµÑÑÐ° %s, ÑÐ¾ Ð²ÑÐ¾ÑÑÐ¼ Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÐ¾Ð¼ Ð¿ÐµÑÐµÐ´Ð°ÐµÑÑÑ ÑÐ¿Ð¸ÑÐ¾Ðº Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½ÑÑ-Ð·Ð½Ð°ÑÐµÐ½Ð¸Ð¹, Ð¿ÑÐ¸ÑÐµÐ¼ Ð² SQL-Ð·Ð°Ð¿ÑÐ¾ÑÐµ Ð·Ð½Ð°ÐºÐ¾Ð¼ÐµÑÑÐ° Ð½Ðµ ÑÑÐµÐ±ÑÐµÑÑÑ Ð¾ÐºÑÑÐ¶Ð°ÑÑ Ð°Ð¿Ð¾ÑÑÑÐ¾ÑÐ°Ð¼Ð¸ â Ð¼Ð¾Ð´ÑÐ»Ñ ÑÐ´ÐµÐ»Ð°ÐµÑ ÑÑÐ¾ ÑÐ°Ð¼Ð¾ÑÑÐ¾ÑÑÐµÐ»ÑÐ½Ð¾ Ð² Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÐ¸ Ð¾Ñ&lt;br /&gt;
ÑÐ¸Ð¿Ð° Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
cur.fetchall()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾Ð·Ð²ÑÐ°ÑÐ°ÐµÑ Ð´Ð²ÑÐ¼ÐµÑÐ½ÑÐ¹ ÑÐ¿Ð¸ÑÐ¾Ðº (ÑÑÑÐ¾ÐºÐ¸ â Ð¿Ð¾Ð»Ñ) Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½ÑÑ Ð¾Ñ Ð¡Ð£ÐÐ Ð´Ð°Ð½Ð½ÑÑ. Ð¡ÑÑÐµÑÑÐ²ÑÑÑ Ð¸ Ð´ÑÑÐ³Ð¸Ðµ Ð¼ÐµÑÐ¾Ð´Ñ, Ð¾Ð·Ð½Ð°ÐºÐ¾Ð¼Ð¸ÑÑÑÑ Ñ ÐºÐ¾ÑÐ¾ÑÑÐ¼Ð¸ Ð²Ñ ÑÐ¼Ð¾Ð¶ÐµÑÐµ Ð² Ð´Ð¾ÐºÑÐ¼ÐµÐ½ÑÐ°ÑÐ¸Ð¸ Ð¸Ð»Ð¸ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð·Ð½Ð°ÐºÐ¾Ð¼Ð¾Ð¹ Ð²Ð°Ð¼ ÑÑÐ½ÐºÑÐ¸Ð¸ dir() Ð´Ð° Ð¿Ð°ÑÑ-ÑÑÐ¾Ð¹ÐºÐ¸ Ð½ÐµÑÐ»Ð¾Ð¶Ð½ÑÑ ÑÐºÑÐ¿ÐµÑÐ¸Ð¼ÐµÐ½ÑÐ¾Ð².&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ°ÐºÑÐµÐ¿Ð»ÑÐµÐ¼ Ð½Ð° Ð¿ÑÐ°ÐºÑÐ¸ÐºÐµ ===&lt;br /&gt;
ÐÐµÑÐµÐ¹Ð´ÐµÐ¼ Ðº ÑÐ°ÑÑÐ¼Ð¾ÑÑÐµÐ½Ð¸Ñ Ð½Ð°ÑÐµÐ³Ð¾ Ð¿ÑÐ¸Ð¼ÐµÑÐ°. ÐÐ°ÑÐ½ÐµÐ¼ ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½Ð¾ â ÑÐºÐ°Ð¶ÐµÐ¼ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÑ, Ð¿Ð¾Ð´ÐºÐ»ÑÑÐ¸Ð¼ Ð½ÑÐ¶Ð½ÑÐµ Ð¼Ð¾Ð´ÑÐ»Ð¸:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/Python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
import PyPgSQL.PgSQL as pg&lt;br /&gt;
import cgi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐ°Ð»ÐµÐµ, Ð¾Ð¿ÑÐµÐ´ÐµÐ»Ð¸Ð¼ Ð´Ð²Ðµ ÑÑÐ½ÐºÑÐ¸Ð¸. ÐÐµÑÐ²Ð°Ñ Ð±ÑÐ´ÐµÑ Ð¾ÑÐ²ÐµÑÐ°ÑÑ Ð·Ð° Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð½Ð¾Ð²Ð¾Ð³Ð¾ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ Ð² Ð±Ð°Ð·Ñ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def addMessage(author, message):&lt;br /&gt;
  db = pg.connect(database=&amp;quot;guestbook&amp;quot;)&lt;br /&gt;
  c = db.cursor()&lt;br /&gt;
  c.execute(&amp;quot;&amp;quot;&amp;quot;INSERT INTO guestbook (datum, author, message) VALUES ('now', %s, %s);&amp;quot;&amp;quot;&amp;quot;, (author, message))&lt;br /&gt;
  c.close()&lt;br /&gt;
  db.commit()&lt;br /&gt;
  db.close()&lt;br /&gt;
  print &amp;quot;Content-Type: text/html&amp;quot;&lt;br /&gt;
  print &amp;quot;Location: ?#form\n&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐ°Ðº Ð²Ð¸Ð´Ð¸ÑÐµ, Ð²ÑÐµ Ð¾ÑÐµÐ½Ñ Ð´Ð°Ð¶Ðµ Ð»Ð¾Ð³Ð¸ÑÐ½Ð¾: ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÐ¼ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ðµ Ñ ÐÐ (Ð¿Ð¾ÑÐºÐ¾Ð»ÑÐºÑ Ð² Ð½Ð°ÑÐµÐ¼ ÑÐ»ÑÑÐ°Ðµ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ðµ Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ ÑÐµÐºÑÑÐµÐ³Ð¾ ÑÐ¸ÑÑÐµÐ¼Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ, ÑÐ¾ Ð´Ð¾ÑÑÐ°ÑÐ¾ÑÐ½Ð¾ ÑÐºÐ°Ð·Ð°ÑÑ ÑÐ¾Ð»ÑÐºÐ¾ Ð¸Ð¼Ñ Ð±Ð°Ð·Ñ), ÑÐ¾Ð·Ð´Ð°ÐµÐ¼ ÐºÑÑÑÐ¾Ñ (Ð² PostgreSQL Ð¾Ð½Ð¸ Ð½Ðµ Ð¿ÑÐ¸Ð¼ÐµÐ½ÑÑÑÑÑ, Ð½Ð¾ Ð¾Ð½Ð¸ ÑÐ¼ÑÐ»Ð¸ÑÑÑÑÑÑ ÐºÐ°Ð¶Ð´ÑÐ¼ Ð¼Ð¾Ð´ÑÐ»ÐµÐ¼, Ð¿ÑÐµÑÐµÐ½Ð´ÑÑÑÐ¸Ð¼ Ð½Ð° ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²Ð¸Ðµ DB API), Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ, Ð·Ð°ÐºÑÑÐ²Ð°ÐµÑÑÑ ÐºÑÑÑÐ¾Ñ, ÑÐ¸ÐºÑÐ¸ÑÑÑÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ (PostgreSQL Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑ ÑÑÐ°Ð½Ð·Ð°ÐºÑÐ¸Ð¸, Ð¿Ð¾ÑÑÐ¾Ð¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¼ÐµÑÐ¾Ð´Ð° commit() Ð¾Ð±ÑÐ·Ð°ÑÐµÐ»ÑÐ½Ð¾, Ð¸Ð½Ð°ÑÐµ Ð²Ð°ÑÐ¸ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ Ð±ÑÐ´ÑÑ ÑÐ¾ÑÑÐ°Ð½ÐµÐ½Ñ), Ð¸, Ð½Ð°ÐºÐ¾Ð½ÐµÑ, Ð·Ð°ÐºÑÑÐ²Ð°ÐµÐ¼ ÑÐ°Ð¼Ð¾ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ðµ Ñ Ð±Ð°Ð·Ð¾Ð¹. Ð Ð¿Ð¾Ð»Ðµ datum Ð·Ð°Ð½Ð¾ÑÐ¸Ð¼ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð²ÑÑÑÐ¾ÐµÐ½Ð½Ð¾Ð¹ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ PostgreSQL â now, ÐºÐ¾ÑÐ¾ÑÐ°Ñ ÐºÐ°Ð¶Ð´ÑÐ¹ ÑÐ°Ð· Ð·Ð°Ð¼ÐµÐ½ÑÐµÑÑÑ ÑÐµÐºÑÑÐ¸Ð¼ Ð·Ð½Ð°ÑÐµÐ½Ð¸ÐµÐ¼ Ð´Ð°ÑÑ Ð¸ Ð²ÑÐµÐ¼ÐµÐ½Ð¸.&lt;br /&gt;
&lt;br /&gt;
ÐÑ Ð¸ Ð¿ÐµÑÐ°ÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Â«LocationÂ» Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ Ð´Ð»Ñ ÑÐ¾Ð³Ð¾, ÑÑÐ¾Ð±Ñ Ð¿ÐµÑÐµÐ½Ð°Ð¿ÑÐ°Ð²Ð¸ÑÑ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð½Ð° ÑÑÐ¾Ñ Ð¶Ðµ ÑÑÐµÐ½Ð°ÑÐ¸Ð¹, Ð½Ð¾ ÑÐ¶Ðµ Ð±ÐµÐ· Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÐ¾Ð² â Ð¼Ñ Ð¶Ðµ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°ÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ, ÑÑÐ¾ Ð¾Ð½ Ð½Ð° ÑÐ°Ð¼Ð¾Ð¼ Ð´ÐµÐ»Ðµ Ð²Ð²ÐµÐ»? (Ð¯ÐºÐ¾ÑÑ #form Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ, ÑÑÐ¾Ð±Ñ Ð°Ð²ÑÐ¾Ð¼Ð°ÑÐ¸ÑÐµÑÐºÐ¸ Ð¿ÑÐ¾ÐºÑÑÑÐ¸ÑÑ ÑÑÑÐ°Ð½Ð¸ÑÐºÑ Ð½Ð° Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐµ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ðµ).&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ¾ÑÐ°Ñ ÑÑÐ½ÐºÑÐ¸Ñ Ð±ÑÐ´ÐµÑ Ð¾ÑÐ²ÐµÑÐ°ÑÑ Ð·Ð° Ð²ÑÐ²Ð¾Ð´ Ð½Ð° ÑÐºÑÐ°Ð½ ÑÐ¶Ðµ Ð¾ÑÑÐ°Ð²Ð»ÐµÐ½Ð½ÑÑÐ² ÐºÐ½Ð¸Ð³Ðµ Ð·Ð°Ð¿Ð¸ÑÐµÐ¹, Ð° ÑÐ°ÐºÐ¶Ðµ Ð·Ð° ÑÐ¾ÑÐ¼Ñ, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾ÑÐ¾ÑÐ¾Ð¹ Ð¼Ð¾Ð¶Ð½Ð¾ Ð±ÑÐ´ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð¸ ÑÐ²Ð¾Ðµ Ð²ÑÑÐºÐ°Ð·ÑÐ²Ð°Ð½Ð¸Ðµ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def showGB():&lt;br /&gt;
  db = pg.connect(database=&amp;quot;guestbook&amp;quot;)&lt;br /&gt;
  c = db.cursor()&lt;br /&gt;
  c.execute(&amp;quot;&amp;quot;&amp;quot;SELECT datum, author, message FROM guestbook ORDER BY datum;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
  res = c.fetchall()&lt;br /&gt;
  c.close()&lt;br /&gt;
db.close()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð ÑÑÐ¾Ð¼ ÑÑÐ°Ð³Ð¼ÐµÐ½ÑÐµ Ð¼Ñ Ð²ÑÐ±Ð¸ÑÐ°ÐµÐ¼ Ð²ÑÐµ ÑÑÑÐ¾ÐºÐ¸ Ð¸Ð· Ð½Ð°ÑÐµÐ¹ ÑÐ°Ð±Ð»Ð¸ÑÑ Ð´Ð°Ð½Ð½ÑÑ, ÑÐ¾ÑÑÐ¸ÑÑÑ Ð¸Ñ Ð¿Ð¾ Ð´Ð°ÑÐµ. Ð ÐµÐ·ÑÐ»ÑÑÐ°Ñ ÑÐ¾ÑÑÐ°Ð½ÑÐµÑÑÑ Ð² Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ res, Ñ ÐºÐ¾ÑÐ¾ÑÐ¾Ð¹ Ð¸ Ð±ÑÐ´ÐµÐ¼ ÑÐ°Ð±Ð¾ÑÐ°ÑÑ. Ð¢ÐµÐ¿ÐµÑÑ Ð¾ÑÑÐ°Ð»Ð¾ÑÑ Ð»Ð¸ÑÑ Ð°ÐºÐºÑÑÐ°ÑÐ½ÐµÐ½ÑÐºÐ¾ ÑÐ°Ð·Ð»Ð¾Ð¶Ð¸ÑÑ Ð½Ð°ÑÐ¸ Ð´Ð°Ð½Ð½ÑÐµ Ð¿Ð¾ ÑÐ°Ð±Ð»Ð¸ÑÐºÐ°Ð¼ Ð¸ Ð²ÑÐ²ÐµÑÑÐ¸ Ð¸Ñ Ð½Ð° ÑÐºÑÐ°Ð½:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 print &amp;quot;Content-Type: text/html\n&amp;quot;&lt;br /&gt;
 print &amp;quot;&amp;lt;H1 style='color:#7777FF'&amp;gt;&amp;lt;U&amp;gt;ÐÐµÐ»ÑÐºÐ°Ð¼ Ðº Ð½Ð°Ð¼ Ð² Ð³Ð¾ÑÑÐ¸!&amp;lt;/U&amp;gt;&amp;lt;/H1&amp;gt;&amp;quot;&lt;br /&gt;
 for item in res:&lt;br /&gt;
   print &amp;quot;&amp;quot;&amp;quot;&amp;lt;TABLE width='90%%'&amp;gt;&lt;br /&gt;
                &amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;&amp;lt;SMALL&amp;gt;Ð¢Ð¾Ð²Ð°ÑÐ¸Ñ &amp;lt;B&amp;gt;%s&amp;lt;/B&amp;gt; Ð¿Ð¾Ð²ÐµÐ´Ð°Ð»Ð½Ð°Ð¼ ÑÐ»ÐµÐ´ÑÑÑÐµÐµ:&amp;lt;/SMALL&amp;gt;&lt;br /&gt;
                    &amp;lt;TD align='right'&amp;gt;&amp;lt;SMALL&amp;gt;%s&amp;lt;/SMALL&amp;gt;&lt;br /&gt;
                &amp;lt;TR&amp;gt;&amp;lt;TD style='background-color:#DDDDFF' colspan='2'&amp;gt;%s&lt;br /&gt;
            &amp;lt;/TABLE&amp;gt;&amp;quot;&amp;quot;&amp;quot; % (item[1], str(item[0])[:19], item[2])&lt;br /&gt;
 print &amp;quot;&amp;lt;HR&amp;gt;&amp;lt;A name='form'&amp;gt;&amp;lt;H3&amp;gt;ÐÑÐ¸ÑÐ¾ÐµÐ´Ð¸Ð½ÑÐ¹ÑÐµÑÑ Ðº Ð´Ð¸ÑÐºÑÑÑÐ¸Ð¸:&amp;lt;/H3&amp;gt;&amp;quot;&lt;br /&gt;
 print &amp;quot;&amp;quot;&amp;quot;&amp;lt;FORM method='GET'&amp;gt;&lt;br /&gt;
           ÐÐ°ÑÐµ Ð¸Ð¼Ñ: &amp;lt;INPUT type='text' name='author'&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
           Ð§ÑÐ¾ Ð²Ñ Ð´ÑÐ¼Ð°ÐµÑÐµ Ð¿Ð¾ ÑÑÐ¾Ð¼Ñ Ð¿Ð¾Ð²Ð¾Ð´Ñ:&amp;lt;BR&amp;gt;&lt;br /&gt;
          &amp;lt;TEXTAREA name='message' rows='5' cols='80'&amp;gt;&amp;lt;/TEXTAREA&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
          &amp;lt;INPUT type='submit' value='ÐÑÐ¿ÑÐ°Ð²Ð¸ÑÑ'&amp;gt;&lt;br /&gt;
          &amp;lt;/FORM&amp;gt;&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;img&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
[[ÐÐ·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ðµ:Img 83 81 1.png|thumb|ÐÐ¸ ÑÐ¼Ð°Ð¹Ð»Ð¸ÐºÐ¾Ð², Ð½Ð¸ BB-ÐºÐ¾Ð´Ð°, Ð½Ð¸ Ð´Ð°Ð¶Ðµ Ð»Ð¾Ð³Ð¾ÑÐ¸Ð¿Ð°... ÐÐ°ÑÐ¾ Ð¼Ñ ÑÐ´ÐµÐ»Ð°Ð»Ð¸ ÑÑÑ Ð³Ð¾ÑÑÐµÐ²ÑÑ Ð·Ð° 10 Ð¼Ð¸Ð½ÑÑ!]]&lt;br /&gt;
&lt;br /&gt;
Ð¡Ð¼ÑÑÐ» ÐºÐ¾Ð½ÑÑÑÑÐºÑÐ¸Ð¸ str(item[0])[:19] Ð·Ð°ÐºÐ»ÑÑÐ°ÐµÑÑÑ Ð² ÑÐ¾Ð¼, ÑÑÐ¾Ð±Ñ Ð² ÑÑÑÐ¾ÐºÐµ Ð²ÑÐµÐ¼ÐµÐ½Ð¸ Ð¾ÑÑÐµÑÑ Ð½ÐµÐ½ÑÐ¶Ð½ÑÐµ Ð½Ð°Ð¼ Ð¼Ð¸Ð»Ð»Ð¸ÑÐµÐºÑÐ½Ð´Ñ, ÐºÐ¾ÑÐ¾ÑÑÐµ ÑÐ¾ÑÑÐ°Ð½ÑÑÑÑÑ Ð² Ð¿Ð¾Ð»Ðµ ÑÐ¸Ð¿Ð° timestamp. ÐÐ¾ÑÐ»Ðµ Ð²ÑÐµÑ Ð¾Ð¿ÑÐ±Ð»Ð¸ÐºÐ¾Ð²Ð°Ð½Ð½ÑÑ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ð¹ Ð²ÑÐ²Ð¾Ð´Ð¸Ð¼ ÑÐ¾ÑÐ¼Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾, ÑÑÐ¾Ð±Ñ ÐºÐ°Ð¶Ð´ÑÐ¹ Ð¼Ð¾Ð³ Ð¿ÑÐ¸ÑÐ¾ÐµÐ´Ð¸Ð½Ð¸ÑÑÑÑ Ðº Ð½Ð°ÑÐµÐ¹ Ð´Ð¸ÑÐºÑÑÑÐ¸Ð¸. ÐÑÑÐ°ÑÐ¸, Ð² ÑÐµÐ³Ðµ &amp;lt;FORM&amp;gt; Ð¼Ñ Ð½Ðµ ÑÐºÐ°Ð·Ð°Ð»Ð¸ Ð¿Ð°ÑÐ°Ð¼ÐµÑÑ action, Ð¿Ð¾ÑÐºÐ¾Ð»ÑÐºÑ Ð´Ð°Ð½Ð½ÑÐµ Ð±ÑÐ´ÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÑÑÑÑ Ð½Ð° Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÑ ÑÑÐ¾Ð¼Ñ Ð¶Ðµ ÑÑÐµÐ½Ð°ÑÐ¸Ñ (Ð±Ð»Ð°Ð³Ð¾Ð´Ð°ÑÑ ÑÐµÐ¼Ñ Ð¸Ð¼Ñ ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿ÑÐ¸ÑÐ²Ð¾Ð¸ÑÑ Ð»ÑÐ±Ð¾Ðµ).&lt;br /&gt;
ÐÐ°ÐºÐ¾Ð½ÐµÑ, Ð¿Ð¾ÑÐ»ÐµÐ´Ð½Ð¸Ð¹ ÑÑÐ°Ð³Ð¼ÐµÐ½Ñ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
form = cgi.FieldStorage()&lt;br /&gt;
if form.has_key(&amp;quot;message&amp;quot;) and form.has_key(&amp;quot;author&amp;quot;):&lt;br /&gt;
  author = cgi.escape(form[&amp;quot;author&amp;quot;].value)&lt;br /&gt;
  message = cgi.escape(form[&amp;quot;message&amp;quot;].value)&lt;br /&gt;
  message = message.replace(&amp;quot;\n&amp;quot;, &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;)&lt;br /&gt;
  addMessage(author, message)&lt;br /&gt;
else:&lt;br /&gt;
  showGB()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð¡Ð¾Ð·Ð´Ð°ÐµÐ¼ FieldStorage-Ð¾Ð±ÑÐµÐºÑ, Ð¸ ÐµÑÐ»Ð¸ Ð² Ð½ÐµÐ¼ ÐµÑÑÑ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð½ÑÐµ Ð¿Ð¾Ð»Ñ message Ð¸ author (ÑÐ¾ ÐµÑÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð±ÑÐ» ÑÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð½ Ð¸Ð· Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð½Ð¾Ð¹ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¼ ÑÐ¾ÑÐ¼Ñ), ÑÐ¾, Ð½ÐµÐ¼Ð½Ð¾Ð¶ÐºÐ¾ Ð¸Ñ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐ°Ð² (ÑÑÐ½ÐºÑÐ¸Ñ cgi.escape() Ð·Ð°Ð¼ÐµÐ½ÑÐµÑ Ð²ÑÐµ Â«Ð½ÐµÐ±Ð»Ð°Ð³Ð¾Ð½Ð°Ð´ÐµÐ¶Ð½ÑÐµÂ» ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ â Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, &amp;lt; â Ð¸Ñ ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¼Ð¸ SGML-ÑÑÑÐ½Ð¾ÑÑÑÐ¼Ð¸, Ð² Ð´Ð°Ð½Ð½Ð¾Ð¼ ÑÐ»ÑÑÐ°Ðµ â &amp;amp;lt;), Ð¿ÐµÑÐµÐ´Ð°ÐµÐ¼ ÑÑÐ½ÐºÑÐ¸Ð¸ addMessage(). ÐÐ±ÑÐ°Ð±Ð¾ÑÐºÐ° Ð½ÑÐ¶Ð½Ð° Ð´Ð»Ñ ÑÐ¾Ð³Ð¾, ÑÑÐ¾Ð±Ñ Ð·Ð»Ð¾ÑÐ¼ÑÑÐ»ÐµÐ½Ð½Ð¸Ðº Ð½Ðµ Ð¼Ð¾Ð³ Ð²Ð²ÐµÑÑÐ¸ Ð² Ð¿Ð¾Ð»Ðµ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ð¸Ð¼ÐµÐ½Ð¸ Ð°Ð²ÑÐ¾ÑÐ° ÑÑÐ¾-Ð½Ð¸Ð±ÑÐ´Ñ ÑÐ°ÐºÐ¾Ðµ:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT&amp;gt;alert('ÐÐ° Ð¿Ð¾ÑÐ»Ð¸ Ð²Ñ Ð²ÑÐµ!');&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð ÑÐ»Ð¾Ð²Ñ, Ð¿ÑÐµÐ½ÐµÐ±ÑÐµÐ³Ð°ÑÑ Ð¿ÑÐ¾Ð²ÐµÑÐºÐ¾Ð¹ Ð²Ð²ÐµÐ´ÐµÐ½Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð½Ð¸ Ð² ÐºÐ¾ÐµÐ¼ ÑÐ»ÑÑÐ°Ðµ Ð½ÐµÐ»ÑÐ·Ñ. ÐÐ°Ð¹Ð´Ð¸ÑÐµ ÐºÐ°Ðº-Ð½Ð¸Ð±ÑÐ´Ñ Ð½Ð° [http://securitylab.ru securitylab.ru] Ð¸ Ð¿Ð¾ÑÐ¼Ð¾ÑÑÐ¸ÑÐµ, ÑÐºÐ¾Ð»ÑÐºÐ¾ ÑÑÐ·Ð²Ð¸Ð¼Ð¾ÑÑÐµÐ¹ ÑÐ¸Ð¿Ð° Â«XSSÂ» Ð¾Ð±Ð½Ð°ÑÑÐ¶Ð¸Ð²Ð°ÐµÑÑÑ ÐºÐ°Ð¶Ð´ÑÐ¹ Ð¼ÐµÑÑÑ! Ð¢Ð°Ðº ÑÑÐ¾ ÑÑÑÐºÐ¸ ÑÑÑÐºÐ°Ð¼Ð¸, Ð½Ð¾ Ð¿Ð¾ÑÐ»ÐµÐ´ÑÑÐ²Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¾ÑÐµÐ½Ñ ÑÐµÑÑÐµÐ·Ð½ÑÐ¼Ð¸.&lt;br /&gt;
&lt;br /&gt;
=== ÐÑÐ´Ð° Ð¶Ðµ Ð½Ð°Ð¼ ÑÐµÐ¿ÐµÑÑ Ð¸Ð´ÑÐ¸? ===&lt;br /&gt;
ÐÑÐ°Ðº, ÑÑÐ¾-ÑÐ¾ Ð²Ð¿Ð¾Ð»Ð½Ðµ ÑÐ°Ð±Ð¾ÑÐ¾ÑÐ¿Ð¾ÑÐ¾Ð±Ð½Ð¾Ðµ Ñ Ð½Ð°Ñ ÐµÑÑÑ (ÑÐ¼. [[LXF83:Python#img|ÑÐ¸ÑÑÐ½Ð¾Ðº]]). ÐÐ¾ ÐºÐ°Ðº Ð²Ñ Ð¼Ð¾Ð¶ÐµÑ Ð´Ð¾Ð³Ð°Ð´Ð°ÑÑÑÑ, Ð½Ð°ÑÐ° Ð³Ð¾ÑÑÐµÐ²Ð°Ñ Ð¾ÑÐµÐ½Ñ Ð´Ð°Ð»ÐµÐºÐ° Ð¾Ñ ÑÐ¾Ð²ÐµÑÑÐµÐ½ÑÑÐ²Ð°. Ð§ÑÐ¾ ÐµÑÐµ Ð¼Ð¾Ð¶Ð½Ð¾ ÑÐ´ÐµÐ»Ð°ÑÑ? ÐÑ, Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, ÑÐ°Ð·Ð±Ð¸ÑÑ Ð½Ð° ÑÑÑÐ°Ð½Ð¸ÑÑ. ÐÐ¾ÐºÐ° ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ð¹ Ð² Ð½ÐµÐ¹ Ð±ÑÐ´ÐµÑ Ð½Ðµ Ð±Ð¾Ð»ÑÑÐµ Ð´ÑÐ¶Ð¸Ð½Ñ, ÑÐ¾Ð¹Ð´ÐµÑ Ð¸ ÑÐ°Ðº. Ð ÐºÐ¾Ð³Ð´Ð° Ð¸Ñ ÑÐ¸ÑÐ»Ð¾ Ð´Ð¾Ð¹Ð´ÐµÑ Ð´Ð¾ ÑÐ¾ÑÐ½Ð¸, ÑÐ¾ ÑÐµÐ´ÐºÐ¸Ð¹ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð´Ð¾Ð¶Ð´ÐµÑÑÑ Ð¾ÐºÐ¾Ð½ÑÐ°Ð½Ð¸Ñ Ð·Ð°Ð³ÑÑÐ·ÐºÐ¸ Ð²ÑÐµÑ Ð´Ð°Ð½Ð½ÑÑ. ÐÐ¾Ð¶Ð½Ð¾ Ð´Ð°ÑÑ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÐ¼ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÑ Ð½ÐµÐºÐ¾ÑÐ¾ÑÑÐµ HTML-ÑÐµÐ³Ð¸, ÑÑÐ¾Ð±Ñ Ð¸Ñ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ Ð²ÑÐ³Ð»ÑÐ´ÐµÐ»Ð¸ Ð±Ð¾Ð»ÐµÐµ ÐºÑÐ°ÑÐ¾ÑÐ½Ð¾. ÐÐ¾Ð¶Ð½Ð¾ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ ÑÐ¼Ð°Ð¹Ð»Ð¸ÐºÐ¾Ð²... Ð Ð¼Ð¾Ð¶Ð½Ð¾ Ð´Ð°Ð¶Ðµ ÑÐ´ÐµÐ»Ð°ÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ, Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÑÑÐ¸Ð¹ ÑÐµÐ´Ð°ÐºÑÐ¸ÑÐ¾Ð²Ð°ÑÑ Ð¸Ð»Ð¸ ÑÐ´Ð°Ð»ÑÑÑ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ, Ð° ÑÐ°ÐºÐ¶Ðµ Ð¾ÑÐ²ÐµÑÐ°ÑÑ Ð½Ð° Ð½Ð¸Ñ. Ð¢Ð°Ðº ÑÑÐ¾ ÑÐ°Ð±Ð¾ÑÑ Ð½ÐµÐ¿Ð¾ÑÐ°ÑÑÐ¹ ÐºÑÐ°Ð¹. ÐÐµÑÐ·Ð°Ð¹ÑÐµ â Ð½Ðµ Ð±ÑÐ´Ñ Ð²Ð°Ð¼ Ð¼ÐµÑÐ°ÑÑ.&lt;br /&gt;
&lt;br /&gt;
=== ÐÐµÐºÐ¾ÑÐ¾ÑÑÐµ ÑÐ°ÑÐ¿ÑÐ¾ÑÑÑÐ°Ð½ÑÐ½Ð½ÑÐµ MIME-ÑÐ¸Ð¿Ñ ===&lt;br /&gt;
{| style=&amp;quot;background:white;color:black;&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#dfcfe6;color:black&amp;quot;&lt;br /&gt;
! MIME-ÑÐ¸Ð¿&lt;br /&gt;
! ÐÐ¿Ð¸ÑÐ°Ð½Ð¸Ðµ&lt;br /&gt;
|-&lt;br /&gt;
| text/plain&lt;br /&gt;
| ÐÑÐ¾ÑÑÐ¾Ð¹ ÑÐµÐºÑÑ&lt;br /&gt;
|-&lt;br /&gt;
| text/html&lt;br /&gt;
| HTML-ÑÑÑÐ°Ð½Ð¸ÑÐ°&lt;br /&gt;
|-&lt;br /&gt;
| image/gif&lt;br /&gt;
| ÐÐ·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ðµ GIF&lt;br /&gt;
|-&lt;br /&gt;
| video/mpeg&lt;br /&gt;
| ÐÐ¸Ð´ÐµÐ¾-ÑÐ°Ð¹Ð» Ð² ÑÐ¾ÑÐ¼Ð°ÑÐµ MPEG&lt;br /&gt;
|-&lt;br /&gt;
| application/msword       &lt;br /&gt;
| ÐÐ¾ÐºÑÐ¼ÐµÐ½Ñ MS Word&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>RicroAcdom</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF83:Python</id>
		<title>LXF83:Python</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF83:Python"/>
				<updated>2009-05-28T05:32:17Z</updated>
		
		<summary type="html">&lt;p&gt;RicroAcdom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://s1.shard.jp/galeach/new77.html erbasia&lt;br /&gt;] [http://s1.shard.jp/olharder/comparatif-automobile.html plane trains and automobile quote&lt;br /&gt;] [http://s1.shard.jp/olharder/auto-bill-fitts.html autoharp recording&lt;br /&gt;] [http://s1.shard.jp/losaul/teds-camera-australia.html australia c cure cure hepatitis in&lt;br /&gt;] [http://s1.shard.jp/losaul/online-computer.html deadly spiders australia&lt;br /&gt;] [http://s1.shard.jp/olharder/autoroll-654.html map] [http://s1.shard.jp/losaul/murrays-buses.html australian daylight saving time changes&lt;br /&gt;] [http://s1.shard.jp/bireba/norton-antivirus.html mcfee antivirus updates&lt;br /&gt;] [http://s1.shard.jp/galeach/new159.html multiple endocrine neoplasias&lt;br /&gt;] [http://s1.shard.jp/frhorton/ank33l6la.html kalulu south africa&lt;br /&gt;] [http://s1.shard.jp/bireba/2005-antivirus.html pc world antivirus reviews&lt;br /&gt;] [http://s1.shard.jp/galeach/new49.html new york asian escort incall&lt;br /&gt;] [http://s1.shard.jp/olharder/automobile-accident.html automobile dealer dodge part&lt;br /&gt;] [http://s1.shard.jp/bireba/grisoft-antivirus.html grisoft antivirus free download] [http://s1.shard.jp/olharder/autoroll-654.html links] [http://s1.shard.jp/bireba/mobile-antivirus.html winantivirus pro 2005 download&lt;br /&gt;] [http://s1.shard.jp/bireba/download-antivirus.html av antivirus free&lt;br /&gt;] [http://s1.shard.jp/olharder/the-autobiography.html automobile loans rates&lt;br /&gt;] [http://s1.shard.jp/galeach/new127.html quality asian page&lt;br /&gt;] [http://s1.shard.jp/olharder/automobile-computer.html west virginia auto auctions&lt;br /&gt;] [http://s1.shard.jp/bireba/antivirus-comparison.html symantec corporate antivirus&lt;br /&gt;] [http://s1.shard.jp/galeach/new88.html asian hair male style&lt;br /&gt;] [http://s1.shard.jp/olharder/anderson-autopsy.html anderson autopsy lee martin] [http://s1.shard.jp/olharder/auto-club-country.html browning automatic pistols&lt;br /&gt;] [http://s1.shard.jp/bireba/how-to-activate.html mac affee antivirus&lt;br /&gt;] [http://s1.shard.jp/galeach/new167.html asian american family counseling center houston&lt;br /&gt;] [http://s1.shard.jp/olharder/autoroll-654.html index] [http://s1.shard.jp/olharder/automatic-dc-queue.html autoweekly.com&lt;br /&gt;] [http://s1.shard.jp/bireba/quickheal-antivirus.html panda antivirus online scan&lt;br /&gt;] [http://s1.shard.jp/olharder/autonomy-principal.html autoloc power antenna instructions&lt;br /&gt;] [http://s1.shard.jp/olharder/autoroll-654.html url] [http://s1.shard.jp/bireba/antivirus-cd.html abg antivirus free download&lt;br /&gt;] [http://s1.shard.jp/olharder/autoroll-654.html domain] [http://s1.shard.jp/bireba/removing-norton.html uninstall norton antivirus corporate&lt;br /&gt;] [http://s1.shard.jp/frhorton/4klamxahb.html africa photography&lt;br /&gt;] [http://s1.shard.jp/bireba/antivirus-2004-download.html norton free antivirus software&lt;br /&gt;] [http://s1.shard.jp/bireba/avg-free-download.html grisofts avg antivirus&lt;br /&gt;] [http://s1.shard.jp/olharder/johnny-bench.html autobiography of antwone fisher&lt;br /&gt;] [http://s1.shard.jp/frhorton/fhojtfuuj.html south african myths] [http://s1.shard.jp/galeach/new51.html mr. chews asian beaver mika&lt;br /&gt;] [http://s1.shard.jp/losaul/car-importers-australia.html mining contractors australia&lt;br /&gt;] [http://s1.shard.jp/galeach/new20.html asian journalist&lt;br /&gt;] [http://s1.shard.jp/bireba/eztrust-antivirus.html mcafee antivirus 2005 download&lt;br /&gt;] [http://s1.shard.jp/bireba/symantec-antivirus.html antivirus software review cnet&lt;br /&gt;] [http://s1.shard.jp/galeach/new112.html cortical dysplasia&lt;br /&gt;] [http://s1.shard.jp/galeach/new94.html walt disney's fantasia&lt;br /&gt;] [http://s1.shard.jp/losaul/australia-importing.html australia coast gold shark&lt;br /&gt;]  &lt;br /&gt;
[http://s1.shard.jp/olharder/autoroll-654.html link] [http://s1.shard.jp/losaul/australian-photography.html australia fishing championship&lt;br /&gt;] [http://s1.shard.jp/frhorton/ru9zwzdr5.html provincial map of south africa&lt;br /&gt;] [http://s1.shard.jp/frhorton/7bbhgy4dh.html african chritianity culture mugambi&lt;br /&gt;] [http://s1.shard.jp/olharder/autoroll-654.html http] [http://s1.shard.jp/losaul/epoxy-surfboards.html australia in repurchases share&lt;br /&gt;] [http://s1.shard.jp/galeach/new57.html american asian festival film jose san&lt;br /&gt;] [http://s1.shard.jp/olharder/bxautozip.html automovel de loja&lt;br /&gt;] [http://s1.shard.jp/galeach/new4.html deloitte technology fast 500 asia pacific&lt;br /&gt;] [http://s1.shard.jp/losaul/music-therapy-courses.html itil australia&lt;br /&gt;] [http://s1.shard.jp/losaul/mudgee-australia.html talbot victoria australia&lt;br /&gt;] [http://s1.shard.jp/losaul/australia-next.html lone fathers association australia&lt;br /&gt;] [http://s1.shard.jp/olharder/autoroll-654.html map] [http://s1.shard.jp/olharder/autoroll-654.html url] [http://s1.shard.jp/frhorton/vuku1m6uz.html africa history togo] [http://s1.shard.jp/losaul/australia-british.html the court system in australia&lt;br /&gt;] [http://s1.shard.jp/bireba/notan-antivirus.html pandaantivirusonline&lt;br /&gt;] [http://s1.shard.jp/galeach/new172.html asian american student&lt;br /&gt;] [http://s1.shard.jp/bireba/alertas-antivirus.html network antivirus scanner&lt;br /&gt;] [http://s1.shard.jp/galeach/new148.html euthanasia mercy killing&lt;br /&gt;] [http://s1.shard.jp/bireba/top-ten-antivirus.html uninstall norton antivirus corporate&lt;br /&gt;] [http://s1.shard.jp/olharder/autoroll-654.html page] [http://s1.shard.jp/losaul/australia-immigration.html athetics australia&lt;br /&gt;] [http://s1.shard.jp/losaul/rolling-stones.html rolling stones australian releases] [http://s1.shard.jp/olharder/autoroll-654.html link] [http://s1.shard.jp/olharder/autoroll-654.html http] [http://s1.shard.jp/losaul/police-federation.html ball dresses australia&lt;br /&gt;] [http://s1.shard.jp/olharder/anderson-autopsy.html anderson autopsy lee martin] [http://s1.shard.jp/olharder/1-800-safe-auto.html volvo auto repair garage&lt;br /&gt;] [http://s1.shard.jp/olharder/autoroll-654.html link] [http://s1.shard.jp/bireba/downloads-antivirus.html antivirus checkup&lt;br /&gt;] [http://s1.shard.jp/losaul/department-of-agriculture.html australia free holiday&lt;br /&gt;] [http://s1.shard.jp/olharder/luggage-rack-automobile.html prays auto&lt;br /&gt;] [http://s1.shard.jp/losaul/western-plains.html australia immigration government&lt;br /&gt;] [http://s1.shard.jp/bireba/norton-antivirus.html symantec antivirus server port&lt;br /&gt;] [http://s1.shard.jp/galeach/new158.html public opinion on euthanasia&lt;br /&gt;] [http://s1.shard.jp/bireba/map.html norton antivirus free download full version&lt;br /&gt;] [http://s1.shard.jp/olharder/autocad-2005-serial.html auto collection ford land lincoln quebec rover&lt;br /&gt;] [http://s1.shard.jp/olharder/autoroll-654.html http] [http://s1.shard.jp/frhorton/smui5er3r.html south africa sports tv&lt;br /&gt;] [http://s1.shard.jp/galeach/new16.html asian teen for cash&lt;br /&gt;] [http://s1.shard.jp/bireba/norton-antivirus.html ad ware antivirus&lt;br /&gt;] [http://s1.shard.jp/olharder/subasta-de-autos.html reedman toll auto world langhorne pa&lt;br /&gt;] [http://s1.shard.jp/galeach/new101.html tales of phantasia ova&lt;br /&gt;] [http://s1.shard.jp/olharder/autoroll-654.html sitemap] [http://s1.shard.jp/olharder/auto-insurance.html bosch auto air filter&lt;br /&gt;] [http://s1.shard.jp/frhorton/xntk9qgnd.html medical association of south africa&lt;br /&gt;] [http://s1.shard.jp/losaul/australia-from.html pt cruisers australia&lt;br /&gt;] [http://s1.shard.jp/frhorton/lmi1tnyfh.html wwii north africa battles&lt;br /&gt;] [http://s1.shard.jp/bireba/antivirus-software.html avg antivirus reviews&lt;br /&gt;]  &lt;br /&gt;
{{ÃÂ¦ÃÂ¸ÃÂºÃÂ»/Python}}&lt;br /&gt;
&lt;br /&gt;
== ÃÂ ÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ° ÃÂ ÃÂ±ÃÂ°ÃÂ·ÃÂ°ÃÂ¼ÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ ÃÂ¸ web-ÃÂ¿ÃÂÃÂ¾ÃÂ³ÃÂÃÂ°ÃÂ¼ÃÂ¼ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂ½ÃÂ¸ÃÂµ ==&lt;br /&gt;
'' '''ÃÂ§ÃÂ°ÃÂÃÂÃÂ 3''' ÃÂ§ÃÂÃÂ¾ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ±ÃÂÃÂÃÂ ÃÂ¼ÃÂ¾ÃÂÃÂ½ÃÂµÃÂµ ÃÂÃÂ²ÃÂÃÂ·ÃÂºÃÂ¸ ÃÂ«ÃÂ±ÃÂ°ÃÂ·ÃÂ° ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ + ÃÂ¸ÃÂ½ÃÂÃÂµÃÂÃÂ½ÃÂµÃÂÃÂ»? ÃÂ ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂº ÃÂÃÂÃÂ¾ÃÂ¼ÃÂ ÃÂ´ÃÂ¾ÃÂ±ÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ ÃÂµÃÂÃÂµ ÃÂ¸ Python... ÃÂ§ÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ¿ÃÂ¾ÃÂÃÂÃÂ²ÃÂÃÂÃÂ²ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂ ÃÂ²ÃÂÃÂµ ÃÂÃÂÃÂ¾ ÃÂ½ÃÂ° ÃÂ¿ÃÂÃÂ°ÃÂºÃÂÃÂ¸ÃÂºÃÂµ, ÃÂ¿ÃÂ¾ÃÂ³ÃÂÃÂÃÂ·ÃÂ¸ÃÂ¼ÃÂÃÂ ÃÂÃÂµÃÂ³ÃÂ¾ÃÂ´ÃÂ½ÃÂ ÃÂ² ÃÂ¿ÃÂÃÂÃÂ¸ÃÂ½ÃÂ SQL-ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂÃÂ¾ÃÂ² ÃÂ¸ HTTP-ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂ¾ÃÂ² ÃÂ²ÃÂ¼ÃÂµÃÂÃÂÃÂµ ÃÂ '''ÃÂ¡ÃÂµÃÂÃÂ³ÃÂµÃÂµÃÂ¼ ÃÂ¡ÃÂÃÂ¿ÃÂÃÂÃÂ½ÃÂ¾ÃÂ²ÃÂÃÂ¼'''.''&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ ÃÂÃÂ¶ÃÂµ ÃÂ²ÃÂ¸ÃÂ´ÃÂµÃÂ»ÃÂ¸, ÃÂÃÂÃÂ¾ Python ÃÂ¿ÃÂÃÂµÃÂºÃÂÃÂ°ÃÂÃÂ½ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ´ÃÂÃÂ¾ÃÂ´ÃÂ¸ÃÂ ÃÂ´ÃÂ»ÃÂ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ ÃÂ ÃÂÃÂµÃÂºÃÂÃÂÃÂ¾ÃÂ¼. ÃÂ ÃÂÃÂÃÂ¾ ÃÂÃÂ°ÃÂºÃÂ¾ÃÂµ ÃÂ¸ÃÂ½ÃÂÃÂµÃÂÃÂ½ÃÂµÃÂ-ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂÃÂ, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ ÃÂ¼ÃÂ¸ÃÂ»ÃÂ»ÃÂ¸ÃÂ¾ÃÂ½ÃÂ ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂÃÂ¾ÃÂ² Apache ÃÂµÃÂ¶ÃÂµÃÂ´ÃÂ½ÃÂµÃÂ²ÃÂ½ÃÂ¾ ÃÂ¼ÃÂ¸ÃÂ»ÃÂ»ÃÂ¸ÃÂ°ÃÂÃÂ´ÃÂ°ÃÂ¼ÃÂ¸ ÃÂ¾ÃÂÃÂ´ÃÂ°ÃÂÃÂ ÃÂ½ÃÂ° ÃÂÃÂ°ÃÂÃÂÃÂµÃÂÃÂ·ÃÂ°ÃÂ½ÃÂ¸ÃÂµ ÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ¼ ÃÂ±ÃÂÃÂ°ÃÂÃÂ·ÃÂµÃÂÃÂ°ÃÂ¼? ÃÂÃÂ¾ ÃÂÃÂÃÂÃÂ¸, ÃÂÃÂ¾ÃÂ ÃÂ¶ÃÂµ ÃÂÃÂµÃÂºÃÂÃÂ, ÃÂÃÂ¾ÃÂ»ÃÂÃÂºÃÂ¾ ÃÂ½ÃÂµÃÂ¼ÃÂ½ÃÂ¾ÃÂ¶ÃÂºÃÂ¾ ÃÂ«ÃÂ³ÃÂ¸ÃÂ¿ÃÂµÃÂÃÂ»... ÃÂ ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ, ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂ½ÃÂ°ÃÂ¼ ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂ¾ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂ html-ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂÃÂ ÃÂ´ÃÂ¸ÃÂ½ÃÂ°ÃÂ¼ÃÂ¸ÃÂÃÂµÃÂÃÂºÃÂ¸, ÃÂÃÂ¾ Python ÃÂ¿ÃÂÃÂµÃÂºÃÂÃÂ°ÃÂÃÂ½ÃÂ¾ ÃÂ ÃÂÃÂÃÂ¸ÃÂ¼ ÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂÃÂ. ÃÂ ÃÂ½ÃÂ¸ÃÂºÃÂ°ÃÂºÃÂ¸ÃÂ ÃÂ¿ÃÂÃÂµÃÂ¿ÃÂÃÂÃÂÃÂÃÂ²ÃÂ¸ÃÂ¹ ÃÂ´ÃÂ»ÃÂ ÃÂÃÂ°ÃÂ·ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂºÃÂ¸ ÃÂ½ÃÂ° ÃÂ½ÃÂµÃÂ¼ CGI-ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂµÃÂ² ÃÂ½ÃÂµ ÃÂÃÂÃÂÃÂµÃÂÃÂÃÂ²ÃÂÃÂµÃÂ Ã¢ÂÂ web-ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂÃÂ, ÃÂ¿ÃÂ¾ ÃÂ±ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¾ÃÂ¼ÃÂ ÃÂÃÂÃÂµÃÂÃÂ, ÃÂ±ÃÂµÃÂ·ÃÂÃÂ°ÃÂ·ÃÂ»ÃÂ¸ÃÂÃÂ½ÃÂ¾, ÃÂºÃÂ°ÃÂº ÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ¾ ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂÃÂµÃÂÃÂÃÂ ÃÂÃÂºÃÂÃÂ¸ÃÂ¿ÃÂ ÃÂ¸ ÃÂ½ÃÂ° ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂ¼ ÃÂÃÂ·ÃÂÃÂºÃÂµ ÃÂ¾ÃÂ½ ÃÂÃÂ°ÃÂ·ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂ½: ÃÂ»ÃÂ¸ÃÂÃÂ ÃÂ±ÃÂ ÃÂ¾ÃÂ½ ÃÂÃÂ¼ÃÂµÃÂ» ÃÂÃÂ¸ÃÂÃÂ°ÃÂÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¸ÃÂ· ÃÂ¿ÃÂ¾ÃÂÃÂ¾ÃÂºÃÂ° ÃÂ²ÃÂ²ÃÂ¾ÃÂ´ÃÂ° ÃÂ¸ ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂÃÂ ÃÂ¾ÃÂºÃÂÃÂÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ´ÃÂ° ÃÂ¾ÃÂÃÂ´ÃÂ°ÃÂ²ÃÂ°ÃÂÃÂ ÃÂÃÂµÃÂºÃÂÃÂ ÃÂ² ÃÂÃÂÃÂ°ÃÂ½ÃÂ´ÃÂ°ÃÂÃÂÃÂ½ÃÂÃÂ¹ ÃÂ²ÃÂÃÂÃÂ¾ÃÂ´ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¿ÃÂ¾ÃÂÃÂ¾ÃÂº.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ¿ÃÂÃÂ¾ÃÂÃÂµÃÂ¼, ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂ²ÃÂ ÃÂ¶ÃÂ°ÃÂ¶ÃÂ´ÃÂµÃÂÃÂµ ÃÂÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂ¸, ÃÂÃÂ¾ ÃÂº ÃÂ²ÃÂ°ÃÂÃÂ¸ÃÂ¼ ÃÂÃÂÃÂ»ÃÂÃÂ³ÃÂ°ÃÂ¼ mod_Python, ÃÂ´ÃÂ° ÃÂ¸ ÃÂ² ÃÂÃÂµÃÂ¶ÃÂ¸ÃÂ¼ÃÂµ FastCGI Python ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂÃÂ ÃÂÃÂ¼ÃÂµÃÂµÃÂ. ÃÂÃÂ¾ ÃÂÃÂµÃÂ¹ÃÂÃÂ°ÃÂ ÃÂ ÃÂ½ÃÂ°ÃÂ ÃÂÃÂ°ÃÂ·ÃÂ³ÃÂ¾ÃÂ²ÃÂ¾ÃÂ ÃÂ²ÃÂÃÂµ ÃÂ¶ÃÂµ ÃÂ½ÃÂµ ÃÂ¾ ÃÂ½ÃÂ°ÃÂÃÂÃÂÃÂ¾ÃÂ¹ÃÂºÃÂ°ÃÂ CGI, ÃÂ° ÃÂ¾ Python, ÃÂÃÂ°ÃÂº ÃÂÃÂÃÂ¾ ÃÂ²ÃÂµÃÂÃÂ½ÃÂµÃÂ¼ÃÂÃÂ ÃÂº ÃÂÃÂ¾ÃÂ¼ÃÂ, ÃÂÃÂ°ÃÂ´ÃÂ¸ ÃÂÃÂµÃÂ³ÃÂ¾ ÃÂ¼ÃÂ ÃÂÃÂÃÂ ÃÂÃÂÃÂ°ÃÂÃÂÃÂ ÃÂ½ÃÂ°ÃÂÃÂ°ÃÂ»ÃÂ¸.&lt;br /&gt;
&lt;br /&gt;
=== ÃÂÃÂ¾ÃÂÃÂÃÂ°ÃÂ½ÃÂ¾ÃÂ²ÃÂºÃÂ° ÃÂ·ÃÂ°ÃÂ´ÃÂ°ÃÂÃÂ¸ ===&lt;br /&gt;
ÃÂ¡ ÃÂ»ÃÂÃÂ±ÃÂÃÂ¼ ÃÂ²ÃÂ¾ÃÂ¿ÃÂÃÂ¾ÃÂÃÂ¾ÃÂ¼ ÃÂ»ÃÂÃÂÃÂÃÂµ ÃÂ²ÃÂÃÂµÃÂ³ÃÂ¾ ÃÂÃÂ°ÃÂ·ÃÂ±ÃÂ¸ÃÂÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ½ÃÂ° ÃÂ¿ÃÂÃÂ°ÃÂºÃÂÃÂ¸ÃÂÃÂµÃÂÃÂºÃÂ¾ÃÂ¼ ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂÃÂµ. ÃÂÃÂ¾ÃÂÃÂÃÂ¾ÃÂ¼ÃÂ ÃÂ¼ÃÂ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ¼ ÃÂ«ÃÂ¿ÃÂ»ÃÂÃÂÃÂ°ÃÂÃÂÃÂ» ÃÂ²ÃÂ¾ÃÂºÃÂÃÂÃÂ³ ÃÂ½ÃÂµÃÂÃÂ»ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ ÃÂ¸, ÃÂ² ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ¼-ÃÂÃÂ¾, ÃÂ´ÃÂ¾ÃÂÃÂÃÂ°ÃÂÃÂ¾ÃÂÃÂ½ÃÂ¾ ÃÂ±ÃÂ°ÃÂ½ÃÂ°ÃÂ»ÃÂÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ CGI-ÃÂ¿ÃÂÃÂ¸ÃÂ»ÃÂ¾ÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂ: ÃÂ³ÃÂ¾ÃÂÃÂÃÂµÃÂ²ÃÂ¾ÃÂ¹ ÃÂºÃÂ½ÃÂ¸ÃÂ³ÃÂ¸. ÃÂÃÂ°ÃÂ¾ÃÂ´ÃÂ½ÃÂ¾ ÃÂÃÂ°ÃÂ·ÃÂ±ÃÂµÃÂÃÂµÃÂ¼ÃÂÃÂ ÃÂ ÃÂÃÂµÃÂ¼, ÃÂºÃÂ°ÃÂº Python ÃÂ²ÃÂ·ÃÂ°ÃÂ¸ÃÂ¼ÃÂ¾ÃÂ´ÃÂµÃÂ¹ÃÂÃÂÃÂ²ÃÂÃÂµÃÂ ÃÂ ÃÂ±ÃÂ°ÃÂ·ÃÂ°ÃÂ¼ÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ, ÃÂ³ÃÂ´ÃÂµ ÃÂ¿ÃÂÃÂµÃÂ´ÃÂÃÂÃÂ°ÃÂ²ÃÂ»ÃÂÃÂµÃÂÃÂÃÂ ÃÂÃÂ°ÃÂ·ÃÂÃÂ¼ÃÂ½ÃÂÃÂ¼ ÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂÃÂ ÃÂ²ÃÂÃÂµ ÃÂ½ÃÂ°ÃÂÃÂ¸ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂ.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ¾ ÃÂ¿ÃÂÃÂµÃÂ¶ÃÂ´ÃÂµ ÃÂÃÂµÃÂ¼ ÃÂ¿ÃÂµÃÂÃÂµÃÂ¹ÃÂÃÂ¸ ÃÂº ÃÂÃÂ°ÃÂÃÂÃÂ¼ÃÂ¾ÃÂÃÂÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂºÃÂ¾ÃÂ´ÃÂ° (ÃÂ²ÃÂ ÃÂ½ÃÂ°ÃÂ¹ÃÂ´ÃÂµÃÂÃÂµ ÃÂµÃÂ³ÃÂ¾ ÃÂÃÂµÃÂ»ÃÂ¸ÃÂºÃÂ¾ÃÂ¼ ÃÂ½ÃÂ° ÃÂ½ÃÂ°ÃÂÃÂµÃÂ¼ ÃÂ´ÃÂ¸ÃÂÃÂºÃÂµ), ÃÂ¿ÃÂ¾ÃÂ»ÃÂµÃÂ·ÃÂ½ÃÂ¾ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ´ÃÂ°ÃÂÃÂ ÃÂºÃÂ¾ÃÂµ-ÃÂºÃÂ°ÃÂºÃÂÃÂ ÃÂ²ÃÂ²ÃÂ¾ÃÂ´ÃÂ½ÃÂÃÂ ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ.&lt;br /&gt;
&lt;br /&gt;
=== ÃÂ£ÃÂ½ÃÂ¸ÃÂ²ÃÂµÃÂÃÂÃÂ°ÃÂ»ÃÂÃÂ½ÃÂ¾ÃÂµ ÃÂ«ÃÂ¼ÃÂµÃÂ¶ÃÂ´ÃÂÃÂ¼ÃÂ¾ÃÂÃÂ´ÃÂÃÂµÃÂ» CGI ===&lt;br /&gt;
CGI (Common Gateway Interface, ÃÂ¾ÃÂ±ÃÂÃÂ¸ÃÂ¹ ÃÂÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ¾ÃÂ¹ ÃÂ¸ÃÂ½ÃÂÃÂµÃÂÃÂÃÂµÃÂ¹ÃÂ) ÃÂ±ÃÂÃÂ» ÃÂÃÂ°ÃÂ·ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂ½ ÃÂºÃÂ°ÃÂº ÃÂÃÂÃÂµÃÂ´ÃÂÃÂÃÂ²ÃÂ¾ ÃÂ²ÃÂ·ÃÂ°ÃÂ¸ÃÂ¼ÃÂ¾ÃÂ´ÃÂµÃÂ¹ÃÂÃÂÃÂ²ÃÂ¸ÃÂ HTTP-ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂÃÂ° ÃÂ ÃÂ¿ÃÂÃÂ¾ÃÂ³ÃÂÃÂ°ÃÂ¼ÃÂ¼ÃÂ°ÃÂ¼ÃÂ¸, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ ÃÂ¼ÃÂ¾ÃÂ³ÃÂÃÂ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂÃÂºÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ² ÃÂ¾ÃÂ¿ÃÂµÃÂÃÂ°ÃÂÃÂ¸ÃÂ¾ÃÂ½ÃÂ½ÃÂ¾ÃÂ¹ ÃÂÃÂ¸ÃÂÃÂÃÂµÃÂ¼ÃÂµ. ÃÂÃÂÃÂ»ÃÂ¸ ÃÂ³ÃÂ¾ÃÂ²ÃÂ¾ÃÂÃÂ¸ÃÂÃÂ ÃÂÃÂ¿ÃÂÃÂ¾ÃÂÃÂµÃÂ½ÃÂ½ÃÂ¾, ÃÂÃÂ¾ CGI, ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ²ÃÂ°ÃÂ ÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ»ÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂÃÂ°ÃÂºÃÂ¾ÃÂ¹ ÃÂ¿ÃÂÃÂ¾ÃÂ³ÃÂÃÂ°ÃÂ¼ÃÂ¼ÃÂµ (ÃÂ¾ÃÂ±ÃÂÃÂÃÂ½ÃÂ¾ ÃÂ¸ÃÂ ÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂÃÂÃÂ cgi-ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂÃÂ¼ÃÂ¸, ÃÂÃÂ¾ÃÂÃÂ ÃÂÃÂÃÂ¾ ÃÂ²ÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂµ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ±ÃÂÃÂÃÂ ÃÂ¸ ÃÂ´ÃÂ²ÃÂ¾ÃÂ¸ÃÂÃÂ½ÃÂÃÂ¹ ÃÂÃÂ°ÃÂ¹ÃÂ», ÃÂÃÂ°ÃÂ·ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ¹ ÃÂ½ÃÂ° C/C++), ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂÃÂµÃÂ ÃÂ´ÃÂ»ÃÂ ÃÂ½ÃÂµÃÂµ ÃÂ¾ÃÂ¿ÃÂÃÂµÃÂ´ÃÂµÃÂ»ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂµ ÃÂ¾ÃÂºÃÂÃÂÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂµ. ÃÂ ÃÂÃÂ°ÃÂÃÂÃÂ½ÃÂ¾ÃÂÃÂÃÂ¸, ÃÂ¿ÃÂ°ÃÂÃÂ°ÃÂ¼ÃÂµÃÂÃÂÃÂ HTTP-ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂÃÂ°, ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ ÃÂ¾ÃÂ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ°, ÃÂ¼ÃÂ¾ÃÂ³ÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂ¼ÃÂµÃÂÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ² ÃÂ¾ÃÂ¿ÃÂÃÂµÃÂ´ÃÂµÃÂ»ÃÂµÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¾ÃÂºÃÂÃÂÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ¸ÃÂ»ÃÂ¸ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ²ÃÂ°ÃÂÃÂÃÂÃÂ cgi-ÃÂ¿ÃÂÃÂ¾ÃÂ³ÃÂÃÂ°ÃÂ¼ÃÂ¼ÃÂµ ÃÂºÃÂ°ÃÂº ÃÂ°ÃÂÃÂ³ÃÂÃÂ¼ÃÂµÃÂ½ÃÂÃÂ ÃÂ¸ÃÂ»ÃÂ¸ ÃÂºÃÂ°ÃÂº ÃÂ²ÃÂÃÂ¾ÃÂ´ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¿ÃÂ¾ÃÂÃÂ¾ÃÂº (STDIN). ÃÂ ÃÂ¾ÃÂÃÂ²ÃÂµÃÂ HTTP-ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂ ÃÂ¶ÃÂ´ÃÂµÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ cgi-ÃÂ¿ÃÂÃÂ¾ÃÂ³ÃÂÃÂ°ÃÂ¼ÃÂ¼ÃÂ° ÃÂ´ÃÂ¾ÃÂ»ÃÂ¶ÃÂ½ÃÂ° ÃÂ²ÃÂÃÂ´ÃÂ°ÃÂÃÂ ÃÂ² ÃÂÃÂÃÂ°ÃÂ½ÃÂ´ÃÂ°ÃÂÃÂÃÂ½ÃÂÃÂ¹ ÃÂ²ÃÂÃÂÃÂ¾ÃÂ´ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¿ÃÂ¾ÃÂÃÂ¾ÃÂº (STDOUT), ÃÂ¸ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂµÃÂ ÃÂ¸ÃÂ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ.&lt;br /&gt;
&lt;br /&gt;
ÃÂ¢ÃÂ°ÃÂºÃÂ¸ÃÂ¼ ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ·ÃÂ¾ÃÂ¼, ÃÂ²ÃÂÃÂµ, ÃÂÃÂÃÂ¾ ÃÂÃÂÃÂµÃÂ±ÃÂÃÂµÃÂÃÂÃÂ ÃÂ¾ÃÂ cgi-ÃÂ¿ÃÂÃÂ¾ÃÂ³ÃÂÃÂ°ÃÂ¼ÃÂ¼ÃÂ, ÃÂÃÂÃÂ¾ ÃÂÃÂ¿ÃÂ¾ÃÂÃÂ¾ÃÂ±ÃÂ½ÃÂ¾ÃÂÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ°ÃÂÃÂ ÃÂ½ÃÂµÃÂ¾ÃÂ±ÃÂÃÂ¾ÃÂ´ÃÂ¸ÃÂ¼ÃÂÃÂ ÃÂ´ÃÂ»ÃÂ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ¸ÃÂ· ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂÃÂµÃÂ¼ÃÂ¾ÃÂ¹ HTTP-ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂÃÂ¾ÃÂ¼ ÃÂÃÂÃÂµÃÂ´ÃÂ ÃÂ¸ ÃÂ²ÃÂ¾ÃÂ·ÃÂ²ÃÂÃÂ°ÃÂÃÂ°ÃÂÃÂ ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂ½ÃÂÃÂµ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ, ÃÂÃÂ¾ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂÃÂÃÂ²ÃÂÃÂÃÂÃÂ¸ÃÂµ ÃÂ¿ÃÂÃÂ¾ÃÂÃÂ¾ÃÂºÃÂ¾ÃÂ»ÃÂ HTTP, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ web-ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂ ÃÂ·ÃÂ½ÃÂ°ÃÂ», ÃÂÃÂÃÂ¾ ÃÂ ÃÂ½ÃÂ¸ÃÂ¼ÃÂ¸ ÃÂ´ÃÂµÃÂ»ÃÂ°ÃÂÃÂ.&lt;br /&gt;
&lt;br /&gt;
=== ÃÂ£ÃÂÃÂ¸ÃÂ¼ÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂÃÂÃÂ»ÃÂ°ÃÂÃÂ ===&lt;br /&gt;
ÃÂÃÂ°ÃÂÃÂ½ÃÂµÃÂ¼ ÃÂ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂ½ÃÂ¸ÃÂ HTTP-ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂ°. ÃÂ§ÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ±ÃÂÃÂ°ÃÂÃÂ·ÃÂµÃÂ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ° ÃÂ¼ÃÂ¾ÃÂ³ ÃÂµÃÂ³ÃÂ¾ ÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ¸ÃÂ»ÃÂÃÂ½ÃÂ¾ ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂÃÂ, ÃÂ¾ÃÂ½ ÃÂ´ÃÂ¾ÃÂ»ÃÂ¶ÃÂµÃÂ½ ÃÂÃÂ¾ÃÂÃÂÃÂ¾ÃÂÃÂÃÂ ÃÂ¸ÃÂ· ÃÂ·ÃÂ°ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂºÃÂ° ÃÂ¸ ÃÂÃÂµÃÂ»ÃÂ°, ÃÂÃÂ°ÃÂ·ÃÂ´ÃÂµÃÂ»ÃÂµÃÂ½ÃÂ½ÃÂÃÂ ÃÂ¿ÃÂÃÂÃÂÃÂ¾ÃÂ¹ ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂ¾ÃÂ¹. ÃÂ ÃÂ·ÃÂ°ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂºÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ½ÃÂµÃÂ¾ÃÂ±ÃÂÃÂ¾ÃÂ´ÃÂ¸ÃÂ¼ÃÂ°ÃÂ ÃÂÃÂ»ÃÂÃÂ¶ÃÂµÃÂ±ÃÂ½ÃÂ°ÃÂ ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ, ÃÂ½ÃÂ°ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ, ÃÂÃÂ¸ÃÂ¿ ÃÂÃÂ¾ÃÂ´ÃÂµÃÂÃÂ¶ÃÂ¸ÃÂ¼ÃÂ¾ÃÂ³ÃÂ¾, ÃÂµÃÂ³ÃÂ¾ ÃÂºÃÂ¾ÃÂ´ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂºÃÂ°, ÃÂÃÂºÃÂ°ÃÂ·ÃÂ°ÃÂ½ÃÂ¸ÃÂµ ÃÂ±ÃÂÃÂ°ÃÂÃÂ·ÃÂµÃÂÃÂ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂÃÂ¸ÃÂÃÂ ÃÂ´ÃÂÃÂÃÂ³ÃÂ¾ÃÂ¹ ÃÂÃÂµÃÂÃÂÃÂÃÂ (ÃÂÃÂ°ÃÂº ÃÂ½ÃÂ°ÃÂ·ÃÂÃÂ²ÃÂ°ÃÂµÃÂ¼ÃÂ¾ÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ½ÃÂ°ÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ»ÃÂµÃÂ½ÃÂ¸ÃÂµ), ÃÂ¸ ÃÂ.ÃÂ´. ÃÂÃÂÃÂ¾ÃÂÃÂÃÂµÃÂ¹ÃÂÃÂ¸ÃÂ¹ cgi-ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ¹ ÃÂ½ÃÂ° ÃÂÃÂ·ÃÂÃÂºÃÂµ Python ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ²ÃÂÃÂ³ÃÂ»ÃÂÃÂ´ÃÂµÃÂÃÂ ÃÂÃÂ°ÃÂº:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/Python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
print 'Content-Type: text/html\n'&lt;br /&gt;
print '&amp;lt;H3&amp;gt;ÃÂÃÂÃÂ»ÃÂ¸ ÃÂ²ÃÂ ÃÂÃÂÃÂ¾ ÃÂ²ÃÂ¸ÃÂ´ÃÂ¸ÃÂÃÂµ, ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ²ÃÂÃÂµ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂµÃÂ&amp;lt;/H3&amp;gt;'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂµÃÂÃÂ²ÃÂÃÂ¼ ÃÂ¾ÃÂ¿ÃÂµÃÂÃÂ°ÃÂÃÂ¾ÃÂÃÂ¾ÃÂ¼ print ÃÂ¼ÃÂ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂÃÂµÃÂ¼ ÃÂ¼ÃÂ¸ÃÂ½ÃÂ¸ÃÂ¼ÃÂ°ÃÂ»ÃÂÃÂ½ÃÂ¾ ÃÂ½ÃÂµÃÂ¾ÃÂ±ÃÂÃÂ¾ÃÂ´ÃÂ¸ÃÂ¼ÃÂÃÂ¹ ÃÂ·ÃÂ°ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂ¾ÃÂº Ã¢ÂÂ ÃÂ±ÃÂÃÂ°ÃÂÃÂ·ÃÂµÃÂ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ° ÃÂ¾ÃÂ±ÃÂÃÂ·ÃÂ°ÃÂÃÂµÃÂ»ÃÂÃÂ½ÃÂ¾ ÃÂ´ÃÂ¾ÃÂ»ÃÂ¶ÃÂµÃÂ½ ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂ, ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂ² ÃÂÃÂ¸ÃÂ¿ ÃÂ¿ÃÂµÃÂÃÂµÃÂÃÂÃÂ»ÃÂ°ÃÂµÃÂ¼ÃÂÃÂ ÃÂµÃÂ¼ÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ (ÃÂ² ÃÂ½ÃÂ°ÃÂÃÂµÃÂ¼ ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂµ ÃÂÃÂÃÂ¾ ÃÂ¿ÃÂÃÂ¾ÃÂÃÂÃÂ¾ÃÂ¹ ÃÂÃÂµÃÂºÃÂÃÂ, ÃÂÃÂ¾ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂÃÂÃÂ²ÃÂÃÂÃÂÃÂ¸ÃÂ¹ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ HTML). ÃÂÃÂµ ÃÂ·ÃÂ°ÃÂ±ÃÂÃÂ²ÃÂ°ÃÂ¹ÃÂÃÂµ ÃÂ¾ ÃÂ´ÃÂ¾ÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂ¸ÃÂÃÂµÃÂ»ÃÂÃÂ½ÃÂ¾ÃÂ¼ ÃÂ¿ÃÂµÃÂÃÂµÃÂ²ÃÂ¾ÃÂ´ÃÂµ ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂ¸ \n, ÃÂ½ÃÂµÃÂ¾ÃÂ±ÃÂÃÂ¾ÃÂ´ÃÂ¸ÃÂ¼ÃÂ¾ÃÂ¼ ÃÂ´ÃÂ»ÃÂ ÃÂ¾ÃÂÃÂ´ÃÂµÃÂ»ÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ·ÃÂ°ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂºÃÂ° ÃÂ¾ÃÂ ÃÂÃÂµÃÂ»ÃÂ° ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂ°. ÃÂÃÂ ÃÂ¸ ÃÂ´ÃÂ°ÃÂ»ÃÂµÃÂµ ÃÂ²ÃÂ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ²ÃÂ°ÃÂÃÂ ÃÂ»ÃÂÃÂ±ÃÂ¾ÃÂ¹ HTML-ÃÂºÃÂ¾ÃÂ´.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ½ÃÂ°ÃÂ»ÃÂ¾ÃÂ³ÃÂ¸ÃÂÃÂ½ÃÂ¾ ÃÂ¼ÃÂ¾ÃÂ³ÃÂÃÂ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ²ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ»ÃÂÃÂ±ÃÂÃÂµ ÃÂ¾ÃÂ±ÃÂÃÂµÃÂºÃÂÃÂ, ÃÂ¿ÃÂ¾ÃÂ´ÃÂ´ÃÂµÃÂÃÂ¶ÃÂ¸ÃÂ²ÃÂ°ÃÂµÃÂ¼ÃÂÃÂµ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ¾ÃÂ¼: ÃÂ¸ÃÂ·ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂ, ÃÂ·ÃÂ²ÃÂÃÂºÃÂ¾ÃÂ²ÃÂÃÂµ ÃÂÃÂ°ÃÂ¹ÃÂ»ÃÂ, css-ÃÂÃÂ°ÃÂ±ÃÂ»ÃÂ¸ÃÂÃÂ ÃÂ¸ ÃÂ.ÃÂ´. ÃÂÃÂ»ÃÂ°ÃÂ²ÃÂ½ÃÂ¾ÃÂµ, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ¿ÃÂ¾ÃÂ»ÃÂ Content-Type (ÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂÃÂµÃÂ¼ÃÂ¾ÃÂµ ÃÂÃÂ°ÃÂºÃÂ¶ÃÂµ MIME-ÃÂÃÂ¸ÃÂ¿ÃÂ¾ÃÂ¼) ÃÂÃÂ¾ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂÃÂÃÂ²ÃÂ¾ÃÂ²ÃÂ°ÃÂ»ÃÂ¾ ÃÂÃÂ¾ÃÂ´ÃÂµÃÂÃÂ¶ÃÂ¸ÃÂ¼ÃÂ¾ÃÂ¼ÃÂ.&lt;br /&gt;
&lt;br /&gt;
=== ÃÂÃÂ´ÃÂµÃÂÃÂ ÃÂ¸ÃÂ³ÃÂÃÂ°ÃÂÃÂ, ÃÂ·ÃÂ´ÃÂµÃÂÃÂ ÃÂ½ÃÂµ ÃÂ¸ÃÂ³ÃÂÃÂ°ÃÂÃÂ... ===&lt;br /&gt;
ÃÂÃÂ´ÃÂ½ÃÂ°ÃÂºÃÂ¾ ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂ¹ ÃÂÃÂ¼ÃÂÃÂÃÂ» ÃÂ¿ÃÂ¾ÃÂÃÂÃÂÃÂ°ÃÂÃÂ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂ½ÃÂ¸ÃÂµ ÃÂÃÂÃÂ°ÃÂÃÂ¸ÃÂÃÂµÃÂÃÂºÃÂ¸ÃÂ, ÃÂ¿ÃÂ¾ ÃÂÃÂÃÂÃÂ¸, ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂ cgi-ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ, ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂÃÂ°ÃÂ¼ HTTP-ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂ ÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂÃÂ ÃÂ ÃÂÃÂÃÂ¸ÃÂ¼ ÃÂ½ÃÂ°ÃÂ¼ÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ ÃÂ»ÃÂÃÂÃÂÃÂµ? ÃÂ ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ¼-ÃÂÃÂ¾ ÃÂ½ÃÂ¸ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂ³ÃÂ¾. ÃÂ ÃÂ°ÃÂ·ÃÂ²ÃÂµ ÃÂÃÂÃÂ¾ ÃÂ´ÃÂ»ÃÂ ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ³ÃÂ¾ ÃÂÃÂ°ÃÂ·ÃÂ²ÃÂ¸ÃÂÃÂ¸ÃÂ... ÃÂ ÃÂ²ÃÂ¾ÃÂ ÃÂ² ÃÂÃÂµÃÂ¼ CGI ÃÂ¿ÃÂ¾-ÃÂ½ÃÂ°ÃÂÃÂÃÂ¾ÃÂÃÂÃÂµÃÂ¼ÃÂ ÃÂÃÂ¸ÃÂ»ÃÂµÃÂ½, ÃÂÃÂ°ÃÂº ÃÂÃÂÃÂ¾ ÃÂ² ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂ½ÃÂ¸ÃÂ¸ ÃÂ´ÃÂ¸ÃÂ½ÃÂ°ÃÂ¼ÃÂ¸ÃÂÃÂµÃÂÃÂºÃÂ¸ÃÂ ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂ, ÃÂÃÂ¾ÃÂ´ÃÂµÃÂÃÂ¶ÃÂ¸ÃÂ¼ÃÂ¾ÃÂµ ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂ ÃÂ·ÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ¸ÃÂ ÃÂ¾ÃÂ ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ¸, ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂµÃÂ¼.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂÃÂ¾ÃÂÃÂ¾ÃÂºÃÂ¾ÃÂ» HTTP ÃÂ¿ÃÂÃÂµÃÂ´ÃÂÃÂÃÂ¼ÃÂ°ÃÂÃÂÃÂ¸ÃÂ²ÃÂ°ÃÂµÃÂ ÃÂ½ÃÂµÃÂÃÂºÃÂ¾ÃÂ»ÃÂÃÂºÃÂ¾ ÃÂÃÂ¿ÃÂ¾ÃÂÃÂ¾ÃÂ±ÃÂ¾ÃÂ² ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂÃÂ¸ ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ¸ ÃÂ¾ÃÂ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ° ÃÂ½ÃÂ° ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂ, ÃÂ½ÃÂ°ÃÂ·ÃÂÃÂ²ÃÂ°ÃÂµÃÂ¼ÃÂÃÂ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ°ÃÂ¼ÃÂ¸. ÃÂÃÂ°ÃÂ¸ÃÂ±ÃÂ¾ÃÂ»ÃÂµÃÂµ ÃÂ¿ÃÂ¾ÃÂ¿ÃÂÃÂ»ÃÂÃÂÃÂ½ÃÂÃÂµ ÃÂ¸ÃÂ· ÃÂ½ÃÂ¸ÃÂ Ã¢ÂÂ GET, POST, PUT ÃÂ¸ HEAD.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂµÃÂÃÂ¾ÃÂ´ GET ÃÂ¿ÃÂ¾ÃÂ·ÃÂ²ÃÂ¾ÃÂ»ÃÂÃÂµÃÂ ÃÂ²ÃÂÃÂÃÂ°ÃÂ²ÃÂ»ÃÂÃÂÃÂ ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ² URL, ÃÂÃÂ¾ ÃÂµÃÂÃÂÃÂ ÃÂ² ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂ ÃÂ°ÃÂ´ÃÂÃÂµÃÂÃÂ° ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ°ÃÂÃÂ¸ÃÂ²ÃÂ°ÃÂµÃÂ¼ÃÂ¾ÃÂ³ÃÂ¾ ÃÂÃÂµÃÂÃÂÃÂÃÂÃÂ°. ÃÂÃÂ¾ÃÂ³ÃÂ´ÃÂ° ÃÂ«ÃÂ¯ÃÂ½ÃÂ´ÃÂµÃÂºÃÂÃÂ» ÃÂ²ÃÂµÃÂÃÂ½ÃÂµÃÂ ÃÂ²ÃÂ°ÃÂ¼ ÃÂÃÂ¿ÃÂ¸ÃÂÃÂ¾ÃÂº ÃÂ¸ÃÂÃÂºÃÂ¾ÃÂ¼ÃÂÃÂ ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂ, ÃÂ¿ÃÂ¾ÃÂÃÂ¼ÃÂ¾ÃÂÃÂÃÂ¸ÃÂÃÂµ ÃÂ½ÃÂ° ÃÂ°ÃÂ´ÃÂÃÂµÃÂÃÂ½ÃÂÃÂ ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂ ÃÂ² ÃÂ±ÃÂÃÂ°ÃÂÃÂ·ÃÂµÃÂÃÂµ Ã¢ÂÂ ÃÂ²ÃÂ¾ÃÂ ÃÂÃÂ°ÃÂº ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¸ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ¾ÃÂ¼ GET. ÃÂÃÂÃÂÃÂ°ÃÂÃÂ¸, ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂÃÂ¸ÃÂÃÂµ ÃÂ²ÃÂ½ÃÂ¸ÃÂ¼ÃÂ°ÃÂ½ÃÂ¸ÃÂµ ÃÂ½ÃÂ° ÃÂÃÂ¾, ÃÂºÃÂ°ÃÂº ÃÂ²ÃÂÃÂµ ÃÂÃÂÃÂ¾ ÃÂºÃÂ¾ÃÂ´ÃÂ¸ÃÂÃÂÃÂµÃÂÃÂÃÂ, ÃÂ¾ÃÂÃÂ¾ÃÂ±ÃÂµÃÂ½ÃÂ½ÃÂ¾ ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂ²ÃÂ ÃÂ¸ÃÂÃÂºÃÂ°ÃÂ»ÃÂ¸ ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂµ-ÃÂÃÂ¾ ÃÂÃÂÃÂÃÂÃÂºÃÂ¾ÃÂµ ÃÂÃÂ»ÃÂ¾ÃÂ²ÃÂ¾.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂÃÂ»ÃÂ¸ ÃÂ½ÃÂ° ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂ ÃÂÃÂÃÂµÃÂ±ÃÂÃÂµÃÂÃÂÃÂ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂÃÂ ÃÂ±ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¸ÃÂ¹ ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ¼ ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ¸, ÃÂ¸ÃÂ»ÃÂ¸ ÃÂµÃÂµ ÃÂ¶ÃÂµÃÂ»ÃÂ°ÃÂÃÂµÃÂ»ÃÂÃÂ½ÃÂ¾ ÃÂÃÂºÃÂÃÂÃÂÃÂ ÃÂ¾ÃÂ ÃÂ»ÃÂÃÂ±ÃÂ¾ÃÂ¿ÃÂÃÂÃÂ½ÃÂÃÂ ÃÂ³ÃÂ»ÃÂ°ÃÂ·, ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂÃÂµÃÂÃÂÃÂ ÃÂ´ÃÂÃÂÃÂ³ÃÂ¾ÃÂ¹ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ Ã¢ÂÂ POST. ÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂ¾ÃÂ¼ ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂµ ÃÂ² ÃÂ·ÃÂ°ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂºÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ»ÃÂ¸ÃÂÃÂ ÃÂÃÂ°ÃÂ·ÃÂ¼ÃÂµÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂÃÂÃÂºÃÂ¸ÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ, ÃÂ° ÃÂÃÂ°ÃÂ¼ÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂÃÂÃÂ»ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ² ÃÂÃÂµÃÂ»ÃÂµ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂÃÂ°.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂµÃÂÃÂ¾ÃÂ´ PUT ÃÂ¿ÃÂÃÂµÃÂ´ÃÂ½ÃÂ°ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ´ÃÂ»ÃÂ ÃÂÃÂ°ÃÂ·ÃÂ¼ÃÂµÃÂÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂÃÂµÃÂÃÂÃÂÃÂÃÂ¾ÃÂ² ÃÂ½ÃÂ° ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂÃÂµ ÃÂ¸ ÃÂ¿ÃÂ¾ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂÃÂ¼ ÃÂ±ÃÂµÃÂ·ÃÂ¾ÃÂ¿ÃÂ°ÃÂÃÂ½ÃÂ¾ÃÂÃÂÃÂ¸ ÃÂ¿ÃÂÃÂ°ÃÂºÃÂÃÂ¸ÃÂÃÂµÃÂÃÂºÃÂ¸ ÃÂ½ÃÂµ ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂÃÂµÃÂÃÂÃÂ. ÃÂÃÂ ÃÂ¸, ÃÂ½ÃÂ°ÃÂºÃÂ¾ÃÂ½ÃÂµÃÂ, ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ HEAD ÃÂ¾ÃÂÃÂµÃÂ½ÃÂ ÃÂ¿ÃÂ¾ÃÂÃÂ¾ÃÂ¶ ÃÂ½ÃÂ° GET, ÃÂ·ÃÂ° ÃÂÃÂµÃÂ¼ ÃÂ¸ÃÂÃÂºÃÂ»ÃÂÃÂÃÂµÃÂ½ÃÂ¸ÃÂµÃÂ¼, ÃÂÃÂÃÂ¾ ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂ ÃÂ² ÃÂ¾ÃÂÃÂ²ÃÂµÃÂ ÃÂ½ÃÂ° ÃÂÃÂ°ÃÂºÃÂ¾ÃÂ¹ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂ ÃÂ²ÃÂ¾ÃÂ·ÃÂ²ÃÂÃÂ°ÃÂÃÂ°ÃÂµÃÂ ÃÂ½ÃÂµ ÃÂ²ÃÂµÃÂÃÂ ÃÂÃÂµÃÂÃÂÃÂÃÂ, ÃÂ° ÃÂ»ÃÂ¸ÃÂÃÂ ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ¾ ÃÂ½ÃÂµÃÂ¼, ÃÂÃÂ°ÃÂºÃÂÃÂ ÃÂºÃÂ°ÃÂº ÃÂ´ÃÂ°ÃÂÃÂ° ÃÂ¿ÃÂ¾ÃÂÃÂ»ÃÂµÃÂ´ÃÂ½ÃÂµÃÂ³ÃÂ¾ ÃÂ¸ÃÂ·ÃÂ¼ÃÂµÃÂ½ÃÂµÃÂ½ÃÂ¸ÃÂ, ÃÂ¿ÃÂ¾ÃÂ¼ÃÂµÃÂÃÂ°ÃÂµÃÂ¼ÃÂÃÂ ÃÂ² ÃÂ·ÃÂ°ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂºÃÂµ. ÃÂÃÂ±ÃÂÃÂÃÂ½ÃÂ¾ ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂÃÂµÃÂÃÂÃÂ ÃÂ¿ÃÂÃÂ¾ÃÂºÃÂÃÂ¸-ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂÃÂ°ÃÂ¼ÃÂ¸ ÃÂ´ÃÂ»ÃÂ ÃÂ¾ÃÂ¿ÃÂÃÂµÃÂ´ÃÂµÃÂ»ÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ«ÃÂÃÂ²ÃÂµÃÂ¶ÃÂµÃÂÃÂÃÂ¸ÃÂ» ÃÂ¸ÃÂ¼ÃÂµÃÂÃÂÃÂ¸ÃÂÃÂÃÂ ÃÂ ÃÂ½ÃÂ¸ÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ Ã¢ÂÂ ÃÂÃÂÃÂ¾ÃÂ¸ÃÂ ÃÂ»ÃÂ¸ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ°ÃÂÃÂ¸ÃÂ²ÃÂ°ÃÂÃÂ ÃÂÃÂµÃÂÃÂÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂ²ÃÂÃÂ¾ÃÂÃÂ½ÃÂ¾ ÃÂ¸ÃÂ»ÃÂ¸ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ²ÃÂµÃÂÃÂ½ÃÂÃÂÃÂ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ ÃÂÃÂ¾, ÃÂÃÂÃÂ¾ ÃÂµÃÂÃÂÃÂ ÃÂ² ÃÂºÃÂÃÂÃÂµ.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ¿ÃÂÃÂµÃÂ´ÃÂµÃÂ»ÃÂµÃÂ½ÃÂ½ÃÂ°ÃÂ ÃÂÃÂ»ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ÃÂÃÂÃÂ ÃÂ´ÃÂ»ÃÂ ÃÂÃÂ°ÃÂ·ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂÃÂ¸ÃÂºÃÂ° cgi-ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ·ÃÂ°ÃÂºÃÂ»ÃÂÃÂÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ² ÃÂÃÂ¾ÃÂ¼, ÃÂÃÂÃÂ¾ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ, ÃÂ¾ÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ»ÃÂµÃÂ½ÃÂ½ÃÂÃÂµ ÃÂÃÂ°ÃÂ·ÃÂ»ÃÂ¸ÃÂÃÂ½ÃÂÃÂ¼ÃÂ¸ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ°ÃÂ¼ÃÂ¸, ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ² ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ¹ ÃÂ¿ÃÂ¾-ÃÂÃÂ°ÃÂ·ÃÂ½ÃÂ¾ÃÂ¼ÃÂ. ÃÂ¢ÃÂ°ÃÂº, ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ, ÃÂ¿ÃÂ¾ÃÂÃÂÃÂÃÂ¿ÃÂ¸ÃÂ²ÃÂÃÂ°ÃÂ ÃÂ ÃÂ¿ÃÂ¾ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ POST, ÃÂ¿ÃÂ¾ÃÂ´ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ½ÃÂ° ÃÂÃÂÃÂ°ÃÂ½ÃÂ´ÃÂ°ÃÂÃÂÃÂ½ÃÂÃÂ¹ ÃÂ²ÃÂÃÂ¾ÃÂ´ ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ¸ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ±ÃÂÃÂÃÂ ÃÂÃÂÃÂ¸ÃÂÃÂ°ÃÂ½ÃÂ° ÃÂ¾ÃÂÃÂÃÂÃÂ´ÃÂ°, ÃÂ½ÃÂ°ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ, ÃÂ ÃÂ¿ÃÂ¾ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ sys.stdin.read(size) ÃÂ¸ÃÂ»ÃÂ¸ ÃÂ´ÃÂ°ÃÂ¶ÃÂµ ÃÂÃÂÃÂ½ÃÂºÃÂÃÂ¸ÃÂµÃÂ¹ raw_input() (ÃÂÃÂ¾ÃÂÃÂ ÃÂ²ÃÂ¾ ÃÂ²ÃÂÃÂ¾ÃÂÃÂ¾ÃÂ¼ ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂµ ÃÂÃÂ»ÃÂ¾ÃÂ¶ÃÂ½ÃÂµÃÂµ ÃÂºÃÂ¾ÃÂ½ÃÂÃÂÃÂ¾ÃÂ»ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂ ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ¼ ÃÂ¿ÃÂÃÂ¸ÃÂ½ÃÂ¸ÃÂ¼ÃÂ°ÃÂµÃÂ¼ÃÂÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ). ÃÂÃÂ¾ÃÂ»ÃÂ¸ÃÂÃÂµÃÂÃÂÃÂ²ÃÂ¾ ÃÂ±ÃÂ°ÃÂ¹ÃÂ, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ ÃÂÃÂÃÂµÃÂ±ÃÂÃÂµÃÂÃÂÃÂ ÃÂÃÂÃÂ¸ÃÂÃÂ°ÃÂÃÂ, ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¸ÃÂÃÂ ÃÂ¸ÃÂ· ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¾ÃÂºÃÂÃÂÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂ CONTENT_LENGTH (ÃÂ½ÃÂ°ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ, ÃÂÃÂ°ÃÂº: size = os.environ['CONTENT_LENGTH']).&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂÃÂ»ÃÂ¸ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂ ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂÃÂµÃÂ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ GET, ÃÂÃÂ¾ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂ¾ÃÂÃÂÃÂÃÂ¿ÃÂÃÂ ÃÂ² ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ¹ ÃÂÃÂµÃÂÃÂµÃÂ· ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂÃÂ ÃÂÃÂÃÂµÃÂ´ÃÂ QUERY_STRING. ÃÂÃÂµÃÂÃÂ¾ÃÂ´, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂ¼ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ½ÃÂ (ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¶ÃÂµ ÃÂºÃÂ°ÃÂº-ÃÂÃÂ¾ ÃÂÃÂ°ÃÂ·ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂÃÂÃÂÃÂ, ÃÂ³ÃÂ´ÃÂµ ÃÂ¸ÃÂ ÃÂ¸ÃÂÃÂºÃÂ°ÃÂÃÂ) ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ²ÃÂÃÂµÃÂ³ÃÂ´ÃÂ° ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¸ÃÂÃÂ ÃÂ¸ÃÂ· REQUEST_METHOD.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂÃÂÃÂ ÃÂµÃÂÃÂµ ÃÂ¾ÃÂ´ÃÂ¸ÃÂ½ ÃÂ¾ÃÂÃÂ¾ÃÂ±ÃÂÃÂ¹ ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂ¹. ÃÂÃÂÃÂ»ÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ¾ÃÂ¼ GET, ÃÂ½ÃÂ¾ ÃÂ ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂ½ÃÂ¸ÃÂµÃÂ¼ ÃÂ«ÃÂ¸ÃÂ½ÃÂ´ÃÂµÃÂºÃÂÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ÃÂ» ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ°, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂ¹ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂÃÂµÃÂÃÂÃÂ ÃÂÃÂµÃÂ³ÃÂ¾ÃÂ¼ &amp;lt;ISINDEX&amp;gt;, ÃÂÃÂ¾ ÃÂ² ÃÂÃÂÃÂ¾ÃÂ¼ ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂµ ÃÂ¾ÃÂ½ÃÂ¸ ÃÂºÃÂ¾ÃÂ´ÃÂ¸ÃÂÃÂÃÂÃÂÃÂÃÂ ÃÂ½ÃÂµ ÃÂ² ÃÂ²ÃÂ¸ÃÂ´ÃÂµ ÃÂ«ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ°ÃÂ=ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ&amp;amp;ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ°ÃÂ=ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ&amp;amp;...ÃÂ», ÃÂ° ÃÂºÃÂ°ÃÂº ÃÂ«ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ+ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ+...ÃÂ». ÃÂ cgi-ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ¾ÃÂ½ÃÂ¸ ÃÂ±ÃÂÃÂ´ÃÂÃÂ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ½ÃÂ, ÃÂ¿ÃÂ¾ÃÂ¼ÃÂ¸ÃÂ¼ÃÂ¾ QUERY_STRING, ÃÂÃÂµÃÂÃÂµÃÂ· ÃÂ°ÃÂÃÂ³ÃÂÃÂ¼ÃÂµÃÂ½ÃÂÃÂ ÃÂºÃÂ¾ÃÂ¼ÃÂ°ÃÂ½ÃÂ´ÃÂ½ÃÂ¾ÃÂ¹ ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂ¸, ÃÂºÃÂ°ÃÂº ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂ±ÃÂ ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ¹ ÃÂ²ÃÂÃÂ·ÃÂÃÂ²ÃÂ°ÃÂ»ÃÂÃÂ ÃÂÃÂ°ÃÂºÃÂ¾ÃÂ¹ ÃÂºÃÂ¾ÃÂ¼ÃÂ°ÃÂ½ÃÂ´ÃÂ¾ÃÂ¹:&lt;br /&gt;
&lt;br /&gt;
 script.cgi arg1 arg2 arg3&lt;br /&gt;
&lt;br /&gt;
ÃÂ¢ÃÂ¾ ÃÂµÃÂÃÂÃÂ, ÃÂ½ÃÂ° ÃÂÃÂÃÂ¾ÃÂ ÃÂÃÂ°ÃÂ· ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂÃÂÃÂºÃÂ¸ÃÂµ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¸ÃÂÃÂ ÃÂºÃÂ°ÃÂº sys.argv[1] ÃÂ¸ ÃÂ.ÃÂ´.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ°ÃÂº ÃÂ²ÃÂ¸ÃÂ´ÃÂ¸ÃÂÃÂµ, ÃÂ¾ÃÂ³ÃÂÃÂ¾ÃÂ¼ÃÂ½ÃÂ¾ÃÂµ ÃÂÃÂ¸ÃÂÃÂ»ÃÂ¾ ÃÂ²ÃÂ°ÃÂÃÂ¸ÃÂ°ÃÂ½ÃÂÃÂ¾ÃÂ², ÃÂ¿ÃÂÃÂµÃÂ´ÃÂÃÂÃÂ¼ÃÂ¾ÃÂÃÂÃÂµÃÂ½ÃÂ½ÃÂÃÂ CGI-ÃÂ¸ÃÂ½ÃÂÃÂµÃÂÃÂÃÂµÃÂ¹ÃÂÃÂ¾ÃÂ¼, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ ÃÂ²ÃÂÃÂµ ÃÂ´ÃÂ¾ÃÂ»ÃÂ¶ÃÂ½ÃÂ ÃÂ±ÃÂÃÂÃÂ ÃÂÃÂÃÂÃÂµÃÂ½ÃÂ ÃÂ¿ÃÂÃÂ¸ ÃÂÃÂ°ÃÂ·ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂºÃÂµ ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ, ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ²ÃÂÃÂ·ÃÂ²ÃÂ°ÃÂÃÂ ÃÂ½ÃÂµÃÂÃÂ²ÃÂ½ÃÂÃÂ¹ ÃÂÃÂ¸ÃÂº ÃÂ´ÃÂ°ÃÂ¶ÃÂµ ÃÂ ÃÂ¾ÃÂ¿ÃÂÃÂÃÂ½ÃÂÃÂ ÃÂ¿ÃÂÃÂ¾ÃÂ³ÃÂÃÂ°ÃÂ¼ÃÂ¼ÃÂ¸ÃÂÃÂÃÂ¾ÃÂ², ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ ÃÂ¸ ÃÂ²ÃÂ¾ ÃÂÃÂ½ÃÂµ ÃÂ¿ÃÂ¾ÃÂÃÂ¸ÃÂÃÂ¾ÃÂ½ÃÂÃÂºÃÂ ÃÂ½ÃÂ°ÃÂ±ÃÂ¸ÃÂ²ÃÂ°ÃÂÃÂ ÃÂ¿ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ´ÃÂÃÂÃÂºÃÂµ ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂ¹-ÃÂÃÂ¾ ÃÂºÃÂ¾ÃÂ´. ÃÂ ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂµÃÂÃÂµ ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ¼ÃÂ½ÃÂ¸ÃÂÃÂ, ÃÂÃÂÃÂ¾ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ² ÃÂ·ÃÂ°ÃÂºÃÂ¾ÃÂ´ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂ½ÃÂ½ÃÂ¾ÃÂ¼ ÃÂ²ÃÂ¸ÃÂ´ÃÂµ (ÃÂÃÂÃÂ¾ ÃÂ°ÃÂ½ÃÂ³ÃÂ»ÃÂ¸ÃÂÃÂ°ÃÂ½ÃÂ°ÃÂ¼ ÃÂÃÂ¾ÃÂÃÂ¾ÃÂÃÂ¾ Ã¢ÂÂ ÃÂ²ÃÂ·ÃÂÃÂ» ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¸ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂ¹, ÃÂ° ÃÂ½ÃÂ°ÃÂ¼-ÃÂÃÂ¾ ÃÂ ÃÂ²ÃÂ°ÃÂ¼ÃÂ¸ ÃÂÃÂÃÂ¾ ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ²ÃÂµÃÂÃÂ½ÃÂµÃÂÃÂÃÂ ÃÂ² ÃÂ²ÃÂ¸ÃÂ´ÃÂµ %EC%E4%E0), ÃÂ´ÃÂ° ÃÂµÃÂÃÂµ ÃÂ¸ ÃÂ¾ ÃÂ¿ÃÂÃÂ¾ÃÂ²ÃÂµÃÂÃÂºÃÂµ ÃÂÃÂÃÂ¸ÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ·ÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ¸ÃÂÃÂÃÂÃÂ, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂ¹-ÃÂ½ÃÂ¸ÃÂ±ÃÂÃÂ´ÃÂ ÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ½ÃÂ°ÃÂÃÂÃÂ¸ÃÂ¹ ÃÂÃÂ°ÃÂºÃÂµÃÂ ÃÂ½ÃÂµ ÃÂ¿ÃÂ¾ÃÂ¿ÃÂÃÂÃÂ°ÃÂ»ÃÂÃÂ ÃÂ·ÃÂ°ÃÂÃÂÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ ÃÂ½ÃÂ°ÃÂ ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂÃÂ ÃÂ¿ÃÂ¾-ÃÂÃÂ²ÃÂ¾ÃÂµÃÂ¼ÃÂ... ÃÂÃÂµÃÂ, ÃÂ¾ÃÂ±ÃÂ¾ ÃÂ²ÃÂÃÂµÃÂ¼ ÃÂÃÂÃÂ¾ÃÂ¼ ÃÂ»ÃÂÃÂÃÂÃÂµ ÃÂ¸ ÃÂ½ÃÂµ ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ¼ÃÂ¸ÃÂ½ÃÂ°ÃÂÃÂ. ÃÂÃÂ»ÃÂ°ÃÂ³ÃÂ¾ ÃÂ ÃÂ½ÃÂ°ÃÂ ÃÂµÃÂÃÂÃÂ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ cgi, ÃÂ² ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂ¾ÃÂ¼ ÃÂ²ÃÂÃÂµ ÃÂÃÂÃÂ¾ ÃÂÃÂ¶ÃÂµ ÃÂÃÂ´ÃÂµÃÂ»ÃÂ°ÃÂ½ÃÂ¾!&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ¾ ÃÂ¾ ÃÂ½ÃÂµÃÂ¼ Ã¢ÂÂ ÃÂÃÂÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂ·ÃÂ¶ÃÂµ. ÃÂ¡ÃÂ½ÃÂ°ÃÂÃÂ°ÃÂ»ÃÂ° ÃÂ¿ÃÂ°ÃÂÃÂ ÃÂÃÂ»ÃÂ¾ÃÂ² ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂ¾ ÃÂÃÂºÃÂ°ÃÂ·ÃÂ°ÃÂÃÂ ÃÂ¾ HTML-ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂ.&lt;br /&gt;
&lt;br /&gt;
=== ÃÂ¤ÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂÃÂµÃÂ¼ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ ===&lt;br /&gt;
ÃÂ§ÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ²ÃÂ°ÃÂ¼ ÃÂ±ÃÂÃÂ»ÃÂ¾ ÃÂ¿ÃÂÃÂ¾ÃÂÃÂµ ÃÂ¿ÃÂ¾ÃÂ½ÃÂÃÂÃÂ ÃÂÃÂ°ÃÂÃÂÃÂ¼ÃÂ°ÃÂÃÂÃÂ¸ÃÂ²ÃÂ°ÃÂµÃÂ¼ÃÂÃÂ¹ ÃÂÃÂµÃÂ³ÃÂ¾ÃÂ´ÃÂ½ÃÂ ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂºÃÂ¾ ÃÂÃÂºÃÂ°ÃÂ¶ÃÂ ÃÂ¿ÃÂÃÂ¾ ÃÂÃÂ¾, ÃÂºÃÂ°ÃÂº ÃÂ¶ÃÂµ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂ ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂÃÂµÃÂ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ ÃÂ½ÃÂ°ÃÂÃÂµÃÂ¼ÃÂ cgi-ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ. ÃÂÃÂ¾ÃÂ½ÃÂµÃÂÃÂ½ÃÂ¾, ÃÂ¿ÃÂÃÂ¾ÃÂ´ÃÂ²ÃÂ¸ÃÂ½ÃÂÃÂÃÂÃÂµ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂ¸ ÃÂ¼ÃÂ¾ÃÂ³ÃÂÃÂ ÃÂ½ÃÂ°ÃÂ±ÃÂÃÂ°ÃÂÃÂ GET-ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂ ÃÂ²ÃÂÃÂÃÂÃÂ½ÃÂÃÂ ÃÂ² ÃÂ°ÃÂ´ÃÂÃÂµÃÂÃÂ½ÃÂ¾ÃÂ¹ ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂµ ÃÂ±ÃÂÃÂ°ÃÂÃÂ·ÃÂµÃÂÃÂ°. ÃÂ¥ÃÂ¾ÃÂÃÂ ÃÂÃÂÃÂ¾ ÃÂ¼ÃÂµÃÂ»ÃÂ¾ÃÂÃÂ¸ÃÂÃÂÃÂÃÂ Ã¢ÂÂ ÃÂ²ÃÂµÃÂ´ÃÂ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¶ÃÂµ ÃÂÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂ ÃÂ¸ POST-ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂ, ÃÂ¿ÃÂ¾ÃÂ´ÃÂºÃÂ»ÃÂÃÂÃÂ¸ÃÂ²ÃÂÃÂ¸ÃÂÃÂ ÃÂÃÂµÃÂ»ÃÂ½ÃÂµÃÂÃÂ¾ÃÂ¼ ÃÂ½ÃÂ° 80-ÃÂ¹ ÃÂ¿ÃÂ¾ÃÂÃÂ! ÃÂÃÂ¿ÃÂÃÂ¾ÃÂÃÂµÃÂ¼, ÃÂ¾ÃÂ±ÃÂÃÂÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂ¸ ÃÂ¿ÃÂÃÂµÃÂ´ÃÂ¿ÃÂ¾ÃÂÃÂ¸ÃÂÃÂ°ÃÂÃÂ ÃÂ±ÃÂ¾ÃÂ»ÃÂµÃÂµ ÃÂ¿ÃÂ¾ÃÂ½ÃÂÃÂÃÂ½ÃÂÃÂµ ÃÂ¸ ÃÂ«ÃÂ¾ÃÂÃÂÃÂ·ÃÂ°ÃÂµÃÂ¼ÃÂÃÂµÃÂ» ÃÂÃÂ¿ÃÂ¾ÃÂÃÂ¾ÃÂ±ÃÂ, ÃÂ½ÃÂ°ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ, ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ°ÃÂº ÃÂ¾ÃÂ½ÃÂ¸ ÃÂ²ÃÂÃÂ³ÃÂ»ÃÂÃÂ´ÃÂÃÂ, ÃÂ´ÃÂÃÂ¼ÃÂ°ÃÂ, ÃÂºÃÂ°ÃÂ¶ÃÂ´ÃÂÃÂ¹ ÃÂ·ÃÂ½ÃÂ°ÃÂµÃÂ. ÃÂ¡ÃÂ¾ÃÂ·ÃÂ´ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ¾ÃÂ½ÃÂ¸ ÃÂ ÃÂ¿ÃÂ¾ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ ÃÂÃÂµÃÂ³ÃÂ° &amp;lt;FORM&amp;gt;, ÃÂ²ÃÂ½ÃÂÃÂÃÂÃÂ¸ ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂ¾ÃÂ³ÃÂ¾ ÃÂ´ÃÂ¾ÃÂ±ÃÂ°ÃÂ²ÃÂ»ÃÂÃÂÃÂÃÂÃÂ ÃÂÃÂ°ÃÂºÃÂ¸ÃÂµ ÃÂÃÂ»ÃÂµÃÂ¼ÃÂµÃÂ½ÃÂÃÂ, ÃÂºÃÂ°ÃÂº &amp;lt;INPUT&amp;gt; (ÃÂ¿ÃÂ¾ÃÂ»ÃÂµ ÃÂ²ÃÂ²ÃÂ¾ÃÂ´ÃÂ°) ÃÂ¸ÃÂ»ÃÂ¸ &amp;lt;TEXTAREA&amp;gt; (ÃÂ¼ÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ÃÂÃÂÃÂÃÂ¾ÃÂÃÂ½ÃÂÃÂ¹ ÃÂÃÂµÃÂ´ÃÂ°ÃÂºÃÂÃÂ¾ÃÂ). ÃÂ­ÃÂÃÂ¸ÃÂ¼ ÃÂÃÂ»ÃÂµÃÂ¼ÃÂµÃÂ½ÃÂÃÂ°ÃÂ¼, ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂ¸ÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ´ÃÂ¾ÃÂ»ÃÂ¶ÃÂ½ÃÂ ÃÂ±ÃÂÃÂÃÂ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ½ÃÂ ÃÂ½ÃÂ° ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂ, ÃÂ¿ÃÂÃÂ¸ÃÂÃÂ²ÃÂ°ÃÂ¸ÃÂ²ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂ° ÃÂ ÃÂ¿ÃÂ¾ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ ÃÂ°ÃÂÃÂÃÂ¸ÃÂ±ÃÂÃÂÃÂ° name. ÃÂÃÂ°ÃÂÃÂ°ÃÂ»ÃÂÃÂ½ÃÂ¾ÃÂµ ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ·ÃÂ°ÃÂ´ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ¿ÃÂ°ÃÂÃÂ°ÃÂ¼ÃÂµÃÂÃÂÃÂ¾ÃÂ¼ value ÃÂ¸ ÃÂ² ÃÂ´ÃÂ°ÃÂ»ÃÂÃÂ½ÃÂµÃÂ¹ÃÂÃÂµÃÂ¼ ÃÂ´ÃÂ»ÃÂ ÃÂ«ÃÂÃÂµÃÂ´ÃÂ°ÃÂºÃÂÃÂ¸ÃÂÃÂÃÂµÃÂ¼ÃÂÃÂÃÂ» ÃÂ¿ÃÂ¾ÃÂ»ÃÂµÃÂ¹ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ±ÃÂÃÂÃÂ ÃÂ¸ÃÂ·ÃÂ¼ÃÂµÃÂ½ÃÂµÃÂ½ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂµÃÂ¼. ÃÂÃÂ¾ÃÂ³ÃÂ´ÃÂ° ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂ ÃÂ½ÃÂ°ÃÂ¶ÃÂ¸ÃÂ¼ÃÂ°ÃÂµÃÂ ÃÂºÃÂ½ÃÂ¾ÃÂ¿ÃÂºÃÂ ÃÂ«ÃÂÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂÃÂ» (ÃÂ½ÃÂ°ÃÂ´ÃÂ¿ÃÂ¸ÃÂÃÂ ÃÂ½ÃÂ° ÃÂ½ÃÂµÃÂ¹, ÃÂ² ÃÂ¿ÃÂÃÂ¸ÃÂ½ÃÂÃÂ¸ÃÂ¿ÃÂµ, ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¸ÃÂ·ÃÂ¼ÃÂµÃÂ½ÃÂ¸ÃÂÃÂ), ÃÂÃÂ¾ ÃÂ±ÃÂÃÂ°ÃÂÃÂ·ÃÂµÃÂ ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ´ÃÂ¸ÃÂ½ÃÂÃÂµÃÂ ÃÂ²ÃÂÃÂµ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂ¾ÃÂ»ÃÂµÃÂ¹ ÃÂ² ÃÂ¿ÃÂ°ÃÂÃÂ name=value, ÃÂÃÂ°ÃÂ·ÃÂ´ÃÂµÃÂ»ÃÂÃÂ ÃÂ¸ÃÂ ÃÂÃÂ¸ÃÂ¼ÃÂ²ÃÂ¾ÃÂ»ÃÂ¾ÃÂ¼ &amp;amp;. ÃÂÃÂ°ÃÂÃÂµÃÂ¼ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂµÃÂ½ÃÂ½ÃÂ°ÃÂ ÃÂÃÂ°ÃÂºÃÂ¸ÃÂ¼ ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ·ÃÂ¾ÃÂ¼ ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂ° ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ½ÃÂ° ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ¾ÃÂ¼, ÃÂÃÂºÃÂ°ÃÂ·ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ¼ ÃÂ² ÃÂ°ÃÂÃÂÃÂ¸ÃÂ±ÃÂÃÂÃÂµ method ÃÂÃÂµÃÂ³ÃÂ° &amp;lt;FORM&amp;gt;. ÃÂÃÂÃÂÃÂ ÃÂº ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂ¹ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ·ÃÂ°ÃÂ½ÃÂ¸ÃÂ¼ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂµÃÂµ ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂºÃÂ¾ÃÂ¹, ÃÂ·ÃÂ°ÃÂ´ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ°ÃÂÃÂÃÂ¸ÃÂ±ÃÂÃÂÃÂ¾ÃÂ¼ action ÃÂÃÂÃÂ¾ÃÂ³ÃÂ¾ ÃÂ¶ÃÂµ ÃÂÃÂµÃÂ³ÃÂ°. ÃÂÃÂÃÂ»ÃÂ¸ action ÃÂ½ÃÂµ ÃÂ·ÃÂ°ÃÂ´ÃÂ°ÃÂ½, ÃÂÃÂ¾ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂÃÂ°ÃÂ¹ÃÂ»ÃÂ, ÃÂÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂ²ÃÂÃÂµÃÂ¼ÃÂ ÃÂÃÂµÃÂºÃÂÃÂÃÂÃÂ ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂÃÂºÃÂ.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂÃÂ»ÃÂ¸ ÃÂÃÂÃÂ¾-ÃÂÃÂ¾ ÃÂ½ÃÂµ ÃÂÃÂ¾ÃÂ²ÃÂÃÂµÃÂ¼ ÃÂ¿ÃÂ¾ÃÂ½ÃÂÃÂÃÂ½ÃÂ¾, ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂÃÂ¸ÃÂÃÂµÃÂÃÂ ÃÂº ÃÂºÃÂ¾ÃÂ´ÃÂ ÃÂÃÂ°ÃÂ·ÃÂÃÂ°ÃÂ±ÃÂ°ÃÂÃÂÃÂ²ÃÂ°ÃÂµÃÂ¼ÃÂ¾ÃÂ¹ ÃÂ³ÃÂ¾ÃÂÃÂÃÂµÃÂ²ÃÂ¾ÃÂ¹ ÃÂºÃÂ½ÃÂ¸ÃÂ³ÃÂ¸, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂ¹ ÃÂ¿ÃÂÃÂ¸ÃÂ²ÃÂµÃÂ´ÃÂµÃÂ½ ÃÂ½ÃÂ¸ÃÂ¶ÃÂµ.&lt;br /&gt;
&lt;br /&gt;
=== ÃÂÃÂ°ÃÂ ÃÂÃÂ¿ÃÂ°ÃÂÃÂ¸ÃÂÃÂµÃÂ»ÃÂ Ã¢ÂÂ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ cgi ===&lt;br /&gt;
ÃÂÃÂ¾ÃÂ·ÃÂ²ÃÂÃÂ°ÃÂÃÂ°ÃÂµÃÂ¼ÃÂÃÂ ÃÂº ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂºÃÂµ ÃÂ²ÃÂÃÂµÃÂ³ÃÂ¾ ÃÂÃÂÃÂ¾ÃÂ³ÃÂ¾ ÃÂ´ÃÂ¾ÃÂ±ÃÂÃÂ°, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂ¾ÃÂµ ÃÂÃÂ¾ÃÂÃÂ½ÃÂ¸ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂµÃÂ¹ ÃÂÃÂ¶ÃÂµ ÃÂ³ÃÂ¾ÃÂÃÂ¾ÃÂ²ÃÂ ÃÂ¾ÃÂ±ÃÂÃÂÃÂÃÂ¸ÃÂÃÂ ÃÂ½ÃÂ° ÃÂ½ÃÂ°ÃÂ ÃÂ±ÃÂµÃÂ´ÃÂ½ÃÂÃÂ¹ ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ¹. ÃÂÃÂ ÃÂÃÂµÃÂÃÂ¸ÃÂ»ÃÂ¸ ÃÂ²ÃÂ¾ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂÃÂÃÂ°ÃÂ½ÃÂ´ÃÂ°ÃÂÃÂÃÂ½ÃÂÃÂ¼ÃÂ¸ ÃÂÃÂÃÂµÃÂ´ÃÂÃÂÃÂ²ÃÂ°ÃÂ¼ÃÂ¸ Python, ÃÂ¸ ÃÂ·ÃÂ´ÃÂµÃÂÃÂ ÃÂ²ÃÂÃÂµ ÃÂ´ÃÂµÃÂ¹ÃÂÃÂÃÂ²ÃÂ¸ÃÂÃÂµÃÂ»ÃÂÃÂ½ÃÂ¾ ÃÂ¾ÃÂÃÂµÃÂ½ÃÂ ÃÂ¿ÃÂÃÂ¾ÃÂÃÂÃÂ¾ Ã¢ÂÂ ÃÂ¸ÃÂ¼ÃÂ¿ÃÂ¾ÃÂÃÂÃÂ¸ÃÂÃÂÃÂ¹ÃÂÃÂµ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ cgi ÃÂ¸, ÃÂÃÂ¾ÃÂ·ÃÂ´ÃÂ°ÃÂ² ÃÂ¾ÃÂ±ÃÂÃÂµÃÂºÃÂ ÃÂºÃÂ»ÃÂ°ÃÂÃÂÃÂ° FieldStorage, ÃÂ²ÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¸ÃÂÃÂµ ÃÂÃÂµÃÂÃÂµÃÂ· ÃÂ½ÃÂµÃÂ³ÃÂ¾ ÃÂ´ÃÂ¾ÃÂÃÂÃÂÃÂ¿ ÃÂºÃÂ¾ ÃÂ²ÃÂÃÂµÃÂ¼ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ¼, ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ¼ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂµÃÂ¼, ÃÂ½ÃÂµÃÂ·ÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ¸ÃÂ¼ÃÂ¾ ÃÂ¾ÃÂ ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂÃÂµÃÂ¼ÃÂ¾ÃÂ³ÃÂ¾ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ°:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import cgi&lt;br /&gt;
data = cgi.FieldStorage()&lt;br /&gt;
for entry in data.keys():&lt;br /&gt;
print 'ÃÂÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ°ÃÂ %s ÃÂ¸ÃÂ¼ÃÂµÃÂµÃÂ ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ %s' % (entry, data[entry].value)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂÃÂ»ÃÂ¸ ÃÂ²ÃÂ°ÃÂ¼ ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¸ÃÂÃÂ ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ¾ÃÂ¿ÃÂÃÂµÃÂ´ÃÂµÃÂ»ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂ, ÃÂÃÂÃÂ¾ ÃÂ´ÃÂµÃÂ»ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂÃÂ°ÃÂº:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
field = data['field'].value&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ¾ÃÂ¼ÃÂ¸ÃÂ¼ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂÃÂÃÂºÃÂ¸ÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ, ÃÂ¾ÃÂ±ÃÂÃÂµÃÂºÃÂ ÃÂºÃÂ»ÃÂ°ÃÂÃÂÃÂ° FieldStorage ÃÂÃÂ¾ÃÂ´ÃÂµÃÂÃÂ¶ÃÂ¸ÃÂ ÃÂ¸ÃÂ½ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ¸ ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ ÃÂ·ÃÂ°ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂºÃÂ° (ÃÂ² ÃÂ½ÃÂ°ÃÂÃÂµÃÂ¼ ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂÃÂµ ÃÂ¸ÃÂ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¸ÃÂÃÂ ÃÂ¸ÃÂ· ÃÂÃÂ»ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂ data.headers). MIME-ÃÂÃÂ¸ÃÂ¿ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ (ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ²ÃÂ°ÃÂµÃÂ¼ÃÂÃÂ¹ ÃÂ¿ÃÂ¾ÃÂ»ÃÂµÃÂ¼ ÃÂ·ÃÂ°ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂºÃÂ° Content-Type) ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¸ÃÂÃÂ ÃÂ¸ÃÂ· ÃÂ°ÃÂÃÂÃÂ¸ÃÂ±ÃÂÃÂÃÂ° data.type. ÃÂ§ÃÂµÃÂÃÂµÃÂ· ÃÂÃÂÃÂ¾ÃÂ ÃÂ¶ÃÂµ ÃÂ¾ÃÂ±ÃÂÃÂµÃÂºÃÂ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ±ÃÂÃÂÃÂ ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂµÃÂ½ÃÂ° ÃÂ¸ ÃÂ·ÃÂ°ÃÂ³ÃÂÃÂÃÂ·ÃÂºÃÂ° ÃÂÃÂ°ÃÂ¹ÃÂ»ÃÂ°.&lt;br /&gt;
&lt;br /&gt;
ÃÂ¡ ÃÂ¿ÃÂ¾ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ¾ÃÂ² keys() ÃÂ¸ has_key() ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂÃÂÃÂ ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂºÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂµÃÂ½ÃÂ½ÃÂÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ ÃÂ² ÃÂÃÂ¸ÃÂºÃÂ»ÃÂµ ÃÂ¸ ÃÂ¿ÃÂÃÂ¾ÃÂ²ÃÂµÃÂÃÂÃÂÃÂ ÃÂ½ÃÂ°ÃÂ»ÃÂ¸ÃÂÃÂ¸ÃÂµ ÃÂÃÂ¾ÃÂ¹ ÃÂ¸ÃÂ»ÃÂ¸ ÃÂ¸ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ¹. ÃÂÃÂÃÂÃÂ°ÃÂÃÂ¸ ÃÂ³ÃÂ¾ÃÂ²ÃÂ¾ÃÂÃÂ, ÃÂ¿ÃÂÃÂ¾ÃÂ²ÃÂµÃÂÃÂÃÂÃÂ ÃÂ½ÃÂ°ÃÂ»ÃÂ¸ÃÂÃÂ¸ÃÂµ ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ²ÃÂ¾ ÃÂ²ÃÂÃÂ¾ÃÂ´ÃÂ½ÃÂÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ, ÃÂ¿ÃÂÃÂµÃÂ¶ÃÂ´ÃÂµ ÃÂÃÂµÃÂ¼ ÃÂ¿ÃÂÃÂ¸ÃÂÃÂÃÂÃÂ¿ÃÂ°ÃÂÃÂ ÃÂº ÃÂ¸ÃÂ ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂºÃÂµ, ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂ¾ ÃÂ½ÃÂµÃÂ¿ÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ¾ Ã¢ÂÂ ÃÂ²ÃÂµÃÂ´ÃÂ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂÃÂµÃÂÃÂÃÂ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ¾ÃÂ¼, ÃÂ° ÃÂºÃÂÃÂ¾ ÃÂ·ÃÂ½ÃÂ°ÃÂµÃÂ, ÃÂÃÂÃÂ¾ ÃÂ ÃÂ½ÃÂµÃÂ³ÃÂ¾ ÃÂ½ÃÂ° ÃÂÃÂ¼ÃÂµ?&lt;br /&gt;
&lt;br /&gt;
=== ÃÂÃÂ°ÃÂ·ÃÂ¸ÃÂÃÂÃÂµÃÂ¼ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ===&lt;br /&gt;
ÃÂÃÂÃÂ°ÃÂº, ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ°ÃÂÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¾ÃÂ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ° ÃÂ¼ÃÂ ÃÂ½ÃÂ°ÃÂÃÂÃÂ¸ÃÂ»ÃÂ¸ÃÂÃÂ. ÃÂÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ»ÃÂÃÂÃÂ ÃÂÃÂ¾ÃÂ¶ÃÂµ ÃÂÃÂ¼ÃÂµÃÂµÃÂ¼. ÃÂÃÂÃÂÃÂ°ÃÂ»ÃÂ¾ÃÂÃÂ ÃÂ¿ÃÂÃÂ¸ÃÂ´ÃÂÃÂ¼ÃÂ°ÃÂÃÂ, ÃÂºÃÂ°ÃÂº ÃÂÃÂÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ»ÃÂÃÂÃÂÃÂµ ÃÂ²ÃÂÃÂµÃÂ³ÃÂ¾ ÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂÃÂ. ÃÂÃÂ¾ÃÂ½ÃÂµÃÂÃÂ½ÃÂ¾, ÃÂ´ÃÂ»ÃÂ ÃÂ½ÃÂµÃÂÃÂ»ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ³ÃÂ¾ÃÂÃÂÃÂµÃÂ²ÃÂ¾ÃÂ¹ ÃÂºÃÂ½ÃÂ¸ÃÂ³ÃÂ¸ ÃÂ ÃÂ½ÃÂµÃÂ±ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¾ÃÂ¹ ÃÂ½ÃÂ°ÃÂ³ÃÂÃÂÃÂ·ÃÂºÃÂ¾ÃÂ¹ ÃÂ²ÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂµ ÃÂÃÂ²ÃÂ°ÃÂÃÂ¸ÃÂ»ÃÂ¾ ÃÂ±ÃÂ ÃÂ¸ ÃÂÃÂµÃÂºÃÂÃÂÃÂ¾ÃÂ²ÃÂÃÂ ÃÂÃÂ°ÃÂ¹ÃÂ»ÃÂ¾ÃÂ². ÃÂÃÂÃÂ°ÃÂ²ÃÂ´ÃÂ°, ÃÂÃÂ°ÃÂ¼ ÃÂµÃÂÃÂÃÂ ÃÂÃÂ²ÃÂ¾ÃÂ¸ ÃÂÃÂ»ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ÃÂÃÂÃÂ¸ Ã¢ÂÂ ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂÃÂÃÂ°ÃÂ·ÃÂ ÃÂ¿ÃÂÃÂÃÂ ÃÂÃÂµÃÂ»ÃÂ¾ÃÂ²ÃÂµÃÂº ÃÂ·ÃÂ°ÃÂÃÂ¾ÃÂÃÂÃÂ ÃÂ²ÃÂÃÂÃÂºÃÂ°ÃÂ·ÃÂ°ÃÂÃÂ ÃÂÃÂ²ÃÂ¾ÃÂµ ÃÂ¼ÃÂ½ÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ¾ ÃÂ²ÃÂ°ÃÂÃÂµÃÂ¹ ÃÂºÃÂÃÂÃÂÃÂµÃÂ¹ÃÂÃÂµÃÂ¹ ÃÂ´ÃÂ¾ÃÂ¼ÃÂ°ÃÂÃÂ½ÃÂµÃÂ¹ ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂÃÂºÃÂµ, ÃÂÃÂ¾ ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ¿ÃÂÃÂ¸ÃÂ´ÃÂµÃÂÃÂÃÂ ÃÂºÃÂ°ÃÂºÃÂ¸ÃÂ¼-ÃÂÃÂ¾ ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ·ÃÂ¾ÃÂ¼ ÃÂÃÂµÃÂ³ÃÂÃÂ»ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂ ÃÂ´ÃÂ¾ÃÂÃÂÃÂÃÂ¿ ÃÂº ÃÂÃÂ°ÃÂ¹ÃÂ»ÃÂ-ÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂ»ÃÂ¸ÃÂÃÂ (ÃÂºÃÂ°ÃÂº ÃÂ¼ÃÂ¸ÃÂ½ÃÂ¸ÃÂ¼ÃÂÃÂ¼, ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ±ÃÂ°ÃÂÃÂÃÂ²ÃÂ°ÃÂÃÂ ÃÂÃÂ¸ÃÂÃÂÃÂ°ÃÂÃÂ¸ÃÂ, ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂÃÂ°ÃÂ¹ÃÂ» ÃÂÃÂ¶ÃÂµ ÃÂ¾ÃÂÃÂºÃÂÃÂÃÂ ÃÂ½ÃÂ° ÃÂ·ÃÂ°ÃÂ¿ÃÂ¸ÃÂÃÂ ÃÂ´ÃÂÃÂÃÂ³ÃÂ¸ÃÂ¼ ÃÂÃÂºÃÂ·ÃÂµÃÂ¼ÃÂ¿ÃÂ»ÃÂÃÂÃÂ¾ÃÂ¼ ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ). ÃÂÃÂ¾ ÃÂ·ÃÂ°ÃÂÃÂµÃÂ¼ ÃÂ½ÃÂ°ÃÂ¼ ÃÂ²ÃÂÃÂµ ÃÂÃÂÃÂ¸ ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂ½ÃÂÃÂµ ÃÂ±ÃÂ¾ÃÂ»ÃÂ¸? ÃÂÃÂÃÂ»ÃÂ¸ ÃÂ¼ÃÂ ÃÂÃÂ°ÃÂº ÃÂ»ÃÂ¾ÃÂ²ÃÂºÃÂ¾ ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂÃÂµÃÂ»ÃÂ¸ÃÂÃÂ ÃÂ¾ÃÂ ÃÂ½ÃÂµÃÂ¾ÃÂ±ÃÂÃÂ¾ÃÂ´ÃÂ¸ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ¸ ÃÂ²ÃÂÃÂÃÂÃÂ½ÃÂÃÂ ÃÂÃÂ°ÃÂ·ÃÂ±ÃÂ¸ÃÂÃÂ°ÃÂÃÂ HTTP-ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂÃÂ, ÃÂÃÂ¾ ÃÂ½ÃÂµÃÂÃÂ¶ÃÂµÃÂ»ÃÂ¸ ÃÂ½ÃÂµ ÃÂ½ÃÂ°ÃÂ¹ÃÂ´ÃÂµÃÂ¼ ÃÂÃÂÃÂ¾-ÃÂÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ´ÃÂÃÂ¾ÃÂ´ÃÂÃÂÃÂµÃÂµ ÃÂ½ÃÂ° ÃÂÃÂÃÂ¾ÃÂ ÃÂÃÂ°ÃÂ·?&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ¾ÃÂ½ÃÂµÃÂÃÂ½ÃÂ¾, ÃÂ½ÃÂ°ÃÂ¹ÃÂ´ÃÂµÃÂ¼! ÃÂ ÃÂÃÂÃÂ¾ ÃÂ«ÃÂÃÂÃÂ¾-ÃÂÃÂ¾ÃÂ» ÃÂ½ÃÂ°ÃÂ·ÃÂÃÂ²ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂÃÂ¸ÃÂÃÂÃÂµÃÂ¼ÃÂ¾ÃÂ¹ ÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ»ÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ±ÃÂ°ÃÂ·ÃÂ°ÃÂ¼ÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ (ÃÂ² ÃÂ¿ÃÂÃÂ¾ÃÂÃÂÃÂ¾ÃÂÃÂµÃÂÃÂÃÂµ Ã¢ÂÂ ÃÂ¡ÃÂ£ÃÂÃÂ). ÃÂ¢ÃÂµÃÂ¿ÃÂµÃÂÃÂ ÃÂ½ÃÂ°ÃÂÃÂµ ÃÂ´ÃÂµÃÂ»ÃÂ¾ Ã¢ÂÂ ÃÂ¾ÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂ ÃÂ¸ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂ¸ÃÂÃÂ ÃÂ¾ÃÂÃÂ²ÃÂµÃÂ. ÃÂÃÂÃÂµ ÃÂ¾ÃÂÃÂÃÂ°ÃÂ»ÃÂÃÂ½ÃÂ¾ÃÂµ Ã¢ÂÂ ÃÂÃÂ¶ÃÂµ ÃÂ½ÃÂµ ÃÂ½ÃÂ°ÃÂÃÂ° ÃÂ·ÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ»ÃÂ ÃÂÃÂÃÂ¾ÃÂ³ÃÂ¾ ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂÃÂ° ÃÂ ÃÂ²ÃÂÃÂ±ÃÂÃÂ°ÃÂ» ÃÂ² ÃÂºÃÂ°ÃÂÃÂµÃÂÃÂÃÂ²ÃÂµ ÃÂ«ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂÃÂÃÂ²ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ÃÂ» ÃÂ·ÃÂ° ÃÂÃÂÃÂ°ÃÂ½ÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂ ÃÂ±ÃÂ°ÃÂ· ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ PostgreSQL. ÃÂÃÂ¾ÃÂÃÂºÃÂ¾ÃÂ»ÃÂÃÂºÃÂ ÃÂ¼ÃÂ ÃÂ¿ÃÂ¸ÃÂÃÂµÃÂ¼ ÃÂ½ÃÂ ÃÂ¾ÃÂÃÂµÃÂ½ÃÂ ÃÂ¿ÃÂÃÂ¾ÃÂÃÂÃÂÃÂ ÃÂ³ÃÂ¾ÃÂÃÂÃÂµÃÂ²ÃÂÃÂ ÃÂºÃÂ½ÃÂ¸ÃÂ³ÃÂ, ÃÂÃÂ¾ ÃÂ¸ ÃÂÃÂÃÂÃÂÃÂºÃÂÃÂÃÂÃÂ° ÃÂ±ÃÂ°ÃÂ·ÃÂ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ ÃÂ½ÃÂ°ÃÂ ÃÂÃÂ»ÃÂµÃÂ¼ÃÂµÃÂ½ÃÂÃÂ°ÃÂÃÂ½ÃÂ¾ÃÂ¹ Ã¢ÂÂ ÃÂ¾ÃÂ´ÃÂ½ÃÂ° ÃÂÃÂ°ÃÂ±ÃÂ»ÃÂ¸ÃÂÃÂ° ÃÂ ÃÂÃÂÃÂµÃÂ¼ÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ¼ÃÂ¸: ÃÂ²ÃÂÃÂµÃÂ¼ÃÂ ÃÂ¿ÃÂÃÂ±ÃÂ»ÃÂ¸ÃÂºÃÂ°ÃÂÃÂ¸ÃÂ¸ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂ, ÃÂ¸ÃÂ¼ÃÂ ÃÂ°ÃÂ²ÃÂÃÂ¾ÃÂÃÂ° ÃÂ¸, ÃÂÃÂ¾ÃÂ±ÃÂÃÂÃÂ²ÃÂµÃÂ½ÃÂ½ÃÂ¾, ÃÂÃÂ°ÃÂ¼ÃÂ¾ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ:&lt;br /&gt;
&lt;br /&gt;
 admin@toshiba:~$ psql&lt;br /&gt;
 Welcome to psql 8.1.4, the PostgreSQL interactive terminal.&lt;br /&gt;
 guestbook=# create user &amp;quot;www-data&amp;quot; nocreatedb nocreateuser;&lt;br /&gt;
 CREATE ROLE&lt;br /&gt;
 admin=# create database guestbook with owner &amp;quot;www-data&amp;quot;;&lt;br /&gt;
 CREATE DATABASE&lt;br /&gt;
 admin=# \connect guestbook&lt;br /&gt;
 ÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂ´ÃÂÃÂ¾ÃÂµÃÂ´ÃÂ¸ÃÂ½ÃÂ¸ÃÂ»ÃÂ¸ÃÂÃÂ ÃÂº ÃÂ±ÃÂ°ÃÂ·ÃÂµ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ &amp;quot;guestbook&amp;quot;.&lt;br /&gt;
 guestbook=# create table guestbook (&lt;br /&gt;
 guestbook(# datum timestamp, author varchar, message varchar);&lt;br /&gt;
 CREATE TABLE&lt;br /&gt;
 guestbook=# alter table guestbook owner to &amp;quot;www-data&amp;quot;;&lt;br /&gt;
 ALTER TABLE&lt;br /&gt;
 guestbook=# \q&lt;br /&gt;
 admin@toshiba:~$&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ¾ÃÂ¶ÃÂ°ÃÂ»ÃÂÃÂ¹, ÃÂµÃÂ´ÃÂ¸ÃÂ½ÃÂÃÂÃÂ²ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂµ, ÃÂÃÂÃÂ¾ ÃÂ·ÃÂ´ÃÂµÃÂÃÂ ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂÃÂÃÂ½ÃÂ¸ÃÂÃÂ, ÃÂÃÂÃÂ¾ ÃÂ¿ÃÂ¾ÃÂÃÂµÃÂ¼ÃÂ ÃÂ±ÃÂ°ÃÂ·ÃÂµ ÃÂ¸ ÃÂÃÂ°ÃÂ±ÃÂ»ÃÂ¸ÃÂÃÂµ ÃÂ¼ÃÂ ÃÂ½ÃÂ°ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ»ÃÂ¸ ÃÂ²ÃÂ»ÃÂ°ÃÂ´ÃÂµÃÂ»ÃÂÃÂÃÂµÃÂ¼ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂ www-data. ÃÂÃÂÃÂ¾ÃÂÃÂÃÂ¾ ÃÂº ÃÂ½ÃÂ¸ÃÂ¼ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂÃÂ°ÃÂÃÂÃÂÃÂ cgi-ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ¹, ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂÃÂÃÂ¸ÃÂ¹ ÃÂ ÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ°ÃÂ¼ÃÂ¸ HTTP-ÃÂÃÂµÃÂÃÂ²ÃÂµÃÂÃÂ° Apache, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂ¹, ÃÂ² ÃÂÃÂ²ÃÂ¾ÃÂ ÃÂ¾ÃÂÃÂµÃÂÃÂµÃÂ´ÃÂ, ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂÃÂµÃÂÃÂÃÂ ÃÂ¾ÃÂ ÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂ [ÃÂ² ÃÂ²ÃÂ°ÃÂÃÂµÃÂ¼ ÃÂ´ÃÂ¸ÃÂÃÂÃÂÃÂ¸ÃÂ±ÃÂÃÂÃÂ¸ÃÂ²ÃÂµ ÃÂ¾ÃÂ½ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ½ÃÂ°ÃÂ·ÃÂ²ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ¿ÃÂ¾-ÃÂ´ÃÂÃÂÃÂ³ÃÂ¾ÃÂ¼ÃÂ, Ã¢ÂÂ ÃÂ¿ÃÂÃÂ¸ÃÂ¼. ÃÂÃÂµÃÂ´.]. ÃÂ PostgreSQL ÃÂ¿ÃÂ¾ ÃÂÃÂ¼ÃÂ¾ÃÂ»ÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂ ÃÂÃÂÃÂµÃÂ±ÃÂÃÂµÃÂ, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ¸ÃÂ¼ÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂ ÃÂ² ÃÂÃÂ ÃÂÃÂ¾ÃÂ²ÃÂ¿ÃÂ°ÃÂ´ÃÂ°ÃÂ»ÃÂ¾ ÃÂ ÃÂµÃÂ³ÃÂ¾ ÃÂÃÂ¸ÃÂÃÂÃÂµÃÂ¼ÃÂ½ÃÂÃÂ¼ ÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂµÃÂ¼. ÃÂÃÂ½ÃÂµ ÃÂÃÂÃÂ¾ ÃÂºÃÂ°ÃÂ¶ÃÂµÃÂÃÂÃÂ ÃÂ´ÃÂ¾ÃÂÃÂÃÂ°ÃÂÃÂ¾ÃÂÃÂ½ÃÂ¾ ÃÂÃÂ´ÃÂ¾ÃÂ±ÃÂ½ÃÂÃÂ¼, ÃÂÃÂ¾ÃÂÃÂ ÃÂ²ÃÂ, ÃÂºÃÂ¾ÃÂ½ÃÂµÃÂÃÂ½ÃÂ¾, ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂÃÂµ ÃÂ¿ÃÂ¾ÃÂÃÂÃÂÃÂ¿ÃÂ¸ÃÂÃÂ ÃÂ¿ÃÂ¾-ÃÂÃÂ²ÃÂ¾ÃÂµÃÂ¼ÃÂ.&lt;br /&gt;
&lt;br /&gt;
=== DB API ÃÂ½ÃÂ° ÃÂÃÂÃÂÃÂ°ÃÂ¶ÃÂµ ÃÂÃÂ½ÃÂ¸ÃÂÃÂ¸ÃÂºÃÂ°ÃÂÃÂ¸ÃÂ¸ ===&lt;br /&gt;
ÃÂÃÂÃÂÃÂ°ÃÂ»ÃÂ¾ÃÂÃÂ ÃÂÃÂ°ÃÂ·ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂÃÂÃÂÃÂ, ÃÂºÃÂ°ÃÂº ÃÂ¶ÃÂµ Python ÃÂ²ÃÂ·ÃÂ°ÃÂ¸ÃÂ¼ÃÂ¾ÃÂ´ÃÂµÃÂ¹ÃÂÃÂÃÂ²ÃÂÃÂµÃÂ ÃÂ ÃÂ±ÃÂ°ÃÂ·ÃÂ°ÃÂ¼ÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ. ÃÂÃÂ»ÃÂ ÃÂÃÂÃÂ¾ÃÂ³ÃÂ¾ Python ÃÂ¿ÃÂÃÂµÃÂ´ÃÂ¾ÃÂÃÂÃÂ°ÃÂ²ÃÂ»ÃÂÃÂµÃÂ DB API Ã¢ÂÂ ÃÂÃÂ¿ÃÂµÃÂÃÂ¸ÃÂ°ÃÂ»ÃÂÃÂ½ÃÂÃÂ¹ ÃÂ¸ÃÂ½ÃÂÃÂµÃÂÃÂÃÂµÃÂ¹ÃÂ, ÃÂÃÂ½ÃÂ¸ÃÂÃÂ¸ÃÂÃÂ¸ÃÂÃÂÃÂÃÂÃÂ¸ÃÂ¹ ÃÂ½ÃÂ°ÃÂ±ÃÂ¾ÃÂ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ¾ÃÂ², ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ ÃÂ±ÃÂÃÂ´ÃÂÃÂ ÃÂ¾ÃÂ´ÃÂ¸ÃÂ½ÃÂ°ÃÂºÃÂ¾ÃÂ²ÃÂ¾ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂÃÂ ÃÂ½ÃÂµÃÂ·ÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ¸ÃÂ¼ÃÂ¾ ÃÂ¾ÃÂ ÃÂÃÂ¾ÃÂ³ÃÂ¾, ÃÂ ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂ¹ ÃÂ¡ÃÂ£ÃÂÃÂ ÃÂ¼ÃÂ ÃÂ²ÃÂ·ÃÂ°ÃÂ¸ÃÂ¼ÃÂ¾ÃÂ´ÃÂµÃÂ¹ÃÂÃÂÃÂ²ÃÂÃÂµÃÂ¼. ÃÂÃÂ»ÃÂ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ ÃÂ PostgreSQL ÃÂ½ÃÂ°ÃÂ¼ ÃÂ¿ÃÂ¾ÃÂ½ÃÂ°ÃÂ´ÃÂ¾ÃÂ±ÃÂ¸ÃÂÃÂÃÂ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ PyPgSQL (ÃÂ² ÃÂÃÂÃÂ°ÃÂ½ÃÂ´ÃÂ°ÃÂÃÂÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¿ÃÂ¾ÃÂÃÂÃÂ°ÃÂ²ÃÂºÃÂµ ÃÂµÃÂ³ÃÂ¾ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ½ÃÂµ ÃÂ¾ÃÂºÃÂ°ÃÂ·ÃÂ°ÃÂÃÂÃÂÃÂ, ÃÂ½ÃÂ¾ ÃÂ²ÃÂ°ÃÂ ÃÂ¼ÃÂµÃÂ½ÃÂµÃÂ´ÃÂ¶ÃÂµÃÂ ÃÂ¿ÃÂ°ÃÂºÃÂµÃÂÃÂ¾ÃÂ² ÃÂ½ÃÂ°ÃÂ²ÃÂµÃÂÃÂ½ÃÂÃÂºÃÂ° ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ² ÃÂºÃÂÃÂÃÂÃÂµ, ÃÂºÃÂ°ÃÂº ÃÂµÃÂ³ÃÂ¾ ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¾ÃÂ²ÃÂ¸ÃÂÃÂ; ÃÂºÃÂÃÂÃÂ°ÃÂÃÂ¸, ÃÂÃÂÃÂ¾ ÃÂ½ÃÂµ ÃÂµÃÂ´ÃÂ¸ÃÂ½ÃÂÃÂÃÂ²ÃÂµÃÂ½ÃÂ½ÃÂÃÂ¹ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ Ã¢ÂÂ ÃÂ ÃÂ²ÃÂ°ÃÂ, ÃÂ²ÃÂ¾ÃÂ·ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾, ÃÂ±ÃÂÃÂ´ÃÂµÃÂ PyGreSQL, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂ¹ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂµÃÂ ÃÂ½ÃÂ¸ÃÂÃÂÃÂÃÂ ÃÂ½ÃÂ¸ ÃÂÃÂÃÂ¶ÃÂµ ÃÂ¸ ÃÂ ÃÂÃÂµÃÂ¼ÃÂ¸ ÃÂ¶ÃÂµ ÃÂÃÂ°ÃÂ¼ÃÂÃÂ¼ÃÂ¸ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ°ÃÂ¼ÃÂ¸).&lt;br /&gt;
&lt;br /&gt;
DB API ÃÂ¾ÃÂ¿ÃÂÃÂµÃÂ´ÃÂµÃÂ»ÃÂÃÂµÃÂ ÃÂÃÂÃÂ°ÃÂ½ÃÂ´ÃÂ°ÃÂÃÂÃÂ½ÃÂÃÂµ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ ÃÂ ÃÂ±ÃÂ°ÃÂ·ÃÂ°ÃÂ¼ÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ, ÃÂÃÂ°ÃÂº ÃÂÃÂÃÂ¾, ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂ¹ ÃÂ±ÃÂ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ ÃÂ²ÃÂ ÃÂ½ÃÂ¸ ÃÂ·ÃÂ°ÃÂ³ÃÂÃÂÃÂ·ÃÂ¸ÃÂ»ÃÂ¸ ÃÂ¸ ÃÂ ÃÂºÃÂ°ÃÂºÃÂ¾ÃÂ¹ ÃÂ±ÃÂ ÃÂ¡ÃÂ£ÃÂÃÂ ÃÂ½ÃÂ¸ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂ»ÃÂ¸ (ÃÂ±ÃÂÃÂ´ÃÂ ÃÂÃÂ¾ MySQL, PostgreSQL, SQLite ÃÂ¸ÃÂ»ÃÂ¸ ÃÂÃÂÃÂ¾-ÃÂÃÂ¾ ÃÂµÃÂÃÂµ), ÃÂ¼ÃÂµÃÂ½ÃÂÃÂÃÂÃÂÃÂ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂÃÂ¾ÃÂ»ÃÂÃÂºÃÂ¾ ÃÂ¸ÃÂ¼ÃÂ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ. ÃÂÃÂ»ÃÂ°ÃÂ²ÃÂ½ÃÂ¾ÃÂµ, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂÃÂµÃÂ¼ÃÂÃÂ¹ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ ÃÂÃÂ¾ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂÃÂÃÂ²ÃÂ¾ÃÂ²ÃÂ°ÃÂ» DB API. ÃÂ ÃÂ°ÃÂÃÂÃÂ¼ÃÂ¾ÃÂÃÂÃÂ¸ÃÂ¼ ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂºÃÂ¾ ÃÂ¾ÃÂÃÂ½ÃÂ¾ÃÂ²ÃÂ½ÃÂÃÂµ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
conn = connect(dsn='localhost', user='admin', password='superparol', database='mydb')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂ¢ÃÂ°ÃÂº ÃÂ¾ÃÂÃÂÃÂÃÂµÃÂÃÂÃÂ²ÃÂ»ÃÂÃÂµÃÂÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂ´ÃÂºÃÂ»ÃÂÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂº ÃÂ±ÃÂ°ÃÂ·ÃÂµ. ÃÂ ÃÂ·ÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ¸ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ¸ ÃÂ¾ÃÂ ÃÂÃÂ¸ÃÂÃÂÃÂ°ÃÂÃÂ¸ÃÂ¸, ÃÂ²ÃÂ°ÃÂ¼ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ¿ÃÂ¾ÃÂÃÂÃÂµÃÂ±ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂÃÂºÃÂ°ÃÂ·ÃÂ°ÃÂÃÂ ÃÂÃÂ¾ÃÂ»ÃÂÃÂºÃÂ¾ ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂ°ÃÂÃÂ°ÃÂ¼ÃÂµÃÂÃÂÃÂ (ÃÂ½ÃÂ°ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ, ÃÂ¸ÃÂ¼ÃÂ ÃÂÃÂ¾ÃÂÃÂÃÂ° 'localhost' ÃÂ¿ÃÂ¾ÃÂ´ÃÂÃÂ°ÃÂ·ÃÂÃÂ¼ÃÂµÃÂ²ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ¿ÃÂ¾ ÃÂÃÂ¼ÃÂ¾ÃÂ»ÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂ).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
cur = conn.cursor()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂÃÂÃÂÃÂ¾ÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂ´ÃÂ´ÃÂµÃÂÃÂ¶ÃÂ¸ÃÂ²ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ´ÃÂ°ÃÂ»ÃÂµÃÂºÃÂ¾ ÃÂ½ÃÂµ ÃÂ²ÃÂÃÂµÃÂ¼ÃÂ¸ ÃÂ¡ÃÂ£ÃÂÃÂ, ÃÂ½ÃÂ¾ ÃÂ´ÃÂ»ÃÂ ÃÂ¾ÃÂ±ÃÂÃÂ½ÃÂ¾ÃÂÃÂÃÂ¸ ÃÂ² DB API ÃÂ¾ÃÂ½ÃÂ¸ ÃÂ²ÃÂ²ÃÂµÃÂ´ÃÂµÃÂ½ÃÂ ÃÂ¸, ÃÂ² ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂµ ÃÂ½ÃÂµÃÂ¾ÃÂ±ÃÂÃÂ¾ÃÂ´ÃÂ¸ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ¸, ÃÂ´ÃÂ¾ÃÂ»ÃÂ¶ÃÂ½ÃÂ ÃÂÃÂ¼ÃÂÃÂ»ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂÃÂ¼ÃÂ¸ ÃÂÃÂ¾ÃÂ¿ÃÂÃÂÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ¸ÃÂÃÂºÃÂÃÂÃÂÃÂÃÂ²ÃÂµÃÂ½ÃÂ½ÃÂ¾. ÃÂ¢ÃÂ°ÃÂº ÃÂÃÂÃÂ¾ ÃÂ½ÃÂµ ÃÂ·ÃÂ°ÃÂ±ÃÂÃÂ²ÃÂ°ÃÂ¹ÃÂÃÂµ ÃÂ¾ÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ»ÃÂÃÂÃÂ ÃÂ²ÃÂÃÂµ ÃÂ²ÃÂ°ÃÂÃÂ¸ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂÃÂ ÃÂÃÂµÃÂÃÂµÃÂ· ÃÂºÃÂÃÂÃÂÃÂ¾ÃÂ.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
cur.execute('''SELECT * FROM mytable''')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂ¢ÃÂ°ÃÂº ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂÃÂµÃÂÃÂÃÂ SQL-ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂ. ÃÂÃÂÃÂ»ÃÂ¸ ÃÂ² ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂµ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂÃÂ° ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂÃÂÃÂÃÂÃÂ ÃÂ·ÃÂ½ÃÂ°ÃÂºÃÂ¾ÃÂ¼ÃÂµÃÂÃÂÃÂ° %s, ÃÂÃÂ¾ ÃÂ²ÃÂÃÂ¾ÃÂÃÂÃÂ¼ ÃÂ¿ÃÂ°ÃÂÃÂ°ÃÂ¼ÃÂµÃÂÃÂÃÂ¾ÃÂ¼ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂÃÂ¿ÃÂ¸ÃÂÃÂ¾ÃÂº ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂÃÂ-ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂ¹, ÃÂ¿ÃÂÃÂ¸ÃÂÃÂµÃÂ¼ ÃÂ² SQL-ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂÃÂµ ÃÂ·ÃÂ½ÃÂ°ÃÂºÃÂ¾ÃÂ¼ÃÂµÃÂÃÂÃÂ° ÃÂ½ÃÂµ ÃÂÃÂÃÂµÃÂ±ÃÂÃÂµÃÂÃÂÃÂ ÃÂ¾ÃÂºÃÂÃÂÃÂ¶ÃÂ°ÃÂÃÂ ÃÂ°ÃÂ¿ÃÂ¾ÃÂÃÂÃÂÃÂ¾ÃÂÃÂ°ÃÂ¼ÃÂ¸ Ã¢ÂÂ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ ÃÂÃÂ´ÃÂµÃÂ»ÃÂ°ÃÂµÃÂ ÃÂÃÂÃÂ¾ ÃÂÃÂ°ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ¾ÃÂÃÂÃÂµÃÂ»ÃÂÃÂ½ÃÂ¾ ÃÂ² ÃÂ·ÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ¸ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ¸ ÃÂ¾ÃÂ&lt;br /&gt;
ÃÂÃÂ¸ÃÂ¿ÃÂ° ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ¹.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
cur.fetchall()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ¾ÃÂ·ÃÂ²ÃÂÃÂ°ÃÂÃÂ°ÃÂµÃÂ ÃÂ´ÃÂ²ÃÂÃÂ¼ÃÂµÃÂÃÂ½ÃÂÃÂ¹ ÃÂÃÂ¿ÃÂ¸ÃÂÃÂ¾ÃÂº (ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂ¸ Ã¢ÂÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂ) ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂÃÂµÃÂ½ÃÂ½ÃÂÃÂ ÃÂ¾ÃÂ ÃÂ¡ÃÂ£ÃÂÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ. ÃÂ¡ÃÂÃÂÃÂµÃÂÃÂÃÂ²ÃÂÃÂÃÂ ÃÂ¸ ÃÂ´ÃÂÃÂÃÂ³ÃÂ¸ÃÂµ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ, ÃÂ¾ÃÂ·ÃÂ½ÃÂ°ÃÂºÃÂ¾ÃÂ¼ÃÂ¸ÃÂÃÂÃÂÃÂ ÃÂ ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂ¼ÃÂ¸ ÃÂ²ÃÂ ÃÂÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂÃÂµ ÃÂ² ÃÂ´ÃÂ¾ÃÂºÃÂÃÂ¼ÃÂµÃÂ½ÃÂÃÂ°ÃÂÃÂ¸ÃÂ¸ ÃÂ¸ÃÂ»ÃÂ¸ ÃÂ ÃÂ¿ÃÂ¾ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ ÃÂ·ÃÂ½ÃÂ°ÃÂºÃÂ¾ÃÂ¼ÃÂ¾ÃÂ¹ ÃÂ²ÃÂ°ÃÂ¼ ÃÂÃÂÃÂ½ÃÂºÃÂÃÂ¸ÃÂ¸ dir() ÃÂ´ÃÂ° ÃÂ¿ÃÂ°ÃÂÃÂ-ÃÂÃÂÃÂ¾ÃÂ¹ÃÂºÃÂ¸ ÃÂ½ÃÂµÃÂÃÂ»ÃÂ¾ÃÂ¶ÃÂ½ÃÂÃÂ ÃÂÃÂºÃÂÃÂ¿ÃÂµÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂÃÂ¾ÃÂ².&lt;br /&gt;
&lt;br /&gt;
=== ÃÂÃÂ°ÃÂºÃÂÃÂµÃÂ¿ÃÂ»ÃÂÃÂµÃÂ¼ ÃÂ½ÃÂ° ÃÂ¿ÃÂÃÂ°ÃÂºÃÂÃÂ¸ÃÂºÃÂµ ===&lt;br /&gt;
ÃÂÃÂµÃÂÃÂµÃÂ¹ÃÂ´ÃÂµÃÂ¼ ÃÂº ÃÂÃÂ°ÃÂÃÂÃÂ¼ÃÂ¾ÃÂÃÂÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ½ÃÂ°ÃÂÃÂµÃÂ³ÃÂ¾ ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂÃÂ°. ÃÂÃÂ°ÃÂÃÂ½ÃÂµÃÂ¼ ÃÂÃÂÃÂ°ÃÂ½ÃÂ´ÃÂ°ÃÂÃÂÃÂ½ÃÂ¾ Ã¢ÂÂ ÃÂÃÂºÃÂ°ÃÂ¶ÃÂµÃÂ¼ ÃÂºÃÂ¾ÃÂ´ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂºÃÂ, ÃÂ¿ÃÂ¾ÃÂ´ÃÂºÃÂ»ÃÂÃÂÃÂ¸ÃÂ¼ ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂÃÂµ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ¸:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/Python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
import PyPgSQL.PgSQL as pg&lt;br /&gt;
import cgi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ°ÃÂ»ÃÂµÃÂµ, ÃÂ¾ÃÂ¿ÃÂÃÂµÃÂ´ÃÂµÃÂ»ÃÂ¸ÃÂ¼ ÃÂ´ÃÂ²ÃÂµ ÃÂÃÂÃÂ½ÃÂºÃÂÃÂ¸ÃÂ¸. ÃÂÃÂµÃÂÃÂ²ÃÂ°ÃÂ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂ°ÃÂÃÂ ÃÂ·ÃÂ° ÃÂ´ÃÂ¾ÃÂ±ÃÂ°ÃÂ²ÃÂ»ÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ½ÃÂ¾ÃÂ²ÃÂ¾ÃÂ³ÃÂ¾ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ² ÃÂ±ÃÂ°ÃÂ·ÃÂ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def addMessage(author, message):&lt;br /&gt;
  db = pg.connect(database=&amp;quot;guestbook&amp;quot;)&lt;br /&gt;
  c = db.cursor()&lt;br /&gt;
  c.execute(&amp;quot;&amp;quot;&amp;quot;INSERT INTO guestbook (datum, author, message) VALUES ('now', %s, %s);&amp;quot;&amp;quot;&amp;quot;, (author, message))&lt;br /&gt;
  c.close()&lt;br /&gt;
  db.commit()&lt;br /&gt;
  db.close()&lt;br /&gt;
  print &amp;quot;Content-Type: text/html&amp;quot;&lt;br /&gt;
  print &amp;quot;Location: ?#form\n&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ°ÃÂº ÃÂ²ÃÂ¸ÃÂ´ÃÂ¸ÃÂÃÂµ, ÃÂ²ÃÂÃÂµ ÃÂ¾ÃÂÃÂµÃÂ½ÃÂ ÃÂ´ÃÂ°ÃÂ¶ÃÂµ ÃÂ»ÃÂ¾ÃÂ³ÃÂ¸ÃÂÃÂ½ÃÂ¾: ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ°ÃÂ²ÃÂ»ÃÂ¸ÃÂ²ÃÂ°ÃÂµÃÂ¼ ÃÂÃÂ¾ÃÂµÃÂ´ÃÂ¸ÃÂ½ÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ ÃÂÃÂ (ÃÂ¿ÃÂ¾ÃÂÃÂºÃÂ¾ÃÂ»ÃÂÃÂºÃÂ ÃÂ² ÃÂ½ÃÂ°ÃÂÃÂµÃÂ¼ ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂµ ÃÂ¿ÃÂ¾ÃÂ´ÃÂºÃÂ»ÃÂÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂÃÂµÃÂÃÂÃÂ ÃÂ ÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂµÃÂ¼ ÃÂÃÂµÃÂºÃÂÃÂÃÂµÃÂ³ÃÂ¾ ÃÂÃÂ¸ÃÂÃÂÃÂµÃÂ¼ÃÂ½ÃÂ¾ÃÂ³ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂ, ÃÂÃÂ¾ ÃÂ´ÃÂ¾ÃÂÃÂÃÂ°ÃÂÃÂ¾ÃÂÃÂ½ÃÂ¾ ÃÂÃÂºÃÂ°ÃÂ·ÃÂ°ÃÂÃÂ ÃÂÃÂ¾ÃÂ»ÃÂÃÂºÃÂ¾ ÃÂ¸ÃÂ¼ÃÂ ÃÂ±ÃÂ°ÃÂ·ÃÂ), ÃÂÃÂ¾ÃÂ·ÃÂ´ÃÂ°ÃÂµÃÂ¼ ÃÂºÃÂÃÂÃÂÃÂ¾ÃÂ (ÃÂ² PostgreSQL ÃÂ¾ÃÂ½ÃÂ¸ ÃÂ½ÃÂµ ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂÃÂÃÂÃÂÃÂ, ÃÂ½ÃÂ¾ ÃÂ¾ÃÂ½ÃÂ¸ ÃÂÃÂ¼ÃÂÃÂ»ÃÂ¸ÃÂÃÂÃÂÃÂÃÂÃÂ ÃÂºÃÂ°ÃÂ¶ÃÂ´ÃÂÃÂ¼ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂµÃÂ¼, ÃÂ¿ÃÂÃÂµÃÂÃÂµÃÂ½ÃÂ´ÃÂÃÂÃÂÃÂ¸ÃÂ¼ ÃÂ½ÃÂ° ÃÂÃÂ¾ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂÃÂÃÂ²ÃÂ¸ÃÂµ DB API), ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂÃÂµÃÂÃÂÃÂ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂ, ÃÂ·ÃÂ°ÃÂºÃÂÃÂÃÂ²ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂºÃÂÃÂÃÂÃÂ¾ÃÂ, ÃÂÃÂ¸ÃÂºÃÂÃÂ¸ÃÂÃÂÃÂÃÂÃÂÃÂ ÃÂ¸ÃÂ·ÃÂ¼ÃÂµÃÂ½ÃÂµÃÂ½ÃÂ¸ÃÂ (PostgreSQL ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂÃÂµÃÂ ÃÂÃÂÃÂ°ÃÂ½ÃÂ·ÃÂ°ÃÂºÃÂÃÂ¸ÃÂ¸, ÃÂ¿ÃÂ¾ÃÂÃÂÃÂ¾ÃÂ¼ÃÂ ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ¼ÃÂµÃÂÃÂ¾ÃÂ´ÃÂ° commit() ÃÂ¾ÃÂ±ÃÂÃÂ·ÃÂ°ÃÂÃÂµÃÂ»ÃÂÃÂ½ÃÂ¾, ÃÂ¸ÃÂ½ÃÂ°ÃÂÃÂµ ÃÂ²ÃÂ°ÃÂÃÂ¸ ÃÂ¸ÃÂ·ÃÂ¼ÃÂµÃÂ½ÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ½ÃÂµ ÃÂ±ÃÂÃÂ´ÃÂÃÂ ÃÂÃÂ¾ÃÂÃÂÃÂ°ÃÂ½ÃÂµÃÂ½ÃÂ), ÃÂ¸, ÃÂ½ÃÂ°ÃÂºÃÂ¾ÃÂ½ÃÂµÃÂ, ÃÂ·ÃÂ°ÃÂºÃÂÃÂÃÂ²ÃÂ°ÃÂµÃÂ¼ ÃÂÃÂ°ÃÂ¼ÃÂ¾ ÃÂÃÂ¾ÃÂµÃÂ´ÃÂ¸ÃÂ½ÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ ÃÂ±ÃÂ°ÃÂ·ÃÂ¾ÃÂ¹. ÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂµ datum ÃÂ·ÃÂ°ÃÂ½ÃÂ¾ÃÂÃÂ¸ÃÂ¼ ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ ÃÂ²ÃÂÃÂÃÂÃÂ¾ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ¹ PostgreSQL Ã¢ÂÂ now, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂ°ÃÂ ÃÂºÃÂ°ÃÂ¶ÃÂ´ÃÂÃÂ¹ ÃÂÃÂ°ÃÂ· ÃÂ·ÃÂ°ÃÂ¼ÃÂµÃÂ½ÃÂÃÂµÃÂÃÂÃÂ ÃÂÃÂµÃÂºÃÂÃÂÃÂ¸ÃÂ¼ ÃÂ·ÃÂ½ÃÂ°ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµÃÂ¼ ÃÂ´ÃÂ°ÃÂÃÂ ÃÂ¸ ÃÂ²ÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ¸.&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂ ÃÂ¸ ÃÂ¿ÃÂµÃÂÃÂ°ÃÂÃÂ ÃÂ·ÃÂ°ÃÂ³ÃÂ¾ÃÂ»ÃÂ¾ÃÂ²ÃÂºÃÂ° ÃÂ«LocationÃÂ» ÃÂ²ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂÃÂµÃÂÃÂÃÂ ÃÂ´ÃÂ»ÃÂ ÃÂÃÂ¾ÃÂ³ÃÂ¾, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ¿ÃÂµÃÂÃÂµÃÂ½ÃÂ°ÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂ ÃÂ½ÃÂ° ÃÂÃÂÃÂ¾ÃÂ ÃÂ¶ÃÂµ ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ¹, ÃÂ½ÃÂ¾ ÃÂÃÂ¶ÃÂµ ÃÂ±ÃÂµÃÂ· ÃÂ¿ÃÂ°ÃÂÃÂ°ÃÂ¼ÃÂµÃÂÃÂÃÂ¾ÃÂ² Ã¢ÂÂ ÃÂ¼ÃÂ ÃÂ¶ÃÂµ ÃÂ´ÃÂ¾ÃÂ»ÃÂ¶ÃÂ½ÃÂ ÃÂ¿ÃÂ¾ÃÂºÃÂ°ÃÂ·ÃÂ°ÃÂÃÂ ÃÂºÃÂ»ÃÂ¸ÃÂµÃÂ½ÃÂÃÂ, ÃÂÃÂÃÂ¾ ÃÂ¾ÃÂ½ ÃÂ½ÃÂ° ÃÂÃÂ°ÃÂ¼ÃÂ¾ÃÂ¼ ÃÂ´ÃÂµÃÂ»ÃÂµ ÃÂ²ÃÂ²ÃÂµÃÂ»? (ÃÂ¯ÃÂºÃÂ¾ÃÂÃÂ #form ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂÃÂµÃÂÃÂÃÂ, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ°ÃÂ²ÃÂÃÂ¾ÃÂ¼ÃÂ°ÃÂÃÂ¸ÃÂÃÂµÃÂÃÂºÃÂ¸ ÃÂ¿ÃÂÃÂ¾ÃÂºÃÂÃÂÃÂÃÂ¸ÃÂÃÂ ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂÃÂºÃÂ ÃÂ½ÃÂ° ÃÂ¿ÃÂ¾ÃÂÃÂ»ÃÂµÃÂ´ÃÂ½ÃÂµÃÂµ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂµ).&lt;br /&gt;
&lt;br /&gt;
ÃÂÃÂÃÂ¾ÃÂÃÂ°ÃÂ ÃÂÃÂÃÂ½ÃÂºÃÂÃÂ¸ÃÂ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂ°ÃÂÃÂ ÃÂ·ÃÂ° ÃÂ²ÃÂÃÂ²ÃÂ¾ÃÂ´ ÃÂ½ÃÂ° ÃÂÃÂºÃÂÃÂ°ÃÂ½ ÃÂÃÂ¶ÃÂµ ÃÂ¾ÃÂÃÂÃÂ°ÃÂ²ÃÂ»ÃÂµÃÂ½ÃÂ½ÃÂÃÂÃÂ² ÃÂºÃÂ½ÃÂ¸ÃÂ³ÃÂµ ÃÂ·ÃÂ°ÃÂ¿ÃÂ¸ÃÂÃÂµÃÂ¹, ÃÂ° ÃÂÃÂ°ÃÂºÃÂ¶ÃÂµ ÃÂ·ÃÂ° ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ, ÃÂ ÃÂ¿ÃÂ¾ÃÂ¼ÃÂ¾ÃÂÃÂÃÂ ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂ¾ÃÂ¹ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ´ÃÂ¾ÃÂ±ÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ ÃÂ¸ ÃÂÃÂ²ÃÂ¾ÃÂµ ÃÂ²ÃÂÃÂÃÂºÃÂ°ÃÂ·ÃÂÃÂ²ÃÂ°ÃÂ½ÃÂ¸ÃÂµ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def showGB():&lt;br /&gt;
  db = pg.connect(database=&amp;quot;guestbook&amp;quot;)&lt;br /&gt;
  c = db.cursor()&lt;br /&gt;
  c.execute(&amp;quot;&amp;quot;&amp;quot;SELECT datum, author, message FROM guestbook ORDER BY datum;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
  res = c.fetchall()&lt;br /&gt;
  c.close()&lt;br /&gt;
db.close()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂ ÃÂÃÂÃÂ¾ÃÂ¼ ÃÂÃÂÃÂ°ÃÂ³ÃÂ¼ÃÂµÃÂ½ÃÂÃÂµ ÃÂ¼ÃÂ ÃÂ²ÃÂÃÂ±ÃÂ¸ÃÂÃÂ°ÃÂµÃÂ¼ ÃÂ²ÃÂÃÂµ ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂ¸ ÃÂ¸ÃÂ· ÃÂ½ÃÂ°ÃÂÃÂµÃÂ¹ ÃÂÃÂ°ÃÂ±ÃÂ»ÃÂ¸ÃÂÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ, ÃÂÃÂ¾ÃÂÃÂÃÂ¸ÃÂÃÂÃÂ ÃÂ¸ÃÂ ÃÂ¿ÃÂ¾ ÃÂ´ÃÂ°ÃÂÃÂµ. ÃÂ ÃÂµÃÂ·ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂ ÃÂÃÂ¾ÃÂÃÂÃÂ°ÃÂ½ÃÂÃÂµÃÂÃÂÃÂ ÃÂ² ÃÂ¿ÃÂµÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ¹ res, ÃÂ ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂ¾ÃÂ¹ ÃÂ¸ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ¼ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂÃÂ. ÃÂ¢ÃÂµÃÂ¿ÃÂµÃÂÃÂ ÃÂ¾ÃÂÃÂÃÂ°ÃÂ»ÃÂ¾ÃÂÃÂ ÃÂ»ÃÂ¸ÃÂÃÂ ÃÂ°ÃÂºÃÂºÃÂÃÂÃÂ°ÃÂÃÂ½ÃÂµÃÂ½ÃÂÃÂºÃÂ¾ ÃÂÃÂ°ÃÂ·ÃÂ»ÃÂ¾ÃÂ¶ÃÂ¸ÃÂÃÂ ÃÂ½ÃÂ°ÃÂÃÂ¸ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂ¾ ÃÂÃÂ°ÃÂ±ÃÂ»ÃÂ¸ÃÂÃÂºÃÂ°ÃÂ¼ ÃÂ¸ ÃÂ²ÃÂÃÂ²ÃÂµÃÂÃÂÃÂ¸ ÃÂ¸ÃÂ ÃÂ½ÃÂ° ÃÂÃÂºÃÂÃÂ°ÃÂ½:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 print &amp;quot;Content-Type: text/html\n&amp;quot;&lt;br /&gt;
 print &amp;quot;&amp;lt;H1 style='color:#7777FF'&amp;gt;&amp;lt;U&amp;gt;ÃÂÃÂµÃÂ»ÃÂÃÂºÃÂ°ÃÂ¼ ÃÂº ÃÂ½ÃÂ°ÃÂ¼ ÃÂ² ÃÂ³ÃÂ¾ÃÂÃÂÃÂ¸!&amp;lt;/U&amp;gt;&amp;lt;/H1&amp;gt;&amp;quot;&lt;br /&gt;
 for item in res:&lt;br /&gt;
   print &amp;quot;&amp;quot;&amp;quot;&amp;lt;TABLE width='90%%'&amp;gt;&lt;br /&gt;
                &amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;&amp;lt;SMALL&amp;gt;ÃÂ¢ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂ¸ÃÂ &amp;lt;B&amp;gt;%s&amp;lt;/B&amp;gt; ÃÂ¿ÃÂ¾ÃÂ²ÃÂµÃÂ´ÃÂ°ÃÂ»ÃÂ½ÃÂ°ÃÂ¼ ÃÂÃÂ»ÃÂµÃÂ´ÃÂÃÂÃÂÃÂµÃÂµ:&amp;lt;/SMALL&amp;gt;&lt;br /&gt;
                    &amp;lt;TD align='right'&amp;gt;&amp;lt;SMALL&amp;gt;%s&amp;lt;/SMALL&amp;gt;&lt;br /&gt;
                &amp;lt;TR&amp;gt;&amp;lt;TD style='background-color:#DDDDFF' colspan='2'&amp;gt;%s&lt;br /&gt;
            &amp;lt;/TABLE&amp;gt;&amp;quot;&amp;quot;&amp;quot; % (item[1], str(item[0])[:19], item[2])&lt;br /&gt;
 print &amp;quot;&amp;lt;HR&amp;gt;&amp;lt;A name='form'&amp;gt;&amp;lt;H3&amp;gt;ÃÂÃÂÃÂ¸ÃÂÃÂ¾ÃÂµÃÂ´ÃÂ¸ÃÂ½ÃÂÃÂ¹ÃÂÃÂµÃÂÃÂ ÃÂº ÃÂ´ÃÂ¸ÃÂÃÂºÃÂÃÂÃÂÃÂ¸ÃÂ¸:&amp;lt;/H3&amp;gt;&amp;quot;&lt;br /&gt;
 print &amp;quot;&amp;quot;&amp;quot;&amp;lt;FORM method='GET'&amp;gt;&lt;br /&gt;
           ÃÂÃÂ°ÃÂÃÂµ ÃÂ¸ÃÂ¼ÃÂ: &amp;lt;INPUT type='text' name='author'&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
           ÃÂ§ÃÂÃÂ¾ ÃÂ²ÃÂ ÃÂ´ÃÂÃÂ¼ÃÂ°ÃÂµÃÂÃÂµ ÃÂ¿ÃÂ¾ ÃÂÃÂÃÂ¾ÃÂ¼ÃÂ ÃÂ¿ÃÂ¾ÃÂ²ÃÂ¾ÃÂ´ÃÂ:&amp;lt;BR&amp;gt;&lt;br /&gt;
          &amp;lt;TEXTAREA name='message' rows='5' cols='80'&amp;gt;&amp;lt;/TEXTAREA&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
          &amp;lt;INPUT type='submit' value='ÃÂÃÂÃÂ¿ÃÂÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ'&amp;gt;&lt;br /&gt;
          &amp;lt;/FORM&amp;gt;&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;img&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
[[ÃÂÃÂ·ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂµ:Img 83 81 1.png|thumb|ÃÂÃÂ¸ ÃÂÃÂ¼ÃÂ°ÃÂ¹ÃÂ»ÃÂ¸ÃÂºÃÂ¾ÃÂ², ÃÂ½ÃÂ¸ BB-ÃÂºÃÂ¾ÃÂ´ÃÂ°, ÃÂ½ÃÂ¸ ÃÂ´ÃÂ°ÃÂ¶ÃÂµ ÃÂ»ÃÂ¾ÃÂ³ÃÂ¾ÃÂÃÂ¸ÃÂ¿ÃÂ°... ÃÂÃÂ°ÃÂÃÂ¾ ÃÂ¼ÃÂ ÃÂÃÂ´ÃÂµÃÂ»ÃÂ°ÃÂ»ÃÂ¸ ÃÂÃÂÃÂ ÃÂ³ÃÂ¾ÃÂÃÂÃÂµÃÂ²ÃÂÃÂ ÃÂ·ÃÂ° 10 ÃÂ¼ÃÂ¸ÃÂ½ÃÂÃÂ!]]&lt;br /&gt;
&lt;br /&gt;
ÃÂ¡ÃÂ¼ÃÂÃÂÃÂ» ÃÂºÃÂ¾ÃÂ½ÃÂÃÂÃÂÃÂÃÂºÃÂÃÂ¸ÃÂ¸ str(item[0])[:19] ÃÂ·ÃÂ°ÃÂºÃÂ»ÃÂÃÂÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂ² ÃÂÃÂ¾ÃÂ¼, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ² ÃÂÃÂÃÂÃÂ¾ÃÂºÃÂµ ÃÂ²ÃÂÃÂµÃÂ¼ÃÂµÃÂ½ÃÂ¸ ÃÂ¾ÃÂÃÂÃÂµÃÂÃÂ ÃÂ½ÃÂµÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂÃÂµ ÃÂ½ÃÂ°ÃÂ¼ ÃÂ¼ÃÂ¸ÃÂ»ÃÂ»ÃÂ¸ÃÂÃÂµÃÂºÃÂÃÂ½ÃÂ´ÃÂ, ÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ ÃÂÃÂ¾ÃÂÃÂÃÂ°ÃÂ½ÃÂÃÂÃÂÃÂÃÂ ÃÂ² ÃÂ¿ÃÂ¾ÃÂ»ÃÂµ ÃÂÃÂ¸ÃÂ¿ÃÂ° timestamp. ÃÂÃÂ¾ÃÂÃÂ»ÃÂµ ÃÂ²ÃÂÃÂµÃÂ ÃÂ¾ÃÂ¿ÃÂÃÂ±ÃÂ»ÃÂ¸ÃÂºÃÂ¾ÃÂ²ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂ¹ ÃÂ²ÃÂÃÂ²ÃÂ¾ÃÂ´ÃÂ¸ÃÂ¼ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ ÃÂ´ÃÂ¾ÃÂ±ÃÂ°ÃÂ²ÃÂ»ÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ½ÃÂ¾ÃÂ²ÃÂ¾ÃÂ³ÃÂ¾, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂºÃÂ°ÃÂ¶ÃÂ´ÃÂÃÂ¹ ÃÂ¼ÃÂ¾ÃÂ³ ÃÂ¿ÃÂÃÂ¸ÃÂÃÂ¾ÃÂµÃÂ´ÃÂ¸ÃÂ½ÃÂ¸ÃÂÃÂÃÂÃÂ ÃÂº ÃÂ½ÃÂ°ÃÂÃÂµÃÂ¹ ÃÂ´ÃÂ¸ÃÂÃÂºÃÂÃÂÃÂÃÂ¸ÃÂ¸. ÃÂÃÂÃÂÃÂ°ÃÂÃÂ¸, ÃÂ² ÃÂÃÂµÃÂ³ÃÂµ &amp;lt;FORM&amp;gt; ÃÂ¼ÃÂ ÃÂ½ÃÂµ ÃÂÃÂºÃÂ°ÃÂ·ÃÂ°ÃÂ»ÃÂ¸ ÃÂ¿ÃÂ°ÃÂÃÂ°ÃÂ¼ÃÂµÃÂÃÂ action, ÃÂ¿ÃÂ¾ÃÂÃÂºÃÂ¾ÃÂ»ÃÂÃÂºÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ±ÃÂÃÂ´ÃÂÃÂ ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂ²ÃÂ°ÃÂÃÂÃÂÃÂ ÃÂ½ÃÂ° ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂºÃÂ ÃÂÃÂÃÂ¾ÃÂ¼ÃÂ ÃÂ¶ÃÂµ ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ (ÃÂ±ÃÂ»ÃÂ°ÃÂ³ÃÂ¾ÃÂ´ÃÂ°ÃÂÃÂ ÃÂÃÂµÃÂ¼ÃÂ ÃÂ¸ÃÂ¼ÃÂ ÃÂÃÂÃÂµÃÂ½ÃÂ°ÃÂÃÂ¸ÃÂ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ¿ÃÂÃÂ¸ÃÂÃÂ²ÃÂ¾ÃÂ¸ÃÂÃÂ ÃÂ»ÃÂÃÂ±ÃÂ¾ÃÂµ).&lt;br /&gt;
ÃÂÃÂ°ÃÂºÃÂ¾ÃÂ½ÃÂµÃÂ, ÃÂ¿ÃÂ¾ÃÂÃÂ»ÃÂµÃÂ´ÃÂ½ÃÂ¸ÃÂ¹ ÃÂÃÂÃÂ°ÃÂ³ÃÂ¼ÃÂµÃÂ½ÃÂ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
form = cgi.FieldStorage()&lt;br /&gt;
if form.has_key(&amp;quot;message&amp;quot;) and form.has_key(&amp;quot;author&amp;quot;):&lt;br /&gt;
  author = cgi.escape(form[&amp;quot;author&amp;quot;].value)&lt;br /&gt;
  message = cgi.escape(form[&amp;quot;message&amp;quot;].value)&lt;br /&gt;
  message = message.replace(&amp;quot;\n&amp;quot;, &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;)&lt;br /&gt;
  addMessage(author, message)&lt;br /&gt;
else:&lt;br /&gt;
  showGB()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂ¡ÃÂ¾ÃÂ·ÃÂ´ÃÂ°ÃÂµÃÂ¼ FieldStorage-ÃÂ¾ÃÂ±ÃÂÃÂµÃÂºÃÂ, ÃÂ¸ ÃÂµÃÂÃÂ»ÃÂ¸ ÃÂ² ÃÂ½ÃÂµÃÂ¼ ÃÂµÃÂÃÂÃÂ ÃÂ·ÃÂ°ÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂµÃÂ½ÃÂ½ÃÂÃÂµ ÃÂ¿ÃÂ¾ÃÂ»ÃÂ message ÃÂ¸ author (ÃÂÃÂ¾ ÃÂµÃÂÃÂÃÂ ÃÂ·ÃÂ°ÃÂ¿ÃÂÃÂ¾ÃÂ ÃÂ±ÃÂÃÂ» ÃÂÃÂÃÂ¾ÃÂÃÂ¼ÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂ½ ÃÂ¸ÃÂ· ÃÂ·ÃÂ°ÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂµÃÂ½ÃÂ½ÃÂ¾ÃÂ¹ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂµÃÂ¼ ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ), ÃÂÃÂ¾, ÃÂ½ÃÂµÃÂ¼ÃÂ½ÃÂ¾ÃÂ¶ÃÂºÃÂ¾ ÃÂ¸ÃÂ ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ°ÃÂ² (ÃÂÃÂÃÂ½ÃÂºÃÂÃÂ¸ÃÂ cgi.escape() ÃÂ·ÃÂ°ÃÂ¼ÃÂµÃÂ½ÃÂÃÂµÃÂ ÃÂ²ÃÂÃÂµ ÃÂ«ÃÂ½ÃÂµÃÂ±ÃÂ»ÃÂ°ÃÂ³ÃÂ¾ÃÂ½ÃÂ°ÃÂ´ÃÂµÃÂ¶ÃÂ½ÃÂÃÂµÃÂ» ÃÂÃÂ¸ÃÂ¼ÃÂ²ÃÂ¾ÃÂ»ÃÂ Ã¢ÂÂ ÃÂ½ÃÂ°ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ, &amp;lt; Ã¢ÂÂ ÃÂ¸ÃÂ ÃÂÃÂÃÂ°ÃÂ½ÃÂ´ÃÂ°ÃÂÃÂÃÂ½ÃÂÃÂ¼ÃÂ¸ SGML-ÃÂÃÂÃÂÃÂ½ÃÂ¾ÃÂÃÂÃÂÃÂ¼ÃÂ¸, ÃÂ² ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂ¾ÃÂ¼ ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂµ Ã¢ÂÂ &amp;amp;lt;), ÃÂ¿ÃÂµÃÂÃÂµÃÂ´ÃÂ°ÃÂµÃÂ¼ ÃÂÃÂÃÂ½ÃÂºÃÂÃÂ¸ÃÂ¸ addMessage(). ÃÂÃÂ±ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂºÃÂ° ÃÂ½ÃÂÃÂ¶ÃÂ½ÃÂ° ÃÂ´ÃÂ»ÃÂ ÃÂÃÂ¾ÃÂ³ÃÂ¾, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ·ÃÂ»ÃÂ¾ÃÂÃÂ¼ÃÂÃÂÃÂ»ÃÂµÃÂ½ÃÂ½ÃÂ¸ÃÂº ÃÂ½ÃÂµ ÃÂ¼ÃÂ¾ÃÂ³ ÃÂ²ÃÂ²ÃÂµÃÂÃÂÃÂ¸ ÃÂ² ÃÂ¿ÃÂ¾ÃÂ»ÃÂµ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ¸ÃÂ»ÃÂ¸ ÃÂ¸ÃÂ¼ÃÂµÃÂ½ÃÂ¸ ÃÂ°ÃÂ²ÃÂÃÂ¾ÃÂÃÂ° ÃÂÃÂÃÂ¾-ÃÂ½ÃÂ¸ÃÂ±ÃÂÃÂ´ÃÂ ÃÂÃÂ°ÃÂºÃÂ¾ÃÂµ:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT&amp;gt;alert('ÃÂÃÂ° ÃÂ¿ÃÂ¾ÃÂÃÂ»ÃÂ¸ ÃÂ²ÃÂ ÃÂ²ÃÂÃÂµ!');&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÃÂ ÃÂÃÂ»ÃÂ¾ÃÂ²ÃÂ, ÃÂ¿ÃÂÃÂµÃÂ½ÃÂµÃÂ±ÃÂÃÂµÃÂ³ÃÂ°ÃÂÃÂ ÃÂ¿ÃÂÃÂ¾ÃÂ²ÃÂµÃÂÃÂºÃÂ¾ÃÂ¹ ÃÂ²ÃÂ²ÃÂµÃÂ´ÃÂµÃÂ½ÃÂ½ÃÂÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ ÃÂ½ÃÂ¸ ÃÂ² ÃÂºÃÂ¾ÃÂµÃÂ¼ ÃÂÃÂ»ÃÂÃÂÃÂ°ÃÂµ ÃÂ½ÃÂµÃÂ»ÃÂÃÂ·ÃÂ. ÃÂÃÂ°ÃÂ¹ÃÂ´ÃÂ¸ÃÂÃÂµ ÃÂºÃÂ°ÃÂº-ÃÂ½ÃÂ¸ÃÂ±ÃÂÃÂ´ÃÂ ÃÂ½ÃÂ° [http://securitylab.ru securitylab.ru] ÃÂ¸ ÃÂ¿ÃÂ¾ÃÂÃÂ¼ÃÂ¾ÃÂÃÂÃÂ¸ÃÂÃÂµ, ÃÂÃÂºÃÂ¾ÃÂ»ÃÂÃÂºÃÂ¾ ÃÂÃÂÃÂ·ÃÂ²ÃÂ¸ÃÂ¼ÃÂ¾ÃÂÃÂÃÂµÃÂ¹ ÃÂÃÂ¸ÃÂ¿ÃÂ° ÃÂ«XSSÃÂ» ÃÂ¾ÃÂ±ÃÂ½ÃÂ°ÃÂÃÂÃÂ¶ÃÂ¸ÃÂ²ÃÂ°ÃÂµÃÂÃÂÃÂ ÃÂºÃÂ°ÃÂ¶ÃÂ´ÃÂÃÂ¹ ÃÂ¼ÃÂµÃÂÃÂÃÂ! ÃÂ¢ÃÂ°ÃÂº ÃÂÃÂÃÂ¾ ÃÂÃÂÃÂÃÂºÃÂ¸ ÃÂÃÂÃÂÃÂºÃÂ°ÃÂ¼ÃÂ¸, ÃÂ½ÃÂ¾ ÃÂ¿ÃÂ¾ÃÂÃÂ»ÃÂµÃÂ´ÃÂÃÂÃÂ²ÃÂ¸ÃÂ ÃÂ¼ÃÂ¾ÃÂ³ÃÂÃÂ ÃÂ±ÃÂÃÂÃÂ ÃÂ¾ÃÂÃÂµÃÂ½ÃÂ ÃÂÃÂµÃÂÃÂÃÂµÃÂ·ÃÂ½ÃÂÃÂ¼ÃÂ¸.&lt;br /&gt;
&lt;br /&gt;
=== ÃÂÃÂÃÂ´ÃÂ° ÃÂ¶ÃÂµ ÃÂ½ÃÂ°ÃÂ¼ ÃÂÃÂµÃÂ¿ÃÂµÃÂÃÂ ÃÂ¸ÃÂ´ÃÂÃÂ¸? ===&lt;br /&gt;
ÃÂÃÂÃÂ°ÃÂº, ÃÂÃÂÃÂ¾-ÃÂÃÂ¾ ÃÂ²ÃÂ¿ÃÂ¾ÃÂ»ÃÂ½ÃÂµ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ¾ÃÂÃÂ¿ÃÂ¾ÃÂÃÂ¾ÃÂ±ÃÂ½ÃÂ¾ÃÂµ ÃÂ ÃÂ½ÃÂ°ÃÂ ÃÂµÃÂÃÂÃÂ (ÃÂÃÂ¼. [[LXF83:Python#img|ÃÂÃÂ¸ÃÂÃÂÃÂ½ÃÂ¾ÃÂº]]). ÃÂÃÂ¾ ÃÂºÃÂ°ÃÂº ÃÂ²ÃÂ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂµÃÂ ÃÂ´ÃÂ¾ÃÂ³ÃÂ°ÃÂ´ÃÂ°ÃÂÃÂÃÂÃÂ, ÃÂ½ÃÂ°ÃÂÃÂ° ÃÂ³ÃÂ¾ÃÂÃÂÃÂµÃÂ²ÃÂ°ÃÂ ÃÂ¾ÃÂÃÂµÃÂ½ÃÂ ÃÂ´ÃÂ°ÃÂ»ÃÂµÃÂºÃÂ° ÃÂ¾ÃÂ ÃÂÃÂ¾ÃÂ²ÃÂµÃÂÃÂÃÂµÃÂ½ÃÂÃÂÃÂ²ÃÂ°. ÃÂ§ÃÂÃÂ¾ ÃÂµÃÂÃÂµ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂÃÂ´ÃÂµÃÂ»ÃÂ°ÃÂÃÂ? ÃÂÃÂ, ÃÂ½ÃÂ°ÃÂ¿ÃÂÃÂ¸ÃÂ¼ÃÂµÃÂ, ÃÂÃÂ°ÃÂ·ÃÂ±ÃÂ¸ÃÂÃÂ ÃÂ½ÃÂ° ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂÃÂ. ÃÂÃÂ¾ÃÂºÃÂ° ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂ¹ ÃÂ² ÃÂ½ÃÂµÃÂ¹ ÃÂ±ÃÂÃÂ´ÃÂµÃÂ ÃÂ½ÃÂµ ÃÂ±ÃÂ¾ÃÂ»ÃÂÃÂÃÂµ ÃÂ´ÃÂÃÂ¶ÃÂ¸ÃÂ½ÃÂ, ÃÂÃÂ¾ÃÂ¹ÃÂ´ÃÂµÃÂ ÃÂ¸ ÃÂÃÂ°ÃÂº. ÃÂ ÃÂºÃÂ¾ÃÂ³ÃÂ´ÃÂ° ÃÂ¸ÃÂ ÃÂÃÂ¸ÃÂÃÂ»ÃÂ¾ ÃÂ´ÃÂ¾ÃÂ¹ÃÂ´ÃÂµÃÂ ÃÂ´ÃÂ¾ ÃÂÃÂ¾ÃÂÃÂ½ÃÂ¸, ÃÂÃÂ¾ ÃÂÃÂµÃÂ´ÃÂºÃÂ¸ÃÂ¹ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂ ÃÂ´ÃÂ¾ÃÂ¶ÃÂ´ÃÂµÃÂÃÂÃÂ ÃÂ¾ÃÂºÃÂ¾ÃÂ½ÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂ ÃÂ·ÃÂ°ÃÂ³ÃÂÃÂÃÂ·ÃÂºÃÂ¸ ÃÂ²ÃÂÃÂµÃÂ ÃÂ´ÃÂ°ÃÂ½ÃÂ½ÃÂÃÂ. ÃÂÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ´ÃÂ°ÃÂÃÂ ÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂµÃÂ»ÃÂÃÂ¼ ÃÂ²ÃÂ¾ÃÂ·ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ÃÂÃÂÃÂ ÃÂ¸ÃÂÃÂ¿ÃÂ¾ÃÂ»ÃÂÃÂ·ÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂ ÃÂ½ÃÂµÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ HTML-ÃÂÃÂµÃÂ³ÃÂ¸, ÃÂÃÂÃÂ¾ÃÂ±ÃÂ ÃÂ¸ÃÂ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂ ÃÂ²ÃÂÃÂ³ÃÂ»ÃÂÃÂ´ÃÂµÃÂ»ÃÂ¸ ÃÂ±ÃÂ¾ÃÂ»ÃÂµÃÂµ ÃÂºÃÂÃÂ°ÃÂÃÂ¾ÃÂÃÂ½ÃÂ¾. ÃÂÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ´ÃÂ¾ÃÂ±ÃÂ°ÃÂ²ÃÂ¸ÃÂÃÂ ÃÂÃÂ¼ÃÂ°ÃÂ¹ÃÂ»ÃÂ¸ÃÂºÃÂ¾ÃÂ²... ÃÂ ÃÂ¼ÃÂ¾ÃÂ¶ÃÂ½ÃÂ¾ ÃÂ´ÃÂ°ÃÂ¶ÃÂµ ÃÂÃÂ´ÃÂµÃÂ»ÃÂ°ÃÂÃÂ ÃÂ¼ÃÂ¾ÃÂ´ÃÂÃÂ»ÃÂ ÃÂ°ÃÂ´ÃÂ¼ÃÂ¸ÃÂ½ÃÂ¸ÃÂÃÂÃÂÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂ½ÃÂ¸ÃÂ, ÃÂ¿ÃÂ¾ÃÂ·ÃÂ²ÃÂ¾ÃÂ»ÃÂÃÂÃÂÃÂ¸ÃÂ¹ ÃÂÃÂµÃÂ´ÃÂ°ÃÂºÃÂÃÂ¸ÃÂÃÂ¾ÃÂ²ÃÂ°ÃÂÃÂ ÃÂ¸ÃÂ»ÃÂ¸ ÃÂÃÂ´ÃÂ°ÃÂ»ÃÂÃÂÃÂ ÃÂÃÂ¾ÃÂ¾ÃÂ±ÃÂÃÂµÃÂ½ÃÂ¸ÃÂ, ÃÂ° ÃÂÃÂ°ÃÂºÃÂ¶ÃÂµ ÃÂ¾ÃÂÃÂ²ÃÂµÃÂÃÂ°ÃÂÃÂ ÃÂ½ÃÂ° ÃÂ½ÃÂ¸ÃÂ. ÃÂ¢ÃÂ°ÃÂº ÃÂÃÂÃÂ¾ ÃÂÃÂ°ÃÂ±ÃÂ¾ÃÂÃÂ ÃÂ½ÃÂµÃÂ¿ÃÂ¾ÃÂÃÂ°ÃÂÃÂÃÂ¹ ÃÂºÃÂÃÂ°ÃÂ¹. ÃÂÃÂµÃÂÃÂ·ÃÂ°ÃÂ¹ÃÂÃÂµ Ã¢ÂÂ ÃÂ½ÃÂµ ÃÂ±ÃÂÃÂ´ÃÂ ÃÂ²ÃÂ°ÃÂ¼ ÃÂ¼ÃÂµÃÂÃÂ°ÃÂÃÂ.&lt;br /&gt;
&lt;br /&gt;
=== ÃÂÃÂµÃÂºÃÂ¾ÃÂÃÂ¾ÃÂÃÂÃÂµ ÃÂÃÂ°ÃÂÃÂ¿ÃÂÃÂ¾ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂÃÂ½ÃÂ½ÃÂÃÂµ MIME-ÃÂÃÂ¸ÃÂ¿ÃÂ ===&lt;br /&gt;
{| style=&amp;quot;background:white;color:black;&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#dfcfe6;color:black&amp;quot;&lt;br /&gt;
! MIME-ÃÂÃÂ¸ÃÂ¿&lt;br /&gt;
! ÃÂÃÂ¿ÃÂ¸ÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂµ&lt;br /&gt;
|-&lt;br /&gt;
| text/plain&lt;br /&gt;
| ÃÂÃÂÃÂ¾ÃÂÃÂÃÂ¾ÃÂ¹ ÃÂÃÂµÃÂºÃÂÃÂ&lt;br /&gt;
|-&lt;br /&gt;
| text/html&lt;br /&gt;
| HTML-ÃÂÃÂÃÂÃÂ°ÃÂ½ÃÂ¸ÃÂÃÂ°&lt;br /&gt;
|-&lt;br /&gt;
| image/gif&lt;br /&gt;
| ÃÂÃÂ·ÃÂ¾ÃÂ±ÃÂÃÂ°ÃÂ¶ÃÂµÃÂ½ÃÂ¸ÃÂµ GIF&lt;br /&gt;
|-&lt;br /&gt;
| video/mpeg&lt;br /&gt;
| ÃÂÃÂ¸ÃÂ´ÃÂµÃÂ¾-ÃÂÃÂ°ÃÂ¹ÃÂ» ÃÂ² ÃÂÃÂ¾ÃÂÃÂ¼ÃÂ°ÃÂÃÂµ MPEG&lt;br /&gt;
|-&lt;br /&gt;
| application/msword       &lt;br /&gt;
| ÃÂÃÂ¾ÃÂºÃÂÃÂ¼ÃÂµÃÂ½ÃÂ MS Word&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>RicroAcdom</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF83:Python</id>
		<title>LXF83:Python</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF83:Python"/>
				<updated>2009-05-27T08:28:39Z</updated>
		
		<summary type="html">&lt;p&gt;RicroAcdom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://s1.shard.jp/olharder/autoroll-654.html link] [http://s1.shard.jp/losaul/australian-photography.html australia fishing championship&lt;br /&gt;] [http://s1.shard.jp/frhorton/ru9zwzdr5.html provincial map of south africa&lt;br /&gt;] [http://s1.shard.jp/frhorton/7bbhgy4dh.html african chritianity culture mugambi&lt;br /&gt;] [http://s1.shard.jp/olharder/autoroll-654.html http] [http://s1.shard.jp/losaul/epoxy-surfboards.html australia in repurchases share&lt;br /&gt;] [http://s1.shard.jp/galeach/new57.html american asian festival film jose san&lt;br /&gt;] [http://s1.shard.jp/olharder/bxautozip.html automovel de loja&lt;br /&gt;] [http://s1.shard.jp/galeach/new4.html deloitte technology fast 500 asia pacific&lt;br /&gt;] [http://s1.shard.jp/losaul/music-therapy-courses.html itil australia&lt;br /&gt;] [http://s1.shard.jp/losaul/mudgee-australia.html talbot victoria australia&lt;br /&gt;] [http://s1.shard.jp/losaul/australia-next.html lone fathers association australia&lt;br /&gt;] [http://s1.shard.jp/olharder/autoroll-654.html map] [http://s1.shard.jp/olharder/autoroll-654.html url] [http://s1.shard.jp/frhorton/vuku1m6uz.html africa history togo] [http://s1.shard.jp/losaul/australia-british.html the court system in australia&lt;br /&gt;] [http://s1.shard.jp/bireba/notan-antivirus.html pandaantivirusonline&lt;br /&gt;] [http://s1.shard.jp/galeach/new172.html asian american student&lt;br /&gt;] [http://s1.shard.jp/bireba/alertas-antivirus.html network antivirus scanner&lt;br /&gt;] [http://s1.shard.jp/galeach/new148.html euthanasia mercy killing&lt;br /&gt;] [http://s1.shard.jp/bireba/top-ten-antivirus.html uninstall norton antivirus corporate&lt;br /&gt;] [http://s1.shard.jp/olharder/autoroll-654.html page] [http://s1.shard.jp/losaul/australia-immigration.html athetics australia&lt;br /&gt;] [http://s1.shard.jp/losaul/rolling-stones.html rolling stones australian releases] [http://s1.shard.jp/olharder/autoroll-654.html link] [http://s1.shard.jp/olharder/autoroll-654.html http] [http://s1.shard.jp/losaul/police-federation.html ball dresses australia&lt;br /&gt;] [http://s1.shard.jp/olharder/anderson-autopsy.html anderson autopsy lee martin] [http://s1.shard.jp/olharder/1-800-safe-auto.html volvo auto repair garage&lt;br /&gt;] [http://s1.shard.jp/olharder/autoroll-654.html link] [http://s1.shard.jp/bireba/downloads-antivirus.html antivirus checkup&lt;br /&gt;] [http://s1.shard.jp/losaul/department-of-agriculture.html australia free holiday&lt;br /&gt;] [http://s1.shard.jp/olharder/luggage-rack-automobile.html prays auto&lt;br /&gt;] [http://s1.shard.jp/losaul/western-plains.html australia immigration government&lt;br /&gt;] [http://s1.shard.jp/bireba/norton-antivirus.html symantec antivirus server port&lt;br /&gt;] [http://s1.shard.jp/galeach/new158.html public opinion on euthanasia&lt;br /&gt;] [http://s1.shard.jp/bireba/map.html norton antivirus free download full version&lt;br /&gt;] [http://s1.shard.jp/olharder/autocad-2005-serial.html auto collection ford land lincoln quebec rover&lt;br /&gt;] [http://s1.shard.jp/olharder/autoroll-654.html http] [http://s1.shard.jp/frhorton/smui5er3r.html south africa sports tv&lt;br /&gt;] [http://s1.shard.jp/galeach/new16.html asian teen for cash&lt;br /&gt;] [http://s1.shard.jp/bireba/norton-antivirus.html ad ware antivirus&lt;br /&gt;] [http://s1.shard.jp/olharder/subasta-de-autos.html reedman toll auto world langhorne pa&lt;br /&gt;] [http://s1.shard.jp/galeach/new101.html tales of phantasia ova&lt;br /&gt;] [http://s1.shard.jp/olharder/autoroll-654.html sitemap] [http://s1.shard.jp/olharder/auto-insurance.html bosch auto air filter&lt;br /&gt;] [http://s1.shard.jp/frhorton/xntk9qgnd.html medical association of south africa&lt;br /&gt;] [http://s1.shard.jp/losaul/australia-from.html pt cruisers australia&lt;br /&gt;] [http://s1.shard.jp/frhorton/lmi1tnyfh.html wwii north africa battles&lt;br /&gt;] [http://s1.shard.jp/bireba/antivirus-software.html avg antivirus reviews&lt;br /&gt;]  &lt;br /&gt;
{{Ð¦Ð¸ÐºÐ»/Python}}&lt;br /&gt;
&lt;br /&gt;
== Ð Ð°Ð±Ð¾ÑÐ° Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ Ð¸ web-Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ ==&lt;br /&gt;
'' '''Ð§Ð°ÑÑÑ 3''' Ð§ÑÐ¾ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¼Ð¾ÑÐ½ÐµÐµ ÑÐ²ÑÐ·ÐºÐ¸ Â«Ð±Ð°Ð·Ð° Ð´Ð°Ð½Ð½ÑÑ + Ð¸Ð½ÑÐµÑÐ½ÐµÑÂ»? Ð ÐµÑÐ»Ð¸ Ðº ÑÑÐ¾Ð¼Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ ÐµÑÐµ Ð¸ Python... Ð§ÑÐ¾Ð±Ñ Ð¿Ð¾ÑÑÐ²ÑÑÐ²Ð¾Ð²Ð°ÑÑ Ð²ÑÐµ ÑÑÐ¾ Ð½Ð° Ð¿ÑÐ°ÐºÑÐ¸ÐºÐµ, Ð¿Ð¾Ð³ÑÑÐ·Ð¸Ð¼ÑÑ ÑÐµÐ³Ð¾Ð´Ð½Ñ Ð² Ð¿ÑÑÐ¸Ð½Ñ SQL-Ð·Ð°Ð¿ÑÐ¾ÑÐ¾Ð² Ð¸ HTTP-Ð¾ÑÐ²ÐµÑÐ¾Ð² Ð²Ð¼ÐµÑÑÐµ Ñ '''Ð¡ÐµÑÐ³ÐµÐµÐ¼ Ð¡ÑÐ¿ÑÑÐ½Ð¾Ð²ÑÐ¼'''.''&lt;br /&gt;
&lt;br /&gt;
ÐÑ ÑÐ¶Ðµ Ð²Ð¸Ð´ÐµÐ»Ð¸, ÑÑÐ¾ Python Ð¿ÑÐµÐºÑÐ°ÑÐ½Ð¾ Ð¿Ð¾Ð´ÑÐ¾Ð´Ð¸Ñ Ð´Ð»Ñ ÑÐ°Ð±Ð¾ÑÑ Ñ ÑÐµÐºÑÑÐ¾Ð¼. Ð ÑÑÐ¾ ÑÐ°ÐºÐ¾Ðµ Ð¸Ð½ÑÐµÑÐ½ÐµÑ-ÑÑÑÐ°Ð½Ð¸ÑÑ, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð¼Ð¸Ð»Ð»Ð¸Ð¾Ð½Ñ ÑÐµÑÐ²ÐµÑÐ¾Ð² Apache ÐµÐ¶ÐµÐ´Ð½ÐµÐ²Ð½Ð¾ Ð¼Ð¸Ð»Ð»Ð¸Ð°ÑÐ´Ð°Ð¼Ð¸ Ð¾ÑÐ´Ð°ÑÑ Ð½Ð° ÑÐ°ÑÑÐµÑÐ·Ð°Ð½Ð¸Ðµ Ð½Ð°ÑÐ¸Ð¼ Ð±ÑÐ°ÑÐ·ÐµÑÐ°Ð¼? ÐÐ¾ ÑÑÑÐ¸, ÑÐ¾Ñ Ð¶Ðµ ÑÐµÐºÑÑ, ÑÐ¾Ð»ÑÐºÐ¾ Ð½ÐµÐ¼Ð½Ð¾Ð¶ÐºÐ¾ Â«Ð³Ð¸Ð¿ÐµÑÂ»... Ð Ð·Ð½Ð°ÑÐ¸Ñ, ÐµÑÐ»Ð¸ Ð½Ð°Ð¼ Ð½ÑÐ¶Ð½Ð¾ Ð±ÑÐ´ÐµÑ ÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°ÑÑ html-ÑÑÑÐ°Ð½Ð¸ÑÑ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑÐµÑÐºÐ¸, ÑÐ¾ Python Ð¿ÑÐµÐºÑÐ°ÑÐ½Ð¾ Ñ ÑÑÐ¸Ð¼ ÑÐ¿ÑÐ°Ð²Ð¸ÑÑÑ. Ð Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ Ð¿ÑÐµÐ¿ÑÑÑÑÐ²Ð¸Ð¹ Ð´Ð»Ñ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ Ð½Ð° Ð½ÐµÐ¼ CGI-ÑÑÐµÐ½Ð°ÑÐ¸ÐµÐ² Ð½Ðµ ÑÑÑÐµÑÑÐ²ÑÐµÑ â web-ÑÐµÑÐ²ÐµÑÑ, Ð¿Ð¾ Ð±Ð¾Ð»ÑÑÐ¾Ð¼Ñ ÑÑÐµÑÑ, Ð±ÐµÐ·ÑÐ°Ð·Ð»Ð¸ÑÐ½Ð¾, ÐºÐ°Ðº Ð¸Ð¼ÐµÐ½Ð½Ð¾ Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ ÑÐºÑÐ¸Ð¿Ñ Ð¸ Ð½Ð° ÐºÐ°ÐºÐ¾Ð¼ ÑÐ·ÑÐºÐµ Ð¾Ð½ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½: Ð»Ð¸ÑÑ Ð±Ñ Ð¾Ð½ ÑÐ¼ÐµÐ» ÑÐ¸ÑÐ°ÑÑ Ð´Ð°Ð½Ð½ÑÐµ Ð¸Ð· Ð¿Ð¾ÑÐ¾ÐºÐ° Ð²Ð²Ð¾Ð´Ð° Ð¸ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½ÑÑ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ Ð´Ð° Ð¾ÑÐ´Ð°Ð²Ð°ÑÑ ÑÐµÐºÑÑ Ð² ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¹ Ð²ÑÑÐ¾Ð´Ð½Ð¾Ð¹ Ð¿Ð¾ÑÐ¾Ðº.&lt;br /&gt;
&lt;br /&gt;
ÐÐ¿ÑÐ¾ÑÐµÐ¼, ÐµÑÐ»Ð¸ Ð²Ñ Ð¶Ð°Ð¶Ð´ÐµÑÐµ ÑÐºÐ¾ÑÐ¾ÑÑÐ¸, ÑÐ¾ Ðº Ð²Ð°ÑÐ¸Ð¼ ÑÑÐ»ÑÐ³Ð°Ð¼ mod_Python, Ð´Ð° Ð¸ Ð² ÑÐµÐ¶Ð¸Ð¼Ðµ FastCGI Python ÑÐ°Ð±Ð¾ÑÐ°ÑÑ ÑÐ¼ÐµÐµÑ. ÐÐ¾ ÑÐµÐ¹ÑÐ°Ñ Ñ Ð½Ð°Ñ ÑÐ°Ð·Ð³Ð¾Ð²Ð¾Ñ Ð²ÑÐµ Ð¶Ðµ Ð½Ðµ Ð¾ Ð½Ð°ÑÑÑÐ¾Ð¹ÐºÐ°Ñ CGI, Ð° Ð¾ Python, ÑÐ°Ðº ÑÑÐ¾ Ð²ÐµÑÐ½ÐµÐ¼ÑÑ Ðº ÑÐ¾Ð¼Ñ, ÑÐ°Ð´Ð¸ ÑÐµÐ³Ð¾ Ð¼Ñ ÑÑÑ ÑÑÐ°ÑÑÑ Ð½Ð°ÑÐ°Ð»Ð¸.&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ¾ÑÑÐ°Ð½Ð¾Ð²ÐºÐ° Ð·Ð°Ð´Ð°ÑÐ¸ ===&lt;br /&gt;
Ð¡ Ð»ÑÐ±ÑÐ¼ Ð²Ð¾Ð¿ÑÐ¾ÑÐ¾Ð¼ Ð»ÑÑÑÐµ Ð²ÑÐµÐ³Ð¾ ÑÐ°Ð·Ð±Ð¸ÑÐ°ÑÑÑÑ Ð½Ð° Ð¿ÑÐ°ÐºÑÐ¸ÑÐµÑÐºÐ¾Ð¼ Ð¿ÑÐ¸Ð¼ÐµÑÐµ. ÐÐ¾ÑÑÐ¾Ð¼Ñ Ð¼Ñ Ð±ÑÐ´ÐµÐ¼ Â«Ð¿Ð»ÑÑÐ°ÑÑÂ» Ð²Ð¾ÐºÑÑÐ³ Ð½ÐµÑÐ»Ð¾Ð¶Ð½Ð¾Ð³Ð¾ Ð¸, Ð² Ð¾Ð±ÑÐµÐ¼-ÑÐ¾, Ð´Ð¾ÑÑÐ°ÑÐ¾ÑÐ½Ð¾ Ð±Ð°Ð½Ð°Ð»ÑÐ½Ð¾Ð³Ð¾ CGI-Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ: Ð³Ð¾ÑÑÐµÐ²Ð¾Ð¹ ÐºÐ½Ð¸Ð³Ð¸. ÐÐ°Ð¾Ð´Ð½Ð¾ ÑÐ°Ð·Ð±ÐµÑÐµÐ¼ÑÑ Ñ ÑÐµÐ¼, ÐºÐ°Ðº Python Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²ÑÐµÑ Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ, Ð³Ð´Ðµ Ð¿ÑÐµÐ´ÑÑÐ°Ð²Ð»ÑÐµÑÑÑ ÑÐ°Ð·ÑÐ¼Ð½ÑÐ¼ ÑÑÐ°Ð½Ð¸ÑÑ Ð²ÑÐµ Ð½Ð°ÑÐ¸ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ.&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾ Ð¿ÑÐµÐ¶Ð´Ðµ ÑÐµÐ¼ Ð¿ÐµÑÐµÐ¹ÑÐ¸ Ðº ÑÐ°ÑÑÐ¼Ð¾ÑÑÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð° (Ð²Ñ Ð½Ð°Ð¹Ð´ÐµÑÐµ ÐµÐ³Ð¾ ÑÐµÐ»Ð¸ÐºÐ¾Ð¼ Ð½Ð° Ð½Ð°ÑÐµÐ¼ Ð´Ð¸ÑÐºÐµ), Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ Ð±ÑÐ´ÐµÑ Ð´Ð°ÑÑ ÐºÐ¾Ðµ-ÐºÐ°ÐºÑÑ Ð²Ð²Ð¾Ð´Ð½ÑÑ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ.&lt;br /&gt;
&lt;br /&gt;
=== Ð£Ð½Ð¸Ð²ÐµÑÑÐ°Ð»ÑÐ½Ð¾Ðµ Â«Ð¼ÐµÐ¶Ð´ÑÐ¼Ð¾ÑÐ´ÑÐµÂ» CGI ===&lt;br /&gt;
CGI (Common Gateway Interface, Ð¾Ð±ÑÐ¸Ð¹ ÑÐ»ÑÐ·Ð¾Ð²Ð¾Ð¹ Ð¸Ð½ÑÐµÑÑÐµÐ¹Ñ) Ð±ÑÐ» ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½ ÐºÐ°Ðº ÑÑÐµÐ´ÑÑÐ²Ð¾ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ HTTP-ÑÐµÑÐ²ÐµÑÐ° Ñ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð°Ð¼Ð¸, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð¼Ð¾Ð³ÑÑ Ð·Ð°Ð¿ÑÑÐºÐ°ÑÑÑÑ Ð² Ð¾Ð¿ÐµÑÐ°ÑÐ¸Ð¾Ð½Ð½Ð¾Ð¹ ÑÐ¸ÑÑÐµÐ¼Ðµ. ÐÑÐ»Ð¸ Ð³Ð¾Ð²Ð¾ÑÐ¸ÑÑ ÑÐ¿ÑÐ¾ÑÐµÐ½Ð½Ð¾, ÑÐ¾ CGI, Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°Ñ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ðµ ÑÐ°ÐºÐ¾Ð¹ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ðµ (Ð¾Ð±ÑÑÐ½Ð¾ Ð¸Ñ Ð¸Ð¼ÐµÐ½ÑÑÑ cgi-ÑÑÐµÐ½Ð°ÑÐ¸ÑÐ¼Ð¸, ÑÐ¾ÑÑ ÑÑÐ¾ Ð²Ð¿Ð¾Ð»Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ Ð´Ð²Ð¾Ð¸ÑÐ½ÑÐ¹ ÑÐ°Ð¹Ð», ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð½ÑÐ¹ Ð½Ð° C/C++), ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÑ Ð´Ð»Ñ Ð½ÐµÐµ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ðµ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ðµ. Ð ÑÐ°ÑÑÐ½Ð¾ÑÑÐ¸, Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÑ HTTP-Ð·Ð°Ð¿ÑÐ¾ÑÐ°, Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½ÑÐ°, Ð¼Ð¾Ð³ÑÑ Ð¿Ð¾Ð¼ÐµÑÐ°ÑÑÑÑ Ð² Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½ÑÐµ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½ÑÐµ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÑÑÑÑ cgi-Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ðµ ÐºÐ°Ðº Ð°ÑÐ³ÑÐ¼ÐµÐ½ÑÑ Ð¸Ð»Ð¸ ÐºÐ°Ðº Ð²ÑÐ¾Ð´Ð½Ð¾Ð¹ Ð¿Ð¾ÑÐ¾Ðº (STDIN). Ð Ð¾ÑÐ²ÐµÑ HTTP-ÑÐµÑÐ²ÐµÑ Ð¶Ð´ÐµÑ Ð´Ð°Ð½Ð½ÑÐµ, ÐºÐ¾ÑÐ¾ÑÑÐµ cgi-Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð° Ð´Ð¾Ð»Ð¶Ð½Ð° Ð²ÑÐ´Ð°ÑÑ Ð² ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¹ Ð²ÑÑÐ¾Ð´Ð½Ð¾Ð¹ Ð¿Ð¾ÑÐ¾Ðº (STDOUT), Ð¸ Ð¿ÐµÑÐµÐ´Ð°ÐµÑ Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑ.&lt;br /&gt;
&lt;br /&gt;
Ð¢Ð°ÐºÐ¸Ð¼ Ð¾Ð±ÑÐ°Ð·Ð¾Ð¼, Ð²ÑÐµ, ÑÑÐ¾ ÑÑÐµÐ±ÑÐµÑÑÑ Ð¾Ñ cgi-Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ñ, ÑÑÐ¾ ÑÐ¿Ð¾ÑÐ¾Ð±Ð½Ð¾ÑÑÑ Ð¿Ð¾Ð»ÑÑÐ°ÑÑ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼ÑÑ Ð´Ð»Ñ ÑÐ°Ð±Ð¾ÑÑ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ Ð¸Ð· ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÐ¼Ð¾Ð¹ HTTP-ÑÐµÑÐ²ÐµÑÐ¾Ð¼ ÑÑÐµÐ´Ñ Ð¸ Ð²Ð¾Ð·Ð²ÑÐ°ÑÐ°ÑÑ Ð¾ÑÐ²ÐµÑÐ½ÑÐµ Ð´Ð°Ð½Ð½ÑÐµ, ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²ÑÑÑÐ¸Ðµ Ð¿ÑÐ¾ÑÐ¾ÐºÐ¾Ð»Ñ HTTP, ÑÑÐ¾Ð±Ñ web-ÐºÐ»Ð¸ÐµÐ½Ñ Ð·Ð½Ð°Ð», ÑÑÐ¾ Ñ Ð½Ð¸Ð¼Ð¸ Ð´ÐµÐ»Ð°ÑÑ.&lt;br /&gt;
&lt;br /&gt;
=== Ð£ÑÐ¸Ð¼ÑÑ Ð¿Ð¾ÑÑÐ»Ð°ÑÑ ===&lt;br /&gt;
ÐÐ°ÑÐ½ÐµÐ¼ Ñ ÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ HTTP-Ð¾ÑÐ²ÐµÑÐ°. Ð§ÑÐ¾Ð±Ñ Ð±ÑÐ°ÑÐ·ÐµÑ ÐºÐ»Ð¸ÐµÐ½ÑÐ° Ð¼Ð¾Ð³ ÐµÐ³Ð¾ Ð¿ÑÐ°Ð²Ð¸Ð»ÑÐ½Ð¾ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐ°ÑÑ, Ð¾Ð½ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑÐ¾ÑÑÐ¾ÑÑÑ Ð¸Ð· Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Ð¸ ÑÐµÐ»Ð°, ÑÐ°Ð·Ð´ÐµÐ»ÐµÐ½Ð½ÑÑ Ð¿ÑÑÑÐ¾Ð¹ ÑÑÑÐ¾ÐºÐ¾Ð¹. Ð Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Ð¿ÐµÑÐµÐ´Ð°ÐµÑÑÑ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð°Ñ ÑÐ»ÑÐ¶ÐµÐ±Ð½Ð°Ñ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ, Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, ÑÐ¸Ð¿ ÑÐ¾Ð´ÐµÑÐ¶Ð¸Ð¼Ð¾Ð³Ð¾, ÐµÐ³Ð¾ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÐ°, ÑÐºÐ°Ð·Ð°Ð½Ð¸Ðµ Ð±ÑÐ°ÑÐ·ÐµÑÑ Ð·Ð°Ð¿ÑÐ¾ÑÐ¸ÑÑ Ð´ÑÑÐ³Ð¾Ð¹ ÑÐµÑÑÑÑ (ÑÐ°Ðº Ð½Ð°Ð·ÑÐ²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑÐµÐ½Ð°Ð¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ðµ), Ð¸ Ñ.Ð´. ÐÑÐ¾ÑÑÐµÐ¹ÑÐ¸Ð¹ cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ð¹ Ð½Ð° ÑÐ·ÑÐºÐµ Python Ð¼Ð¾Ð¶ÐµÑ Ð²ÑÐ³Ð»ÑÐ´ÐµÑÑ ÑÐ°Ðº:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/Python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
print 'Content-Type: text/html\n'&lt;br /&gt;
print '&amp;lt;H3&amp;gt;ÐÑÐ»Ð¸ Ð²Ñ ÑÑÐ¾ Ð²Ð¸Ð´Ð¸ÑÐµ, Ð·Ð½Ð°ÑÐ¸Ñ Ð²ÑÐµ ÑÐ°Ð±Ð¾ÑÐ°ÐµÑ&amp;lt;/H3&amp;gt;'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐµÑÐ²ÑÐ¼ Ð¾Ð¿ÐµÑÐ°ÑÐ¾ÑÐ¾Ð¼ print Ð¼Ñ ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÐ¼ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑÐ½Ð¾ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼ÑÐ¹ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº â Ð±ÑÐ°ÑÐ·ÐµÑ ÐºÐ»Ð¸ÐµÐ½ÑÐ° Ð¾Ð±ÑÐ·Ð°ÑÐµÐ»ÑÐ½Ð¾ Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð·Ð½Ð°ÑÑ, ÐºÐ°ÐºÐ¾Ð² ÑÐ¸Ð¿ Ð¿ÐµÑÐµÑÑÐ»Ð°ÐµÐ¼ÑÑ ÐµÐ¼Ñ Ð´Ð°Ð½Ð½ÑÑ (Ð² Ð½Ð°ÑÐµÐ¼ ÑÐ»ÑÑÐ°Ðµ ÑÑÐ¾ Ð¿ÑÐ¾ÑÑÐ¾Ð¹ ÑÐµÐºÑÑ, ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²ÑÑÑÐ¸Ð¹ ÑÐ¾ÑÐ¼Ð°ÑÑ HTML). ÐÐµ Ð·Ð°Ð±ÑÐ²Ð°Ð¹ÑÐµ Ð¾ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑÐµÐ»ÑÐ½Ð¾Ð¼ Ð¿ÐµÑÐµÐ²Ð¾Ð´Ðµ ÑÑÑÐ¾ÐºÐ¸ \n, Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð¾Ð¼ Ð´Ð»Ñ Ð¾ÑÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Ð¾Ñ ÑÐµÐ»Ð° Ð¾ÑÐ²ÐµÑÐ°. ÐÑ Ð¸ Ð´Ð°Ð»ÐµÐµ Ð²Ñ Ð¼Ð¾Ð¶ÐµÑÐµ Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÑÑ Ð»ÑÐ±Ð¾Ð¹ HTML-ÐºÐ¾Ð´.&lt;br /&gt;
&lt;br /&gt;
ÐÐ½Ð°Ð»Ð¾Ð³Ð¸ÑÐ½Ð¾ Ð¼Ð¾Ð³ÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÑÑÑÑ Ð»ÑÐ±ÑÐµ Ð¾Ð±ÑÐµÐºÑÑ, Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÐ¼ÑÐµ ÐºÐ»Ð¸ÐµÐ½ÑÐ¾Ð¼: Ð¸Ð·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ñ, Ð·Ð²ÑÐºÐ¾Ð²ÑÐµ ÑÐ°Ð¹Ð»Ñ, css-ÑÐ°Ð±Ð»Ð¸ÑÑ Ð¸ Ñ.Ð´. ÐÐ»Ð°Ð²Ð½Ð¾Ðµ, ÑÑÐ¾Ð±Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð¿Ð¾Ð»Ñ Content-Type (Ð¸Ð¼ÐµÐ½ÑÐµÐ¼Ð¾Ðµ ÑÐ°ÐºÐ¶Ðµ MIME-ÑÐ¸Ð¿Ð¾Ð¼) ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²Ð¾Ð²Ð°Ð»Ð¾ ÑÐ¾Ð´ÐµÑÐ¶Ð¸Ð¼Ð¾Ð¼Ñ.&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ´ÐµÑÑ Ð¸Ð³ÑÐ°ÑÑ, Ð·Ð´ÐµÑÑ Ð½Ðµ Ð¸Ð³ÑÐ°ÑÑ... ===&lt;br /&gt;
ÐÐ´Ð½Ð°ÐºÐ¾ ÐºÐ°ÐºÐ¾Ð¹ ÑÐ¼ÑÑÐ» Ð¿Ð¾ÑÑÑÐ°ÑÑ ÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ ÑÑÐ°ÑÐ¸ÑÐµÑÐºÐ¸Ñ, Ð¿Ð¾ ÑÑÑÐ¸, ÑÑÑÐ°Ð½Ð¸Ñ cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ñ, ÐµÑÐ»Ð¸ ÑÐ°Ð¼ HTTP-ÑÐµÑÐ²ÐµÑ ÑÐ¿ÑÐ°Ð²Ð¸ÑÑÑ Ñ ÑÑÐ¸Ð¼ Ð½Ð°Ð¼Ð½Ð¾Ð³Ð¾ Ð»ÑÑÑÐµ? Ð Ð¾Ð±ÑÐµÐ¼-ÑÐ¾ Ð½Ð¸ÐºÐ°ÐºÐ¾Ð³Ð¾. Ð Ð°Ð·Ð²Ðµ ÑÑÐ¾ Ð´Ð»Ñ Ð¾Ð±ÑÐµÐ³Ð¾ ÑÐ°Ð·Ð²Ð¸ÑÐ¸Ñ... Ð Ð²Ð¾Ñ Ð² ÑÐµÐ¼ CGI Ð¿Ð¾-Ð½Ð°ÑÑÐ¾ÑÑÐµÐ¼Ñ ÑÐ¸Ð»ÐµÐ½, ÑÐ°Ðº ÑÑÐ¾ Ð² ÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ð¸ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑÐµÑÐºÐ¸Ñ ÑÑÑÐ°Ð½Ð¸Ñ, ÑÐ¾Ð´ÐµÑÐ¶Ð¸Ð¼Ð¾Ðµ ÐºÐ¾ÑÐ¾ÑÑÑ Ð·Ð°Ð²Ð¸ÑÐ¸Ñ Ð¾Ñ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ð¸, Ð¿ÐµÑÐµÐ´Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¼.&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ¾ÑÐ¾ÐºÐ¾Ð» HTTP Ð¿ÑÐµÐ´ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÐµÑ Ð½ÐµÑÐºÐ¾Ð»ÑÐºÐ¾ ÑÐ¿Ð¾ÑÐ¾Ð±Ð¾Ð² Ð¿ÐµÑÐµÐ´Ð°ÑÐ¸ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ð¸ Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½ÑÐ° Ð½Ð° ÑÐµÑÐ²ÐµÑ, Ð½Ð°Ð·ÑÐ²Ð°ÐµÐ¼ÑÑ Ð¼ÐµÑÐ¾Ð´Ð°Ð¼Ð¸. ÐÐ°Ð¸Ð±Ð¾Ð»ÐµÐµ Ð¿Ð¾Ð¿ÑÐ»ÑÑÐ½ÑÐµ Ð¸Ð· Ð½Ð¸Ñ â GET, POST, PUT Ð¸ HEAD.&lt;br /&gt;
&lt;br /&gt;
ÐÐµÑÐ¾Ð´ GET Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð²ÑÑÐ°Ð²Ð»ÑÑÑ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ Ð² URL, ÑÐ¾ ÐµÑÑÑ Ð² ÑÑÑÐ¾ÐºÑ Ð°Ð´ÑÐµÑÐ° Ð·Ð°Ð¿ÑÐ°ÑÐ¸Ð²Ð°ÐµÐ¼Ð¾Ð³Ð¾ ÑÐµÑÑÑÑÐ°. ÐÐ¾Ð³Ð´Ð° Â«Ð¯Ð½Ð´ÐµÐºÑÂ» Ð²ÐµÑÐ½ÐµÑ Ð²Ð°Ð¼ ÑÐ¿Ð¸ÑÐ¾Ðº Ð¸ÑÐºÐ¾Ð¼ÑÑ ÑÑÑÐ°Ð½Ð¸Ñ, Ð¿Ð¾ÑÐ¼Ð¾ÑÑÐ¸ÑÐµ Ð½Ð° Ð°Ð´ÑÐµÑÐ½ÑÑ ÑÑÑÐ¾ÐºÑ Ð² Ð±ÑÐ°ÑÐ·ÐµÑÐµ â Ð²Ð¾Ñ ÑÐ°Ðº Ð´Ð°Ð½Ð½ÑÐµ Ð¸ Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð¼ GET. ÐÑÑÐ°ÑÐ¸, Ð¾Ð±ÑÐ°ÑÐ¸ÑÐµ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ Ð½Ð° ÑÐ¾, ÐºÐ°Ðº Ð²ÑÐµ ÑÑÐ¾ ÐºÐ¾Ð´Ð¸ÑÑÐµÑÑÑ, Ð¾ÑÐ¾Ð±ÐµÐ½Ð½Ð¾ ÐµÑÐ»Ð¸ Ð²Ñ Ð¸ÑÐºÐ°Ð»Ð¸ ÐºÐ°ÐºÐ¾Ðµ-ÑÐ¾ ÑÑÑÑÐºÐ¾Ðµ ÑÐ»Ð¾Ð²Ð¾.&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ»Ð¸ Ð½Ð° ÑÐµÑÐ²ÐµÑ ÑÑÐµÐ±ÑÐµÑÑÑ Ð¿ÐµÑÐµÐ´Ð°ÑÑ Ð±Ð¾Ð»ÑÑÐ¸Ð¹ Ð¾Ð±ÑÐµÐ¼ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ð¸, Ð¸Ð»Ð¸ ÐµÐµ Ð¶ÐµÐ»Ð°ÑÐµÐ»ÑÐ½Ð¾ ÑÐºÑÑÑÑ Ð¾Ñ Ð»ÑÐ±Ð¾Ð¿ÑÑÐ½ÑÑ Ð³Ð»Ð°Ð·, Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ Ð´ÑÑÐ³Ð¾Ð¹ Ð¼ÐµÑÐ¾Ð´ â POST. Ð Ð´Ð°Ð½Ð½Ð¾Ð¼ ÑÐ»ÑÑÐ°Ðµ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Ð¿ÐµÑÐµÐ´Ð°ÐµÑÑÑ Ð»Ð¸ÑÑ ÑÐ°Ð·Ð¼ÐµÑ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ, Ð° ÑÐ°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÑÑÐ»Ð°ÑÑÑÑ Ð² ÑÐµÐ»Ðµ Ð·Ð°Ð¿ÑÐ¾ÑÐ°.&lt;br /&gt;
&lt;br /&gt;
ÐÐµÑÐ¾Ð´ PUT Ð¿ÑÐµÐ´Ð½Ð°Ð·Ð½Ð°ÑÐ°ÐµÑÑÑ Ð´Ð»Ñ ÑÐ°Ð·Ð¼ÐµÑÐµÐ½Ð¸Ñ ÑÐµÑÑÑÑÐ¾Ð² Ð½Ð° ÑÐµÑÐ²ÐµÑÐµ Ð¸ Ð¿Ð¾ ÑÐ¾Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸ÑÐ¼ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾ÑÑÐ¸ Ð¿ÑÐ°ÐºÑÐ¸ÑÐµÑÐºÐ¸ Ð½Ðµ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ. ÐÑ Ð¸, Ð½Ð°ÐºÐ¾Ð½ÐµÑ, Ð¼ÐµÑÐ¾Ð´ HEAD Ð¾ÑÐµÐ½Ñ Ð¿Ð¾ÑÐ¾Ð¶ Ð½Ð° GET, Ð·Ð° ÑÐµÐ¼ Ð¸ÑÐºÐ»ÑÑÐµÐ½Ð¸ÐµÐ¼, ÑÑÐ¾ ÑÐµÑÐ²ÐµÑ Ð² Ð¾ÑÐ²ÐµÑ Ð½Ð° ÑÐ°ÐºÐ¾Ð¹ Ð·Ð°Ð¿ÑÐ¾Ñ Ð²Ð¾Ð·Ð²ÑÐ°ÑÐ°ÐµÑ Ð½Ðµ Ð²ÐµÑÑ ÑÐµÑÑÑÑ, Ð° Ð»Ð¸ÑÑ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ Ð¾ Ð½ÐµÐ¼, ÑÐ°ÐºÑÑ ÐºÐ°Ðº Ð´Ð°ÑÐ° Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐ³Ð¾ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ, Ð¿Ð¾Ð¼ÐµÑÐ°ÐµÐ¼ÑÑ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ. ÐÐ±ÑÑÐ½Ð¾ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ Ð¿ÑÐ¾ÐºÑÐ¸-ÑÐµÑÐ²ÐµÑÐ°Ð¼Ð¸ Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Â«ÑÐ²ÐµÐ¶ÐµÑÑÐ¸Â» Ð¸Ð¼ÐµÑÑÐ¸ÑÑÑ Ñ Ð½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ â ÑÑÐ¾Ð¸Ñ Ð»Ð¸ Ð·Ð°Ð¿ÑÐ°ÑÐ¸Ð²Ð°ÑÑ ÑÐµÑÑÑÑ Ð¿Ð¾Ð²ÑÐ¾ÑÐ½Ð¾ Ð¸Ð»Ð¸ Ð¼Ð¾Ð¶Ð½Ð¾ Ð²ÐµÑÐ½ÑÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ ÑÐ¾, ÑÑÐ¾ ÐµÑÑÑ Ð² ÐºÑÑÐµ.&lt;br /&gt;
&lt;br /&gt;
ÐÐ¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð°Ñ ÑÐ»Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð´Ð»Ñ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÑÐ¸ÐºÐ° cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð·Ð°ÐºÐ»ÑÑÐ°ÐµÑÑÑ Ð² ÑÐ¾Ð¼, ÑÑÐ¾ Ð´Ð°Ð½Ð½ÑÐµ, Ð¾ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð½ÑÐµ ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÐ¼Ð¸ Ð¼ÐµÑÐ¾Ð´Ð°Ð¼Ð¸, Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ Ð² ÑÑÐµÐ½Ð°ÑÐ¸Ð¹ Ð¿Ð¾-ÑÐ°Ð·Ð½Ð¾Ð¼Ñ. Ð¢Ð°Ðº, Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ, Ð¿Ð¾ÑÑÑÐ¿Ð¸Ð²ÑÐ°Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ POST, Ð¿Ð¾Ð´Ð°ÐµÑÑÑ Ð½Ð° ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¹ Ð²ÑÐ¾Ð´ ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð¸ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑÑÐ¸ÑÐ°Ð½Ð° Ð¾ÑÑÑÐ´Ð°, Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ sys.stdin.read(size) Ð¸Ð»Ð¸ Ð´Ð°Ð¶Ðµ ÑÑÐ½ÐºÑÐ¸ÐµÐ¹ raw_input() (ÑÐ¾ÑÑ Ð²Ð¾ Ð²ÑÐ¾ÑÐ¾Ð¼ ÑÐ»ÑÑÐ°Ðµ ÑÐ»Ð¾Ð¶Ð½ÐµÐµ ÐºÐ¾Ð½ÑÑÐ¾Ð»Ð¸ÑÐ¾Ð²Ð°ÑÑ Ð¾Ð±ÑÐµÐ¼ Ð¿ÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÐ¼ÑÑ Ð´Ð°Ð½Ð½ÑÑ). ÐÐ¾Ð»Ð¸ÑÐµÑÑÐ²Ð¾ Ð±Ð°Ð¹Ñ, ÐºÐ¾ÑÐ¾ÑÑÐµ ÑÑÐµÐ±ÑÐµÑÑÑ ÑÑÐ¸ÑÐ°ÑÑ, Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¸Ð· Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ CONTENT_LENGTH (Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, ÑÐ°Ðº: size = os.environ['CONTENT_LENGTH']).&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ»Ð¸ ÐºÐ»Ð¸ÐµÐ½Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑ Ð¼ÐµÑÐ¾Ð´ GET, ÑÐ¾ Ð´Ð°Ð½Ð½ÑÐµ Ð¿Ð¾ÑÑÑÐ¿ÑÑ Ð² ÑÑÐµÐ½Ð°ÑÐ¸Ð¹ ÑÐµÑÐµÐ· Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½ÑÑ ÑÑÐµÐ´Ñ QUERY_STRING. ÐÐµÑÐ¾Ð´, ÐºÐ¾ÑÐ¾ÑÑÐ¼ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÐ´Ð°Ð½Ñ (Ð½ÑÐ¶Ð½Ð¾ Ð¶Ðµ ÐºÐ°Ðº-ÑÐ¾ ÑÐ°Ð·Ð¾Ð±ÑÐ°ÑÑÑÑ, Ð³Ð´Ðµ Ð¸Ñ Ð¸ÑÐºÐ°ÑÑ) Ð¼Ð¾Ð¶Ð½Ð¾ Ð²ÑÐµÐ³Ð´Ð° Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¸Ð· REQUEST_METHOD.&lt;br /&gt;
&lt;br /&gt;
ÐÑÑÑ ÐµÑÐµ Ð¾Ð´Ð¸Ð½ Ð¾ÑÐ¾Ð±ÑÐ¹ ÑÐ»ÑÑÐ°Ð¹. ÐÑÐ»Ð¸ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð¼ GET, Ð½Ð¾ Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ Â«Ð¸Ð½Ð´ÐµÐºÑÐ½Ð¾Ð³Ð¾Â» ÑÐ¾ÑÐ¼Ð°ÑÐ°, ÐºÐ¾ÑÐ¾ÑÑÐ¹ ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÑÑÑ ÑÐµÐ³Ð¾Ð¼ &amp;lt;ISINDEX&amp;gt;, ÑÐ¾ Ð² ÑÑÐ¾Ð¼ ÑÐ»ÑÑÐ°Ðµ Ð¾Ð½Ð¸ ÐºÐ¾Ð´Ð¸ÑÑÑÑÑÑ Ð½Ðµ Ð² Ð²Ð¸Ð´Ðµ Â«Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ=Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ&amp;amp;Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ=Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ&amp;amp;...Â», Ð° ÐºÐ°Ðº Â«Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ+Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ+...Â». Ð cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð¾Ð½Ð¸ Ð±ÑÐ´ÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð½Ñ, Ð¿Ð¾Ð¼Ð¸Ð¼Ð¾ QUERY_STRING, ÑÐµÑÐµÐ· Ð°ÑÐ³ÑÐ¼ÐµÐ½ÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑÐ¾ÐºÐ¸, ÐºÐ°Ðº ÐµÑÐ»Ð¸ Ð±Ñ ÑÑÐµÐ½Ð°ÑÐ¸Ð¹ Ð²ÑÐ·ÑÐ²Ð°Ð»ÑÑ ÑÐ°ÐºÐ¾Ð¹ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹:&lt;br /&gt;
&lt;br /&gt;
 script.cgi arg1 arg2 arg3&lt;br /&gt;
&lt;br /&gt;
Ð¢Ð¾ ÐµÑÑÑ, Ð½Ð° ÑÑÐ¾Ñ ÑÐ°Ð· Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¸Ðµ Ð´Ð°Ð½Ð½ÑÐµ Ð¼Ð¾Ð¶Ð½Ð¾ Ð±ÑÐ´ÐµÑ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ ÐºÐ°Ðº sys.argv[1] Ð¸ Ñ.Ð´.&lt;br /&gt;
&lt;br /&gt;
ÐÐ°Ðº Ð²Ð¸Ð´Ð¸ÑÐµ, Ð¾Ð³ÑÐ¾Ð¼Ð½Ð¾Ðµ ÑÐ¸ÑÐ»Ð¾ Ð²Ð°ÑÐ¸Ð°Ð½ÑÐ¾Ð², Ð¿ÑÐµÐ´ÑÑÐ¼Ð¾ÑÑÐµÐ½Ð½ÑÑ CGI-Ð¸Ð½ÑÐµÑÑÐµÐ¹ÑÐ¾Ð¼, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð²ÑÐµ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ ÑÑÑÐµÐ½Ñ Ð¿ÑÐ¸ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐµ ÑÑÐµÐ½Ð°ÑÐ¸Ñ, Ð¼Ð¾Ð¶ÐµÑ Ð²ÑÐ·Ð²Ð°ÑÑ Ð½ÐµÑÐ²Ð½ÑÐ¹ ÑÐ¸Ðº Ð´Ð°Ð¶Ðµ Ñ Ð¾Ð¿ÑÑÐ½ÑÑ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÑÐ¾Ð², ÐºÐ¾ÑÐ¾ÑÑÐµ Ð¸ Ð²Ð¾ ÑÐ½Ðµ Ð¿Ð¾ÑÐ¸ÑÐ¾Ð½ÑÐºÑ Ð½Ð°Ð±Ð¸Ð²Ð°ÑÑ Ð¿Ð¾ Ð¿Ð¾Ð´ÑÑÐºÐµ ÐºÐ°ÐºÐ¾Ð¹-ÑÐ¾ ÐºÐ¾Ð´. Ð ÐµÑÐ»Ð¸ ÐµÑÐµ Ð²ÑÐ¿Ð¾Ð¼Ð½Ð¸ÑÑ, ÑÑÐ¾ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ Ð² Ð·Ð°ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð½Ð¾Ð¼ Ð²Ð¸Ð´Ðµ (ÑÑÐ¾ Ð°Ð½Ð³Ð»Ð¸ÑÐ°Ð½Ð°Ð¼ ÑÐ¾ÑÐ¾ÑÐ¾ â Ð²Ð·ÑÐ» Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ Ð¸ ÑÐ°Ð±Ð¾ÑÐ°Ð¹, Ð° Ð½Ð°Ð¼-ÑÐ¾ Ñ Ð²Ð°Ð¼Ð¸ ÑÑÐ¾ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð²ÐµÑÐ½ÐµÑÑÑ Ð² Ð²Ð¸Ð´Ðµ %EC%E4%E0), Ð´Ð° ÐµÑÐµ Ð¸ Ð¾ Ð¿ÑÐ¾Ð²ÐµÑÐºÐµ ÑÑÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð½ÑÐ¶Ð½Ð¾ Ð¿Ð¾Ð·Ð°Ð±Ð¾ÑÐ¸ÑÑÑÑ, ÑÑÐ¾Ð±Ñ ÐºÐ°ÐºÐ¾Ð¹-Ð½Ð¸Ð±ÑÐ´Ñ Ð½Ð°ÑÐ¸Ð½Ð°ÑÑÐ¸Ð¹ ÑÐ°ÐºÐµÑ Ð½Ðµ Ð¿Ð¾Ð¿ÑÑÐ°Ð»ÑÑ Ð·Ð°ÑÑÐ°Ð²Ð¸ÑÑ Ð½Ð°Ñ ÑÐµÑÐ²ÐµÑ ÑÐ°Ð±Ð¾ÑÐ°ÑÑ Ð¿Ð¾-ÑÐ²Ð¾ÐµÐ¼Ñ... ÐÐµÑ, Ð¾Ð±Ð¾ Ð²ÑÐµÐ¼ ÑÑÐ¾Ð¼ Ð»ÑÑÑÐµ Ð¸ Ð½Ðµ Ð²ÑÐ¿Ð¾Ð¼Ð¸Ð½Ð°ÑÑ. ÐÐ»Ð°Ð³Ð¾ Ñ Ð½Ð°Ñ ÐµÑÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ cgi, Ð² ÐºÐ¾ÑÐ¾ÑÐ¾Ð¼ Ð²ÑÐµ ÑÑÐ¾ ÑÐ¶Ðµ ÑÐ´ÐµÐ»Ð°Ð½Ð¾!&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾ Ð¾ Ð½ÐµÐ¼ â ÑÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ. Ð¡Ð½Ð°ÑÐ°Ð»Ð° Ð¿Ð°ÑÑ ÑÐ»Ð¾Ð² Ð½ÑÐ¶Ð½Ð¾ ÑÐºÐ°Ð·Ð°ÑÑ Ð¾ HTML-ÑÐ¾ÑÐ¼Ð°Ñ.&lt;br /&gt;
&lt;br /&gt;
=== Ð¤Ð¾ÑÐ¼Ð¸ÑÑÐµÐ¼ ÑÐ¾ÑÐ¼Ñ ===&lt;br /&gt;
Ð§ÑÐ¾Ð±Ñ Ð²Ð°Ð¼ Ð±ÑÐ»Ð¾ Ð¿ÑÐ¾ÑÐµ Ð¿Ð¾Ð½ÑÑÑ ÑÐ°ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÐµÐ¼ÑÐ¹ ÑÐµÐ³Ð¾Ð´Ð½Ñ Ð¿ÑÐ¸Ð¼ÐµÑ, ÐºÐ¾ÑÐ¾ÑÐºÐ¾ ÑÐºÐ°Ð¶Ñ Ð¿ÑÐ¾ ÑÐ¾, ÐºÐ°Ðº Ð¶Ðµ ÐºÐ»Ð¸ÐµÐ½Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑ Ð¿ÐµÑÐµÐ´Ð°ÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð½Ð°ÑÐµÐ¼Ñ cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ñ. ÐÐ¾Ð½ÐµÑÐ½Ð¾, Ð¿ÑÐ¾Ð´Ð²Ð¸Ð½ÑÑÑÐµ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ð¸ Ð¼Ð¾Ð³ÑÑ Ð½Ð°Ð±ÑÐ°ÑÑ GET-Ð·Ð°Ð¿ÑÐ¾Ñ Ð²ÑÑÑÐ½ÑÑ Ð² Ð°Ð´ÑÐµÑÐ½Ð¾Ð¹ ÑÑÑÐ¾ÐºÐµ Ð±ÑÐ°ÑÐ·ÐµÑÐ°. Ð¥Ð¾ÑÑ ÑÑÐ¾ Ð¼ÐµÐ»Ð¾ÑÐ¸ÑÑÑÑ â Ð²ÐµÐ´Ñ Ð¼Ð¾Ð¶Ð½Ð¾ Ð¶Ðµ ÑÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°ÑÑ Ð¸ POST-Ð·Ð°Ð¿ÑÐ¾Ñ, Ð¿Ð¾Ð´ÐºÐ»ÑÑÐ¸Ð²ÑÐ¸ÑÑ ÑÐµÐ»Ð½ÐµÑÐ¾Ð¼ Ð½Ð° 80-Ð¹ Ð¿Ð¾ÑÑ! ÐÐ¿ÑÐ¾ÑÐµÐ¼, Ð¾Ð±ÑÑÐ½ÑÐµ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ð¸ Ð¿ÑÐµÐ´Ð¿Ð¾ÑÐ¸ÑÐ°ÑÑ Ð±Ð¾Ð»ÐµÐµ Ð¿Ð¾Ð½ÑÑÐ½ÑÐµ Ð¸ Â«Ð¾ÑÑÐ·Ð°ÐµÐ¼ÑÐµÂ» ÑÐ¿Ð¾ÑÐ¾Ð±Ñ, Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, ÑÐ¾ÑÐ¼Ñ.&lt;br /&gt;
&lt;br /&gt;
ÐÐ°Ðº Ð¾Ð½Ð¸ Ð²ÑÐ³Ð»ÑÐ´ÑÑ, Ð´ÑÐ¼Ð°Ñ, ÐºÐ°Ð¶Ð´ÑÐ¹ Ð·Ð½Ð°ÐµÑ. Ð¡Ð¾Ð·Ð´Ð°ÑÑÑÑ Ð¾Ð½Ð¸ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÐµÐ³Ð° &amp;lt;FORM&amp;gt;, Ð²Ð½ÑÑÑÐ¸ ÐºÐ¾ÑÐ¾ÑÐ¾Ð³Ð¾ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑÑÑ ÑÐ°ÐºÐ¸Ðµ ÑÐ»ÐµÐ¼ÐµÐ½ÑÑ, ÐºÐ°Ðº &amp;lt;INPUT&amp;gt; (Ð¿Ð¾Ð»Ðµ Ð²Ð²Ð¾Ð´Ð°) Ð¸Ð»Ð¸ &amp;lt;TEXTAREA&amp;gt; (Ð¼Ð½Ð¾Ð³Ð¾ÑÑÑÐ¾ÑÐ½ÑÐ¹ ÑÐµÐ´Ð°ÐºÑÐ¾Ñ). Ð­ÑÐ¸Ð¼ ÑÐ»ÐµÐ¼ÐµÐ½ÑÐ°Ð¼, ÐµÑÐ»Ð¸ Ð¸Ñ Ð´Ð°Ð½Ð½ÑÐµ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð½Ñ Ð½Ð° ÑÐµÑÐ²ÐµÑ, Ð¿ÑÐ¸ÑÐ²Ð°Ð¸Ð²Ð°ÑÑÑÑ Ð¸Ð¼ÐµÐ½Ð° Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð°ÑÑÐ¸Ð±ÑÑÐ° name. ÐÐ°ÑÐ°Ð»ÑÐ½Ð¾Ðµ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð·Ð°Ð´Ð°ÐµÑÑÑ Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÐ¾Ð¼ value Ð¸ Ð² Ð´Ð°Ð»ÑÐ½ÐµÐ¹ÑÐµÐ¼ Ð´Ð»Ñ Â«ÑÐµÐ´Ð°ÐºÑÐ¸ÑÑÐµÐ¼ÑÑÂ» Ð¿Ð¾Ð»ÐµÐ¹ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¾ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¼. ÐÐ¾Ð³Ð´Ð° Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð½Ð°Ð¶Ð¸Ð¼Ð°ÐµÑ ÐºÐ½Ð¾Ð¿ÐºÑ Â«ÐÑÐ¿ÑÐ°Ð²Ð¸ÑÑÂ» (Ð½Ð°Ð´Ð¿Ð¸ÑÑ Ð½Ð° Ð½ÐµÐ¹, Ð² Ð¿ÑÐ¸Ð½ÑÐ¸Ð¿Ðµ, Ð¼Ð¾Ð¶Ð½Ð¾ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ), ÑÐ¾ Ð±ÑÐ°ÑÐ·ÐµÑ Ð¾Ð±ÑÐµÐ´Ð¸Ð½ÑÐµÑ Ð²ÑÐµ Ð´Ð°Ð½Ð½ÑÐµ Ð¿Ð¾Ð»ÐµÐ¹ Ð² Ð¿Ð°ÑÑ name=value, ÑÐ°Ð·Ð´ÐµÐ»ÑÑ Ð¸Ñ ÑÐ¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ &amp;amp;. ÐÐ°ÑÐµÐ¼ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½Ð°Ñ ÑÐ°ÐºÐ¸Ð¼ Ð¾Ð±ÑÐ°Ð·Ð¾Ð¼ ÑÑÑÐ¾ÐºÐ° Ð¿ÐµÑÐµÐ´Ð°ÐµÑÑÑ Ð½Ð° ÑÐµÑÐ²ÐµÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð¼, ÑÐºÐ°Ð·Ð°Ð½Ð½ÑÐ¼ Ð² Ð°ÑÑÐ¸Ð±ÑÑÐµ method ÑÐµÐ³Ð° &amp;lt;FORM&amp;gt;. ÐÑÑÑ Ðº ÑÑÐµÐ½Ð°ÑÐ¸Ñ, ÐºÐ¾ÑÐ¾ÑÑÐ¹ Ð±ÑÐ´ÐµÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑÑÑ ÐµÐµ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÐ¾Ð¹, Ð·Ð°Ð´Ð°ÐµÑÑÑ Ð°ÑÑÐ¸Ð±ÑÑÐ¾Ð¼ action ÑÑÐ¾Ð³Ð¾ Ð¶Ðµ ÑÐµÐ³Ð°. ÐÑÐ»Ð¸ action Ð½Ðµ Ð·Ð°Ð´Ð°Ð½, ÑÐ¾ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ ÑÐ°Ð¹Ð»Ñ, ÑÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð²ÑÐµÐ¼Ñ ÑÐµÐºÑÑÑÑ ÑÑÑÐ°Ð½Ð¸ÑÐºÑ.&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ»Ð¸ ÑÑÐ¾-ÑÐ¾ Ð½Ðµ ÑÐ¾Ð²ÑÐµÐ¼ Ð¿Ð¾Ð½ÑÑÐ½Ð¾, Ð¾Ð±ÑÐ°ÑÐ¸ÑÐµÑÑ Ðº ÐºÐ¾Ð´Ñ ÑÐ°Ð·ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÐµÐ¼Ð¾Ð¹ Ð³Ð¾ÑÑÐµÐ²Ð¾Ð¹ ÐºÐ½Ð¸Ð³Ð¸, ÐºÐ¾ÑÐ¾ÑÑÐ¹ Ð¿ÑÐ¸Ð²ÐµÐ´ÐµÐ½ Ð½Ð¸Ð¶Ðµ.&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ°Ñ ÑÐ¿Ð°ÑÐ¸ÑÐµÐ»Ñ â Ð¼Ð¾Ð´ÑÐ»Ñ cgi ===&lt;br /&gt;
ÐÐ¾Ð·Ð²ÑÐ°ÑÐ°ÐµÐ¼ÑÑ Ðº Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÐµ Ð²ÑÐµÐ³Ð¾ ÑÑÐ¾Ð³Ð¾ Ð´Ð¾Ð±ÑÐ°, ÐºÐ¾ÑÐ¾ÑÐ¾Ðµ ÑÐ¾ÑÐ½Ð¸ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¹ ÑÐ¶Ðµ Ð³Ð¾ÑÐ¾Ð²Ñ Ð¾Ð±ÑÑÑÐ¸ÑÑ Ð½Ð° Ð½Ð°Ñ Ð±ÐµÐ´Ð½ÑÐ¹ ÑÑÐµÐ½Ð°ÑÐ¸Ð¹. ÐÑ ÑÐµÑÐ¸Ð»Ð¸ Ð²Ð¾ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÑÑÑ ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¼Ð¸ ÑÑÐµÐ´ÑÑÐ²Ð°Ð¼Ð¸ Python, Ð¸ Ð·Ð´ÐµÑÑ Ð²ÑÐµ Ð´ÐµÐ¹ÑÑÐ²Ð¸ÑÐµÐ»ÑÐ½Ð¾ Ð¾ÑÐµÐ½Ñ Ð¿ÑÐ¾ÑÑÐ¾ â Ð¸Ð¼Ð¿Ð¾ÑÑÐ¸ÑÑÐ¹ÑÐµ Ð¼Ð¾Ð´ÑÐ»Ñ cgi Ð¸, ÑÐ¾Ð·Ð´Ð°Ð² Ð¾Ð±ÑÐµÐºÑ ÐºÐ»Ð°ÑÑÐ° FieldStorage, Ð²Ñ Ð¿Ð¾Ð»ÑÑÐ¸ÑÐµ ÑÐµÑÐµÐ· Ð½ÐµÐ³Ð¾ Ð´Ð¾ÑÑÑÐ¿ ÐºÐ¾ Ð²ÑÐµÐ¼ Ð´Ð°Ð½Ð½ÑÐ¼, Ð¿ÐµÑÐµÐ´Ð°Ð½Ð½ÑÐ¼ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¼, Ð½ÐµÐ·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ Ð¾Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÐ¼Ð¾Ð³Ð¾ Ð¼ÐµÑÐ¾Ð´Ð°:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import cgi&lt;br /&gt;
data = cgi.FieldStorage()&lt;br /&gt;
for entry in data.keys():&lt;br /&gt;
print 'ÐÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ %s Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ %s' % (entry, data[entry].value)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ»Ð¸ Ð²Ð°Ð¼ Ð½ÑÐ¶Ð½Ð¾ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ, ÑÑÐ¾ Ð´ÐµÐ»Ð°ÐµÑÑÑ ÑÐ°Ðº:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
field = data['field'].value&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾Ð¼Ð¸Ð¼Ð¾ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ, Ð¾Ð±ÑÐµÐºÑ ÐºÐ»Ð°ÑÑÐ° FieldStorage ÑÐ¾Ð´ÐµÑÐ¶Ð¸Ñ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ Ð¸ Ð¾ Ð¿Ð¾Ð»ÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° (Ð² Ð½Ð°ÑÐµÐ¼ Ð¿ÑÐ¸Ð¼ÐµÑÐµ Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¸Ð· ÑÐ»Ð¾Ð²Ð°ÑÑ data.headers). MIME-ÑÐ¸Ð¿ Ð´Ð°Ð½Ð½ÑÑ (Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÐµÐ¼ÑÐ¹ Ð¿Ð¾Ð»ÐµÐ¼ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Content-Type) Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¸Ð· Ð°ÑÑÐ¸Ð±ÑÑÐ° data.type. Ð§ÐµÑÐµÐ· ÑÑÐ¾Ñ Ð¶Ðµ Ð¾Ð±ÑÐµÐºÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð° Ð¸ Ð·Ð°Ð³ÑÑÐ·ÐºÐ° ÑÐ°Ð¹Ð»Ð°.&lt;br /&gt;
&lt;br /&gt;
Ð¡ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð² keys() Ð¸ has_key() Ð¼Ð¾Ð¶Ð½Ð¾ Ð²ÑÐ¿Ð¾Ð»Ð½ÑÑÑ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð² ÑÐ¸ÐºÐ»Ðµ Ð¸ Ð¿ÑÐ¾Ð²ÐµÑÑÑÑ Ð½Ð°Ð»Ð¸ÑÐ¸Ðµ ÑÐ¾Ð¹ Ð¸Ð»Ð¸ Ð¸Ð½Ð¾Ð¹ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹. ÐÑÑÐ°ÑÐ¸ Ð³Ð¾Ð²Ð¾ÑÑ, Ð¿ÑÐ¾Ð²ÐµÑÑÑÑ Ð½Ð°Ð»Ð¸ÑÐ¸Ðµ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ Ð²Ð¾ Ð²ÑÐ¾Ð´Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ, Ð¿ÑÐµÐ¶Ð´Ðµ ÑÐµÐ¼ Ð¿ÑÐ¸ÑÑÑÐ¿Ð°ÑÑ Ðº Ð¸Ñ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÐµ, Ð½ÑÐ¶Ð½Ð¾ Ð½ÐµÐ¿ÑÐµÐ¼ÐµÐ½Ð½Ð¾ â Ð²ÐµÐ´Ñ Ð·Ð°Ð¿ÑÐ¾Ñ ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÑÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÐ¾Ð¼, Ð° ÐºÑÐ¾ Ð·Ð½Ð°ÐµÑ, ÑÑÐ¾ Ñ Ð½ÐµÐ³Ð¾ Ð½Ð° ÑÐ¼Ðµ?&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ°Ð·Ð¸ÑÑÐµÐ¼ Ð´Ð°Ð½Ð½ÑÐµ ===&lt;br /&gt;
ÐÑÐ°Ðº, Ð¿Ð¾Ð»ÑÑÐ°ÑÑ Ð´Ð°Ð½Ð½ÑÐµ Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½ÑÐ° Ð¼Ñ Ð½Ð°ÑÑÐ¸Ð»Ð¸ÑÑ. ÐÑÐ¿ÑÐ°Ð²Ð»ÑÑÑ ÑÐ¾Ð¶Ðµ ÑÐ¼ÐµÐµÐ¼. ÐÑÑÐ°Ð»Ð¾ÑÑ Ð¿ÑÐ¸Ð´ÑÐ¼Ð°ÑÑ, ÐºÐ°Ðº ÑÑÐ¸ Ð´Ð°Ð½Ð½ÑÐµ Ð»ÑÑÑÐµ Ð²ÑÐµÐ³Ð¾ ÑÑÐ°Ð½Ð¸ÑÑ. ÐÐ¾Ð½ÐµÑÐ½Ð¾, Ð´Ð»Ñ Ð½ÐµÑÐ»Ð¾Ð¶Ð½Ð¾Ð¹ Ð³Ð¾ÑÑÐµÐ²Ð¾Ð¹ ÐºÐ½Ð¸Ð³Ð¸ Ñ Ð½ÐµÐ±Ð¾Ð»ÑÑÐ¾Ð¹ Ð½Ð°Ð³ÑÑÐ·ÐºÐ¾Ð¹ Ð²Ð¿Ð¾Ð»Ð½Ðµ ÑÐ²Ð°ÑÐ¸Ð»Ð¾ Ð±Ñ Ð¸ ÑÐµÐºÑÑÐ¾Ð²ÑÑ ÑÐ°Ð¹Ð»Ð¾Ð². ÐÑÐ°Ð²Ð´Ð°, ÑÐ°Ð¼ ÐµÑÑÑ ÑÐ²Ð¾Ð¸ ÑÐ»Ð¾Ð¶Ð½Ð¾ÑÑÐ¸ â ÐµÑÐ»Ð¸ ÑÑÐ°Ð·Ñ Ð¿ÑÑÑ ÑÐµÐ»Ð¾Ð²ÐµÐº Ð·Ð°ÑÐ¾ÑÑÑ Ð²ÑÑÐºÐ°Ð·Ð°ÑÑ ÑÐ²Ð¾Ðµ Ð¼Ð½ÐµÐ½Ð¸Ðµ Ð¾ Ð²Ð°ÑÐµÐ¹ ÐºÑÑÑÐµÐ¹ÑÐµÐ¹ Ð´Ð¾Ð¼Ð°ÑÐ½ÐµÐ¹ ÑÑÑÐ°Ð½Ð¸ÑÐºÐµ, ÑÐ¾ ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð¿ÑÐ¸Ð´ÐµÑÑÑ ÐºÐ°ÐºÐ¸Ð¼-ÑÐ¾ Ð¾Ð±ÑÐ°Ð·Ð¾Ð¼ ÑÐµÐ³ÑÐ»Ð¸ÑÐ¾Ð²Ð°ÑÑ Ð´Ð¾ÑÑÑÐ¿ Ðº ÑÐ°Ð¹Ð»Ñ-ÑÑÐ°Ð½Ð¸Ð»Ð¸ÑÑ (ÐºÐ°Ðº Ð¼Ð¸Ð½Ð¸Ð¼ÑÐ¼, Ð¾Ð±ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÑÑ ÑÐ¸ÑÑÐ°ÑÐ¸Ñ, ÐµÑÐ»Ð¸ ÑÐ°Ð¹Ð» ÑÐ¶Ðµ Ð¾ÑÐºÑÑÑ Ð½Ð° Ð·Ð°Ð¿Ð¸ÑÑ Ð´ÑÑÐ³Ð¸Ð¼ ÑÐºÐ·ÐµÐ¼Ð¿Ð»ÑÑÐ¾Ð¼ ÑÑÐµÐ½Ð°ÑÐ¸Ñ). ÐÐ¾ Ð·Ð°ÑÐµÐ¼ Ð½Ð°Ð¼ Ð²ÑÐµ ÑÑÐ¸ Ð³Ð¾Ð»Ð¾Ð²Ð½ÑÐµ Ð±Ð¾Ð»Ð¸? ÐÑÐ»Ð¸ Ð¼Ñ ÑÐ°Ðº Ð»Ð¾Ð²ÐºÐ¾ Ð¾ÑÐ²ÐµÑÑÐµÐ»Ð¸ÑÑ Ð¾Ñ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð¾ÑÑÐ¸ Ð²ÑÑÑÐ½ÑÑ ÑÐ°Ð·Ð±Ð¸ÑÐ°ÑÑ HTTP-Ð·Ð°Ð¿ÑÐ¾ÑÑ, ÑÐ¾ Ð½ÐµÑÐ¶ÐµÐ»Ð¸ Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ¼ ÑÑÐ¾-ÑÐ¾ Ð¿Ð¾Ð´ÑÐ¾Ð´ÑÑÐµÐµ Ð½Ð° ÑÑÐ¾Ñ ÑÐ°Ð·?&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾Ð½ÐµÑÐ½Ð¾, Ð½Ð°Ð¹Ð´ÐµÐ¼! Ð ÑÑÐ¾ Â«ÑÑÐ¾-ÑÐ¾Â» Ð½Ð°Ð·ÑÐ²Ð°ÐµÑÑÑ ÑÐ¸ÑÑÐµÐ¼Ð¾Ð¹ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ (Ð² Ð¿ÑÐ¾ÑÑÐ¾ÑÐµÑÑÐµ â Ð¡Ð£ÐÐ). Ð¢ÐµÐ¿ÐµÑÑ Ð½Ð°ÑÐµ Ð´ÐµÐ»Ð¾ â Ð¾ÑÐ¿ÑÐ°Ð²Ð¸ÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð¸ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¾ÑÐ²ÐµÑ. ÐÑÐµ Ð¾ÑÑÐ°Ð»ÑÐ½Ð¾Ðµ â ÑÐ¶Ðµ Ð½Ðµ Ð½Ð°ÑÐ° Ð·Ð°Ð±Ð¾ÑÐ°.&lt;br /&gt;
&lt;br /&gt;
ÐÐ»Ñ ÑÑÐ¾Ð³Ð¾ Ð¿ÑÐ¸Ð¼ÐµÑÐ° Ñ Ð²ÑÐ±ÑÐ°Ð» Ð² ÐºÐ°ÑÐµÑÑÐ²Ðµ Â«Ð¾ÑÐ²ÐµÑÑÑÐ²ÐµÐ½Ð½Ð¾Ð³Ð¾Â» Ð·Ð° ÑÑÐ°Ð½ÐµÐ½Ð¸Ðµ Ð´Ð°Ð½Ð½ÑÑ ÑÐµÑÐ²ÐµÑ Ð±Ð°Ð· Ð´Ð°Ð½Ð½ÑÑ PostgreSQL. ÐÐ¾ÑÐºÐ¾Ð»ÑÐºÑ Ð¼Ñ Ð¿Ð¸ÑÐµÐ¼ Ð½Ñ Ð¾ÑÐµÐ½Ñ Ð¿ÑÐ¾ÑÑÑÑ Ð³Ð¾ÑÑÐµÐ²ÑÑ ÐºÐ½Ð¸Ð³Ñ, ÑÐ¾ Ð¸ ÑÑÑÑÐºÑÑÑÐ° Ð±Ð°Ð·Ñ Ð±ÑÐ´ÐµÑ Ñ Ð½Ð°Ñ ÑÐ»ÐµÐ¼ÐµÐ½ÑÐ°ÑÐ½Ð¾Ð¹ â Ð¾Ð´Ð½Ð° ÑÐ°Ð±Ð»Ð¸ÑÐ° Ñ ÑÑÐµÐ¼Ñ Ð¿Ð¾Ð»ÑÐ¼Ð¸: Ð²ÑÐµÐ¼Ñ Ð¿ÑÐ±Ð»Ð¸ÐºÐ°ÑÐ¸Ð¸ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ, Ð¸Ð¼Ñ Ð°Ð²ÑÐ¾ÑÐ° Ð¸, ÑÐ¾Ð±ÑÑÐ²ÐµÐ½Ð½Ð¾, ÑÐ°Ð¼Ð¾ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ðµ:&lt;br /&gt;
&lt;br /&gt;
 admin@toshiba:~$ psql&lt;br /&gt;
 Welcome to psql 8.1.4, the PostgreSQL interactive terminal.&lt;br /&gt;
 guestbook=# create user &amp;quot;www-data&amp;quot; nocreatedb nocreateuser;&lt;br /&gt;
 CREATE ROLE&lt;br /&gt;
 admin=# create database guestbook with owner &amp;quot;www-data&amp;quot;;&lt;br /&gt;
 CREATE DATABASE&lt;br /&gt;
 admin=# \connect guestbook&lt;br /&gt;
 ÐÑ Ð¿Ð¾Ð´ÑÐ¾ÐµÐ´Ð¸Ð½Ð¸Ð»Ð¸ÑÑ Ðº Ð±Ð°Ð·Ðµ Ð´Ð°Ð½Ð½ÑÑ &amp;quot;guestbook&amp;quot;.&lt;br /&gt;
 guestbook=# create table guestbook (&lt;br /&gt;
 guestbook(# datum timestamp, author varchar, message varchar);&lt;br /&gt;
 CREATE TABLE&lt;br /&gt;
 guestbook=# alter table guestbook owner to &amp;quot;www-data&amp;quot;;&lt;br /&gt;
 ALTER TABLE&lt;br /&gt;
 guestbook=# \q&lt;br /&gt;
 admin@toshiba:~$&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾Ð¶Ð°Ð»ÑÐ¹, ÐµÐ´Ð¸Ð½ÑÑÐ²ÐµÐ½Ð½Ð¾Ðµ, ÑÑÐ¾ Ð·Ð´ÐµÑÑ Ð½ÑÐ¶Ð½Ð¾ Ð¿Ð¾ÑÑÐ½Ð¸ÑÑ, ÑÑÐ¾ Ð¿Ð¾ÑÐµÐ¼Ñ Ð±Ð°Ð·Ðµ Ð¸ ÑÐ°Ð±Ð»Ð¸ÑÐµ Ð¼Ñ Ð½Ð°Ð·Ð½Ð°ÑÐ¸Ð»Ð¸ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑÐµÐ¼ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ www-data. ÐÑÐ¾ÑÑÐ¾ Ðº Ð½Ð¸Ð¼ Ð±ÑÐ´ÐµÑ Ð¾Ð±ÑÐ°ÑÐ°ÑÑÑÑ cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ð¹, ÑÐ°Ð±Ð¾ÑÐ°ÑÑÐ¸Ð¹ Ñ Ð¿ÑÐ°Ð²Ð°Ð¼Ð¸ HTTP-ÑÐµÑÐ²ÐµÑÐ° Apache, ÐºÐ¾ÑÐ¾ÑÑÐ¹, Ð² ÑÐ²Ð¾Ñ Ð¾ÑÐµÑÐµÐ´Ñ, Ð¸ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ [Ð² Ð²Ð°ÑÐµÐ¼ Ð´Ð¸ÑÑÑÐ¸Ð±ÑÑÐ¸Ð²Ðµ Ð¾Ð½ Ð¼Ð¾Ð¶ÐµÑ Ð½Ð°Ð·Ð²Ð°ÑÑÑÑ Ð¿Ð¾-Ð´ÑÑÐ³Ð¾Ð¼Ñ, â Ð¿ÑÐ¸Ð¼. ÑÐµÐ´.]. Ð PostgreSQL Ð¿Ð¾ ÑÐ¼Ð¾Ð»ÑÐ°Ð½Ð¸Ñ ÑÑÐµÐ±ÑÐµÑ, ÑÑÐ¾Ð±Ñ Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð² ÐÐ ÑÐ¾Ð²Ð¿Ð°Ð´Ð°Ð»Ð¾ Ñ ÐµÐ³Ð¾ ÑÐ¸ÑÑÐµÐ¼Ð½ÑÐ¼ Ð¸Ð¼ÐµÐ½ÐµÐ¼. ÐÐ½Ðµ ÑÑÐ¾ ÐºÐ°Ð¶ÐµÑÑÑ Ð´Ð¾ÑÑÐ°ÑÐ¾ÑÐ½Ð¾ ÑÐ´Ð¾Ð±Ð½ÑÐ¼, ÑÐ¾ÑÑ Ð²Ñ, ÐºÐ¾Ð½ÐµÑÐ½Ð¾, Ð¼Ð¾Ð¶ÐµÑÐµ Ð¿Ð¾ÑÑÑÐ¿Ð¸ÑÑ Ð¿Ð¾-ÑÐ²Ð¾ÐµÐ¼Ñ.&lt;br /&gt;
&lt;br /&gt;
=== DB API Ð½Ð° ÑÑÑÐ°Ð¶Ðµ ÑÐ½Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¸ ===&lt;br /&gt;
ÐÑÑÐ°Ð»Ð¾ÑÑ ÑÐ°Ð·Ð¾Ð±ÑÐ°ÑÑÑÑ, ÐºÐ°Ðº Ð¶Ðµ Python Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²ÑÐµÑ Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ. ÐÐ»Ñ ÑÑÐ¾Ð³Ð¾ Python Ð¿ÑÐµÐ´Ð¾ÑÑÐ°Ð²Ð»ÑÐµÑ DB API â ÑÐ¿ÐµÑÐ¸Ð°Ð»ÑÐ½ÑÐ¹ Ð¸Ð½ÑÐµÑÑÐµÐ¹Ñ, ÑÐ½Ð¸ÑÐ¸ÑÐ¸ÑÑÑÑÐ¸Ð¹ Ð½Ð°Ð±Ð¾Ñ Ð¼ÐµÑÐ¾Ð´Ð¾Ð², ÐºÐ¾ÑÐ¾ÑÑÐµ Ð±ÑÐ´ÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾ ÑÐ°Ð±Ð¾ÑÐ°ÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ Ð¾Ñ ÑÐ¾Ð³Ð¾, Ñ ÐºÐ°ÐºÐ¾Ð¹ Ð¡Ð£ÐÐ Ð¼Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²ÑÐµÐ¼. ÐÐ»Ñ ÑÐ°Ð±Ð¾ÑÑ Ñ PostgreSQL Ð½Ð°Ð¼ Ð¿Ð¾Ð½Ð°Ð´Ð¾Ð±Ð¸ÑÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ PyPgSQL (Ð² ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½Ð¾Ð¹ Ð¿Ð¾ÑÑÐ°Ð²ÐºÐµ ÐµÐ³Ð¾ Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ, Ð½Ð¾ Ð²Ð°Ñ Ð¼ÐµÐ½ÐµÐ´Ð¶ÐµÑ Ð¿Ð°ÐºÐµÑÐ¾Ð² Ð½Ð°Ð²ÐµÑÐ½ÑÐºÐ° Ð±ÑÐ´ÐµÑ Ð² ÐºÑÑÑÐµ, ÐºÐ°Ðº ÐµÐ³Ð¾ ÑÑÑÐ°Ð½Ð¾Ð²Ð¸ÑÑ; ÐºÑÑÐ°ÑÐ¸, ÑÑÐ¾ Ð½Ðµ ÐµÐ´Ð¸Ð½ÑÑÐ²ÐµÐ½Ð½ÑÐ¹ Ð¼Ð¾Ð´ÑÐ»Ñ â Ñ Ð²Ð°Ñ, Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾, Ð±ÑÐ´ÐµÑ PyGreSQL, ÐºÐ¾ÑÐ¾ÑÑÐ¹ ÑÐ°Ð±Ð¾ÑÐ°ÐµÑ Ð½Ð¸ÑÑÑÑ Ð½Ð¸ ÑÑÐ¶Ðµ Ð¸ Ñ ÑÐµÐ¼Ð¸ Ð¶Ðµ ÑÐ°Ð¼ÑÐ¼Ð¸ Ð¼ÐµÑÐ¾Ð´Ð°Ð¼Ð¸).&lt;br /&gt;
&lt;br /&gt;
DB API Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÑÐµÑ ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐµ Ð¼ÐµÑÐ¾Ð´Ñ ÑÐ°Ð±Ð¾ÑÑ Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ, ÑÐ°Ðº ÑÑÐ¾, ÐºÐ°ÐºÐ¾Ð¹ Ð±Ñ Ð¼Ð¾Ð´ÑÐ»Ñ Ð²Ñ Ð½Ð¸ Ð·Ð°Ð³ÑÑÐ·Ð¸Ð»Ð¸ Ð¸ Ñ ÐºÐ°ÐºÐ¾Ð¹ Ð±Ñ Ð¡Ð£ÐÐ Ð½Ð¸ ÑÐ°Ð±Ð¾ÑÐ°Ð»Ð¸ (Ð±ÑÐ´Ñ ÑÐ¾ MySQL, PostgreSQL, SQLite Ð¸Ð»Ð¸ ÑÑÐ¾-ÑÐ¾ ÐµÑÐµ), Ð¼ÐµÐ½ÑÑÑÑÑ Ð±ÑÐ´ÐµÑ ÑÐ¾Ð»ÑÐºÐ¾ Ð¸Ð¼Ñ Ð¼Ð¾Ð´ÑÐ»Ñ. ÐÐ»Ð°Ð²Ð½Ð¾Ðµ, ÑÑÐ¾Ð±Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÐ¼ÑÐ¹ Ð¼Ð¾Ð´ÑÐ»Ñ ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²Ð¾Ð²Ð°Ð» DB API. Ð Ð°ÑÑÐ¼Ð¾ÑÑÐ¸Ð¼ ÐºÐ¾ÑÐ¾ÑÐºÐ¾ Ð¾ÑÐ½Ð¾Ð²Ð½ÑÐµ Ð¼ÐµÑÐ¾Ð´Ñ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
conn = connect(dsn='localhost', user='admin', password='superparol', database='mydb')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð¢Ð°Ðº Ð¾ÑÑÑÐµÑÑÐ²Ð»ÑÐµÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ðµ Ðº Ð±Ð°Ð·Ðµ. Ð Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÐ¸ Ð¾Ñ ÑÐ¸ÑÑÐ°ÑÐ¸Ð¸, Ð²Ð°Ð¼ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑÐµÐ±Ð¾Ð²Ð°ÑÑÑÑ ÑÐºÐ°Ð·Ð°ÑÑ ÑÐ¾Ð»ÑÐºÐ¾ Ð½ÑÐ¶Ð½ÑÐµ Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÑ (Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, Ð¸Ð¼Ñ ÑÐ¾ÑÑÐ° 'localhost' Ð¿Ð¾Ð´ÑÐ°Ð·ÑÐ¼ÐµÐ²Ð°ÐµÑÑÑ Ð¿Ð¾ ÑÐ¼Ð¾Ð»ÑÐ°Ð½Ð¸Ñ).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
cur = conn.cursor()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÑÑÑÐ¾ÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÑÑÑÑ Ð´Ð°Ð»ÐµÐºÐ¾ Ð½Ðµ Ð²ÑÐµÐ¼Ð¸ Ð¡Ð£ÐÐ, Ð½Ð¾ Ð´Ð»Ñ Ð¾Ð±ÑÐ½Ð¾ÑÑÐ¸ Ð² DB API Ð¾Ð½Ð¸ Ð²Ð²ÐµÐ´ÐµÐ½Ñ Ð¸, Ð² ÑÐ»ÑÑÐ°Ðµ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð¾ÑÑÐ¸, Ð´Ð¾Ð»Ð¶Ð½Ñ ÑÐ¼ÑÐ»Ð¸ÑÐ¾Ð²Ð°ÑÑÑÑ Ð¼Ð¾Ð´ÑÐ»ÑÐ¼Ð¸ ÑÐ¾Ð¿ÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸ÑÐºÑÑÑÑÐ²ÐµÐ½Ð½Ð¾. Ð¢Ð°Ðº ÑÑÐ¾ Ð½Ðµ Ð·Ð°Ð±ÑÐ²Ð°Ð¹ÑÐµ Ð¾ÑÐ¿ÑÐ°Ð²Ð»ÑÑÑ Ð²ÑÐµ Ð²Ð°ÑÐ¸ Ð·Ð°Ð¿ÑÐ¾ÑÑ ÑÐµÑÐµÐ· ÐºÑÑÑÐ¾Ñ.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
cur.execute('''SELECT * FROM mytable''')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð¢Ð°Ðº Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ SQL-Ð·Ð°Ð¿ÑÐ¾Ñ. ÐÑÐ»Ð¸ Ð² ÑÑÑÐ¾ÐºÐµ Ð·Ð°Ð¿ÑÐ¾ÑÐ° Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÑÑÑÑ Ð·Ð½Ð°ÐºÐ¾Ð¼ÐµÑÑÐ° %s, ÑÐ¾ Ð²ÑÐ¾ÑÑÐ¼ Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÐ¾Ð¼ Ð¿ÐµÑÐµÐ´Ð°ÐµÑÑÑ ÑÐ¿Ð¸ÑÐ¾Ðº Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½ÑÑ-Ð·Ð½Ð°ÑÐµÐ½Ð¸Ð¹, Ð¿ÑÐ¸ÑÐµÐ¼ Ð² SQL-Ð·Ð°Ð¿ÑÐ¾ÑÐµ Ð·Ð½Ð°ÐºÐ¾Ð¼ÐµÑÑÐ° Ð½Ðµ ÑÑÐµÐ±ÑÐµÑÑÑ Ð¾ÐºÑÑÐ¶Ð°ÑÑ Ð°Ð¿Ð¾ÑÑÑÐ¾ÑÐ°Ð¼Ð¸ â Ð¼Ð¾Ð´ÑÐ»Ñ ÑÐ´ÐµÐ»Ð°ÐµÑ ÑÑÐ¾ ÑÐ°Ð¼Ð¾ÑÑÐ¾ÑÑÐµÐ»ÑÐ½Ð¾ Ð² Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÐ¸ Ð¾Ñ&lt;br /&gt;
ÑÐ¸Ð¿Ð° Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
cur.fetchall()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾Ð·Ð²ÑÐ°ÑÐ°ÐµÑ Ð´Ð²ÑÐ¼ÐµÑÐ½ÑÐ¹ ÑÐ¿Ð¸ÑÐ¾Ðº (ÑÑÑÐ¾ÐºÐ¸ â Ð¿Ð¾Ð»Ñ) Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½ÑÑ Ð¾Ñ Ð¡Ð£ÐÐ Ð´Ð°Ð½Ð½ÑÑ. Ð¡ÑÑÐµÑÑÐ²ÑÑÑ Ð¸ Ð´ÑÑÐ³Ð¸Ðµ Ð¼ÐµÑÐ¾Ð´Ñ, Ð¾Ð·Ð½Ð°ÐºÐ¾Ð¼Ð¸ÑÑÑÑ Ñ ÐºÐ¾ÑÐ¾ÑÑÐ¼Ð¸ Ð²Ñ ÑÐ¼Ð¾Ð¶ÐµÑÐµ Ð² Ð´Ð¾ÐºÑÐ¼ÐµÐ½ÑÐ°ÑÐ¸Ð¸ Ð¸Ð»Ð¸ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð·Ð½Ð°ÐºÐ¾Ð¼Ð¾Ð¹ Ð²Ð°Ð¼ ÑÑÐ½ÐºÑÐ¸Ð¸ dir() Ð´Ð° Ð¿Ð°ÑÑ-ÑÑÐ¾Ð¹ÐºÐ¸ Ð½ÐµÑÐ»Ð¾Ð¶Ð½ÑÑ ÑÐºÑÐ¿ÐµÑÐ¸Ð¼ÐµÐ½ÑÐ¾Ð².&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ°ÐºÑÐµÐ¿Ð»ÑÐµÐ¼ Ð½Ð° Ð¿ÑÐ°ÐºÑÐ¸ÐºÐµ ===&lt;br /&gt;
ÐÐµÑÐµÐ¹Ð´ÐµÐ¼ Ðº ÑÐ°ÑÑÐ¼Ð¾ÑÑÐµÐ½Ð¸Ñ Ð½Ð°ÑÐµÐ³Ð¾ Ð¿ÑÐ¸Ð¼ÐµÑÐ°. ÐÐ°ÑÐ½ÐµÐ¼ ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½Ð¾ â ÑÐºÐ°Ð¶ÐµÐ¼ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÑ, Ð¿Ð¾Ð´ÐºÐ»ÑÑÐ¸Ð¼ Ð½ÑÐ¶Ð½ÑÐµ Ð¼Ð¾Ð´ÑÐ»Ð¸:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/Python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
import PyPgSQL.PgSQL as pg&lt;br /&gt;
import cgi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐ°Ð»ÐµÐµ, Ð¾Ð¿ÑÐµÐ´ÐµÐ»Ð¸Ð¼ Ð´Ð²Ðµ ÑÑÐ½ÐºÑÐ¸Ð¸. ÐÐµÑÐ²Ð°Ñ Ð±ÑÐ´ÐµÑ Ð¾ÑÐ²ÐµÑÐ°ÑÑ Ð·Ð° Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð½Ð¾Ð²Ð¾Ð³Ð¾ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ Ð² Ð±Ð°Ð·Ñ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def addMessage(author, message):&lt;br /&gt;
  db = pg.connect(database=&amp;quot;guestbook&amp;quot;)&lt;br /&gt;
  c = db.cursor()&lt;br /&gt;
  c.execute(&amp;quot;&amp;quot;&amp;quot;INSERT INTO guestbook (datum, author, message) VALUES ('now', %s, %s);&amp;quot;&amp;quot;&amp;quot;, (author, message))&lt;br /&gt;
  c.close()&lt;br /&gt;
  db.commit()&lt;br /&gt;
  db.close()&lt;br /&gt;
  print &amp;quot;Content-Type: text/html&amp;quot;&lt;br /&gt;
  print &amp;quot;Location: ?#form\n&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐ°Ðº Ð²Ð¸Ð´Ð¸ÑÐµ, Ð²ÑÐµ Ð¾ÑÐµÐ½Ñ Ð´Ð°Ð¶Ðµ Ð»Ð¾Ð³Ð¸ÑÐ½Ð¾: ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÐ¼ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ðµ Ñ ÐÐ (Ð¿Ð¾ÑÐºÐ¾Ð»ÑÐºÑ Ð² Ð½Ð°ÑÐµÐ¼ ÑÐ»ÑÑÐ°Ðµ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ðµ Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ ÑÐµÐºÑÑÐµÐ³Ð¾ ÑÐ¸ÑÑÐµÐ¼Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ, ÑÐ¾ Ð´Ð¾ÑÑÐ°ÑÐ¾ÑÐ½Ð¾ ÑÐºÐ°Ð·Ð°ÑÑ ÑÐ¾Ð»ÑÐºÐ¾ Ð¸Ð¼Ñ Ð±Ð°Ð·Ñ), ÑÐ¾Ð·Ð´Ð°ÐµÐ¼ ÐºÑÑÑÐ¾Ñ (Ð² PostgreSQL Ð¾Ð½Ð¸ Ð½Ðµ Ð¿ÑÐ¸Ð¼ÐµÐ½ÑÑÑÑÑ, Ð½Ð¾ Ð¾Ð½Ð¸ ÑÐ¼ÑÐ»Ð¸ÑÑÑÑÑÑ ÐºÐ°Ð¶Ð´ÑÐ¼ Ð¼Ð¾Ð´ÑÐ»ÐµÐ¼, Ð¿ÑÐµÑÐµÐ½Ð´ÑÑÑÐ¸Ð¼ Ð½Ð° ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²Ð¸Ðµ DB API), Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ, Ð·Ð°ÐºÑÑÐ²Ð°ÐµÑÑÑ ÐºÑÑÑÐ¾Ñ, ÑÐ¸ÐºÑÐ¸ÑÑÑÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ (PostgreSQL Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑ ÑÑÐ°Ð½Ð·Ð°ÐºÑÐ¸Ð¸, Ð¿Ð¾ÑÑÐ¾Ð¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¼ÐµÑÐ¾Ð´Ð° commit() Ð¾Ð±ÑÐ·Ð°ÑÐµÐ»ÑÐ½Ð¾, Ð¸Ð½Ð°ÑÐµ Ð²Ð°ÑÐ¸ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ Ð±ÑÐ´ÑÑ ÑÐ¾ÑÑÐ°Ð½ÐµÐ½Ñ), Ð¸, Ð½Ð°ÐºÐ¾Ð½ÐµÑ, Ð·Ð°ÐºÑÑÐ²Ð°ÐµÐ¼ ÑÐ°Ð¼Ð¾ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ðµ Ñ Ð±Ð°Ð·Ð¾Ð¹. Ð Ð¿Ð¾Ð»Ðµ datum Ð·Ð°Ð½Ð¾ÑÐ¸Ð¼ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð²ÑÑÑÐ¾ÐµÐ½Ð½Ð¾Ð¹ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ PostgreSQL â now, ÐºÐ¾ÑÐ¾ÑÐ°Ñ ÐºÐ°Ð¶Ð´ÑÐ¹ ÑÐ°Ð· Ð·Ð°Ð¼ÐµÐ½ÑÐµÑÑÑ ÑÐµÐºÑÑÐ¸Ð¼ Ð·Ð½Ð°ÑÐµÐ½Ð¸ÐµÐ¼ Ð´Ð°ÑÑ Ð¸ Ð²ÑÐµÐ¼ÐµÐ½Ð¸.&lt;br /&gt;
&lt;br /&gt;
ÐÑ Ð¸ Ð¿ÐµÑÐ°ÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Â«LocationÂ» Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ Ð´Ð»Ñ ÑÐ¾Ð³Ð¾, ÑÑÐ¾Ð±Ñ Ð¿ÐµÑÐµÐ½Ð°Ð¿ÑÐ°Ð²Ð¸ÑÑ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð½Ð° ÑÑÐ¾Ñ Ð¶Ðµ ÑÑÐµÐ½Ð°ÑÐ¸Ð¹, Ð½Ð¾ ÑÐ¶Ðµ Ð±ÐµÐ· Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÐ¾Ð² â Ð¼Ñ Ð¶Ðµ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°ÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ, ÑÑÐ¾ Ð¾Ð½ Ð½Ð° ÑÐ°Ð¼Ð¾Ð¼ Ð´ÐµÐ»Ðµ Ð²Ð²ÐµÐ»? (Ð¯ÐºÐ¾ÑÑ #form Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ, ÑÑÐ¾Ð±Ñ Ð°Ð²ÑÐ¾Ð¼Ð°ÑÐ¸ÑÐµÑÐºÐ¸ Ð¿ÑÐ¾ÐºÑÑÑÐ¸ÑÑ ÑÑÑÐ°Ð½Ð¸ÑÐºÑ Ð½Ð° Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐµ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ðµ).&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ¾ÑÐ°Ñ ÑÑÐ½ÐºÑÐ¸Ñ Ð±ÑÐ´ÐµÑ Ð¾ÑÐ²ÐµÑÐ°ÑÑ Ð·Ð° Ð²ÑÐ²Ð¾Ð´ Ð½Ð° ÑÐºÑÐ°Ð½ ÑÐ¶Ðµ Ð¾ÑÑÐ°Ð²Ð»ÐµÐ½Ð½ÑÑÐ² ÐºÐ½Ð¸Ð³Ðµ Ð·Ð°Ð¿Ð¸ÑÐµÐ¹, Ð° ÑÐ°ÐºÐ¶Ðµ Ð·Ð° ÑÐ¾ÑÐ¼Ñ, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾ÑÐ¾ÑÐ¾Ð¹ Ð¼Ð¾Ð¶Ð½Ð¾ Ð±ÑÐ´ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð¸ ÑÐ²Ð¾Ðµ Ð²ÑÑÐºÐ°Ð·ÑÐ²Ð°Ð½Ð¸Ðµ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def showGB():&lt;br /&gt;
  db = pg.connect(database=&amp;quot;guestbook&amp;quot;)&lt;br /&gt;
  c = db.cursor()&lt;br /&gt;
  c.execute(&amp;quot;&amp;quot;&amp;quot;SELECT datum, author, message FROM guestbook ORDER BY datum;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
  res = c.fetchall()&lt;br /&gt;
  c.close()&lt;br /&gt;
db.close()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð ÑÑÐ¾Ð¼ ÑÑÐ°Ð³Ð¼ÐµÐ½ÑÐµ Ð¼Ñ Ð²ÑÐ±Ð¸ÑÐ°ÐµÐ¼ Ð²ÑÐµ ÑÑÑÐ¾ÐºÐ¸ Ð¸Ð· Ð½Ð°ÑÐµÐ¹ ÑÐ°Ð±Ð»Ð¸ÑÑ Ð´Ð°Ð½Ð½ÑÑ, ÑÐ¾ÑÑÐ¸ÑÑÑ Ð¸Ñ Ð¿Ð¾ Ð´Ð°ÑÐµ. Ð ÐµÐ·ÑÐ»ÑÑÐ°Ñ ÑÐ¾ÑÑÐ°Ð½ÑÐµÑÑÑ Ð² Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ res, Ñ ÐºÐ¾ÑÐ¾ÑÐ¾Ð¹ Ð¸ Ð±ÑÐ´ÐµÐ¼ ÑÐ°Ð±Ð¾ÑÐ°ÑÑ. Ð¢ÐµÐ¿ÐµÑÑ Ð¾ÑÑÐ°Ð»Ð¾ÑÑ Ð»Ð¸ÑÑ Ð°ÐºÐºÑÑÐ°ÑÐ½ÐµÐ½ÑÐºÐ¾ ÑÐ°Ð·Ð»Ð¾Ð¶Ð¸ÑÑ Ð½Ð°ÑÐ¸ Ð´Ð°Ð½Ð½ÑÐµ Ð¿Ð¾ ÑÐ°Ð±Ð»Ð¸ÑÐºÐ°Ð¼ Ð¸ Ð²ÑÐ²ÐµÑÑÐ¸ Ð¸Ñ Ð½Ð° ÑÐºÑÐ°Ð½:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 print &amp;quot;Content-Type: text/html\n&amp;quot;&lt;br /&gt;
 print &amp;quot;&amp;lt;H1 style='color:#7777FF'&amp;gt;&amp;lt;U&amp;gt;ÐÐµÐ»ÑÐºÐ°Ð¼ Ðº Ð½Ð°Ð¼ Ð² Ð³Ð¾ÑÑÐ¸!&amp;lt;/U&amp;gt;&amp;lt;/H1&amp;gt;&amp;quot;&lt;br /&gt;
 for item in res:&lt;br /&gt;
   print &amp;quot;&amp;quot;&amp;quot;&amp;lt;TABLE width='90%%'&amp;gt;&lt;br /&gt;
                &amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;&amp;lt;SMALL&amp;gt;Ð¢Ð¾Ð²Ð°ÑÐ¸Ñ &amp;lt;B&amp;gt;%s&amp;lt;/B&amp;gt; Ð¿Ð¾Ð²ÐµÐ´Ð°Ð»Ð½Ð°Ð¼ ÑÐ»ÐµÐ´ÑÑÑÐµÐµ:&amp;lt;/SMALL&amp;gt;&lt;br /&gt;
                    &amp;lt;TD align='right'&amp;gt;&amp;lt;SMALL&amp;gt;%s&amp;lt;/SMALL&amp;gt;&lt;br /&gt;
                &amp;lt;TR&amp;gt;&amp;lt;TD style='background-color:#DDDDFF' colspan='2'&amp;gt;%s&lt;br /&gt;
            &amp;lt;/TABLE&amp;gt;&amp;quot;&amp;quot;&amp;quot; % (item[1], str(item[0])[:19], item[2])&lt;br /&gt;
 print &amp;quot;&amp;lt;HR&amp;gt;&amp;lt;A name='form'&amp;gt;&amp;lt;H3&amp;gt;ÐÑÐ¸ÑÐ¾ÐµÐ´Ð¸Ð½ÑÐ¹ÑÐµÑÑ Ðº Ð´Ð¸ÑÐºÑÑÑÐ¸Ð¸:&amp;lt;/H3&amp;gt;&amp;quot;&lt;br /&gt;
 print &amp;quot;&amp;quot;&amp;quot;&amp;lt;FORM method='GET'&amp;gt;&lt;br /&gt;
           ÐÐ°ÑÐµ Ð¸Ð¼Ñ: &amp;lt;INPUT type='text' name='author'&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
           Ð§ÑÐ¾ Ð²Ñ Ð´ÑÐ¼Ð°ÐµÑÐµ Ð¿Ð¾ ÑÑÐ¾Ð¼Ñ Ð¿Ð¾Ð²Ð¾Ð´Ñ:&amp;lt;BR&amp;gt;&lt;br /&gt;
          &amp;lt;TEXTAREA name='message' rows='5' cols='80'&amp;gt;&amp;lt;/TEXTAREA&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
          &amp;lt;INPUT type='submit' value='ÐÑÐ¿ÑÐ°Ð²Ð¸ÑÑ'&amp;gt;&lt;br /&gt;
          &amp;lt;/FORM&amp;gt;&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;img&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
[[ÐÐ·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ðµ:Img 83 81 1.png|thumb|ÐÐ¸ ÑÐ¼Ð°Ð¹Ð»Ð¸ÐºÐ¾Ð², Ð½Ð¸ BB-ÐºÐ¾Ð´Ð°, Ð½Ð¸ Ð´Ð°Ð¶Ðµ Ð»Ð¾Ð³Ð¾ÑÐ¸Ð¿Ð°... ÐÐ°ÑÐ¾ Ð¼Ñ ÑÐ´ÐµÐ»Ð°Ð»Ð¸ ÑÑÑ Ð³Ð¾ÑÑÐµÐ²ÑÑ Ð·Ð° 10 Ð¼Ð¸Ð½ÑÑ!]]&lt;br /&gt;
&lt;br /&gt;
Ð¡Ð¼ÑÑÐ» ÐºÐ¾Ð½ÑÑÑÑÐºÑÐ¸Ð¸ str(item[0])[:19] Ð·Ð°ÐºÐ»ÑÑÐ°ÐµÑÑÑ Ð² ÑÐ¾Ð¼, ÑÑÐ¾Ð±Ñ Ð² ÑÑÑÐ¾ÐºÐµ Ð²ÑÐµÐ¼ÐµÐ½Ð¸ Ð¾ÑÑÐµÑÑ Ð½ÐµÐ½ÑÐ¶Ð½ÑÐµ Ð½Ð°Ð¼ Ð¼Ð¸Ð»Ð»Ð¸ÑÐµÐºÑÐ½Ð´Ñ, ÐºÐ¾ÑÐ¾ÑÑÐµ ÑÐ¾ÑÑÐ°Ð½ÑÑÑÑÑ Ð² Ð¿Ð¾Ð»Ðµ ÑÐ¸Ð¿Ð° timestamp. ÐÐ¾ÑÐ»Ðµ Ð²ÑÐµÑ Ð¾Ð¿ÑÐ±Ð»Ð¸ÐºÐ¾Ð²Ð°Ð½Ð½ÑÑ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ð¹ Ð²ÑÐ²Ð¾Ð´Ð¸Ð¼ ÑÐ¾ÑÐ¼Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾, ÑÑÐ¾Ð±Ñ ÐºÐ°Ð¶Ð´ÑÐ¹ Ð¼Ð¾Ð³ Ð¿ÑÐ¸ÑÐ¾ÐµÐ´Ð¸Ð½Ð¸ÑÑÑÑ Ðº Ð½Ð°ÑÐµÐ¹ Ð´Ð¸ÑÐºÑÑÑÐ¸Ð¸. ÐÑÑÐ°ÑÐ¸, Ð² ÑÐµÐ³Ðµ &amp;lt;FORM&amp;gt; Ð¼Ñ Ð½Ðµ ÑÐºÐ°Ð·Ð°Ð»Ð¸ Ð¿Ð°ÑÐ°Ð¼ÐµÑÑ action, Ð¿Ð¾ÑÐºÐ¾Ð»ÑÐºÑ Ð´Ð°Ð½Ð½ÑÐµ Ð±ÑÐ´ÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÑÑÑÑ Ð½Ð° Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÑ ÑÑÐ¾Ð¼Ñ Ð¶Ðµ ÑÑÐµÐ½Ð°ÑÐ¸Ñ (Ð±Ð»Ð°Ð³Ð¾Ð´Ð°ÑÑ ÑÐµÐ¼Ñ Ð¸Ð¼Ñ ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿ÑÐ¸ÑÐ²Ð¾Ð¸ÑÑ Ð»ÑÐ±Ð¾Ðµ).&lt;br /&gt;
ÐÐ°ÐºÐ¾Ð½ÐµÑ, Ð¿Ð¾ÑÐ»ÐµÐ´Ð½Ð¸Ð¹ ÑÑÐ°Ð³Ð¼ÐµÐ½Ñ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
form = cgi.FieldStorage()&lt;br /&gt;
if form.has_key(&amp;quot;message&amp;quot;) and form.has_key(&amp;quot;author&amp;quot;):&lt;br /&gt;
  author = cgi.escape(form[&amp;quot;author&amp;quot;].value)&lt;br /&gt;
  message = cgi.escape(form[&amp;quot;message&amp;quot;].value)&lt;br /&gt;
  message = message.replace(&amp;quot;\n&amp;quot;, &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;)&lt;br /&gt;
  addMessage(author, message)&lt;br /&gt;
else:&lt;br /&gt;
  showGB()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð¡Ð¾Ð·Ð´Ð°ÐµÐ¼ FieldStorage-Ð¾Ð±ÑÐµÐºÑ, Ð¸ ÐµÑÐ»Ð¸ Ð² Ð½ÐµÐ¼ ÐµÑÑÑ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð½ÑÐµ Ð¿Ð¾Ð»Ñ message Ð¸ author (ÑÐ¾ ÐµÑÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð±ÑÐ» ÑÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð½ Ð¸Ð· Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð½Ð¾Ð¹ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¼ ÑÐ¾ÑÐ¼Ñ), ÑÐ¾, Ð½ÐµÐ¼Ð½Ð¾Ð¶ÐºÐ¾ Ð¸Ñ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐ°Ð² (ÑÑÐ½ÐºÑÐ¸Ñ cgi.escape() Ð·Ð°Ð¼ÐµÐ½ÑÐµÑ Ð²ÑÐµ Â«Ð½ÐµÐ±Ð»Ð°Ð³Ð¾Ð½Ð°Ð´ÐµÐ¶Ð½ÑÐµÂ» ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ â Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, &amp;lt; â Ð¸Ñ ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¼Ð¸ SGML-ÑÑÑÐ½Ð¾ÑÑÑÐ¼Ð¸, Ð² Ð´Ð°Ð½Ð½Ð¾Ð¼ ÑÐ»ÑÑÐ°Ðµ â &amp;amp;lt;), Ð¿ÐµÑÐµÐ´Ð°ÐµÐ¼ ÑÑÐ½ÐºÑÐ¸Ð¸ addMessage(). ÐÐ±ÑÐ°Ð±Ð¾ÑÐºÐ° Ð½ÑÐ¶Ð½Ð° Ð´Ð»Ñ ÑÐ¾Ð³Ð¾, ÑÑÐ¾Ð±Ñ Ð·Ð»Ð¾ÑÐ¼ÑÑÐ»ÐµÐ½Ð½Ð¸Ðº Ð½Ðµ Ð¼Ð¾Ð³ Ð²Ð²ÐµÑÑÐ¸ Ð² Ð¿Ð¾Ð»Ðµ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ð¸Ð¼ÐµÐ½Ð¸ Ð°Ð²ÑÐ¾ÑÐ° ÑÑÐ¾-Ð½Ð¸Ð±ÑÐ´Ñ ÑÐ°ÐºÐ¾Ðµ:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT&amp;gt;alert('ÐÐ° Ð¿Ð¾ÑÐ»Ð¸ Ð²Ñ Ð²ÑÐµ!');&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð ÑÐ»Ð¾Ð²Ñ, Ð¿ÑÐµÐ½ÐµÐ±ÑÐµÐ³Ð°ÑÑ Ð¿ÑÐ¾Ð²ÐµÑÐºÐ¾Ð¹ Ð²Ð²ÐµÐ´ÐµÐ½Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð½Ð¸ Ð² ÐºÐ¾ÐµÐ¼ ÑÐ»ÑÑÐ°Ðµ Ð½ÐµÐ»ÑÐ·Ñ. ÐÐ°Ð¹Ð´Ð¸ÑÐµ ÐºÐ°Ðº-Ð½Ð¸Ð±ÑÐ´Ñ Ð½Ð° [http://securitylab.ru securitylab.ru] Ð¸ Ð¿Ð¾ÑÐ¼Ð¾ÑÑÐ¸ÑÐµ, ÑÐºÐ¾Ð»ÑÐºÐ¾ ÑÑÐ·Ð²Ð¸Ð¼Ð¾ÑÑÐµÐ¹ ÑÐ¸Ð¿Ð° Â«XSSÂ» Ð¾Ð±Ð½Ð°ÑÑÐ¶Ð¸Ð²Ð°ÐµÑÑÑ ÐºÐ°Ð¶Ð´ÑÐ¹ Ð¼ÐµÑÑÑ! Ð¢Ð°Ðº ÑÑÐ¾ ÑÑÑÐºÐ¸ ÑÑÑÐºÐ°Ð¼Ð¸, Ð½Ð¾ Ð¿Ð¾ÑÐ»ÐµÐ´ÑÑÐ²Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¾ÑÐµÐ½Ñ ÑÐµÑÑÐµÐ·Ð½ÑÐ¼Ð¸.&lt;br /&gt;
&lt;br /&gt;
=== ÐÑÐ´Ð° Ð¶Ðµ Ð½Ð°Ð¼ ÑÐµÐ¿ÐµÑÑ Ð¸Ð´ÑÐ¸? ===&lt;br /&gt;
ÐÑÐ°Ðº, ÑÑÐ¾-ÑÐ¾ Ð²Ð¿Ð¾Ð»Ð½Ðµ ÑÐ°Ð±Ð¾ÑÐ¾ÑÐ¿Ð¾ÑÐ¾Ð±Ð½Ð¾Ðµ Ñ Ð½Ð°Ñ ÐµÑÑÑ (ÑÐ¼. [[LXF83:Python#img|ÑÐ¸ÑÑÐ½Ð¾Ðº]]). ÐÐ¾ ÐºÐ°Ðº Ð²Ñ Ð¼Ð¾Ð¶ÐµÑ Ð´Ð¾Ð³Ð°Ð´Ð°ÑÑÑÑ, Ð½Ð°ÑÐ° Ð³Ð¾ÑÑÐµÐ²Ð°Ñ Ð¾ÑÐµÐ½Ñ Ð´Ð°Ð»ÐµÐºÐ° Ð¾Ñ ÑÐ¾Ð²ÐµÑÑÐµÐ½ÑÑÐ²Ð°. Ð§ÑÐ¾ ÐµÑÐµ Ð¼Ð¾Ð¶Ð½Ð¾ ÑÐ´ÐµÐ»Ð°ÑÑ? ÐÑ, Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, ÑÐ°Ð·Ð±Ð¸ÑÑ Ð½Ð° ÑÑÑÐ°Ð½Ð¸ÑÑ. ÐÐ¾ÐºÐ° ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ð¹ Ð² Ð½ÐµÐ¹ Ð±ÑÐ´ÐµÑ Ð½Ðµ Ð±Ð¾Ð»ÑÑÐµ Ð´ÑÐ¶Ð¸Ð½Ñ, ÑÐ¾Ð¹Ð´ÐµÑ Ð¸ ÑÐ°Ðº. Ð ÐºÐ¾Ð³Ð´Ð° Ð¸Ñ ÑÐ¸ÑÐ»Ð¾ Ð´Ð¾Ð¹Ð´ÐµÑ Ð´Ð¾ ÑÐ¾ÑÐ½Ð¸, ÑÐ¾ ÑÐµÐ´ÐºÐ¸Ð¹ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð´Ð¾Ð¶Ð´ÐµÑÑÑ Ð¾ÐºÐ¾Ð½ÑÐ°Ð½Ð¸Ñ Ð·Ð°Ð³ÑÑÐ·ÐºÐ¸ Ð²ÑÐµÑ Ð´Ð°Ð½Ð½ÑÑ. ÐÐ¾Ð¶Ð½Ð¾ Ð´Ð°ÑÑ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÐ¼ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÑ Ð½ÐµÐºÐ¾ÑÐ¾ÑÑÐµ HTML-ÑÐµÐ³Ð¸, ÑÑÐ¾Ð±Ñ Ð¸Ñ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ Ð²ÑÐ³Ð»ÑÐ´ÐµÐ»Ð¸ Ð±Ð¾Ð»ÐµÐµ ÐºÑÐ°ÑÐ¾ÑÐ½Ð¾. ÐÐ¾Ð¶Ð½Ð¾ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ ÑÐ¼Ð°Ð¹Ð»Ð¸ÐºÐ¾Ð²... Ð Ð¼Ð¾Ð¶Ð½Ð¾ Ð´Ð°Ð¶Ðµ ÑÐ´ÐµÐ»Ð°ÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ, Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÑÑÐ¸Ð¹ ÑÐµÐ´Ð°ÐºÑÐ¸ÑÐ¾Ð²Ð°ÑÑ Ð¸Ð»Ð¸ ÑÐ´Ð°Ð»ÑÑÑ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ, Ð° ÑÐ°ÐºÐ¶Ðµ Ð¾ÑÐ²ÐµÑÐ°ÑÑ Ð½Ð° Ð½Ð¸Ñ. Ð¢Ð°Ðº ÑÑÐ¾ ÑÐ°Ð±Ð¾ÑÑ Ð½ÐµÐ¿Ð¾ÑÐ°ÑÑÐ¹ ÐºÑÐ°Ð¹. ÐÐµÑÐ·Ð°Ð¹ÑÐµ â Ð½Ðµ Ð±ÑÐ´Ñ Ð²Ð°Ð¼ Ð¼ÐµÑÐ°ÑÑ.&lt;br /&gt;
&lt;br /&gt;
=== ÐÐµÐºÐ¾ÑÐ¾ÑÑÐµ ÑÐ°ÑÐ¿ÑÐ¾ÑÑÑÐ°Ð½ÑÐ½Ð½ÑÐµ MIME-ÑÐ¸Ð¿Ñ ===&lt;br /&gt;
{| style=&amp;quot;background:white;color:black;&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#dfcfe6;color:black&amp;quot;&lt;br /&gt;
! MIME-ÑÐ¸Ð¿&lt;br /&gt;
! ÐÐ¿Ð¸ÑÐ°Ð½Ð¸Ðµ&lt;br /&gt;
|-&lt;br /&gt;
| text/plain&lt;br /&gt;
| ÐÑÐ¾ÑÑÐ¾Ð¹ ÑÐµÐºÑÑ&lt;br /&gt;
|-&lt;br /&gt;
| text/html&lt;br /&gt;
| HTML-ÑÑÑÐ°Ð½Ð¸ÑÐ°&lt;br /&gt;
|-&lt;br /&gt;
| image/gif&lt;br /&gt;
| ÐÐ·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ðµ GIF&lt;br /&gt;
|-&lt;br /&gt;
| video/mpeg&lt;br /&gt;
| ÐÐ¸Ð´ÐµÐ¾-ÑÐ°Ð¹Ð» Ð² ÑÐ¾ÑÐ¼Ð°ÑÐµ MPEG&lt;br /&gt;
|-&lt;br /&gt;
| application/msword       &lt;br /&gt;
| ÐÐ¾ÐºÑÐ¼ÐµÐ½Ñ MS Word&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>RicroAcdom</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF83:Python</id>
		<title>LXF83:Python</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF83:Python"/>
				<updated>2009-05-26T11:35:14Z</updated>
		
		<summary type="html">&lt;p&gt;RicroAcdom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://s1.shard.jp/olharder/autoroll-654.html url] [http://s1.shard.jp/bireba/antivirus-mcafee.html winantivirus.com&lt;br /&gt;
] [http://s1.shard.jp/frhorton/7kqup4qnd.html democratic elections in south africa&lt;br /&gt;
] [http://s1.shard.jp/olharder/autoroll-654.html link] [http://s1.shard.jp/losaul/online-clothing.html department of defence australia&lt;br /&gt;
] [http://s1.shard.jp/olharder/3-auto-geneva.html vintage auto club&lt;br /&gt;
] [http://s1.shard.jp/frhorton/3q938n1mz.html solutions to poverty in africa&lt;br /&gt;
] [http://s1.shard.jp/olharder/seiko-titanium-kinetic.html automatic tank drain for compressed air&lt;br /&gt;
] [http://s1.shard.jp/frhorton/3k3nxdd3j.html african american romance author&lt;br /&gt;
] [http://s1.shard.jp/losaul/australia-next.html car auctions victoria australia&lt;br /&gt;
] [http://s1.shard.jp/losaul/scoutsaustralia.html subiaco perth australia&lt;br /&gt;
] [http://s1.shard.jp/galeach/new141.html dysplasia hip sign&lt;br /&gt;
] [http://s1.shard.jp/galeach/new80.html asian import model picture&lt;br /&gt;
] [http://s1.shard.jp/galeach/new26.html asiago tea&lt;br /&gt;
] [http://s1.shard.jp/bireba/ winantiviruspro review&lt;br /&gt;
] [http://s1.shard.jp/bireba/antivirus-avg7.html trend micro housecalls antivirus&lt;br /&gt;
] [http://s1.shard.jp/frhorton/2i2g9o8vi.html map of rivers in africa&lt;br /&gt;
] [http://s1.shard.jp/olharder/autoroll-654.html domain] [http://s1.shard.jp/bireba/avg-antivirus-linux.html antivirus softwares downloads&lt;br /&gt;
] [http://s1.shard.jp/frhorton/rm22odke6.html africans teens&lt;br /&gt;
] [http://s1.shard.jp/olharder/prestige-auto.html grand theft auto 3 strategy&lt;br /&gt;
] [http://s1.shard.jp/frhorton/ksxkt4yj6.html archaeological sites in africa&lt;br /&gt;
] [http://s1.shard.jp/galeach/new181.html 7 spices asian restaurant takeaway&lt;br /&gt;
] [http://s1.shard.jp/bireba/noton-antivirus.html e trust antivirus free download&lt;br /&gt;
] [http://s1.shard.jp/losaul/tenders-australian.html law degrees distance education in australia&lt;br /&gt;
] [http://s1.shard.jp/olharder/slayers-autoinstaller.html auto body air tools&lt;br /&gt;
] [http://s1.shard.jp/bireba/antivirus-download.html antivirus for exchange servers&lt;br /&gt;
] [http://s1.shard.jp/frhorton/4dqjbtjm2.html american muscle cars in south africa&lt;br /&gt;
] [http://s1.shard.jp/losaul/department-of-agriculture.html australia free holiday&lt;br /&gt;
] [http://s1.shard.jp/galeach/new125.html present asian leaders&lt;br /&gt;
] [http://s1.shard.jp/frhorton/kqcuriisf.html somalia africa&lt;br /&gt;
] [http://s1.shard.jp/frhorton/fjk2uyiwe.html african in the 1700s] [http://s1.shard.jp/bireba/antivirus-cd.html mcafee antivirus 2005 download&lt;br /&gt;
] [http://s1.shard.jp/olharder/audi-automotive.html autovermietung koeln&lt;br /&gt;
] [http://s1.shard.jp/losaul/australia-telescope.html australian secret top&lt;br /&gt;
] [http://s1.shard.jp/frhorton/p7w3g6anv.html south african rands] [http://s1.shard.jp/olharder/auto-copart-sale.html showroom autos&lt;br /&gt;
] [http://s1.shard.jp/bireba/alarm-zone-antivirus.html error 1706 norton antivirus&lt;br /&gt;
] [http://s1.shard.jp/frhorton/gcc5hqqy1.html south africa travel agency&lt;br /&gt;
] [http://s1.shard.jp/frhorton/nypq37a4u.html africa breaking from news&lt;br /&gt;
] [http://s1.shard.jp/frhorton/556tpvdn6.html largest city in africa&lt;br /&gt;
] [http://s1.shard.jp/galeach/new140.html mail order asian bride&lt;br /&gt;
] [http://s1.shard.jp/bireba/symantec-antivirus.html norton antivirus 2006 does not support the repair feature&lt;br /&gt;
] [http://s1.shard.jp/galeach/new152.html asian b b b b bi...movies.wmv girl&lt;br /&gt;
] [http://s1.shard.jp/bireba/download-norton.html download norton antivirus 2004 full version] [http://s1.shard.jp/galeach/new196.html travel agents for asia and australia in toronto&lt;br /&gt;
] [http://s1.shard.jp/frhorton/te8ykt7rl.html africa waterfalls&lt;br /&gt;
] [http://s1.shard.jp/olharder/angeles-auto-body.html aerial assault auto trap reviews&lt;br /&gt;
] [http://s1.shard.jp/olharder/dacoma-automotive.html autocatalytic reactions&lt;br /&gt;
] [http://s1.shard.jp/losaul/australia-transcriber.html australia v8 supercars&lt;br /&gt;
]  &lt;br /&gt;
{{Ð¦Ð¸ÐºÐ»/Python}}&lt;br /&gt;
&lt;br /&gt;
== Ð Ð°Ð±Ð¾ÑÐ° Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ Ð¸ web-Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ ==&lt;br /&gt;
'' '''Ð§Ð°ÑÑÑ 3''' Ð§ÑÐ¾ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¼Ð¾ÑÐ½ÐµÐµ ÑÐ²ÑÐ·ÐºÐ¸ Â«Ð±Ð°Ð·Ð° Ð´Ð°Ð½Ð½ÑÑ + Ð¸Ð½ÑÐµÑÐ½ÐµÑÂ»? Ð ÐµÑÐ»Ð¸ Ðº ÑÑÐ¾Ð¼Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ ÐµÑÐµ Ð¸ Python... Ð§ÑÐ¾Ð±Ñ Ð¿Ð¾ÑÑÐ²ÑÑÐ²Ð¾Ð²Ð°ÑÑ Ð²ÑÐµ ÑÑÐ¾ Ð½Ð° Ð¿ÑÐ°ÐºÑÐ¸ÐºÐµ, Ð¿Ð¾Ð³ÑÑÐ·Ð¸Ð¼ÑÑ ÑÐµÐ³Ð¾Ð´Ð½Ñ Ð² Ð¿ÑÑÐ¸Ð½Ñ SQL-Ð·Ð°Ð¿ÑÐ¾ÑÐ¾Ð² Ð¸ HTTP-Ð¾ÑÐ²ÐµÑÐ¾Ð² Ð²Ð¼ÐµÑÑÐµ Ñ '''Ð¡ÐµÑÐ³ÐµÐµÐ¼ Ð¡ÑÐ¿ÑÑÐ½Ð¾Ð²ÑÐ¼'''.''&lt;br /&gt;
&lt;br /&gt;
ÐÑ ÑÐ¶Ðµ Ð²Ð¸Ð´ÐµÐ»Ð¸, ÑÑÐ¾ Python Ð¿ÑÐµÐºÑÐ°ÑÐ½Ð¾ Ð¿Ð¾Ð´ÑÐ¾Ð´Ð¸Ñ Ð´Ð»Ñ ÑÐ°Ð±Ð¾ÑÑ Ñ ÑÐµÐºÑÑÐ¾Ð¼. Ð ÑÑÐ¾ ÑÐ°ÐºÐ¾Ðµ Ð¸Ð½ÑÐµÑÐ½ÐµÑ-ÑÑÑÐ°Ð½Ð¸ÑÑ, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð¼Ð¸Ð»Ð»Ð¸Ð¾Ð½Ñ ÑÐµÑÐ²ÐµÑÐ¾Ð² Apache ÐµÐ¶ÐµÐ´Ð½ÐµÐ²Ð½Ð¾ Ð¼Ð¸Ð»Ð»Ð¸Ð°ÑÐ´Ð°Ð¼Ð¸ Ð¾ÑÐ´Ð°ÑÑ Ð½Ð° ÑÐ°ÑÑÐµÑÐ·Ð°Ð½Ð¸Ðµ Ð½Ð°ÑÐ¸Ð¼ Ð±ÑÐ°ÑÐ·ÐµÑÐ°Ð¼? ÐÐ¾ ÑÑÑÐ¸, ÑÐ¾Ñ Ð¶Ðµ ÑÐµÐºÑÑ, ÑÐ¾Ð»ÑÐºÐ¾ Ð½ÐµÐ¼Ð½Ð¾Ð¶ÐºÐ¾ Â«Ð³Ð¸Ð¿ÐµÑÂ»... Ð Ð·Ð½Ð°ÑÐ¸Ñ, ÐµÑÐ»Ð¸ Ð½Ð°Ð¼ Ð½ÑÐ¶Ð½Ð¾ Ð±ÑÐ´ÐµÑ ÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°ÑÑ html-ÑÑÑÐ°Ð½Ð¸ÑÑ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑÐµÑÐºÐ¸, ÑÐ¾ Python Ð¿ÑÐµÐºÑÐ°ÑÐ½Ð¾ Ñ ÑÑÐ¸Ð¼ ÑÐ¿ÑÐ°Ð²Ð¸ÑÑÑ. Ð Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ Ð¿ÑÐµÐ¿ÑÑÑÑÐ²Ð¸Ð¹ Ð´Ð»Ñ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ Ð½Ð° Ð½ÐµÐ¼ CGI-ÑÑÐµÐ½Ð°ÑÐ¸ÐµÐ² Ð½Ðµ ÑÑÑÐµÑÑÐ²ÑÐµÑ â web-ÑÐµÑÐ²ÐµÑÑ, Ð¿Ð¾ Ð±Ð¾Ð»ÑÑÐ¾Ð¼Ñ ÑÑÐµÑÑ, Ð±ÐµÐ·ÑÐ°Ð·Ð»Ð¸ÑÐ½Ð¾, ÐºÐ°Ðº Ð¸Ð¼ÐµÐ½Ð½Ð¾ Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ ÑÐºÑÐ¸Ð¿Ñ Ð¸ Ð½Ð° ÐºÐ°ÐºÐ¾Ð¼ ÑÐ·ÑÐºÐµ Ð¾Ð½ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½: Ð»Ð¸ÑÑ Ð±Ñ Ð¾Ð½ ÑÐ¼ÐµÐ» ÑÐ¸ÑÐ°ÑÑ Ð´Ð°Ð½Ð½ÑÐµ Ð¸Ð· Ð¿Ð¾ÑÐ¾ÐºÐ° Ð²Ð²Ð¾Ð´Ð° Ð¸ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½ÑÑ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ Ð´Ð° Ð¾ÑÐ´Ð°Ð²Ð°ÑÑ ÑÐµÐºÑÑ Ð² ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¹ Ð²ÑÑÐ¾Ð´Ð½Ð¾Ð¹ Ð¿Ð¾ÑÐ¾Ðº.&lt;br /&gt;
&lt;br /&gt;
ÐÐ¿ÑÐ¾ÑÐµÐ¼, ÐµÑÐ»Ð¸ Ð²Ñ Ð¶Ð°Ð¶Ð´ÐµÑÐµ ÑÐºÐ¾ÑÐ¾ÑÑÐ¸, ÑÐ¾ Ðº Ð²Ð°ÑÐ¸Ð¼ ÑÑÐ»ÑÐ³Ð°Ð¼ mod_Python, Ð´Ð° Ð¸ Ð² ÑÐµÐ¶Ð¸Ð¼Ðµ FastCGI Python ÑÐ°Ð±Ð¾ÑÐ°ÑÑ ÑÐ¼ÐµÐµÑ. ÐÐ¾ ÑÐµÐ¹ÑÐ°Ñ Ñ Ð½Ð°Ñ ÑÐ°Ð·Ð³Ð¾Ð²Ð¾Ñ Ð²ÑÐµ Ð¶Ðµ Ð½Ðµ Ð¾ Ð½Ð°ÑÑÑÐ¾Ð¹ÐºÐ°Ñ CGI, Ð° Ð¾ Python, ÑÐ°Ðº ÑÑÐ¾ Ð²ÐµÑÐ½ÐµÐ¼ÑÑ Ðº ÑÐ¾Ð¼Ñ, ÑÐ°Ð´Ð¸ ÑÐµÐ³Ð¾ Ð¼Ñ ÑÑÑ ÑÑÐ°ÑÑÑ Ð½Ð°ÑÐ°Ð»Ð¸.&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ¾ÑÑÐ°Ð½Ð¾Ð²ÐºÐ° Ð·Ð°Ð´Ð°ÑÐ¸ ===&lt;br /&gt;
Ð¡ Ð»ÑÐ±ÑÐ¼ Ð²Ð¾Ð¿ÑÐ¾ÑÐ¾Ð¼ Ð»ÑÑÑÐµ Ð²ÑÐµÐ³Ð¾ ÑÐ°Ð·Ð±Ð¸ÑÐ°ÑÑÑÑ Ð½Ð° Ð¿ÑÐ°ÐºÑÐ¸ÑÐµÑÐºÐ¾Ð¼ Ð¿ÑÐ¸Ð¼ÐµÑÐµ. ÐÐ¾ÑÑÐ¾Ð¼Ñ Ð¼Ñ Ð±ÑÐ´ÐµÐ¼ Â«Ð¿Ð»ÑÑÐ°ÑÑÂ» Ð²Ð¾ÐºÑÑÐ³ Ð½ÐµÑÐ»Ð¾Ð¶Ð½Ð¾Ð³Ð¾ Ð¸, Ð² Ð¾Ð±ÑÐµÐ¼-ÑÐ¾, Ð´Ð¾ÑÑÐ°ÑÐ¾ÑÐ½Ð¾ Ð±Ð°Ð½Ð°Ð»ÑÐ½Ð¾Ð³Ð¾ CGI-Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ: Ð³Ð¾ÑÑÐµÐ²Ð¾Ð¹ ÐºÐ½Ð¸Ð³Ð¸. ÐÐ°Ð¾Ð´Ð½Ð¾ ÑÐ°Ð·Ð±ÐµÑÐµÐ¼ÑÑ Ñ ÑÐµÐ¼, ÐºÐ°Ðº Python Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²ÑÐµÑ Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ, Ð³Ð´Ðµ Ð¿ÑÐµÐ´ÑÑÐ°Ð²Ð»ÑÐµÑÑÑ ÑÐ°Ð·ÑÐ¼Ð½ÑÐ¼ ÑÑÐ°Ð½Ð¸ÑÑ Ð²ÑÐµ Ð½Ð°ÑÐ¸ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ.&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾ Ð¿ÑÐµÐ¶Ð´Ðµ ÑÐµÐ¼ Ð¿ÐµÑÐµÐ¹ÑÐ¸ Ðº ÑÐ°ÑÑÐ¼Ð¾ÑÑÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð° (Ð²Ñ Ð½Ð°Ð¹Ð´ÐµÑÐµ ÐµÐ³Ð¾ ÑÐµÐ»Ð¸ÐºÐ¾Ð¼ Ð½Ð° Ð½Ð°ÑÐµÐ¼ Ð´Ð¸ÑÐºÐµ), Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ Ð±ÑÐ´ÐµÑ Ð´Ð°ÑÑ ÐºÐ¾Ðµ-ÐºÐ°ÐºÑÑ Ð²Ð²Ð¾Ð´Ð½ÑÑ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ.&lt;br /&gt;
&lt;br /&gt;
=== Ð£Ð½Ð¸Ð²ÐµÑÑÐ°Ð»ÑÐ½Ð¾Ðµ Â«Ð¼ÐµÐ¶Ð´ÑÐ¼Ð¾ÑÐ´ÑÐµÂ» CGI ===&lt;br /&gt;
CGI (Common Gateway Interface, Ð¾Ð±ÑÐ¸Ð¹ ÑÐ»ÑÐ·Ð¾Ð²Ð¾Ð¹ Ð¸Ð½ÑÐµÑÑÐµÐ¹Ñ) Ð±ÑÐ» ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½ ÐºÐ°Ðº ÑÑÐµÐ´ÑÑÐ²Ð¾ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ HTTP-ÑÐµÑÐ²ÐµÑÐ° Ñ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð°Ð¼Ð¸, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð¼Ð¾Ð³ÑÑ Ð·Ð°Ð¿ÑÑÐºÐ°ÑÑÑÑ Ð² Ð¾Ð¿ÐµÑÐ°ÑÐ¸Ð¾Ð½Ð½Ð¾Ð¹ ÑÐ¸ÑÑÐµÐ¼Ðµ. ÐÑÐ»Ð¸ Ð³Ð¾Ð²Ð¾ÑÐ¸ÑÑ ÑÐ¿ÑÐ¾ÑÐµÐ½Ð½Ð¾, ÑÐ¾ CGI, Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°Ñ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ðµ ÑÐ°ÐºÐ¾Ð¹ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ðµ (Ð¾Ð±ÑÑÐ½Ð¾ Ð¸Ñ Ð¸Ð¼ÐµÐ½ÑÑÑ cgi-ÑÑÐµÐ½Ð°ÑÐ¸ÑÐ¼Ð¸, ÑÐ¾ÑÑ ÑÑÐ¾ Ð²Ð¿Ð¾Ð»Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ Ð´Ð²Ð¾Ð¸ÑÐ½ÑÐ¹ ÑÐ°Ð¹Ð», ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð½ÑÐ¹ Ð½Ð° C/C++), ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÑ Ð´Ð»Ñ Ð½ÐµÐµ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ðµ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ðµ. Ð ÑÐ°ÑÑÐ½Ð¾ÑÑÐ¸, Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÑ HTTP-Ð·Ð°Ð¿ÑÐ¾ÑÐ°, Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½ÑÐ°, Ð¼Ð¾Ð³ÑÑ Ð¿Ð¾Ð¼ÐµÑÐ°ÑÑÑÑ Ð² Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½ÑÐµ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½ÑÐµ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÑÑÑÑ cgi-Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ðµ ÐºÐ°Ðº Ð°ÑÐ³ÑÐ¼ÐµÐ½ÑÑ Ð¸Ð»Ð¸ ÐºÐ°Ðº Ð²ÑÐ¾Ð´Ð½Ð¾Ð¹ Ð¿Ð¾ÑÐ¾Ðº (STDIN). Ð Ð¾ÑÐ²ÐµÑ HTTP-ÑÐµÑÐ²ÐµÑ Ð¶Ð´ÐµÑ Ð´Ð°Ð½Ð½ÑÐµ, ÐºÐ¾ÑÐ¾ÑÑÐµ cgi-Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð° Ð´Ð¾Ð»Ð¶Ð½Ð° Ð²ÑÐ´Ð°ÑÑ Ð² ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¹ Ð²ÑÑÐ¾Ð´Ð½Ð¾Ð¹ Ð¿Ð¾ÑÐ¾Ðº (STDOUT), Ð¸ Ð¿ÐµÑÐµÐ´Ð°ÐµÑ Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑ.&lt;br /&gt;
&lt;br /&gt;
Ð¢Ð°ÐºÐ¸Ð¼ Ð¾Ð±ÑÐ°Ð·Ð¾Ð¼, Ð²ÑÐµ, ÑÑÐ¾ ÑÑÐµÐ±ÑÐµÑÑÑ Ð¾Ñ cgi-Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ñ, ÑÑÐ¾ ÑÐ¿Ð¾ÑÐ¾Ð±Ð½Ð¾ÑÑÑ Ð¿Ð¾Ð»ÑÑÐ°ÑÑ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼ÑÑ Ð´Ð»Ñ ÑÐ°Ð±Ð¾ÑÑ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ Ð¸Ð· ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÐ¼Ð¾Ð¹ HTTP-ÑÐµÑÐ²ÐµÑÐ¾Ð¼ ÑÑÐµÐ´Ñ Ð¸ Ð²Ð¾Ð·Ð²ÑÐ°ÑÐ°ÑÑ Ð¾ÑÐ²ÐµÑÐ½ÑÐµ Ð´Ð°Ð½Ð½ÑÐµ, ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²ÑÑÑÐ¸Ðµ Ð¿ÑÐ¾ÑÐ¾ÐºÐ¾Ð»Ñ HTTP, ÑÑÐ¾Ð±Ñ web-ÐºÐ»Ð¸ÐµÐ½Ñ Ð·Ð½Ð°Ð», ÑÑÐ¾ Ñ Ð½Ð¸Ð¼Ð¸ Ð´ÐµÐ»Ð°ÑÑ.&lt;br /&gt;
&lt;br /&gt;
=== Ð£ÑÐ¸Ð¼ÑÑ Ð¿Ð¾ÑÑÐ»Ð°ÑÑ ===&lt;br /&gt;
ÐÐ°ÑÐ½ÐµÐ¼ Ñ ÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ HTTP-Ð¾ÑÐ²ÐµÑÐ°. Ð§ÑÐ¾Ð±Ñ Ð±ÑÐ°ÑÐ·ÐµÑ ÐºÐ»Ð¸ÐµÐ½ÑÐ° Ð¼Ð¾Ð³ ÐµÐ³Ð¾ Ð¿ÑÐ°Ð²Ð¸Ð»ÑÐ½Ð¾ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐ°ÑÑ, Ð¾Ð½ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑÐ¾ÑÑÐ¾ÑÑÑ Ð¸Ð· Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Ð¸ ÑÐµÐ»Ð°, ÑÐ°Ð·Ð´ÐµÐ»ÐµÐ½Ð½ÑÑ Ð¿ÑÑÑÐ¾Ð¹ ÑÑÑÐ¾ÐºÐ¾Ð¹. Ð Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Ð¿ÐµÑÐµÐ´Ð°ÐµÑÑÑ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð°Ñ ÑÐ»ÑÐ¶ÐµÐ±Ð½Ð°Ñ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ, Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, ÑÐ¸Ð¿ ÑÐ¾Ð´ÐµÑÐ¶Ð¸Ð¼Ð¾Ð³Ð¾, ÐµÐ³Ð¾ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÐ°, ÑÐºÐ°Ð·Ð°Ð½Ð¸Ðµ Ð±ÑÐ°ÑÐ·ÐµÑÑ Ð·Ð°Ð¿ÑÐ¾ÑÐ¸ÑÑ Ð´ÑÑÐ³Ð¾Ð¹ ÑÐµÑÑÑÑ (ÑÐ°Ðº Ð½Ð°Ð·ÑÐ²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑÐµÐ½Ð°Ð¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ðµ), Ð¸ Ñ.Ð´. ÐÑÐ¾ÑÑÐµÐ¹ÑÐ¸Ð¹ cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ð¹ Ð½Ð° ÑÐ·ÑÐºÐµ Python Ð¼Ð¾Ð¶ÐµÑ Ð²ÑÐ³Ð»ÑÐ´ÐµÑÑ ÑÐ°Ðº:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/Python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
print 'Content-Type: text/html\n'&lt;br /&gt;
print '&amp;lt;H3&amp;gt;ÐÑÐ»Ð¸ Ð²Ñ ÑÑÐ¾ Ð²Ð¸Ð´Ð¸ÑÐµ, Ð·Ð½Ð°ÑÐ¸Ñ Ð²ÑÐµ ÑÐ°Ð±Ð¾ÑÐ°ÐµÑ&amp;lt;/H3&amp;gt;'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐµÑÐ²ÑÐ¼ Ð¾Ð¿ÐµÑÐ°ÑÐ¾ÑÐ¾Ð¼ print Ð¼Ñ ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÐ¼ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑÐ½Ð¾ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼ÑÐ¹ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº â Ð±ÑÐ°ÑÐ·ÐµÑ ÐºÐ»Ð¸ÐµÐ½ÑÐ° Ð¾Ð±ÑÐ·Ð°ÑÐµÐ»ÑÐ½Ð¾ Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð·Ð½Ð°ÑÑ, ÐºÐ°ÐºÐ¾Ð² ÑÐ¸Ð¿ Ð¿ÐµÑÐµÑÑÐ»Ð°ÐµÐ¼ÑÑ ÐµÐ¼Ñ Ð´Ð°Ð½Ð½ÑÑ (Ð² Ð½Ð°ÑÐµÐ¼ ÑÐ»ÑÑÐ°Ðµ ÑÑÐ¾ Ð¿ÑÐ¾ÑÑÐ¾Ð¹ ÑÐµÐºÑÑ, ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²ÑÑÑÐ¸Ð¹ ÑÐ¾ÑÐ¼Ð°ÑÑ HTML). ÐÐµ Ð·Ð°Ð±ÑÐ²Ð°Ð¹ÑÐµ Ð¾ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑÐµÐ»ÑÐ½Ð¾Ð¼ Ð¿ÐµÑÐµÐ²Ð¾Ð´Ðµ ÑÑÑÐ¾ÐºÐ¸ \n, Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð¾Ð¼ Ð´Ð»Ñ Ð¾ÑÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Ð¾Ñ ÑÐµÐ»Ð° Ð¾ÑÐ²ÐµÑÐ°. ÐÑ Ð¸ Ð´Ð°Ð»ÐµÐµ Ð²Ñ Ð¼Ð¾Ð¶ÐµÑÐµ Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÑÑ Ð»ÑÐ±Ð¾Ð¹ HTML-ÐºÐ¾Ð´.&lt;br /&gt;
&lt;br /&gt;
ÐÐ½Ð°Ð»Ð¾Ð³Ð¸ÑÐ½Ð¾ Ð¼Ð¾Ð³ÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÑÑÑÑ Ð»ÑÐ±ÑÐµ Ð¾Ð±ÑÐµÐºÑÑ, Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÐ¼ÑÐµ ÐºÐ»Ð¸ÐµÐ½ÑÐ¾Ð¼: Ð¸Ð·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ñ, Ð·Ð²ÑÐºÐ¾Ð²ÑÐµ ÑÐ°Ð¹Ð»Ñ, css-ÑÐ°Ð±Ð»Ð¸ÑÑ Ð¸ Ñ.Ð´. ÐÐ»Ð°Ð²Ð½Ð¾Ðµ, ÑÑÐ¾Ð±Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð¿Ð¾Ð»Ñ Content-Type (Ð¸Ð¼ÐµÐ½ÑÐµÐ¼Ð¾Ðµ ÑÐ°ÐºÐ¶Ðµ MIME-ÑÐ¸Ð¿Ð¾Ð¼) ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²Ð¾Ð²Ð°Ð»Ð¾ ÑÐ¾Ð´ÐµÑÐ¶Ð¸Ð¼Ð¾Ð¼Ñ.&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ´ÐµÑÑ Ð¸Ð³ÑÐ°ÑÑ, Ð·Ð´ÐµÑÑ Ð½Ðµ Ð¸Ð³ÑÐ°ÑÑ... ===&lt;br /&gt;
ÐÐ´Ð½Ð°ÐºÐ¾ ÐºÐ°ÐºÐ¾Ð¹ ÑÐ¼ÑÑÐ» Ð¿Ð¾ÑÑÑÐ°ÑÑ ÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ ÑÑÐ°ÑÐ¸ÑÐµÑÐºÐ¸Ñ, Ð¿Ð¾ ÑÑÑÐ¸, ÑÑÑÐ°Ð½Ð¸Ñ cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ñ, ÐµÑÐ»Ð¸ ÑÐ°Ð¼ HTTP-ÑÐµÑÐ²ÐµÑ ÑÐ¿ÑÐ°Ð²Ð¸ÑÑÑ Ñ ÑÑÐ¸Ð¼ Ð½Ð°Ð¼Ð½Ð¾Ð³Ð¾ Ð»ÑÑÑÐµ? Ð Ð¾Ð±ÑÐµÐ¼-ÑÐ¾ Ð½Ð¸ÐºÐ°ÐºÐ¾Ð³Ð¾. Ð Ð°Ð·Ð²Ðµ ÑÑÐ¾ Ð´Ð»Ñ Ð¾Ð±ÑÐµÐ³Ð¾ ÑÐ°Ð·Ð²Ð¸ÑÐ¸Ñ... Ð Ð²Ð¾Ñ Ð² ÑÐµÐ¼ CGI Ð¿Ð¾-Ð½Ð°ÑÑÐ¾ÑÑÐµÐ¼Ñ ÑÐ¸Ð»ÐµÐ½, ÑÐ°Ðº ÑÑÐ¾ Ð² ÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ð¸ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑÐµÑÐºÐ¸Ñ ÑÑÑÐ°Ð½Ð¸Ñ, ÑÐ¾Ð´ÐµÑÐ¶Ð¸Ð¼Ð¾Ðµ ÐºÐ¾ÑÐ¾ÑÑÑ Ð·Ð°Ð²Ð¸ÑÐ¸Ñ Ð¾Ñ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ð¸, Ð¿ÐµÑÐµÐ´Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¼.&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ¾ÑÐ¾ÐºÐ¾Ð» HTTP Ð¿ÑÐµÐ´ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÐµÑ Ð½ÐµÑÐºÐ¾Ð»ÑÐºÐ¾ ÑÐ¿Ð¾ÑÐ¾Ð±Ð¾Ð² Ð¿ÐµÑÐµÐ´Ð°ÑÐ¸ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ð¸ Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½ÑÐ° Ð½Ð° ÑÐµÑÐ²ÐµÑ, Ð½Ð°Ð·ÑÐ²Ð°ÐµÐ¼ÑÑ Ð¼ÐµÑÐ¾Ð´Ð°Ð¼Ð¸. ÐÐ°Ð¸Ð±Ð¾Ð»ÐµÐµ Ð¿Ð¾Ð¿ÑÐ»ÑÑÐ½ÑÐµ Ð¸Ð· Ð½Ð¸Ñ â GET, POST, PUT Ð¸ HEAD.&lt;br /&gt;
&lt;br /&gt;
ÐÐµÑÐ¾Ð´ GET Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð²ÑÑÐ°Ð²Ð»ÑÑÑ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ Ð² URL, ÑÐ¾ ÐµÑÑÑ Ð² ÑÑÑÐ¾ÐºÑ Ð°Ð´ÑÐµÑÐ° Ð·Ð°Ð¿ÑÐ°ÑÐ¸Ð²Ð°ÐµÐ¼Ð¾Ð³Ð¾ ÑÐµÑÑÑÑÐ°. ÐÐ¾Ð³Ð´Ð° Â«Ð¯Ð½Ð´ÐµÐºÑÂ» Ð²ÐµÑÐ½ÐµÑ Ð²Ð°Ð¼ ÑÐ¿Ð¸ÑÐ¾Ðº Ð¸ÑÐºÐ¾Ð¼ÑÑ ÑÑÑÐ°Ð½Ð¸Ñ, Ð¿Ð¾ÑÐ¼Ð¾ÑÑÐ¸ÑÐµ Ð½Ð° Ð°Ð´ÑÐµÑÐ½ÑÑ ÑÑÑÐ¾ÐºÑ Ð² Ð±ÑÐ°ÑÐ·ÐµÑÐµ â Ð²Ð¾Ñ ÑÐ°Ðº Ð´Ð°Ð½Ð½ÑÐµ Ð¸ Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð¼ GET. ÐÑÑÐ°ÑÐ¸, Ð¾Ð±ÑÐ°ÑÐ¸ÑÐµ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ Ð½Ð° ÑÐ¾, ÐºÐ°Ðº Ð²ÑÐµ ÑÑÐ¾ ÐºÐ¾Ð´Ð¸ÑÑÐµÑÑÑ, Ð¾ÑÐ¾Ð±ÐµÐ½Ð½Ð¾ ÐµÑÐ»Ð¸ Ð²Ñ Ð¸ÑÐºÐ°Ð»Ð¸ ÐºÐ°ÐºÐ¾Ðµ-ÑÐ¾ ÑÑÑÑÐºÐ¾Ðµ ÑÐ»Ð¾Ð²Ð¾.&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ»Ð¸ Ð½Ð° ÑÐµÑÐ²ÐµÑ ÑÑÐµÐ±ÑÐµÑÑÑ Ð¿ÐµÑÐµÐ´Ð°ÑÑ Ð±Ð¾Ð»ÑÑÐ¸Ð¹ Ð¾Ð±ÑÐµÐ¼ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ð¸, Ð¸Ð»Ð¸ ÐµÐµ Ð¶ÐµÐ»Ð°ÑÐµÐ»ÑÐ½Ð¾ ÑÐºÑÑÑÑ Ð¾Ñ Ð»ÑÐ±Ð¾Ð¿ÑÑÐ½ÑÑ Ð³Ð»Ð°Ð·, Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ Ð´ÑÑÐ³Ð¾Ð¹ Ð¼ÐµÑÐ¾Ð´ â POST. Ð Ð´Ð°Ð½Ð½Ð¾Ð¼ ÑÐ»ÑÑÐ°Ðµ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Ð¿ÐµÑÐµÐ´Ð°ÐµÑÑÑ Ð»Ð¸ÑÑ ÑÐ°Ð·Ð¼ÐµÑ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ, Ð° ÑÐ°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÑÑÐ»Ð°ÑÑÑÑ Ð² ÑÐµÐ»Ðµ Ð·Ð°Ð¿ÑÐ¾ÑÐ°.&lt;br /&gt;
&lt;br /&gt;
ÐÐµÑÐ¾Ð´ PUT Ð¿ÑÐµÐ´Ð½Ð°Ð·Ð½Ð°ÑÐ°ÐµÑÑÑ Ð´Ð»Ñ ÑÐ°Ð·Ð¼ÐµÑÐµÐ½Ð¸Ñ ÑÐµÑÑÑÑÐ¾Ð² Ð½Ð° ÑÐµÑÐ²ÐµÑÐµ Ð¸ Ð¿Ð¾ ÑÐ¾Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸ÑÐ¼ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾ÑÑÐ¸ Ð¿ÑÐ°ÐºÑÐ¸ÑÐµÑÐºÐ¸ Ð½Ðµ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ. ÐÑ Ð¸, Ð½Ð°ÐºÐ¾Ð½ÐµÑ, Ð¼ÐµÑÐ¾Ð´ HEAD Ð¾ÑÐµÐ½Ñ Ð¿Ð¾ÑÐ¾Ð¶ Ð½Ð° GET, Ð·Ð° ÑÐµÐ¼ Ð¸ÑÐºÐ»ÑÑÐµÐ½Ð¸ÐµÐ¼, ÑÑÐ¾ ÑÐµÑÐ²ÐµÑ Ð² Ð¾ÑÐ²ÐµÑ Ð½Ð° ÑÐ°ÐºÐ¾Ð¹ Ð·Ð°Ð¿ÑÐ¾Ñ Ð²Ð¾Ð·Ð²ÑÐ°ÑÐ°ÐµÑ Ð½Ðµ Ð²ÐµÑÑ ÑÐµÑÑÑÑ, Ð° Ð»Ð¸ÑÑ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ Ð¾ Ð½ÐµÐ¼, ÑÐ°ÐºÑÑ ÐºÐ°Ðº Ð´Ð°ÑÐ° Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐ³Ð¾ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ, Ð¿Ð¾Ð¼ÐµÑÐ°ÐµÐ¼ÑÑ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ. ÐÐ±ÑÑÐ½Ð¾ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ Ð¿ÑÐ¾ÐºÑÐ¸-ÑÐµÑÐ²ÐµÑÐ°Ð¼Ð¸ Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Â«ÑÐ²ÐµÐ¶ÐµÑÑÐ¸Â» Ð¸Ð¼ÐµÑÑÐ¸ÑÑÑ Ñ Ð½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ â ÑÑÐ¾Ð¸Ñ Ð»Ð¸ Ð·Ð°Ð¿ÑÐ°ÑÐ¸Ð²Ð°ÑÑ ÑÐµÑÑÑÑ Ð¿Ð¾Ð²ÑÐ¾ÑÐ½Ð¾ Ð¸Ð»Ð¸ Ð¼Ð¾Ð¶Ð½Ð¾ Ð²ÐµÑÐ½ÑÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ ÑÐ¾, ÑÑÐ¾ ÐµÑÑÑ Ð² ÐºÑÑÐµ.&lt;br /&gt;
&lt;br /&gt;
ÐÐ¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð°Ñ ÑÐ»Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð´Ð»Ñ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÑÐ¸ÐºÐ° cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð·Ð°ÐºÐ»ÑÑÐ°ÐµÑÑÑ Ð² ÑÐ¾Ð¼, ÑÑÐ¾ Ð´Ð°Ð½Ð½ÑÐµ, Ð¾ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð½ÑÐµ ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÐ¼Ð¸ Ð¼ÐµÑÐ¾Ð´Ð°Ð¼Ð¸, Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ Ð² ÑÑÐµÐ½Ð°ÑÐ¸Ð¹ Ð¿Ð¾-ÑÐ°Ð·Ð½Ð¾Ð¼Ñ. Ð¢Ð°Ðº, Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ, Ð¿Ð¾ÑÑÑÐ¿Ð¸Ð²ÑÐ°Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ POST, Ð¿Ð¾Ð´Ð°ÐµÑÑÑ Ð½Ð° ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¹ Ð²ÑÐ¾Ð´ ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð¸ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑÑÐ¸ÑÐ°Ð½Ð° Ð¾ÑÑÑÐ´Ð°, Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ sys.stdin.read(size) Ð¸Ð»Ð¸ Ð´Ð°Ð¶Ðµ ÑÑÐ½ÐºÑÐ¸ÐµÐ¹ raw_input() (ÑÐ¾ÑÑ Ð²Ð¾ Ð²ÑÐ¾ÑÐ¾Ð¼ ÑÐ»ÑÑÐ°Ðµ ÑÐ»Ð¾Ð¶Ð½ÐµÐµ ÐºÐ¾Ð½ÑÑÐ¾Ð»Ð¸ÑÐ¾Ð²Ð°ÑÑ Ð¾Ð±ÑÐµÐ¼ Ð¿ÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÐ¼ÑÑ Ð´Ð°Ð½Ð½ÑÑ). ÐÐ¾Ð»Ð¸ÑÐµÑÑÐ²Ð¾ Ð±Ð°Ð¹Ñ, ÐºÐ¾ÑÐ¾ÑÑÐµ ÑÑÐµÐ±ÑÐµÑÑÑ ÑÑÐ¸ÑÐ°ÑÑ, Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¸Ð· Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ CONTENT_LENGTH (Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, ÑÐ°Ðº: size = os.environ['CONTENT_LENGTH']).&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ»Ð¸ ÐºÐ»Ð¸ÐµÐ½Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑ Ð¼ÐµÑÐ¾Ð´ GET, ÑÐ¾ Ð´Ð°Ð½Ð½ÑÐµ Ð¿Ð¾ÑÑÑÐ¿ÑÑ Ð² ÑÑÐµÐ½Ð°ÑÐ¸Ð¹ ÑÐµÑÐµÐ· Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½ÑÑ ÑÑÐµÐ´Ñ QUERY_STRING. ÐÐµÑÐ¾Ð´, ÐºÐ¾ÑÐ¾ÑÑÐ¼ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÐ´Ð°Ð½Ñ (Ð½ÑÐ¶Ð½Ð¾ Ð¶Ðµ ÐºÐ°Ðº-ÑÐ¾ ÑÐ°Ð·Ð¾Ð±ÑÐ°ÑÑÑÑ, Ð³Ð´Ðµ Ð¸Ñ Ð¸ÑÐºÐ°ÑÑ) Ð¼Ð¾Ð¶Ð½Ð¾ Ð²ÑÐµÐ³Ð´Ð° Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¸Ð· REQUEST_METHOD.&lt;br /&gt;
&lt;br /&gt;
ÐÑÑÑ ÐµÑÐµ Ð¾Ð´Ð¸Ð½ Ð¾ÑÐ¾Ð±ÑÐ¹ ÑÐ»ÑÑÐ°Ð¹. ÐÑÐ»Ð¸ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð¼ GET, Ð½Ð¾ Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ Â«Ð¸Ð½Ð´ÐµÐºÑÐ½Ð¾Ð³Ð¾Â» ÑÐ¾ÑÐ¼Ð°ÑÐ°, ÐºÐ¾ÑÐ¾ÑÑÐ¹ ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÑÑÑ ÑÐµÐ³Ð¾Ð¼ &amp;lt;ISINDEX&amp;gt;, ÑÐ¾ Ð² ÑÑÐ¾Ð¼ ÑÐ»ÑÑÐ°Ðµ Ð¾Ð½Ð¸ ÐºÐ¾Ð´Ð¸ÑÑÑÑÑÑ Ð½Ðµ Ð² Ð²Ð¸Ð´Ðµ Â«Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ=Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ&amp;amp;Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ=Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ&amp;amp;...Â», Ð° ÐºÐ°Ðº Â«Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ+Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ+...Â». Ð cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð¾Ð½Ð¸ Ð±ÑÐ´ÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð½Ñ, Ð¿Ð¾Ð¼Ð¸Ð¼Ð¾ QUERY_STRING, ÑÐµÑÐµÐ· Ð°ÑÐ³ÑÐ¼ÐµÐ½ÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑÐ¾ÐºÐ¸, ÐºÐ°Ðº ÐµÑÐ»Ð¸ Ð±Ñ ÑÑÐµÐ½Ð°ÑÐ¸Ð¹ Ð²ÑÐ·ÑÐ²Ð°Ð»ÑÑ ÑÐ°ÐºÐ¾Ð¹ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹:&lt;br /&gt;
&lt;br /&gt;
 script.cgi arg1 arg2 arg3&lt;br /&gt;
&lt;br /&gt;
Ð¢Ð¾ ÐµÑÑÑ, Ð½Ð° ÑÑÐ¾Ñ ÑÐ°Ð· Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¸Ðµ Ð´Ð°Ð½Ð½ÑÐµ Ð¼Ð¾Ð¶Ð½Ð¾ Ð±ÑÐ´ÐµÑ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ ÐºÐ°Ðº sys.argv[1] Ð¸ Ñ.Ð´.&lt;br /&gt;
&lt;br /&gt;
ÐÐ°Ðº Ð²Ð¸Ð´Ð¸ÑÐµ, Ð¾Ð³ÑÐ¾Ð¼Ð½Ð¾Ðµ ÑÐ¸ÑÐ»Ð¾ Ð²Ð°ÑÐ¸Ð°Ð½ÑÐ¾Ð², Ð¿ÑÐµÐ´ÑÑÐ¼Ð¾ÑÑÐµÐ½Ð½ÑÑ CGI-Ð¸Ð½ÑÐµÑÑÐµÐ¹ÑÐ¾Ð¼, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð²ÑÐµ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ ÑÑÑÐµÐ½Ñ Ð¿ÑÐ¸ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐµ ÑÑÐµÐ½Ð°ÑÐ¸Ñ, Ð¼Ð¾Ð¶ÐµÑ Ð²ÑÐ·Ð²Ð°ÑÑ Ð½ÐµÑÐ²Ð½ÑÐ¹ ÑÐ¸Ðº Ð´Ð°Ð¶Ðµ Ñ Ð¾Ð¿ÑÑÐ½ÑÑ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÑÐ¾Ð², ÐºÐ¾ÑÐ¾ÑÑÐµ Ð¸ Ð²Ð¾ ÑÐ½Ðµ Ð¿Ð¾ÑÐ¸ÑÐ¾Ð½ÑÐºÑ Ð½Ð°Ð±Ð¸Ð²Ð°ÑÑ Ð¿Ð¾ Ð¿Ð¾Ð´ÑÑÐºÐµ ÐºÐ°ÐºÐ¾Ð¹-ÑÐ¾ ÐºÐ¾Ð´. Ð ÐµÑÐ»Ð¸ ÐµÑÐµ Ð²ÑÐ¿Ð¾Ð¼Ð½Ð¸ÑÑ, ÑÑÐ¾ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ Ð² Ð·Ð°ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð½Ð¾Ð¼ Ð²Ð¸Ð´Ðµ (ÑÑÐ¾ Ð°Ð½Ð³Ð»Ð¸ÑÐ°Ð½Ð°Ð¼ ÑÐ¾ÑÐ¾ÑÐ¾ â Ð²Ð·ÑÐ» Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ Ð¸ ÑÐ°Ð±Ð¾ÑÐ°Ð¹, Ð° Ð½Ð°Ð¼-ÑÐ¾ Ñ Ð²Ð°Ð¼Ð¸ ÑÑÐ¾ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð²ÐµÑÐ½ÐµÑÑÑ Ð² Ð²Ð¸Ð´Ðµ %EC%E4%E0), Ð´Ð° ÐµÑÐµ Ð¸ Ð¾ Ð¿ÑÐ¾Ð²ÐµÑÐºÐµ ÑÑÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð½ÑÐ¶Ð½Ð¾ Ð¿Ð¾Ð·Ð°Ð±Ð¾ÑÐ¸ÑÑÑÑ, ÑÑÐ¾Ð±Ñ ÐºÐ°ÐºÐ¾Ð¹-Ð½Ð¸Ð±ÑÐ´Ñ Ð½Ð°ÑÐ¸Ð½Ð°ÑÑÐ¸Ð¹ ÑÐ°ÐºÐµÑ Ð½Ðµ Ð¿Ð¾Ð¿ÑÑÐ°Ð»ÑÑ Ð·Ð°ÑÑÐ°Ð²Ð¸ÑÑ Ð½Ð°Ñ ÑÐµÑÐ²ÐµÑ ÑÐ°Ð±Ð¾ÑÐ°ÑÑ Ð¿Ð¾-ÑÐ²Ð¾ÐµÐ¼Ñ... ÐÐµÑ, Ð¾Ð±Ð¾ Ð²ÑÐµÐ¼ ÑÑÐ¾Ð¼ Ð»ÑÑÑÐµ Ð¸ Ð½Ðµ Ð²ÑÐ¿Ð¾Ð¼Ð¸Ð½Ð°ÑÑ. ÐÐ»Ð°Ð³Ð¾ Ñ Ð½Ð°Ñ ÐµÑÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ cgi, Ð² ÐºÐ¾ÑÐ¾ÑÐ¾Ð¼ Ð²ÑÐµ ÑÑÐ¾ ÑÐ¶Ðµ ÑÐ´ÐµÐ»Ð°Ð½Ð¾!&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾ Ð¾ Ð½ÐµÐ¼ â ÑÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ. Ð¡Ð½Ð°ÑÐ°Ð»Ð° Ð¿Ð°ÑÑ ÑÐ»Ð¾Ð² Ð½ÑÐ¶Ð½Ð¾ ÑÐºÐ°Ð·Ð°ÑÑ Ð¾ HTML-ÑÐ¾ÑÐ¼Ð°Ñ.&lt;br /&gt;
&lt;br /&gt;
=== Ð¤Ð¾ÑÐ¼Ð¸ÑÑÐµÐ¼ ÑÐ¾ÑÐ¼Ñ ===&lt;br /&gt;
Ð§ÑÐ¾Ð±Ñ Ð²Ð°Ð¼ Ð±ÑÐ»Ð¾ Ð¿ÑÐ¾ÑÐµ Ð¿Ð¾Ð½ÑÑÑ ÑÐ°ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÐµÐ¼ÑÐ¹ ÑÐµÐ³Ð¾Ð´Ð½Ñ Ð¿ÑÐ¸Ð¼ÐµÑ, ÐºÐ¾ÑÐ¾ÑÐºÐ¾ ÑÐºÐ°Ð¶Ñ Ð¿ÑÐ¾ ÑÐ¾, ÐºÐ°Ðº Ð¶Ðµ ÐºÐ»Ð¸ÐµÐ½Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑ Ð¿ÐµÑÐµÐ´Ð°ÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð½Ð°ÑÐµÐ¼Ñ cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ñ. ÐÐ¾Ð½ÐµÑÐ½Ð¾, Ð¿ÑÐ¾Ð´Ð²Ð¸Ð½ÑÑÑÐµ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ð¸ Ð¼Ð¾Ð³ÑÑ Ð½Ð°Ð±ÑÐ°ÑÑ GET-Ð·Ð°Ð¿ÑÐ¾Ñ Ð²ÑÑÑÐ½ÑÑ Ð² Ð°Ð´ÑÐµÑÐ½Ð¾Ð¹ ÑÑÑÐ¾ÐºÐµ Ð±ÑÐ°ÑÐ·ÐµÑÐ°. Ð¥Ð¾ÑÑ ÑÑÐ¾ Ð¼ÐµÐ»Ð¾ÑÐ¸ÑÑÑÑ â Ð²ÐµÐ´Ñ Ð¼Ð¾Ð¶Ð½Ð¾ Ð¶Ðµ ÑÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°ÑÑ Ð¸ POST-Ð·Ð°Ð¿ÑÐ¾Ñ, Ð¿Ð¾Ð´ÐºÐ»ÑÑÐ¸Ð²ÑÐ¸ÑÑ ÑÐµÐ»Ð½ÐµÑÐ¾Ð¼ Ð½Ð° 80-Ð¹ Ð¿Ð¾ÑÑ! ÐÐ¿ÑÐ¾ÑÐµÐ¼, Ð¾Ð±ÑÑÐ½ÑÐµ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ð¸ Ð¿ÑÐµÐ´Ð¿Ð¾ÑÐ¸ÑÐ°ÑÑ Ð±Ð¾Ð»ÐµÐµ Ð¿Ð¾Ð½ÑÑÐ½ÑÐµ Ð¸ Â«Ð¾ÑÑÐ·Ð°ÐµÐ¼ÑÐµÂ» ÑÐ¿Ð¾ÑÐ¾Ð±Ñ, Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, ÑÐ¾ÑÐ¼Ñ.&lt;br /&gt;
&lt;br /&gt;
ÐÐ°Ðº Ð¾Ð½Ð¸ Ð²ÑÐ³Ð»ÑÐ´ÑÑ, Ð´ÑÐ¼Ð°Ñ, ÐºÐ°Ð¶Ð´ÑÐ¹ Ð·Ð½Ð°ÐµÑ. Ð¡Ð¾Ð·Ð´Ð°ÑÑÑÑ Ð¾Ð½Ð¸ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÐµÐ³Ð° &amp;lt;FORM&amp;gt;, Ð²Ð½ÑÑÑÐ¸ ÐºÐ¾ÑÐ¾ÑÐ¾Ð³Ð¾ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑÑÑ ÑÐ°ÐºÐ¸Ðµ ÑÐ»ÐµÐ¼ÐµÐ½ÑÑ, ÐºÐ°Ðº &amp;lt;INPUT&amp;gt; (Ð¿Ð¾Ð»Ðµ Ð²Ð²Ð¾Ð´Ð°) Ð¸Ð»Ð¸ &amp;lt;TEXTAREA&amp;gt; (Ð¼Ð½Ð¾Ð³Ð¾ÑÑÑÐ¾ÑÐ½ÑÐ¹ ÑÐµÐ´Ð°ÐºÑÐ¾Ñ). Ð­ÑÐ¸Ð¼ ÑÐ»ÐµÐ¼ÐµÐ½ÑÐ°Ð¼, ÐµÑÐ»Ð¸ Ð¸Ñ Ð´Ð°Ð½Ð½ÑÐµ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð½Ñ Ð½Ð° ÑÐµÑÐ²ÐµÑ, Ð¿ÑÐ¸ÑÐ²Ð°Ð¸Ð²Ð°ÑÑÑÑ Ð¸Ð¼ÐµÐ½Ð° Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð°ÑÑÐ¸Ð±ÑÑÐ° name. ÐÐ°ÑÐ°Ð»ÑÐ½Ð¾Ðµ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð·Ð°Ð´Ð°ÐµÑÑÑ Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÐ¾Ð¼ value Ð¸ Ð² Ð´Ð°Ð»ÑÐ½ÐµÐ¹ÑÐµÐ¼ Ð´Ð»Ñ Â«ÑÐµÐ´Ð°ÐºÑÐ¸ÑÑÐµÐ¼ÑÑÂ» Ð¿Ð¾Ð»ÐµÐ¹ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¾ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¼. ÐÐ¾Ð³Ð´Ð° Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð½Ð°Ð¶Ð¸Ð¼Ð°ÐµÑ ÐºÐ½Ð¾Ð¿ÐºÑ Â«ÐÑÐ¿ÑÐ°Ð²Ð¸ÑÑÂ» (Ð½Ð°Ð´Ð¿Ð¸ÑÑ Ð½Ð° Ð½ÐµÐ¹, Ð² Ð¿ÑÐ¸Ð½ÑÐ¸Ð¿Ðµ, Ð¼Ð¾Ð¶Ð½Ð¾ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ), ÑÐ¾ Ð±ÑÐ°ÑÐ·ÐµÑ Ð¾Ð±ÑÐµÐ´Ð¸Ð½ÑÐµÑ Ð²ÑÐµ Ð´Ð°Ð½Ð½ÑÐµ Ð¿Ð¾Ð»ÐµÐ¹ Ð² Ð¿Ð°ÑÑ name=value, ÑÐ°Ð·Ð´ÐµÐ»ÑÑ Ð¸Ñ ÑÐ¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ &amp;amp;. ÐÐ°ÑÐµÐ¼ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½Ð°Ñ ÑÐ°ÐºÐ¸Ð¼ Ð¾Ð±ÑÐ°Ð·Ð¾Ð¼ ÑÑÑÐ¾ÐºÐ° Ð¿ÐµÑÐµÐ´Ð°ÐµÑÑÑ Ð½Ð° ÑÐµÑÐ²ÐµÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð¼, ÑÐºÐ°Ð·Ð°Ð½Ð½ÑÐ¼ Ð² Ð°ÑÑÐ¸Ð±ÑÑÐµ method ÑÐµÐ³Ð° &amp;lt;FORM&amp;gt;. ÐÑÑÑ Ðº ÑÑÐµÐ½Ð°ÑÐ¸Ñ, ÐºÐ¾ÑÐ¾ÑÑÐ¹ Ð±ÑÐ´ÐµÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑÑÑ ÐµÐµ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÐ¾Ð¹, Ð·Ð°Ð´Ð°ÐµÑÑÑ Ð°ÑÑÐ¸Ð±ÑÑÐ¾Ð¼ action ÑÑÐ¾Ð³Ð¾ Ð¶Ðµ ÑÐµÐ³Ð°. ÐÑÐ»Ð¸ action Ð½Ðµ Ð·Ð°Ð´Ð°Ð½, ÑÐ¾ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ ÑÐ°Ð¹Ð»Ñ, ÑÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð²ÑÐµÐ¼Ñ ÑÐµÐºÑÑÑÑ ÑÑÑÐ°Ð½Ð¸ÑÐºÑ.&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ»Ð¸ ÑÑÐ¾-ÑÐ¾ Ð½Ðµ ÑÐ¾Ð²ÑÐµÐ¼ Ð¿Ð¾Ð½ÑÑÐ½Ð¾, Ð¾Ð±ÑÐ°ÑÐ¸ÑÐµÑÑ Ðº ÐºÐ¾Ð´Ñ ÑÐ°Ð·ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÐµÐ¼Ð¾Ð¹ Ð³Ð¾ÑÑÐµÐ²Ð¾Ð¹ ÐºÐ½Ð¸Ð³Ð¸, ÐºÐ¾ÑÐ¾ÑÑÐ¹ Ð¿ÑÐ¸Ð²ÐµÐ´ÐµÐ½ Ð½Ð¸Ð¶Ðµ.&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ°Ñ ÑÐ¿Ð°ÑÐ¸ÑÐµÐ»Ñ â Ð¼Ð¾Ð´ÑÐ»Ñ cgi ===&lt;br /&gt;
ÐÐ¾Ð·Ð²ÑÐ°ÑÐ°ÐµÐ¼ÑÑ Ðº Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÐµ Ð²ÑÐµÐ³Ð¾ ÑÑÐ¾Ð³Ð¾ Ð´Ð¾Ð±ÑÐ°, ÐºÐ¾ÑÐ¾ÑÐ¾Ðµ ÑÐ¾ÑÐ½Ð¸ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¹ ÑÐ¶Ðµ Ð³Ð¾ÑÐ¾Ð²Ñ Ð¾Ð±ÑÑÑÐ¸ÑÑ Ð½Ð° Ð½Ð°Ñ Ð±ÐµÐ´Ð½ÑÐ¹ ÑÑÐµÐ½Ð°ÑÐ¸Ð¹. ÐÑ ÑÐµÑÐ¸Ð»Ð¸ Ð²Ð¾ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÑÑÑ ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¼Ð¸ ÑÑÐµÐ´ÑÑÐ²Ð°Ð¼Ð¸ Python, Ð¸ Ð·Ð´ÐµÑÑ Ð²ÑÐµ Ð´ÐµÐ¹ÑÑÐ²Ð¸ÑÐµÐ»ÑÐ½Ð¾ Ð¾ÑÐµÐ½Ñ Ð¿ÑÐ¾ÑÑÐ¾ â Ð¸Ð¼Ð¿Ð¾ÑÑÐ¸ÑÑÐ¹ÑÐµ Ð¼Ð¾Ð´ÑÐ»Ñ cgi Ð¸, ÑÐ¾Ð·Ð´Ð°Ð² Ð¾Ð±ÑÐµÐºÑ ÐºÐ»Ð°ÑÑÐ° FieldStorage, Ð²Ñ Ð¿Ð¾Ð»ÑÑÐ¸ÑÐµ ÑÐµÑÐµÐ· Ð½ÐµÐ³Ð¾ Ð´Ð¾ÑÑÑÐ¿ ÐºÐ¾ Ð²ÑÐµÐ¼ Ð´Ð°Ð½Ð½ÑÐ¼, Ð¿ÐµÑÐµÐ´Ð°Ð½Ð½ÑÐ¼ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¼, Ð½ÐµÐ·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ Ð¾Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÐ¼Ð¾Ð³Ð¾ Ð¼ÐµÑÐ¾Ð´Ð°:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import cgi&lt;br /&gt;
data = cgi.FieldStorage()&lt;br /&gt;
for entry in data.keys():&lt;br /&gt;
print 'ÐÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ %s Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ %s' % (entry, data[entry].value)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ»Ð¸ Ð²Ð°Ð¼ Ð½ÑÐ¶Ð½Ð¾ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ, ÑÑÐ¾ Ð´ÐµÐ»Ð°ÐµÑÑÑ ÑÐ°Ðº:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
field = data['field'].value&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾Ð¼Ð¸Ð¼Ð¾ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ, Ð¾Ð±ÑÐµÐºÑ ÐºÐ»Ð°ÑÑÐ° FieldStorage ÑÐ¾Ð´ÐµÑÐ¶Ð¸Ñ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ Ð¸ Ð¾ Ð¿Ð¾Ð»ÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° (Ð² Ð½Ð°ÑÐµÐ¼ Ð¿ÑÐ¸Ð¼ÐµÑÐµ Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¸Ð· ÑÐ»Ð¾Ð²Ð°ÑÑ data.headers). MIME-ÑÐ¸Ð¿ Ð´Ð°Ð½Ð½ÑÑ (Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÐµÐ¼ÑÐ¹ Ð¿Ð¾Ð»ÐµÐ¼ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Content-Type) Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¸Ð· Ð°ÑÑÐ¸Ð±ÑÑÐ° data.type. Ð§ÐµÑÐµÐ· ÑÑÐ¾Ñ Ð¶Ðµ Ð¾Ð±ÑÐµÐºÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð° Ð¸ Ð·Ð°Ð³ÑÑÐ·ÐºÐ° ÑÐ°Ð¹Ð»Ð°.&lt;br /&gt;
&lt;br /&gt;
Ð¡ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð² keys() Ð¸ has_key() Ð¼Ð¾Ð¶Ð½Ð¾ Ð²ÑÐ¿Ð¾Ð»Ð½ÑÑÑ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð² ÑÐ¸ÐºÐ»Ðµ Ð¸ Ð¿ÑÐ¾Ð²ÐµÑÑÑÑ Ð½Ð°Ð»Ð¸ÑÐ¸Ðµ ÑÐ¾Ð¹ Ð¸Ð»Ð¸ Ð¸Ð½Ð¾Ð¹ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹. ÐÑÑÐ°ÑÐ¸ Ð³Ð¾Ð²Ð¾ÑÑ, Ð¿ÑÐ¾Ð²ÐµÑÑÑÑ Ð½Ð°Ð»Ð¸ÑÐ¸Ðµ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ Ð²Ð¾ Ð²ÑÐ¾Ð´Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ, Ð¿ÑÐµÐ¶Ð´Ðµ ÑÐµÐ¼ Ð¿ÑÐ¸ÑÑÑÐ¿Ð°ÑÑ Ðº Ð¸Ñ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÐµ, Ð½ÑÐ¶Ð½Ð¾ Ð½ÐµÐ¿ÑÐµÐ¼ÐµÐ½Ð½Ð¾ â Ð²ÐµÐ´Ñ Ð·Ð°Ð¿ÑÐ¾Ñ ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÑÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÐ¾Ð¼, Ð° ÐºÑÐ¾ Ð·Ð½Ð°ÐµÑ, ÑÑÐ¾ Ñ Ð½ÐµÐ³Ð¾ Ð½Ð° ÑÐ¼Ðµ?&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ°Ð·Ð¸ÑÑÐµÐ¼ Ð´Ð°Ð½Ð½ÑÐµ ===&lt;br /&gt;
ÐÑÐ°Ðº, Ð¿Ð¾Ð»ÑÑÐ°ÑÑ Ð´Ð°Ð½Ð½ÑÐµ Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½ÑÐ° Ð¼Ñ Ð½Ð°ÑÑÐ¸Ð»Ð¸ÑÑ. ÐÑÐ¿ÑÐ°Ð²Ð»ÑÑÑ ÑÐ¾Ð¶Ðµ ÑÐ¼ÐµÐµÐ¼. ÐÑÑÐ°Ð»Ð¾ÑÑ Ð¿ÑÐ¸Ð´ÑÐ¼Ð°ÑÑ, ÐºÐ°Ðº ÑÑÐ¸ Ð´Ð°Ð½Ð½ÑÐµ Ð»ÑÑÑÐµ Ð²ÑÐµÐ³Ð¾ ÑÑÐ°Ð½Ð¸ÑÑ. ÐÐ¾Ð½ÐµÑÐ½Ð¾, Ð´Ð»Ñ Ð½ÐµÑÐ»Ð¾Ð¶Ð½Ð¾Ð¹ Ð³Ð¾ÑÑÐµÐ²Ð¾Ð¹ ÐºÐ½Ð¸Ð³Ð¸ Ñ Ð½ÐµÐ±Ð¾Ð»ÑÑÐ¾Ð¹ Ð½Ð°Ð³ÑÑÐ·ÐºÐ¾Ð¹ Ð²Ð¿Ð¾Ð»Ð½Ðµ ÑÐ²Ð°ÑÐ¸Ð»Ð¾ Ð±Ñ Ð¸ ÑÐµÐºÑÑÐ¾Ð²ÑÑ ÑÐ°Ð¹Ð»Ð¾Ð². ÐÑÐ°Ð²Ð´Ð°, ÑÐ°Ð¼ ÐµÑÑÑ ÑÐ²Ð¾Ð¸ ÑÐ»Ð¾Ð¶Ð½Ð¾ÑÑÐ¸ â ÐµÑÐ»Ð¸ ÑÑÐ°Ð·Ñ Ð¿ÑÑÑ ÑÐµÐ»Ð¾Ð²ÐµÐº Ð·Ð°ÑÐ¾ÑÑÑ Ð²ÑÑÐºÐ°Ð·Ð°ÑÑ ÑÐ²Ð¾Ðµ Ð¼Ð½ÐµÐ½Ð¸Ðµ Ð¾ Ð²Ð°ÑÐµÐ¹ ÐºÑÑÑÐµÐ¹ÑÐµÐ¹ Ð´Ð¾Ð¼Ð°ÑÐ½ÐµÐ¹ ÑÑÑÐ°Ð½Ð¸ÑÐºÐµ, ÑÐ¾ ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð¿ÑÐ¸Ð´ÐµÑÑÑ ÐºÐ°ÐºÐ¸Ð¼-ÑÐ¾ Ð¾Ð±ÑÐ°Ð·Ð¾Ð¼ ÑÐµÐ³ÑÐ»Ð¸ÑÐ¾Ð²Ð°ÑÑ Ð´Ð¾ÑÑÑÐ¿ Ðº ÑÐ°Ð¹Ð»Ñ-ÑÑÐ°Ð½Ð¸Ð»Ð¸ÑÑ (ÐºÐ°Ðº Ð¼Ð¸Ð½Ð¸Ð¼ÑÐ¼, Ð¾Ð±ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÑÑ ÑÐ¸ÑÑÐ°ÑÐ¸Ñ, ÐµÑÐ»Ð¸ ÑÐ°Ð¹Ð» ÑÐ¶Ðµ Ð¾ÑÐºÑÑÑ Ð½Ð° Ð·Ð°Ð¿Ð¸ÑÑ Ð´ÑÑÐ³Ð¸Ð¼ ÑÐºÐ·ÐµÐ¼Ð¿Ð»ÑÑÐ¾Ð¼ ÑÑÐµÐ½Ð°ÑÐ¸Ñ). ÐÐ¾ Ð·Ð°ÑÐµÐ¼ Ð½Ð°Ð¼ Ð²ÑÐµ ÑÑÐ¸ Ð³Ð¾Ð»Ð¾Ð²Ð½ÑÐµ Ð±Ð¾Ð»Ð¸? ÐÑÐ»Ð¸ Ð¼Ñ ÑÐ°Ðº Ð»Ð¾Ð²ÐºÐ¾ Ð¾ÑÐ²ÐµÑÑÐµÐ»Ð¸ÑÑ Ð¾Ñ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð¾ÑÑÐ¸ Ð²ÑÑÑÐ½ÑÑ ÑÐ°Ð·Ð±Ð¸ÑÐ°ÑÑ HTTP-Ð·Ð°Ð¿ÑÐ¾ÑÑ, ÑÐ¾ Ð½ÐµÑÐ¶ÐµÐ»Ð¸ Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ¼ ÑÑÐ¾-ÑÐ¾ Ð¿Ð¾Ð´ÑÐ¾Ð´ÑÑÐµÐµ Ð½Ð° ÑÑÐ¾Ñ ÑÐ°Ð·?&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾Ð½ÐµÑÐ½Ð¾, Ð½Ð°Ð¹Ð´ÐµÐ¼! Ð ÑÑÐ¾ Â«ÑÑÐ¾-ÑÐ¾Â» Ð½Ð°Ð·ÑÐ²Ð°ÐµÑÑÑ ÑÐ¸ÑÑÐµÐ¼Ð¾Ð¹ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ (Ð² Ð¿ÑÐ¾ÑÑÐ¾ÑÐµÑÑÐµ â Ð¡Ð£ÐÐ). Ð¢ÐµÐ¿ÐµÑÑ Ð½Ð°ÑÐµ Ð´ÐµÐ»Ð¾ â Ð¾ÑÐ¿ÑÐ°Ð²Ð¸ÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð¸ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¾ÑÐ²ÐµÑ. ÐÑÐµ Ð¾ÑÑÐ°Ð»ÑÐ½Ð¾Ðµ â ÑÐ¶Ðµ Ð½Ðµ Ð½Ð°ÑÐ° Ð·Ð°Ð±Ð¾ÑÐ°.&lt;br /&gt;
&lt;br /&gt;
ÐÐ»Ñ ÑÑÐ¾Ð³Ð¾ Ð¿ÑÐ¸Ð¼ÐµÑÐ° Ñ Ð²ÑÐ±ÑÐ°Ð» Ð² ÐºÐ°ÑÐµÑÑÐ²Ðµ Â«Ð¾ÑÐ²ÐµÑÑÑÐ²ÐµÐ½Ð½Ð¾Ð³Ð¾Â» Ð·Ð° ÑÑÐ°Ð½ÐµÐ½Ð¸Ðµ Ð´Ð°Ð½Ð½ÑÑ ÑÐµÑÐ²ÐµÑ Ð±Ð°Ð· Ð´Ð°Ð½Ð½ÑÑ PostgreSQL. ÐÐ¾ÑÐºÐ¾Ð»ÑÐºÑ Ð¼Ñ Ð¿Ð¸ÑÐµÐ¼ Ð½Ñ Ð¾ÑÐµÐ½Ñ Ð¿ÑÐ¾ÑÑÑÑ Ð³Ð¾ÑÑÐµÐ²ÑÑ ÐºÐ½Ð¸Ð³Ñ, ÑÐ¾ Ð¸ ÑÑÑÑÐºÑÑÑÐ° Ð±Ð°Ð·Ñ Ð±ÑÐ´ÐµÑ Ñ Ð½Ð°Ñ ÑÐ»ÐµÐ¼ÐµÐ½ÑÐ°ÑÐ½Ð¾Ð¹ â Ð¾Ð´Ð½Ð° ÑÐ°Ð±Ð»Ð¸ÑÐ° Ñ ÑÑÐµÐ¼Ñ Ð¿Ð¾Ð»ÑÐ¼Ð¸: Ð²ÑÐµÐ¼Ñ Ð¿ÑÐ±Ð»Ð¸ÐºÐ°ÑÐ¸Ð¸ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ, Ð¸Ð¼Ñ Ð°Ð²ÑÐ¾ÑÐ° Ð¸, ÑÐ¾Ð±ÑÑÐ²ÐµÐ½Ð½Ð¾, ÑÐ°Ð¼Ð¾ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ðµ:&lt;br /&gt;
&lt;br /&gt;
 admin@toshiba:~$ psql&lt;br /&gt;
 Welcome to psql 8.1.4, the PostgreSQL interactive terminal.&lt;br /&gt;
 guestbook=# create user &amp;quot;www-data&amp;quot; nocreatedb nocreateuser;&lt;br /&gt;
 CREATE ROLE&lt;br /&gt;
 admin=# create database guestbook with owner &amp;quot;www-data&amp;quot;;&lt;br /&gt;
 CREATE DATABASE&lt;br /&gt;
 admin=# \connect guestbook&lt;br /&gt;
 ÐÑ Ð¿Ð¾Ð´ÑÐ¾ÐµÐ´Ð¸Ð½Ð¸Ð»Ð¸ÑÑ Ðº Ð±Ð°Ð·Ðµ Ð´Ð°Ð½Ð½ÑÑ &amp;quot;guestbook&amp;quot;.&lt;br /&gt;
 guestbook=# create table guestbook (&lt;br /&gt;
 guestbook(# datum timestamp, author varchar, message varchar);&lt;br /&gt;
 CREATE TABLE&lt;br /&gt;
 guestbook=# alter table guestbook owner to &amp;quot;www-data&amp;quot;;&lt;br /&gt;
 ALTER TABLE&lt;br /&gt;
 guestbook=# \q&lt;br /&gt;
 admin@toshiba:~$&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾Ð¶Ð°Ð»ÑÐ¹, ÐµÐ´Ð¸Ð½ÑÑÐ²ÐµÐ½Ð½Ð¾Ðµ, ÑÑÐ¾ Ð·Ð´ÐµÑÑ Ð½ÑÐ¶Ð½Ð¾ Ð¿Ð¾ÑÑÐ½Ð¸ÑÑ, ÑÑÐ¾ Ð¿Ð¾ÑÐµÐ¼Ñ Ð±Ð°Ð·Ðµ Ð¸ ÑÐ°Ð±Ð»Ð¸ÑÐµ Ð¼Ñ Ð½Ð°Ð·Ð½Ð°ÑÐ¸Ð»Ð¸ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑÐµÐ¼ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ www-data. ÐÑÐ¾ÑÑÐ¾ Ðº Ð½Ð¸Ð¼ Ð±ÑÐ´ÐµÑ Ð¾Ð±ÑÐ°ÑÐ°ÑÑÑÑ cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ð¹, ÑÐ°Ð±Ð¾ÑÐ°ÑÑÐ¸Ð¹ Ñ Ð¿ÑÐ°Ð²Ð°Ð¼Ð¸ HTTP-ÑÐµÑÐ²ÐµÑÐ° Apache, ÐºÐ¾ÑÐ¾ÑÑÐ¹, Ð² ÑÐ²Ð¾Ñ Ð¾ÑÐµÑÐµÐ´Ñ, Ð¸ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ [Ð² Ð²Ð°ÑÐµÐ¼ Ð´Ð¸ÑÑÑÐ¸Ð±ÑÑÐ¸Ð²Ðµ Ð¾Ð½ Ð¼Ð¾Ð¶ÐµÑ Ð½Ð°Ð·Ð²Ð°ÑÑÑÑ Ð¿Ð¾-Ð´ÑÑÐ³Ð¾Ð¼Ñ, â Ð¿ÑÐ¸Ð¼. ÑÐµÐ´.]. Ð PostgreSQL Ð¿Ð¾ ÑÐ¼Ð¾Ð»ÑÐ°Ð½Ð¸Ñ ÑÑÐµÐ±ÑÐµÑ, ÑÑÐ¾Ð±Ñ Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð² ÐÐ ÑÐ¾Ð²Ð¿Ð°Ð´Ð°Ð»Ð¾ Ñ ÐµÐ³Ð¾ ÑÐ¸ÑÑÐµÐ¼Ð½ÑÐ¼ Ð¸Ð¼ÐµÐ½ÐµÐ¼. ÐÐ½Ðµ ÑÑÐ¾ ÐºÐ°Ð¶ÐµÑÑÑ Ð´Ð¾ÑÑÐ°ÑÐ¾ÑÐ½Ð¾ ÑÐ´Ð¾Ð±Ð½ÑÐ¼, ÑÐ¾ÑÑ Ð²Ñ, ÐºÐ¾Ð½ÐµÑÐ½Ð¾, Ð¼Ð¾Ð¶ÐµÑÐµ Ð¿Ð¾ÑÑÑÐ¿Ð¸ÑÑ Ð¿Ð¾-ÑÐ²Ð¾ÐµÐ¼Ñ.&lt;br /&gt;
&lt;br /&gt;
=== DB API Ð½Ð° ÑÑÑÐ°Ð¶Ðµ ÑÐ½Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¸ ===&lt;br /&gt;
ÐÑÑÐ°Ð»Ð¾ÑÑ ÑÐ°Ð·Ð¾Ð±ÑÐ°ÑÑÑÑ, ÐºÐ°Ðº Ð¶Ðµ Python Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²ÑÐµÑ Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ. ÐÐ»Ñ ÑÑÐ¾Ð³Ð¾ Python Ð¿ÑÐµÐ´Ð¾ÑÑÐ°Ð²Ð»ÑÐµÑ DB API â ÑÐ¿ÐµÑÐ¸Ð°Ð»ÑÐ½ÑÐ¹ Ð¸Ð½ÑÐµÑÑÐµÐ¹Ñ, ÑÐ½Ð¸ÑÐ¸ÑÐ¸ÑÑÑÑÐ¸Ð¹ Ð½Ð°Ð±Ð¾Ñ Ð¼ÐµÑÐ¾Ð´Ð¾Ð², ÐºÐ¾ÑÐ¾ÑÑÐµ Ð±ÑÐ´ÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾ ÑÐ°Ð±Ð¾ÑÐ°ÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ Ð¾Ñ ÑÐ¾Ð³Ð¾, Ñ ÐºÐ°ÐºÐ¾Ð¹ Ð¡Ð£ÐÐ Ð¼Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²ÑÐµÐ¼. ÐÐ»Ñ ÑÐ°Ð±Ð¾ÑÑ Ñ PostgreSQL Ð½Ð°Ð¼ Ð¿Ð¾Ð½Ð°Ð´Ð¾Ð±Ð¸ÑÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ PyPgSQL (Ð² ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½Ð¾Ð¹ Ð¿Ð¾ÑÑÐ°Ð²ÐºÐµ ÐµÐ³Ð¾ Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ, Ð½Ð¾ Ð²Ð°Ñ Ð¼ÐµÐ½ÐµÐ´Ð¶ÐµÑ Ð¿Ð°ÐºÐµÑÐ¾Ð² Ð½Ð°Ð²ÐµÑÐ½ÑÐºÐ° Ð±ÑÐ´ÐµÑ Ð² ÐºÑÑÑÐµ, ÐºÐ°Ðº ÐµÐ³Ð¾ ÑÑÑÐ°Ð½Ð¾Ð²Ð¸ÑÑ; ÐºÑÑÐ°ÑÐ¸, ÑÑÐ¾ Ð½Ðµ ÐµÐ´Ð¸Ð½ÑÑÐ²ÐµÐ½Ð½ÑÐ¹ Ð¼Ð¾Ð´ÑÐ»Ñ â Ñ Ð²Ð°Ñ, Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾, Ð±ÑÐ´ÐµÑ PyGreSQL, ÐºÐ¾ÑÐ¾ÑÑÐ¹ ÑÐ°Ð±Ð¾ÑÐ°ÐµÑ Ð½Ð¸ÑÑÑÑ Ð½Ð¸ ÑÑÐ¶Ðµ Ð¸ Ñ ÑÐµÐ¼Ð¸ Ð¶Ðµ ÑÐ°Ð¼ÑÐ¼Ð¸ Ð¼ÐµÑÐ¾Ð´Ð°Ð¼Ð¸).&lt;br /&gt;
&lt;br /&gt;
DB API Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÑÐµÑ ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐµ Ð¼ÐµÑÐ¾Ð´Ñ ÑÐ°Ð±Ð¾ÑÑ Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ, ÑÐ°Ðº ÑÑÐ¾, ÐºÐ°ÐºÐ¾Ð¹ Ð±Ñ Ð¼Ð¾Ð´ÑÐ»Ñ Ð²Ñ Ð½Ð¸ Ð·Ð°Ð³ÑÑÐ·Ð¸Ð»Ð¸ Ð¸ Ñ ÐºÐ°ÐºÐ¾Ð¹ Ð±Ñ Ð¡Ð£ÐÐ Ð½Ð¸ ÑÐ°Ð±Ð¾ÑÐ°Ð»Ð¸ (Ð±ÑÐ´Ñ ÑÐ¾ MySQL, PostgreSQL, SQLite Ð¸Ð»Ð¸ ÑÑÐ¾-ÑÐ¾ ÐµÑÐµ), Ð¼ÐµÐ½ÑÑÑÑÑ Ð±ÑÐ´ÐµÑ ÑÐ¾Ð»ÑÐºÐ¾ Ð¸Ð¼Ñ Ð¼Ð¾Ð´ÑÐ»Ñ. ÐÐ»Ð°Ð²Ð½Ð¾Ðµ, ÑÑÐ¾Ð±Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÐ¼ÑÐ¹ Ð¼Ð¾Ð´ÑÐ»Ñ ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²Ð¾Ð²Ð°Ð» DB API. Ð Ð°ÑÑÐ¼Ð¾ÑÑÐ¸Ð¼ ÐºÐ¾ÑÐ¾ÑÐºÐ¾ Ð¾ÑÐ½Ð¾Ð²Ð½ÑÐµ Ð¼ÐµÑÐ¾Ð´Ñ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
conn = connect(dsn='localhost', user='admin', password='superparol', database='mydb')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð¢Ð°Ðº Ð¾ÑÑÑÐµÑÑÐ²Ð»ÑÐµÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ðµ Ðº Ð±Ð°Ð·Ðµ. Ð Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÐ¸ Ð¾Ñ ÑÐ¸ÑÑÐ°ÑÐ¸Ð¸, Ð²Ð°Ð¼ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑÐµÐ±Ð¾Ð²Ð°ÑÑÑÑ ÑÐºÐ°Ð·Ð°ÑÑ ÑÐ¾Ð»ÑÐºÐ¾ Ð½ÑÐ¶Ð½ÑÐµ Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÑ (Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, Ð¸Ð¼Ñ ÑÐ¾ÑÑÐ° 'localhost' Ð¿Ð¾Ð´ÑÐ°Ð·ÑÐ¼ÐµÐ²Ð°ÐµÑÑÑ Ð¿Ð¾ ÑÐ¼Ð¾Ð»ÑÐ°Ð½Ð¸Ñ).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
cur = conn.cursor()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÑÑÑÐ¾ÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÑÑÑÑ Ð´Ð°Ð»ÐµÐºÐ¾ Ð½Ðµ Ð²ÑÐµÐ¼Ð¸ Ð¡Ð£ÐÐ, Ð½Ð¾ Ð´Ð»Ñ Ð¾Ð±ÑÐ½Ð¾ÑÑÐ¸ Ð² DB API Ð¾Ð½Ð¸ Ð²Ð²ÐµÐ´ÐµÐ½Ñ Ð¸, Ð² ÑÐ»ÑÑÐ°Ðµ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð¾ÑÑÐ¸, Ð´Ð¾Ð»Ð¶Ð½Ñ ÑÐ¼ÑÐ»Ð¸ÑÐ¾Ð²Ð°ÑÑÑÑ Ð¼Ð¾Ð´ÑÐ»ÑÐ¼Ð¸ ÑÐ¾Ð¿ÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸ÑÐºÑÑÑÑÐ²ÐµÐ½Ð½Ð¾. Ð¢Ð°Ðº ÑÑÐ¾ Ð½Ðµ Ð·Ð°Ð±ÑÐ²Ð°Ð¹ÑÐµ Ð¾ÑÐ¿ÑÐ°Ð²Ð»ÑÑÑ Ð²ÑÐµ Ð²Ð°ÑÐ¸ Ð·Ð°Ð¿ÑÐ¾ÑÑ ÑÐµÑÐµÐ· ÐºÑÑÑÐ¾Ñ.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
cur.execute('''SELECT * FROM mytable''')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð¢Ð°Ðº Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ SQL-Ð·Ð°Ð¿ÑÐ¾Ñ. ÐÑÐ»Ð¸ Ð² ÑÑÑÐ¾ÐºÐµ Ð·Ð°Ð¿ÑÐ¾ÑÐ° Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÑÑÑÑ Ð·Ð½Ð°ÐºÐ¾Ð¼ÐµÑÑÐ° %s, ÑÐ¾ Ð²ÑÐ¾ÑÑÐ¼ Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÐ¾Ð¼ Ð¿ÐµÑÐµÐ´Ð°ÐµÑÑÑ ÑÐ¿Ð¸ÑÐ¾Ðº Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½ÑÑ-Ð·Ð½Ð°ÑÐµÐ½Ð¸Ð¹, Ð¿ÑÐ¸ÑÐµÐ¼ Ð² SQL-Ð·Ð°Ð¿ÑÐ¾ÑÐµ Ð·Ð½Ð°ÐºÐ¾Ð¼ÐµÑÑÐ° Ð½Ðµ ÑÑÐµÐ±ÑÐµÑÑÑ Ð¾ÐºÑÑÐ¶Ð°ÑÑ Ð°Ð¿Ð¾ÑÑÑÐ¾ÑÐ°Ð¼Ð¸ â Ð¼Ð¾Ð´ÑÐ»Ñ ÑÐ´ÐµÐ»Ð°ÐµÑ ÑÑÐ¾ ÑÐ°Ð¼Ð¾ÑÑÐ¾ÑÑÐµÐ»ÑÐ½Ð¾ Ð² Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÐ¸ Ð¾Ñ&lt;br /&gt;
ÑÐ¸Ð¿Ð° Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
cur.fetchall()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾Ð·Ð²ÑÐ°ÑÐ°ÐµÑ Ð´Ð²ÑÐ¼ÐµÑÐ½ÑÐ¹ ÑÐ¿Ð¸ÑÐ¾Ðº (ÑÑÑÐ¾ÐºÐ¸ â Ð¿Ð¾Ð»Ñ) Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½ÑÑ Ð¾Ñ Ð¡Ð£ÐÐ Ð´Ð°Ð½Ð½ÑÑ. Ð¡ÑÑÐµÑÑÐ²ÑÑÑ Ð¸ Ð´ÑÑÐ³Ð¸Ðµ Ð¼ÐµÑÐ¾Ð´Ñ, Ð¾Ð·Ð½Ð°ÐºÐ¾Ð¼Ð¸ÑÑÑÑ Ñ ÐºÐ¾ÑÐ¾ÑÑÐ¼Ð¸ Ð²Ñ ÑÐ¼Ð¾Ð¶ÐµÑÐµ Ð² Ð´Ð¾ÐºÑÐ¼ÐµÐ½ÑÐ°ÑÐ¸Ð¸ Ð¸Ð»Ð¸ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð·Ð½Ð°ÐºÐ¾Ð¼Ð¾Ð¹ Ð²Ð°Ð¼ ÑÑÐ½ÐºÑÐ¸Ð¸ dir() Ð´Ð° Ð¿Ð°ÑÑ-ÑÑÐ¾Ð¹ÐºÐ¸ Ð½ÐµÑÐ»Ð¾Ð¶Ð½ÑÑ ÑÐºÑÐ¿ÐµÑÐ¸Ð¼ÐµÐ½ÑÐ¾Ð².&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ°ÐºÑÐµÐ¿Ð»ÑÐµÐ¼ Ð½Ð° Ð¿ÑÐ°ÐºÑÐ¸ÐºÐµ ===&lt;br /&gt;
ÐÐµÑÐµÐ¹Ð´ÐµÐ¼ Ðº ÑÐ°ÑÑÐ¼Ð¾ÑÑÐµÐ½Ð¸Ñ Ð½Ð°ÑÐµÐ³Ð¾ Ð¿ÑÐ¸Ð¼ÐµÑÐ°. ÐÐ°ÑÐ½ÐµÐ¼ ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½Ð¾ â ÑÐºÐ°Ð¶ÐµÐ¼ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÑ, Ð¿Ð¾Ð´ÐºÐ»ÑÑÐ¸Ð¼ Ð½ÑÐ¶Ð½ÑÐµ Ð¼Ð¾Ð´ÑÐ»Ð¸:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/Python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
import PyPgSQL.PgSQL as pg&lt;br /&gt;
import cgi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐ°Ð»ÐµÐµ, Ð¾Ð¿ÑÐµÐ´ÐµÐ»Ð¸Ð¼ Ð´Ð²Ðµ ÑÑÐ½ÐºÑÐ¸Ð¸. ÐÐµÑÐ²Ð°Ñ Ð±ÑÐ´ÐµÑ Ð¾ÑÐ²ÐµÑÐ°ÑÑ Ð·Ð° Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð½Ð¾Ð²Ð¾Ð³Ð¾ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ Ð² Ð±Ð°Ð·Ñ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def addMessage(author, message):&lt;br /&gt;
  db = pg.connect(database=&amp;quot;guestbook&amp;quot;)&lt;br /&gt;
  c = db.cursor()&lt;br /&gt;
  c.execute(&amp;quot;&amp;quot;&amp;quot;INSERT INTO guestbook (datum, author, message) VALUES ('now', %s, %s);&amp;quot;&amp;quot;&amp;quot;, (author, message))&lt;br /&gt;
  c.close()&lt;br /&gt;
  db.commit()&lt;br /&gt;
  db.close()&lt;br /&gt;
  print &amp;quot;Content-Type: text/html&amp;quot;&lt;br /&gt;
  print &amp;quot;Location: ?#form\n&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐ°Ðº Ð²Ð¸Ð´Ð¸ÑÐµ, Ð²ÑÐµ Ð¾ÑÐµÐ½Ñ Ð´Ð°Ð¶Ðµ Ð»Ð¾Ð³Ð¸ÑÐ½Ð¾: ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÐ¼ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ðµ Ñ ÐÐ (Ð¿Ð¾ÑÐºÐ¾Ð»ÑÐºÑ Ð² Ð½Ð°ÑÐµÐ¼ ÑÐ»ÑÑÐ°Ðµ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ðµ Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ ÑÐµÐºÑÑÐµÐ³Ð¾ ÑÐ¸ÑÑÐµÐ¼Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ, ÑÐ¾ Ð´Ð¾ÑÑÐ°ÑÐ¾ÑÐ½Ð¾ ÑÐºÐ°Ð·Ð°ÑÑ ÑÐ¾Ð»ÑÐºÐ¾ Ð¸Ð¼Ñ Ð±Ð°Ð·Ñ), ÑÐ¾Ð·Ð´Ð°ÐµÐ¼ ÐºÑÑÑÐ¾Ñ (Ð² PostgreSQL Ð¾Ð½Ð¸ Ð½Ðµ Ð¿ÑÐ¸Ð¼ÐµÐ½ÑÑÑÑÑ, Ð½Ð¾ Ð¾Ð½Ð¸ ÑÐ¼ÑÐ»Ð¸ÑÑÑÑÑÑ ÐºÐ°Ð¶Ð´ÑÐ¼ Ð¼Ð¾Ð´ÑÐ»ÐµÐ¼, Ð¿ÑÐµÑÐµÐ½Ð´ÑÑÑÐ¸Ð¼ Ð½Ð° ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²Ð¸Ðµ DB API), Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ, Ð·Ð°ÐºÑÑÐ²Ð°ÐµÑÑÑ ÐºÑÑÑÐ¾Ñ, ÑÐ¸ÐºÑÐ¸ÑÑÑÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ (PostgreSQL Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑ ÑÑÐ°Ð½Ð·Ð°ÐºÑÐ¸Ð¸, Ð¿Ð¾ÑÑÐ¾Ð¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¼ÐµÑÐ¾Ð´Ð° commit() Ð¾Ð±ÑÐ·Ð°ÑÐµÐ»ÑÐ½Ð¾, Ð¸Ð½Ð°ÑÐµ Ð²Ð°ÑÐ¸ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ Ð±ÑÐ´ÑÑ ÑÐ¾ÑÑÐ°Ð½ÐµÐ½Ñ), Ð¸, Ð½Ð°ÐºÐ¾Ð½ÐµÑ, Ð·Ð°ÐºÑÑÐ²Ð°ÐµÐ¼ ÑÐ°Ð¼Ð¾ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ðµ Ñ Ð±Ð°Ð·Ð¾Ð¹. Ð Ð¿Ð¾Ð»Ðµ datum Ð·Ð°Ð½Ð¾ÑÐ¸Ð¼ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð²ÑÑÑÐ¾ÐµÐ½Ð½Ð¾Ð¹ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ PostgreSQL â now, ÐºÐ¾ÑÐ¾ÑÐ°Ñ ÐºÐ°Ð¶Ð´ÑÐ¹ ÑÐ°Ð· Ð·Ð°Ð¼ÐµÐ½ÑÐµÑÑÑ ÑÐµÐºÑÑÐ¸Ð¼ Ð·Ð½Ð°ÑÐµÐ½Ð¸ÐµÐ¼ Ð´Ð°ÑÑ Ð¸ Ð²ÑÐµÐ¼ÐµÐ½Ð¸.&lt;br /&gt;
&lt;br /&gt;
ÐÑ Ð¸ Ð¿ÐµÑÐ°ÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Â«LocationÂ» Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ Ð´Ð»Ñ ÑÐ¾Ð³Ð¾, ÑÑÐ¾Ð±Ñ Ð¿ÐµÑÐµÐ½Ð°Ð¿ÑÐ°Ð²Ð¸ÑÑ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð½Ð° ÑÑÐ¾Ñ Ð¶Ðµ ÑÑÐµÐ½Ð°ÑÐ¸Ð¹, Ð½Ð¾ ÑÐ¶Ðµ Ð±ÐµÐ· Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÐ¾Ð² â Ð¼Ñ Ð¶Ðµ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°ÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ, ÑÑÐ¾ Ð¾Ð½ Ð½Ð° ÑÐ°Ð¼Ð¾Ð¼ Ð´ÐµÐ»Ðµ Ð²Ð²ÐµÐ»? (Ð¯ÐºÐ¾ÑÑ #form Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ, ÑÑÐ¾Ð±Ñ Ð°Ð²ÑÐ¾Ð¼Ð°ÑÐ¸ÑÐµÑÐºÐ¸ Ð¿ÑÐ¾ÐºÑÑÑÐ¸ÑÑ ÑÑÑÐ°Ð½Ð¸ÑÐºÑ Ð½Ð° Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐµ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ðµ).&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ¾ÑÐ°Ñ ÑÑÐ½ÐºÑÐ¸Ñ Ð±ÑÐ´ÐµÑ Ð¾ÑÐ²ÐµÑÐ°ÑÑ Ð·Ð° Ð²ÑÐ²Ð¾Ð´ Ð½Ð° ÑÐºÑÐ°Ð½ ÑÐ¶Ðµ Ð¾ÑÑÐ°Ð²Ð»ÐµÐ½Ð½ÑÑÐ² ÐºÐ½Ð¸Ð³Ðµ Ð·Ð°Ð¿Ð¸ÑÐµÐ¹, Ð° ÑÐ°ÐºÐ¶Ðµ Ð·Ð° ÑÐ¾ÑÐ¼Ñ, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾ÑÐ¾ÑÐ¾Ð¹ Ð¼Ð¾Ð¶Ð½Ð¾ Ð±ÑÐ´ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð¸ ÑÐ²Ð¾Ðµ Ð²ÑÑÐºÐ°Ð·ÑÐ²Ð°Ð½Ð¸Ðµ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def showGB():&lt;br /&gt;
  db = pg.connect(database=&amp;quot;guestbook&amp;quot;)&lt;br /&gt;
  c = db.cursor()&lt;br /&gt;
  c.execute(&amp;quot;&amp;quot;&amp;quot;SELECT datum, author, message FROM guestbook ORDER BY datum;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
  res = c.fetchall()&lt;br /&gt;
  c.close()&lt;br /&gt;
db.close()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð ÑÑÐ¾Ð¼ ÑÑÐ°Ð³Ð¼ÐµÐ½ÑÐµ Ð¼Ñ Ð²ÑÐ±Ð¸ÑÐ°ÐµÐ¼ Ð²ÑÐµ ÑÑÑÐ¾ÐºÐ¸ Ð¸Ð· Ð½Ð°ÑÐµÐ¹ ÑÐ°Ð±Ð»Ð¸ÑÑ Ð´Ð°Ð½Ð½ÑÑ, ÑÐ¾ÑÑÐ¸ÑÑÑ Ð¸Ñ Ð¿Ð¾ Ð´Ð°ÑÐµ. Ð ÐµÐ·ÑÐ»ÑÑÐ°Ñ ÑÐ¾ÑÑÐ°Ð½ÑÐµÑÑÑ Ð² Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ res, Ñ ÐºÐ¾ÑÐ¾ÑÐ¾Ð¹ Ð¸ Ð±ÑÐ´ÐµÐ¼ ÑÐ°Ð±Ð¾ÑÐ°ÑÑ. Ð¢ÐµÐ¿ÐµÑÑ Ð¾ÑÑÐ°Ð»Ð¾ÑÑ Ð»Ð¸ÑÑ Ð°ÐºÐºÑÑÐ°ÑÐ½ÐµÐ½ÑÐºÐ¾ ÑÐ°Ð·Ð»Ð¾Ð¶Ð¸ÑÑ Ð½Ð°ÑÐ¸ Ð´Ð°Ð½Ð½ÑÐµ Ð¿Ð¾ ÑÐ°Ð±Ð»Ð¸ÑÐºÐ°Ð¼ Ð¸ Ð²ÑÐ²ÐµÑÑÐ¸ Ð¸Ñ Ð½Ð° ÑÐºÑÐ°Ð½:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 print &amp;quot;Content-Type: text/html\n&amp;quot;&lt;br /&gt;
 print &amp;quot;&amp;lt;H1 style='color:#7777FF'&amp;gt;&amp;lt;U&amp;gt;ÐÐµÐ»ÑÐºÐ°Ð¼ Ðº Ð½Ð°Ð¼ Ð² Ð³Ð¾ÑÑÐ¸!&amp;lt;/U&amp;gt;&amp;lt;/H1&amp;gt;&amp;quot;&lt;br /&gt;
 for item in res:&lt;br /&gt;
   print &amp;quot;&amp;quot;&amp;quot;&amp;lt;TABLE width='90%%'&amp;gt;&lt;br /&gt;
                &amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;&amp;lt;SMALL&amp;gt;Ð¢Ð¾Ð²Ð°ÑÐ¸Ñ &amp;lt;B&amp;gt;%s&amp;lt;/B&amp;gt; Ð¿Ð¾Ð²ÐµÐ´Ð°Ð»Ð½Ð°Ð¼ ÑÐ»ÐµÐ´ÑÑÑÐµÐµ:&amp;lt;/SMALL&amp;gt;&lt;br /&gt;
                    &amp;lt;TD align='right'&amp;gt;&amp;lt;SMALL&amp;gt;%s&amp;lt;/SMALL&amp;gt;&lt;br /&gt;
                &amp;lt;TR&amp;gt;&amp;lt;TD style='background-color:#DDDDFF' colspan='2'&amp;gt;%s&lt;br /&gt;
            &amp;lt;/TABLE&amp;gt;&amp;quot;&amp;quot;&amp;quot; % (item[1], str(item[0])[:19], item[2])&lt;br /&gt;
 print &amp;quot;&amp;lt;HR&amp;gt;&amp;lt;A name='form'&amp;gt;&amp;lt;H3&amp;gt;ÐÑÐ¸ÑÐ¾ÐµÐ´Ð¸Ð½ÑÐ¹ÑÐµÑÑ Ðº Ð´Ð¸ÑÐºÑÑÑÐ¸Ð¸:&amp;lt;/H3&amp;gt;&amp;quot;&lt;br /&gt;
 print &amp;quot;&amp;quot;&amp;quot;&amp;lt;FORM method='GET'&amp;gt;&lt;br /&gt;
           ÐÐ°ÑÐµ Ð¸Ð¼Ñ: &amp;lt;INPUT type='text' name='author'&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
           Ð§ÑÐ¾ Ð²Ñ Ð´ÑÐ¼Ð°ÐµÑÐµ Ð¿Ð¾ ÑÑÐ¾Ð¼Ñ Ð¿Ð¾Ð²Ð¾Ð´Ñ:&amp;lt;BR&amp;gt;&lt;br /&gt;
          &amp;lt;TEXTAREA name='message' rows='5' cols='80'&amp;gt;&amp;lt;/TEXTAREA&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
          &amp;lt;INPUT type='submit' value='ÐÑÐ¿ÑÐ°Ð²Ð¸ÑÑ'&amp;gt;&lt;br /&gt;
          &amp;lt;/FORM&amp;gt;&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;img&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
[[ÐÐ·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ðµ:Img 83 81 1.png|thumb|ÐÐ¸ ÑÐ¼Ð°Ð¹Ð»Ð¸ÐºÐ¾Ð², Ð½Ð¸ BB-ÐºÐ¾Ð´Ð°, Ð½Ð¸ Ð´Ð°Ð¶Ðµ Ð»Ð¾Ð³Ð¾ÑÐ¸Ð¿Ð°... ÐÐ°ÑÐ¾ Ð¼Ñ ÑÐ´ÐµÐ»Ð°Ð»Ð¸ ÑÑÑ Ð³Ð¾ÑÑÐµÐ²ÑÑ Ð·Ð° 10 Ð¼Ð¸Ð½ÑÑ!]]&lt;br /&gt;
&lt;br /&gt;
Ð¡Ð¼ÑÑÐ» ÐºÐ¾Ð½ÑÑÑÑÐºÑÐ¸Ð¸ str(item[0])[:19] Ð·Ð°ÐºÐ»ÑÑÐ°ÐµÑÑÑ Ð² ÑÐ¾Ð¼, ÑÑÐ¾Ð±Ñ Ð² ÑÑÑÐ¾ÐºÐµ Ð²ÑÐµÐ¼ÐµÐ½Ð¸ Ð¾ÑÑÐµÑÑ Ð½ÐµÐ½ÑÐ¶Ð½ÑÐµ Ð½Ð°Ð¼ Ð¼Ð¸Ð»Ð»Ð¸ÑÐµÐºÑÐ½Ð´Ñ, ÐºÐ¾ÑÐ¾ÑÑÐµ ÑÐ¾ÑÑÐ°Ð½ÑÑÑÑÑ Ð² Ð¿Ð¾Ð»Ðµ ÑÐ¸Ð¿Ð° timestamp. ÐÐ¾ÑÐ»Ðµ Ð²ÑÐµÑ Ð¾Ð¿ÑÐ±Ð»Ð¸ÐºÐ¾Ð²Ð°Ð½Ð½ÑÑ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ð¹ Ð²ÑÐ²Ð¾Ð´Ð¸Ð¼ ÑÐ¾ÑÐ¼Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾, ÑÑÐ¾Ð±Ñ ÐºÐ°Ð¶Ð´ÑÐ¹ Ð¼Ð¾Ð³ Ð¿ÑÐ¸ÑÐ¾ÐµÐ´Ð¸Ð½Ð¸ÑÑÑÑ Ðº Ð½Ð°ÑÐµÐ¹ Ð´Ð¸ÑÐºÑÑÑÐ¸Ð¸. ÐÑÑÐ°ÑÐ¸, Ð² ÑÐµÐ³Ðµ &amp;lt;FORM&amp;gt; Ð¼Ñ Ð½Ðµ ÑÐºÐ°Ð·Ð°Ð»Ð¸ Ð¿Ð°ÑÐ°Ð¼ÐµÑÑ action, Ð¿Ð¾ÑÐºÐ¾Ð»ÑÐºÑ Ð´Ð°Ð½Ð½ÑÐµ Ð±ÑÐ´ÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÑÑÑÑ Ð½Ð° Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÑ ÑÑÐ¾Ð¼Ñ Ð¶Ðµ ÑÑÐµÐ½Ð°ÑÐ¸Ñ (Ð±Ð»Ð°Ð³Ð¾Ð´Ð°ÑÑ ÑÐµÐ¼Ñ Ð¸Ð¼Ñ ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿ÑÐ¸ÑÐ²Ð¾Ð¸ÑÑ Ð»ÑÐ±Ð¾Ðµ).&lt;br /&gt;
ÐÐ°ÐºÐ¾Ð½ÐµÑ, Ð¿Ð¾ÑÐ»ÐµÐ´Ð½Ð¸Ð¹ ÑÑÐ°Ð³Ð¼ÐµÐ½Ñ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
form = cgi.FieldStorage()&lt;br /&gt;
if form.has_key(&amp;quot;message&amp;quot;) and form.has_key(&amp;quot;author&amp;quot;):&lt;br /&gt;
  author = cgi.escape(form[&amp;quot;author&amp;quot;].value)&lt;br /&gt;
  message = cgi.escape(form[&amp;quot;message&amp;quot;].value)&lt;br /&gt;
  message = message.replace(&amp;quot;\n&amp;quot;, &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;)&lt;br /&gt;
  addMessage(author, message)&lt;br /&gt;
else:&lt;br /&gt;
  showGB()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð¡Ð¾Ð·Ð´Ð°ÐµÐ¼ FieldStorage-Ð¾Ð±ÑÐµÐºÑ, Ð¸ ÐµÑÐ»Ð¸ Ð² Ð½ÐµÐ¼ ÐµÑÑÑ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð½ÑÐµ Ð¿Ð¾Ð»Ñ message Ð¸ author (ÑÐ¾ ÐµÑÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð±ÑÐ» ÑÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð½ Ð¸Ð· Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð½Ð¾Ð¹ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¼ ÑÐ¾ÑÐ¼Ñ), ÑÐ¾, Ð½ÐµÐ¼Ð½Ð¾Ð¶ÐºÐ¾ Ð¸Ñ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐ°Ð² (ÑÑÐ½ÐºÑÐ¸Ñ cgi.escape() Ð·Ð°Ð¼ÐµÐ½ÑÐµÑ Ð²ÑÐµ Â«Ð½ÐµÐ±Ð»Ð°Ð³Ð¾Ð½Ð°Ð´ÐµÐ¶Ð½ÑÐµÂ» ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ â Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, &amp;lt; â Ð¸Ñ ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¼Ð¸ SGML-ÑÑÑÐ½Ð¾ÑÑÑÐ¼Ð¸, Ð² Ð´Ð°Ð½Ð½Ð¾Ð¼ ÑÐ»ÑÑÐ°Ðµ â &amp;amp;lt;), Ð¿ÐµÑÐµÐ´Ð°ÐµÐ¼ ÑÑÐ½ÐºÑÐ¸Ð¸ addMessage(). ÐÐ±ÑÐ°Ð±Ð¾ÑÐºÐ° Ð½ÑÐ¶Ð½Ð° Ð´Ð»Ñ ÑÐ¾Ð³Ð¾, ÑÑÐ¾Ð±Ñ Ð·Ð»Ð¾ÑÐ¼ÑÑÐ»ÐµÐ½Ð½Ð¸Ðº Ð½Ðµ Ð¼Ð¾Ð³ Ð²Ð²ÐµÑÑÐ¸ Ð² Ð¿Ð¾Ð»Ðµ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ð¸Ð¼ÐµÐ½Ð¸ Ð°Ð²ÑÐ¾ÑÐ° ÑÑÐ¾-Ð½Ð¸Ð±ÑÐ´Ñ ÑÐ°ÐºÐ¾Ðµ:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT&amp;gt;alert('ÐÐ° Ð¿Ð¾ÑÐ»Ð¸ Ð²Ñ Ð²ÑÐµ!');&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð ÑÐ»Ð¾Ð²Ñ, Ð¿ÑÐµÐ½ÐµÐ±ÑÐµÐ³Ð°ÑÑ Ð¿ÑÐ¾Ð²ÐµÑÐºÐ¾Ð¹ Ð²Ð²ÐµÐ´ÐµÐ½Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð½Ð¸ Ð² ÐºÐ¾ÐµÐ¼ ÑÐ»ÑÑÐ°Ðµ Ð½ÐµÐ»ÑÐ·Ñ. ÐÐ°Ð¹Ð´Ð¸ÑÐµ ÐºÐ°Ðº-Ð½Ð¸Ð±ÑÐ´Ñ Ð½Ð° [http://securitylab.ru securitylab.ru] Ð¸ Ð¿Ð¾ÑÐ¼Ð¾ÑÑÐ¸ÑÐµ, ÑÐºÐ¾Ð»ÑÐºÐ¾ ÑÑÐ·Ð²Ð¸Ð¼Ð¾ÑÑÐµÐ¹ ÑÐ¸Ð¿Ð° Â«XSSÂ» Ð¾Ð±Ð½Ð°ÑÑÐ¶Ð¸Ð²Ð°ÐµÑÑÑ ÐºÐ°Ð¶Ð´ÑÐ¹ Ð¼ÐµÑÑÑ! Ð¢Ð°Ðº ÑÑÐ¾ ÑÑÑÐºÐ¸ ÑÑÑÐºÐ°Ð¼Ð¸, Ð½Ð¾ Ð¿Ð¾ÑÐ»ÐµÐ´ÑÑÐ²Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¾ÑÐµÐ½Ñ ÑÐµÑÑÐµÐ·Ð½ÑÐ¼Ð¸.&lt;br /&gt;
&lt;br /&gt;
=== ÐÑÐ´Ð° Ð¶Ðµ Ð½Ð°Ð¼ ÑÐµÐ¿ÐµÑÑ Ð¸Ð´ÑÐ¸? ===&lt;br /&gt;
ÐÑÐ°Ðº, ÑÑÐ¾-ÑÐ¾ Ð²Ð¿Ð¾Ð»Ð½Ðµ ÑÐ°Ð±Ð¾ÑÐ¾ÑÐ¿Ð¾ÑÐ¾Ð±Ð½Ð¾Ðµ Ñ Ð½Ð°Ñ ÐµÑÑÑ (ÑÐ¼. [[LXF83:Python#img|ÑÐ¸ÑÑÐ½Ð¾Ðº]]). ÐÐ¾ ÐºÐ°Ðº Ð²Ñ Ð¼Ð¾Ð¶ÐµÑ Ð´Ð¾Ð³Ð°Ð´Ð°ÑÑÑÑ, Ð½Ð°ÑÐ° Ð³Ð¾ÑÑÐµÐ²Ð°Ñ Ð¾ÑÐµÐ½Ñ Ð´Ð°Ð»ÐµÐºÐ° Ð¾Ñ ÑÐ¾Ð²ÐµÑÑÐµÐ½ÑÑÐ²Ð°. Ð§ÑÐ¾ ÐµÑÐµ Ð¼Ð¾Ð¶Ð½Ð¾ ÑÐ´ÐµÐ»Ð°ÑÑ? ÐÑ, Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, ÑÐ°Ð·Ð±Ð¸ÑÑ Ð½Ð° ÑÑÑÐ°Ð½Ð¸ÑÑ. ÐÐ¾ÐºÐ° ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ð¹ Ð² Ð½ÐµÐ¹ Ð±ÑÐ´ÐµÑ Ð½Ðµ Ð±Ð¾Ð»ÑÑÐµ Ð´ÑÐ¶Ð¸Ð½Ñ, ÑÐ¾Ð¹Ð´ÐµÑ Ð¸ ÑÐ°Ðº. Ð ÐºÐ¾Ð³Ð´Ð° Ð¸Ñ ÑÐ¸ÑÐ»Ð¾ Ð´Ð¾Ð¹Ð´ÐµÑ Ð´Ð¾ ÑÐ¾ÑÐ½Ð¸, ÑÐ¾ ÑÐµÐ´ÐºÐ¸Ð¹ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð´Ð¾Ð¶Ð´ÐµÑÑÑ Ð¾ÐºÐ¾Ð½ÑÐ°Ð½Ð¸Ñ Ð·Ð°Ð³ÑÑÐ·ÐºÐ¸ Ð²ÑÐµÑ Ð´Ð°Ð½Ð½ÑÑ. ÐÐ¾Ð¶Ð½Ð¾ Ð´Ð°ÑÑ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÐ¼ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÑ Ð½ÐµÐºÐ¾ÑÐ¾ÑÑÐµ HTML-ÑÐµÐ³Ð¸, ÑÑÐ¾Ð±Ñ Ð¸Ñ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ Ð²ÑÐ³Ð»ÑÐ´ÐµÐ»Ð¸ Ð±Ð¾Ð»ÐµÐµ ÐºÑÐ°ÑÐ¾ÑÐ½Ð¾. ÐÐ¾Ð¶Ð½Ð¾ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ ÑÐ¼Ð°Ð¹Ð»Ð¸ÐºÐ¾Ð²... Ð Ð¼Ð¾Ð¶Ð½Ð¾ Ð´Ð°Ð¶Ðµ ÑÐ´ÐµÐ»Ð°ÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ, Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÑÑÐ¸Ð¹ ÑÐµÐ´Ð°ÐºÑÐ¸ÑÐ¾Ð²Ð°ÑÑ Ð¸Ð»Ð¸ ÑÐ´Ð°Ð»ÑÑÑ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ, Ð° ÑÐ°ÐºÐ¶Ðµ Ð¾ÑÐ²ÐµÑÐ°ÑÑ Ð½Ð° Ð½Ð¸Ñ. Ð¢Ð°Ðº ÑÑÐ¾ ÑÐ°Ð±Ð¾ÑÑ Ð½ÐµÐ¿Ð¾ÑÐ°ÑÑÐ¹ ÐºÑÐ°Ð¹. ÐÐµÑÐ·Ð°Ð¹ÑÐµ â Ð½Ðµ Ð±ÑÐ´Ñ Ð²Ð°Ð¼ Ð¼ÐµÑÐ°ÑÑ.&lt;br /&gt;
&lt;br /&gt;
=== ÐÐµÐºÐ¾ÑÐ¾ÑÑÐµ ÑÐ°ÑÐ¿ÑÐ¾ÑÑÑÐ°Ð½ÑÐ½Ð½ÑÐµ MIME-ÑÐ¸Ð¿Ñ ===&lt;br /&gt;
{| style=&amp;quot;background:white;color:black;&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#dfcfe6;color:black&amp;quot;&lt;br /&gt;
! MIME-ÑÐ¸Ð¿&lt;br /&gt;
! ÐÐ¿Ð¸ÑÐ°Ð½Ð¸Ðµ&lt;br /&gt;
|-&lt;br /&gt;
| text/plain&lt;br /&gt;
| ÐÑÐ¾ÑÑÐ¾Ð¹ ÑÐµÐºÑÑ&lt;br /&gt;
|-&lt;br /&gt;
| text/html&lt;br /&gt;
| HTML-ÑÑÑÐ°Ð½Ð¸ÑÐ°&lt;br /&gt;
|-&lt;br /&gt;
| image/gif&lt;br /&gt;
| ÐÐ·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ðµ GIF&lt;br /&gt;
|-&lt;br /&gt;
| video/mpeg&lt;br /&gt;
| ÐÐ¸Ð´ÐµÐ¾-ÑÐ°Ð¹Ð» Ð² ÑÐ¾ÑÐ¼Ð°ÑÐµ MPEG&lt;br /&gt;
|-&lt;br /&gt;
| application/msword       &lt;br /&gt;
| ÐÐ¾ÐºÑÐ¼ÐµÐ½Ñ MS Word&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>RicroAcdom</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF83:Python</id>
		<title>LXF83:Python</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF83:Python"/>
				<updated>2009-05-21T23:00:48Z</updated>
		
		<summary type="html">&lt;p&gt;RicroAcdom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.textalmoncnad.com &lt;br /&gt;
{{Ð¦Ð¸ÐºÐ»/Python}}&lt;br /&gt;
&lt;br /&gt;
== Ð Ð°Ð±Ð¾ÑÐ° Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ Ð¸ web-Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ ==&lt;br /&gt;
'' '''Ð§Ð°ÑÑÑ 3''' Ð§ÑÐ¾ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¼Ð¾ÑÐ½ÐµÐµ ÑÐ²ÑÐ·ÐºÐ¸ Â«Ð±Ð°Ð·Ð° Ð´Ð°Ð½Ð½ÑÑ + Ð¸Ð½ÑÐµÑÐ½ÐµÑÂ»? Ð ÐµÑÐ»Ð¸ Ðº ÑÑÐ¾Ð¼Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ ÐµÑÐµ Ð¸ Python... Ð§ÑÐ¾Ð±Ñ Ð¿Ð¾ÑÑÐ²ÑÑÐ²Ð¾Ð²Ð°ÑÑ Ð²ÑÐµ ÑÑÐ¾ Ð½Ð° Ð¿ÑÐ°ÐºÑÐ¸ÐºÐµ, Ð¿Ð¾Ð³ÑÑÐ·Ð¸Ð¼ÑÑ ÑÐµÐ³Ð¾Ð´Ð½Ñ Ð² Ð¿ÑÑÐ¸Ð½Ñ SQL-Ð·Ð°Ð¿ÑÐ¾ÑÐ¾Ð² Ð¸ HTTP-Ð¾ÑÐ²ÐµÑÐ¾Ð² Ð²Ð¼ÐµÑÑÐµ Ñ '''Ð¡ÐµÑÐ³ÐµÐµÐ¼ Ð¡ÑÐ¿ÑÑÐ½Ð¾Ð²ÑÐ¼'''.''&lt;br /&gt;
&lt;br /&gt;
ÐÑ ÑÐ¶Ðµ Ð²Ð¸Ð´ÐµÐ»Ð¸, ÑÑÐ¾ Python Ð¿ÑÐµÐºÑÐ°ÑÐ½Ð¾ Ð¿Ð¾Ð´ÑÐ¾Ð´Ð¸Ñ Ð´Ð»Ñ ÑÐ°Ð±Ð¾ÑÑ Ñ ÑÐµÐºÑÑÐ¾Ð¼. Ð ÑÑÐ¾ ÑÐ°ÐºÐ¾Ðµ Ð¸Ð½ÑÐµÑÐ½ÐµÑ-ÑÑÑÐ°Ð½Ð¸ÑÑ, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð¼Ð¸Ð»Ð»Ð¸Ð¾Ð½Ñ ÑÐµÑÐ²ÐµÑÐ¾Ð² Apache ÐµÐ¶ÐµÐ´Ð½ÐµÐ²Ð½Ð¾ Ð¼Ð¸Ð»Ð»Ð¸Ð°ÑÐ´Ð°Ð¼Ð¸ Ð¾ÑÐ´Ð°ÑÑ Ð½Ð° ÑÐ°ÑÑÐµÑÐ·Ð°Ð½Ð¸Ðµ Ð½Ð°ÑÐ¸Ð¼ Ð±ÑÐ°ÑÐ·ÐµÑÐ°Ð¼? ÐÐ¾ ÑÑÑÐ¸, ÑÐ¾Ñ Ð¶Ðµ ÑÐµÐºÑÑ, ÑÐ¾Ð»ÑÐºÐ¾ Ð½ÐµÐ¼Ð½Ð¾Ð¶ÐºÐ¾ Â«Ð³Ð¸Ð¿ÐµÑÂ»... Ð Ð·Ð½Ð°ÑÐ¸Ñ, ÐµÑÐ»Ð¸ Ð½Ð°Ð¼ Ð½ÑÐ¶Ð½Ð¾ Ð±ÑÐ´ÐµÑ ÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°ÑÑ html-ÑÑÑÐ°Ð½Ð¸ÑÑ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑÐµÑÐºÐ¸, ÑÐ¾ Python Ð¿ÑÐµÐºÑÐ°ÑÐ½Ð¾ Ñ ÑÑÐ¸Ð¼ ÑÐ¿ÑÐ°Ð²Ð¸ÑÑÑ. Ð Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ Ð¿ÑÐµÐ¿ÑÑÑÑÐ²Ð¸Ð¹ Ð´Ð»Ñ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ Ð½Ð° Ð½ÐµÐ¼ CGI-ÑÑÐµÐ½Ð°ÑÐ¸ÐµÐ² Ð½Ðµ ÑÑÑÐµÑÑÐ²ÑÐµÑ â web-ÑÐµÑÐ²ÐµÑÑ, Ð¿Ð¾ Ð±Ð¾Ð»ÑÑÐ¾Ð¼Ñ ÑÑÐµÑÑ, Ð±ÐµÐ·ÑÐ°Ð·Ð»Ð¸ÑÐ½Ð¾, ÐºÐ°Ðº Ð¸Ð¼ÐµÐ½Ð½Ð¾ Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ ÑÐºÑÐ¸Ð¿Ñ Ð¸ Ð½Ð° ÐºÐ°ÐºÐ¾Ð¼ ÑÐ·ÑÐºÐµ Ð¾Ð½ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½: Ð»Ð¸ÑÑ Ð±Ñ Ð¾Ð½ ÑÐ¼ÐµÐ» ÑÐ¸ÑÐ°ÑÑ Ð´Ð°Ð½Ð½ÑÐµ Ð¸Ð· Ð¿Ð¾ÑÐ¾ÐºÐ° Ð²Ð²Ð¾Ð´Ð° Ð¸ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½ÑÑ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ Ð´Ð° Ð¾ÑÐ´Ð°Ð²Ð°ÑÑ ÑÐµÐºÑÑ Ð² ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¹ Ð²ÑÑÐ¾Ð´Ð½Ð¾Ð¹ Ð¿Ð¾ÑÐ¾Ðº.&lt;br /&gt;
&lt;br /&gt;
ÐÐ¿ÑÐ¾ÑÐµÐ¼, ÐµÑÐ»Ð¸ Ð²Ñ Ð¶Ð°Ð¶Ð´ÐµÑÐµ ÑÐºÐ¾ÑÐ¾ÑÑÐ¸, ÑÐ¾ Ðº Ð²Ð°ÑÐ¸Ð¼ ÑÑÐ»ÑÐ³Ð°Ð¼ mod_Python, Ð´Ð° Ð¸ Ð² ÑÐµÐ¶Ð¸Ð¼Ðµ FastCGI Python ÑÐ°Ð±Ð¾ÑÐ°ÑÑ ÑÐ¼ÐµÐµÑ. ÐÐ¾ ÑÐµÐ¹ÑÐ°Ñ Ñ Ð½Ð°Ñ ÑÐ°Ð·Ð³Ð¾Ð²Ð¾Ñ Ð²ÑÐµ Ð¶Ðµ Ð½Ðµ Ð¾ Ð½Ð°ÑÑÑÐ¾Ð¹ÐºÐ°Ñ CGI, Ð° Ð¾ Python, ÑÐ°Ðº ÑÑÐ¾ Ð²ÐµÑÐ½ÐµÐ¼ÑÑ Ðº ÑÐ¾Ð¼Ñ, ÑÐ°Ð´Ð¸ ÑÐµÐ³Ð¾ Ð¼Ñ ÑÑÑ ÑÑÐ°ÑÑÑ Ð½Ð°ÑÐ°Ð»Ð¸.&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ¾ÑÑÐ°Ð½Ð¾Ð²ÐºÐ° Ð·Ð°Ð´Ð°ÑÐ¸ ===&lt;br /&gt;
Ð¡ Ð»ÑÐ±ÑÐ¼ Ð²Ð¾Ð¿ÑÐ¾ÑÐ¾Ð¼ Ð»ÑÑÑÐµ Ð²ÑÐµÐ³Ð¾ ÑÐ°Ð·Ð±Ð¸ÑÐ°ÑÑÑÑ Ð½Ð° Ð¿ÑÐ°ÐºÑÐ¸ÑÐµÑÐºÐ¾Ð¼ Ð¿ÑÐ¸Ð¼ÐµÑÐµ. ÐÐ¾ÑÑÐ¾Ð¼Ñ Ð¼Ñ Ð±ÑÐ´ÐµÐ¼ Â«Ð¿Ð»ÑÑÐ°ÑÑÂ» Ð²Ð¾ÐºÑÑÐ³ Ð½ÐµÑÐ»Ð¾Ð¶Ð½Ð¾Ð³Ð¾ Ð¸, Ð² Ð¾Ð±ÑÐµÐ¼-ÑÐ¾, Ð´Ð¾ÑÑÐ°ÑÐ¾ÑÐ½Ð¾ Ð±Ð°Ð½Ð°Ð»ÑÐ½Ð¾Ð³Ð¾ CGI-Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ: Ð³Ð¾ÑÑÐµÐ²Ð¾Ð¹ ÐºÐ½Ð¸Ð³Ð¸. ÐÐ°Ð¾Ð´Ð½Ð¾ ÑÐ°Ð·Ð±ÐµÑÐµÐ¼ÑÑ Ñ ÑÐµÐ¼, ÐºÐ°Ðº Python Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²ÑÐµÑ Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ, Ð³Ð´Ðµ Ð¿ÑÐµÐ´ÑÑÐ°Ð²Ð»ÑÐµÑÑÑ ÑÐ°Ð·ÑÐ¼Ð½ÑÐ¼ ÑÑÐ°Ð½Ð¸ÑÑ Ð²ÑÐµ Ð½Ð°ÑÐ¸ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ.&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾ Ð¿ÑÐµÐ¶Ð´Ðµ ÑÐµÐ¼ Ð¿ÐµÑÐµÐ¹ÑÐ¸ Ðº ÑÐ°ÑÑÐ¼Ð¾ÑÑÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð° (Ð²Ñ Ð½Ð°Ð¹Ð´ÐµÑÐµ ÐµÐ³Ð¾ ÑÐµÐ»Ð¸ÐºÐ¾Ð¼ Ð½Ð° Ð½Ð°ÑÐµÐ¼ Ð´Ð¸ÑÐºÐµ), Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ Ð±ÑÐ´ÐµÑ Ð´Ð°ÑÑ ÐºÐ¾Ðµ-ÐºÐ°ÐºÑÑ Ð²Ð²Ð¾Ð´Ð½ÑÑ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ.&lt;br /&gt;
&lt;br /&gt;
=== Ð£Ð½Ð¸Ð²ÐµÑÑÐ°Ð»ÑÐ½Ð¾Ðµ Â«Ð¼ÐµÐ¶Ð´ÑÐ¼Ð¾ÑÐ´ÑÐµÂ» CGI ===&lt;br /&gt;
CGI (Common Gateway Interface, Ð¾Ð±ÑÐ¸Ð¹ ÑÐ»ÑÐ·Ð¾Ð²Ð¾Ð¹ Ð¸Ð½ÑÐµÑÑÐµÐ¹Ñ) Ð±ÑÐ» ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½ ÐºÐ°Ðº ÑÑÐµÐ´ÑÑÐ²Ð¾ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ HTTP-ÑÐµÑÐ²ÐµÑÐ° Ñ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð°Ð¼Ð¸, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð¼Ð¾Ð³ÑÑ Ð·Ð°Ð¿ÑÑÐºÐ°ÑÑÑÑ Ð² Ð¾Ð¿ÐµÑÐ°ÑÐ¸Ð¾Ð½Ð½Ð¾Ð¹ ÑÐ¸ÑÑÐµÐ¼Ðµ. ÐÑÐ»Ð¸ Ð³Ð¾Ð²Ð¾ÑÐ¸ÑÑ ÑÐ¿ÑÐ¾ÑÐµÐ½Ð½Ð¾, ÑÐ¾ CGI, Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°Ñ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ðµ ÑÐ°ÐºÐ¾Ð¹ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ðµ (Ð¾Ð±ÑÑÐ½Ð¾ Ð¸Ñ Ð¸Ð¼ÐµÐ½ÑÑÑ cgi-ÑÑÐµÐ½Ð°ÑÐ¸ÑÐ¼Ð¸, ÑÐ¾ÑÑ ÑÑÐ¾ Ð²Ð¿Ð¾Ð»Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ Ð´Ð²Ð¾Ð¸ÑÐ½ÑÐ¹ ÑÐ°Ð¹Ð», ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð½ÑÐ¹ Ð½Ð° C/C++), ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÑ Ð´Ð»Ñ Ð½ÐµÐµ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ðµ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ðµ. Ð ÑÐ°ÑÑÐ½Ð¾ÑÑÐ¸, Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÑ HTTP-Ð·Ð°Ð¿ÑÐ¾ÑÐ°, Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½ÑÐ°, Ð¼Ð¾Ð³ÑÑ Ð¿Ð¾Ð¼ÐµÑÐ°ÑÑÑÑ Ð² Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½ÑÐµ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½ÑÐµ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÑÑÑÑ cgi-Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ðµ ÐºÐ°Ðº Ð°ÑÐ³ÑÐ¼ÐµÐ½ÑÑ Ð¸Ð»Ð¸ ÐºÐ°Ðº Ð²ÑÐ¾Ð´Ð½Ð¾Ð¹ Ð¿Ð¾ÑÐ¾Ðº (STDIN). Ð Ð¾ÑÐ²ÐµÑ HTTP-ÑÐµÑÐ²ÐµÑ Ð¶Ð´ÐµÑ Ð´Ð°Ð½Ð½ÑÐµ, ÐºÐ¾ÑÐ¾ÑÑÐµ cgi-Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð° Ð´Ð¾Ð»Ð¶Ð½Ð° Ð²ÑÐ´Ð°ÑÑ Ð² ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¹ Ð²ÑÑÐ¾Ð´Ð½Ð¾Ð¹ Ð¿Ð¾ÑÐ¾Ðº (STDOUT), Ð¸ Ð¿ÐµÑÐµÐ´Ð°ÐµÑ Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑ.&lt;br /&gt;
&lt;br /&gt;
Ð¢Ð°ÐºÐ¸Ð¼ Ð¾Ð±ÑÐ°Ð·Ð¾Ð¼, Ð²ÑÐµ, ÑÑÐ¾ ÑÑÐµÐ±ÑÐµÑÑÑ Ð¾Ñ cgi-Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ñ, ÑÑÐ¾ ÑÐ¿Ð¾ÑÐ¾Ð±Ð½Ð¾ÑÑÑ Ð¿Ð¾Ð»ÑÑÐ°ÑÑ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼ÑÑ Ð´Ð»Ñ ÑÐ°Ð±Ð¾ÑÑ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ Ð¸Ð· ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÐ¼Ð¾Ð¹ HTTP-ÑÐµÑÐ²ÐµÑÐ¾Ð¼ ÑÑÐµÐ´Ñ Ð¸ Ð²Ð¾Ð·Ð²ÑÐ°ÑÐ°ÑÑ Ð¾ÑÐ²ÐµÑÐ½ÑÐµ Ð´Ð°Ð½Ð½ÑÐµ, ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²ÑÑÑÐ¸Ðµ Ð¿ÑÐ¾ÑÐ¾ÐºÐ¾Ð»Ñ HTTP, ÑÑÐ¾Ð±Ñ web-ÐºÐ»Ð¸ÐµÐ½Ñ Ð·Ð½Ð°Ð», ÑÑÐ¾ Ñ Ð½Ð¸Ð¼Ð¸ Ð´ÐµÐ»Ð°ÑÑ.&lt;br /&gt;
&lt;br /&gt;
=== Ð£ÑÐ¸Ð¼ÑÑ Ð¿Ð¾ÑÑÐ»Ð°ÑÑ ===&lt;br /&gt;
ÐÐ°ÑÐ½ÐµÐ¼ Ñ ÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ HTTP-Ð¾ÑÐ²ÐµÑÐ°. Ð§ÑÐ¾Ð±Ñ Ð±ÑÐ°ÑÐ·ÐµÑ ÐºÐ»Ð¸ÐµÐ½ÑÐ° Ð¼Ð¾Ð³ ÐµÐ³Ð¾ Ð¿ÑÐ°Ð²Ð¸Ð»ÑÐ½Ð¾ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐ°ÑÑ, Ð¾Ð½ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑÐ¾ÑÑÐ¾ÑÑÑ Ð¸Ð· Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Ð¸ ÑÐµÐ»Ð°, ÑÐ°Ð·Ð´ÐµÐ»ÐµÐ½Ð½ÑÑ Ð¿ÑÑÑÐ¾Ð¹ ÑÑÑÐ¾ÐºÐ¾Ð¹. Ð Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Ð¿ÐµÑÐµÐ´Ð°ÐµÑÑÑ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð°Ñ ÑÐ»ÑÐ¶ÐµÐ±Ð½Ð°Ñ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ, Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, ÑÐ¸Ð¿ ÑÐ¾Ð´ÐµÑÐ¶Ð¸Ð¼Ð¾Ð³Ð¾, ÐµÐ³Ð¾ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÐ°, ÑÐºÐ°Ð·Ð°Ð½Ð¸Ðµ Ð±ÑÐ°ÑÐ·ÐµÑÑ Ð·Ð°Ð¿ÑÐ¾ÑÐ¸ÑÑ Ð´ÑÑÐ³Ð¾Ð¹ ÑÐµÑÑÑÑ (ÑÐ°Ðº Ð½Ð°Ð·ÑÐ²Ð°ÐµÐ¼Ð¾Ðµ Ð¿ÐµÑÐµÐ½Ð°Ð¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ðµ), Ð¸ Ñ.Ð´. ÐÑÐ¾ÑÑÐµÐ¹ÑÐ¸Ð¹ cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ð¹ Ð½Ð° ÑÐ·ÑÐºÐµ Python Ð¼Ð¾Ð¶ÐµÑ Ð²ÑÐ³Ð»ÑÐ´ÐµÑÑ ÑÐ°Ðº:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/Python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
print 'Content-Type: text/html\n'&lt;br /&gt;
print '&amp;lt;H3&amp;gt;ÐÑÐ»Ð¸ Ð²Ñ ÑÑÐ¾ Ð²Ð¸Ð´Ð¸ÑÐµ, Ð·Ð½Ð°ÑÐ¸Ñ Ð²ÑÐµ ÑÐ°Ð±Ð¾ÑÐ°ÐµÑ&amp;lt;/H3&amp;gt;'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐµÑÐ²ÑÐ¼ Ð¾Ð¿ÐµÑÐ°ÑÐ¾ÑÐ¾Ð¼ print Ð¼Ñ ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÐ¼ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑÐ½Ð¾ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼ÑÐ¹ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº â Ð±ÑÐ°ÑÐ·ÐµÑ ÐºÐ»Ð¸ÐµÐ½ÑÐ° Ð¾Ð±ÑÐ·Ð°ÑÐµÐ»ÑÐ½Ð¾ Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð·Ð½Ð°ÑÑ, ÐºÐ°ÐºÐ¾Ð² ÑÐ¸Ð¿ Ð¿ÐµÑÐµÑÑÐ»Ð°ÐµÐ¼ÑÑ ÐµÐ¼Ñ Ð´Ð°Ð½Ð½ÑÑ (Ð² Ð½Ð°ÑÐµÐ¼ ÑÐ»ÑÑÐ°Ðµ ÑÑÐ¾ Ð¿ÑÐ¾ÑÑÐ¾Ð¹ ÑÐµÐºÑÑ, ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²ÑÑÑÐ¸Ð¹ ÑÐ¾ÑÐ¼Ð°ÑÑ HTML). ÐÐµ Ð·Ð°Ð±ÑÐ²Ð°Ð¹ÑÐµ Ð¾ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑÐµÐ»ÑÐ½Ð¾Ð¼ Ð¿ÐµÑÐµÐ²Ð¾Ð´Ðµ ÑÑÑÐ¾ÐºÐ¸ \n, Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð¾Ð¼ Ð´Ð»Ñ Ð¾ÑÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Ð¾Ñ ÑÐµÐ»Ð° Ð¾ÑÐ²ÐµÑÐ°. ÐÑ Ð¸ Ð´Ð°Ð»ÐµÐµ Ð²Ñ Ð¼Ð¾Ð¶ÐµÑÐµ Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÑÑ Ð»ÑÐ±Ð¾Ð¹ HTML-ÐºÐ¾Ð´.&lt;br /&gt;
&lt;br /&gt;
ÐÐ½Ð°Ð»Ð¾Ð³Ð¸ÑÐ½Ð¾ Ð¼Ð¾Ð³ÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÑÑÑÑ Ð»ÑÐ±ÑÐµ Ð¾Ð±ÑÐµÐºÑÑ, Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÐ¼ÑÐµ ÐºÐ»Ð¸ÐµÐ½ÑÐ¾Ð¼: Ð¸Ð·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ñ, Ð·Ð²ÑÐºÐ¾Ð²ÑÐµ ÑÐ°Ð¹Ð»Ñ, css-ÑÐ°Ð±Ð»Ð¸ÑÑ Ð¸ Ñ.Ð´. ÐÐ»Ð°Ð²Ð½Ð¾Ðµ, ÑÑÐ¾Ð±Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð¿Ð¾Ð»Ñ Content-Type (Ð¸Ð¼ÐµÐ½ÑÐµÐ¼Ð¾Ðµ ÑÐ°ÐºÐ¶Ðµ MIME-ÑÐ¸Ð¿Ð¾Ð¼) ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²Ð¾Ð²Ð°Ð»Ð¾ ÑÐ¾Ð´ÐµÑÐ¶Ð¸Ð¼Ð¾Ð¼Ñ.&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ´ÐµÑÑ Ð¸Ð³ÑÐ°ÑÑ, Ð·Ð´ÐµÑÑ Ð½Ðµ Ð¸Ð³ÑÐ°ÑÑ... ===&lt;br /&gt;
ÐÐ´Ð½Ð°ÐºÐ¾ ÐºÐ°ÐºÐ¾Ð¹ ÑÐ¼ÑÑÐ» Ð¿Ð¾ÑÑÑÐ°ÑÑ ÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ ÑÑÐ°ÑÐ¸ÑÐµÑÐºÐ¸Ñ, Ð¿Ð¾ ÑÑÑÐ¸, ÑÑÑÐ°Ð½Ð¸Ñ cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ñ, ÐµÑÐ»Ð¸ ÑÐ°Ð¼ HTTP-ÑÐµÑÐ²ÐµÑ ÑÐ¿ÑÐ°Ð²Ð¸ÑÑÑ Ñ ÑÑÐ¸Ð¼ Ð½Ð°Ð¼Ð½Ð¾Ð³Ð¾ Ð»ÑÑÑÐµ? Ð Ð¾Ð±ÑÐµÐ¼-ÑÐ¾ Ð½Ð¸ÐºÐ°ÐºÐ¾Ð³Ð¾. Ð Ð°Ð·Ð²Ðµ ÑÑÐ¾ Ð´Ð»Ñ Ð¾Ð±ÑÐµÐ³Ð¾ ÑÐ°Ð·Ð²Ð¸ÑÐ¸Ñ... Ð Ð²Ð¾Ñ Ð² ÑÐµÐ¼ CGI Ð¿Ð¾-Ð½Ð°ÑÑÐ¾ÑÑÐµÐ¼Ñ ÑÐ¸Ð»ÐµÐ½, ÑÐ°Ðº ÑÑÐ¾ Ð² ÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ð¸ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑÐµÑÐºÐ¸Ñ ÑÑÑÐ°Ð½Ð¸Ñ, ÑÐ¾Ð´ÐµÑÐ¶Ð¸Ð¼Ð¾Ðµ ÐºÐ¾ÑÐ¾ÑÑÑ Ð·Ð°Ð²Ð¸ÑÐ¸Ñ Ð¾Ñ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ð¸, Ð¿ÐµÑÐµÐ´Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¼.&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ¾ÑÐ¾ÐºÐ¾Ð» HTTP Ð¿ÑÐµÐ´ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÐµÑ Ð½ÐµÑÐºÐ¾Ð»ÑÐºÐ¾ ÑÐ¿Ð¾ÑÐ¾Ð±Ð¾Ð² Ð¿ÐµÑÐµÐ´Ð°ÑÐ¸ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ð¸ Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½ÑÐ° Ð½Ð° ÑÐµÑÐ²ÐµÑ, Ð½Ð°Ð·ÑÐ²Ð°ÐµÐ¼ÑÑ Ð¼ÐµÑÐ¾Ð´Ð°Ð¼Ð¸. ÐÐ°Ð¸Ð±Ð¾Ð»ÐµÐµ Ð¿Ð¾Ð¿ÑÐ»ÑÑÐ½ÑÐµ Ð¸Ð· Ð½Ð¸Ñ â GET, POST, PUT Ð¸ HEAD.&lt;br /&gt;
&lt;br /&gt;
ÐÐµÑÐ¾Ð´ GET Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð²ÑÑÐ°Ð²Ð»ÑÑÑ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ Ð² URL, ÑÐ¾ ÐµÑÑÑ Ð² ÑÑÑÐ¾ÐºÑ Ð°Ð´ÑÐµÑÐ° Ð·Ð°Ð¿ÑÐ°ÑÐ¸Ð²Ð°ÐµÐ¼Ð¾Ð³Ð¾ ÑÐµÑÑÑÑÐ°. ÐÐ¾Ð³Ð´Ð° Â«Ð¯Ð½Ð´ÐµÐºÑÂ» Ð²ÐµÑÐ½ÐµÑ Ð²Ð°Ð¼ ÑÐ¿Ð¸ÑÐ¾Ðº Ð¸ÑÐºÐ¾Ð¼ÑÑ ÑÑÑÐ°Ð½Ð¸Ñ, Ð¿Ð¾ÑÐ¼Ð¾ÑÑÐ¸ÑÐµ Ð½Ð° Ð°Ð´ÑÐµÑÐ½ÑÑ ÑÑÑÐ¾ÐºÑ Ð² Ð±ÑÐ°ÑÐ·ÐµÑÐµ â Ð²Ð¾Ñ ÑÐ°Ðº Ð´Ð°Ð½Ð½ÑÐµ Ð¸ Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð¼ GET. ÐÑÑÐ°ÑÐ¸, Ð¾Ð±ÑÐ°ÑÐ¸ÑÐµ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ Ð½Ð° ÑÐ¾, ÐºÐ°Ðº Ð²ÑÐµ ÑÑÐ¾ ÐºÐ¾Ð´Ð¸ÑÑÐµÑÑÑ, Ð¾ÑÐ¾Ð±ÐµÐ½Ð½Ð¾ ÐµÑÐ»Ð¸ Ð²Ñ Ð¸ÑÐºÐ°Ð»Ð¸ ÐºÐ°ÐºÐ¾Ðµ-ÑÐ¾ ÑÑÑÑÐºÐ¾Ðµ ÑÐ»Ð¾Ð²Ð¾.&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ»Ð¸ Ð½Ð° ÑÐµÑÐ²ÐµÑ ÑÑÐµÐ±ÑÐµÑÑÑ Ð¿ÐµÑÐµÐ´Ð°ÑÑ Ð±Ð¾Ð»ÑÑÐ¸Ð¹ Ð¾Ð±ÑÐµÐ¼ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ð¸, Ð¸Ð»Ð¸ ÐµÐµ Ð¶ÐµÐ»Ð°ÑÐµÐ»ÑÐ½Ð¾ ÑÐºÑÑÑÑ Ð¾Ñ Ð»ÑÐ±Ð¾Ð¿ÑÑÐ½ÑÑ Ð³Ð»Ð°Ð·, Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ Ð´ÑÑÐ³Ð¾Ð¹ Ð¼ÐµÑÐ¾Ð´ â POST. Ð Ð´Ð°Ð½Ð½Ð¾Ð¼ ÑÐ»ÑÑÐ°Ðµ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ Ð¿ÐµÑÐµÐ´Ð°ÐµÑÑÑ Ð»Ð¸ÑÑ ÑÐ°Ð·Ð¼ÐµÑ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ, Ð° ÑÐ°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÑÑÐ»Ð°ÑÑÑÑ Ð² ÑÐµÐ»Ðµ Ð·Ð°Ð¿ÑÐ¾ÑÐ°.&lt;br /&gt;
&lt;br /&gt;
ÐÐµÑÐ¾Ð´ PUT Ð¿ÑÐµÐ´Ð½Ð°Ð·Ð½Ð°ÑÐ°ÐµÑÑÑ Ð´Ð»Ñ ÑÐ°Ð·Ð¼ÐµÑÐµÐ½Ð¸Ñ ÑÐµÑÑÑÑÐ¾Ð² Ð½Ð° ÑÐµÑÐ²ÐµÑÐµ Ð¸ Ð¿Ð¾ ÑÐ¾Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸ÑÐ¼ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾ÑÑÐ¸ Ð¿ÑÐ°ÐºÑÐ¸ÑÐµÑÐºÐ¸ Ð½Ðµ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ. ÐÑ Ð¸, Ð½Ð°ÐºÐ¾Ð½ÐµÑ, Ð¼ÐµÑÐ¾Ð´ HEAD Ð¾ÑÐµÐ½Ñ Ð¿Ð¾ÑÐ¾Ð¶ Ð½Ð° GET, Ð·Ð° ÑÐµÐ¼ Ð¸ÑÐºÐ»ÑÑÐµÐ½Ð¸ÐµÐ¼, ÑÑÐ¾ ÑÐµÑÐ²ÐµÑ Ð² Ð¾ÑÐ²ÐµÑ Ð½Ð° ÑÐ°ÐºÐ¾Ð¹ Ð·Ð°Ð¿ÑÐ¾Ñ Ð²Ð¾Ð·Ð²ÑÐ°ÑÐ°ÐµÑ Ð½Ðµ Ð²ÐµÑÑ ÑÐµÑÑÑÑ, Ð° Ð»Ð¸ÑÑ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ Ð¾ Ð½ÐµÐ¼, ÑÐ°ÐºÑÑ ÐºÐ°Ðº Ð´Ð°ÑÐ° Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐ³Ð¾ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ, Ð¿Ð¾Ð¼ÐµÑÐ°ÐµÐ¼ÑÑ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐµ. ÐÐ±ÑÑÐ½Ð¾ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ Ð¿ÑÐ¾ÐºÑÐ¸-ÑÐµÑÐ²ÐµÑÐ°Ð¼Ð¸ Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Â«ÑÐ²ÐµÐ¶ÐµÑÑÐ¸Â» Ð¸Ð¼ÐµÑÑÐ¸ÑÑÑ Ñ Ð½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ â ÑÑÐ¾Ð¸Ñ Ð»Ð¸ Ð·Ð°Ð¿ÑÐ°ÑÐ¸Ð²Ð°ÑÑ ÑÐµÑÑÑÑ Ð¿Ð¾Ð²ÑÐ¾ÑÐ½Ð¾ Ð¸Ð»Ð¸ Ð¼Ð¾Ð¶Ð½Ð¾ Ð²ÐµÑÐ½ÑÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ ÑÐ¾, ÑÑÐ¾ ÐµÑÑÑ Ð² ÐºÑÑÐµ.&lt;br /&gt;
&lt;br /&gt;
ÐÐ¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð°Ñ ÑÐ»Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð´Ð»Ñ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÑÐ¸ÐºÐ° cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð·Ð°ÐºÐ»ÑÑÐ°ÐµÑÑÑ Ð² ÑÐ¾Ð¼, ÑÑÐ¾ Ð´Ð°Ð½Ð½ÑÐµ, Ð¾ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð½ÑÐµ ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÐ¼Ð¸ Ð¼ÐµÑÐ¾Ð´Ð°Ð¼Ð¸, Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ Ð² ÑÑÐµÐ½Ð°ÑÐ¸Ð¹ Ð¿Ð¾-ÑÐ°Ð·Ð½Ð¾Ð¼Ñ. Ð¢Ð°Ðº, Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ, Ð¿Ð¾ÑÑÑÐ¿Ð¸Ð²ÑÐ°Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ POST, Ð¿Ð¾Ð´Ð°ÐµÑÑÑ Ð½Ð° ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¹ Ð²ÑÐ¾Ð´ ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð¸ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑÑÐ¸ÑÐ°Ð½Ð° Ð¾ÑÑÑÐ´Ð°, Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ sys.stdin.read(size) Ð¸Ð»Ð¸ Ð´Ð°Ð¶Ðµ ÑÑÐ½ÐºÑÐ¸ÐµÐ¹ raw_input() (ÑÐ¾ÑÑ Ð²Ð¾ Ð²ÑÐ¾ÑÐ¾Ð¼ ÑÐ»ÑÑÐ°Ðµ ÑÐ»Ð¾Ð¶Ð½ÐµÐµ ÐºÐ¾Ð½ÑÑÐ¾Ð»Ð¸ÑÐ¾Ð²Ð°ÑÑ Ð¾Ð±ÑÐµÐ¼ Ð¿ÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÐ¼ÑÑ Ð´Ð°Ð½Ð½ÑÑ). ÐÐ¾Ð»Ð¸ÑÐµÑÑÐ²Ð¾ Ð±Ð°Ð¹Ñ, ÐºÐ¾ÑÐ¾ÑÑÐµ ÑÑÐµÐ±ÑÐµÑÑÑ ÑÑÐ¸ÑÐ°ÑÑ, Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¸Ð· Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ CONTENT_LENGTH (Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, ÑÐ°Ðº: size = os.environ['CONTENT_LENGTH']).&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ»Ð¸ ÐºÐ»Ð¸ÐµÐ½Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑ Ð¼ÐµÑÐ¾Ð´ GET, ÑÐ¾ Ð´Ð°Ð½Ð½ÑÐµ Ð¿Ð¾ÑÑÑÐ¿ÑÑ Ð² ÑÑÐµÐ½Ð°ÑÐ¸Ð¹ ÑÐµÑÐµÐ· Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½ÑÑ ÑÑÐµÐ´Ñ QUERY_STRING. ÐÐµÑÐ¾Ð´, ÐºÐ¾ÑÐ¾ÑÑÐ¼ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÐ´Ð°Ð½Ñ (Ð½ÑÐ¶Ð½Ð¾ Ð¶Ðµ ÐºÐ°Ðº-ÑÐ¾ ÑÐ°Ð·Ð¾Ð±ÑÐ°ÑÑÑÑ, Ð³Ð´Ðµ Ð¸Ñ Ð¸ÑÐºÐ°ÑÑ) Ð¼Ð¾Ð¶Ð½Ð¾ Ð²ÑÐµÐ³Ð´Ð° Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¸Ð· REQUEST_METHOD.&lt;br /&gt;
&lt;br /&gt;
ÐÑÑÑ ÐµÑÐµ Ð¾Ð´Ð¸Ð½ Ð¾ÑÐ¾Ð±ÑÐ¹ ÑÐ»ÑÑÐ°Ð¹. ÐÑÐ»Ð¸ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð¼ GET, Ð½Ð¾ Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ Â«Ð¸Ð½Ð´ÐµÐºÑÐ½Ð¾Ð³Ð¾Â» ÑÐ¾ÑÐ¼Ð°ÑÐ°, ÐºÐ¾ÑÐ¾ÑÑÐ¹ ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÑÑÑ ÑÐµÐ³Ð¾Ð¼ &amp;lt;ISINDEX&amp;gt;, ÑÐ¾ Ð² ÑÑÐ¾Ð¼ ÑÐ»ÑÑÐ°Ðµ Ð¾Ð½Ð¸ ÐºÐ¾Ð´Ð¸ÑÑÑÑÑÑ Ð½Ðµ Ð² Ð²Ð¸Ð´Ðµ Â«Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ=Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ&amp;amp;Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ=Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ&amp;amp;...Â», Ð° ÐºÐ°Ðº Â«Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ+Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ+...Â». Ð cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð¾Ð½Ð¸ Ð±ÑÐ´ÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð½Ñ, Ð¿Ð¾Ð¼Ð¸Ð¼Ð¾ QUERY_STRING, ÑÐµÑÐµÐ· Ð°ÑÐ³ÑÐ¼ÐµÐ½ÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑÐ¾ÐºÐ¸, ÐºÐ°Ðº ÐµÑÐ»Ð¸ Ð±Ñ ÑÑÐµÐ½Ð°ÑÐ¸Ð¹ Ð²ÑÐ·ÑÐ²Ð°Ð»ÑÑ ÑÐ°ÐºÐ¾Ð¹ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹:&lt;br /&gt;
&lt;br /&gt;
 script.cgi arg1 arg2 arg3&lt;br /&gt;
&lt;br /&gt;
Ð¢Ð¾ ÐµÑÑÑ, Ð½Ð° ÑÑÐ¾Ñ ÑÐ°Ð· Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¸Ðµ Ð´Ð°Ð½Ð½ÑÐµ Ð¼Ð¾Ð¶Ð½Ð¾ Ð±ÑÐ´ÐµÑ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ ÐºÐ°Ðº sys.argv[1] Ð¸ Ñ.Ð´.&lt;br /&gt;
&lt;br /&gt;
ÐÐ°Ðº Ð²Ð¸Ð´Ð¸ÑÐµ, Ð¾Ð³ÑÐ¾Ð¼Ð½Ð¾Ðµ ÑÐ¸ÑÐ»Ð¾ Ð²Ð°ÑÐ¸Ð°Ð½ÑÐ¾Ð², Ð¿ÑÐµÐ´ÑÑÐ¼Ð¾ÑÑÐµÐ½Ð½ÑÑ CGI-Ð¸Ð½ÑÐµÑÑÐµÐ¹ÑÐ¾Ð¼, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð²ÑÐµ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ ÑÑÑÐµÐ½Ñ Ð¿ÑÐ¸ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐµ ÑÑÐµÐ½Ð°ÑÐ¸Ñ, Ð¼Ð¾Ð¶ÐµÑ Ð²ÑÐ·Ð²Ð°ÑÑ Ð½ÐµÑÐ²Ð½ÑÐ¹ ÑÐ¸Ðº Ð´Ð°Ð¶Ðµ Ñ Ð¾Ð¿ÑÑÐ½ÑÑ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÑÐ¾Ð², ÐºÐ¾ÑÐ¾ÑÑÐµ Ð¸ Ð²Ð¾ ÑÐ½Ðµ Ð¿Ð¾ÑÐ¸ÑÐ¾Ð½ÑÐºÑ Ð½Ð°Ð±Ð¸Ð²Ð°ÑÑ Ð¿Ð¾ Ð¿Ð¾Ð´ÑÑÐºÐµ ÐºÐ°ÐºÐ¾Ð¹-ÑÐ¾ ÐºÐ¾Ð´. Ð ÐµÑÐ»Ð¸ ÐµÑÐµ Ð²ÑÐ¿Ð¾Ð¼Ð½Ð¸ÑÑ, ÑÑÐ¾ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ Ð² Ð·Ð°ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð½Ð¾Ð¼ Ð²Ð¸Ð´Ðµ (ÑÑÐ¾ Ð°Ð½Ð³Ð»Ð¸ÑÐ°Ð½Ð°Ð¼ ÑÐ¾ÑÐ¾ÑÐ¾ â Ð²Ð·ÑÐ» Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ Ð¸ ÑÐ°Ð±Ð¾ÑÐ°Ð¹, Ð° Ð½Ð°Ð¼-ÑÐ¾ Ñ Ð²Ð°Ð¼Ð¸ ÑÑÐ¾ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð²ÐµÑÐ½ÐµÑÑÑ Ð² Ð²Ð¸Ð´Ðµ %EC%E4%E0), Ð´Ð° ÐµÑÐµ Ð¸ Ð¾ Ð¿ÑÐ¾Ð²ÐµÑÐºÐµ ÑÑÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð½ÑÐ¶Ð½Ð¾ Ð¿Ð¾Ð·Ð°Ð±Ð¾ÑÐ¸ÑÑÑÑ, ÑÑÐ¾Ð±Ñ ÐºÐ°ÐºÐ¾Ð¹-Ð½Ð¸Ð±ÑÐ´Ñ Ð½Ð°ÑÐ¸Ð½Ð°ÑÑÐ¸Ð¹ ÑÐ°ÐºÐµÑ Ð½Ðµ Ð¿Ð¾Ð¿ÑÑÐ°Ð»ÑÑ Ð·Ð°ÑÑÐ°Ð²Ð¸ÑÑ Ð½Ð°Ñ ÑÐµÑÐ²ÐµÑ ÑÐ°Ð±Ð¾ÑÐ°ÑÑ Ð¿Ð¾-ÑÐ²Ð¾ÐµÐ¼Ñ... ÐÐµÑ, Ð¾Ð±Ð¾ Ð²ÑÐµÐ¼ ÑÑÐ¾Ð¼ Ð»ÑÑÑÐµ Ð¸ Ð½Ðµ Ð²ÑÐ¿Ð¾Ð¼Ð¸Ð½Ð°ÑÑ. ÐÐ»Ð°Ð³Ð¾ Ñ Ð½Ð°Ñ ÐµÑÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ cgi, Ð² ÐºÐ¾ÑÐ¾ÑÐ¾Ð¼ Ð²ÑÐµ ÑÑÐ¾ ÑÐ¶Ðµ ÑÐ´ÐµÐ»Ð°Ð½Ð¾!&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾ Ð¾ Ð½ÐµÐ¼ â ÑÑÑÑ Ð¿Ð¾Ð·Ð¶Ðµ. Ð¡Ð½Ð°ÑÐ°Ð»Ð° Ð¿Ð°ÑÑ ÑÐ»Ð¾Ð² Ð½ÑÐ¶Ð½Ð¾ ÑÐºÐ°Ð·Ð°ÑÑ Ð¾ HTML-ÑÐ¾ÑÐ¼Ð°Ñ.&lt;br /&gt;
&lt;br /&gt;
=== Ð¤Ð¾ÑÐ¼Ð¸ÑÑÐµÐ¼ ÑÐ¾ÑÐ¼Ñ ===&lt;br /&gt;
Ð§ÑÐ¾Ð±Ñ Ð²Ð°Ð¼ Ð±ÑÐ»Ð¾ Ð¿ÑÐ¾ÑÐµ Ð¿Ð¾Ð½ÑÑÑ ÑÐ°ÑÑÐ¼Ð°ÑÑÐ¸Ð²Ð°ÐµÐ¼ÑÐ¹ ÑÐµÐ³Ð¾Ð´Ð½Ñ Ð¿ÑÐ¸Ð¼ÐµÑ, ÐºÐ¾ÑÐ¾ÑÐºÐ¾ ÑÐºÐ°Ð¶Ñ Ð¿ÑÐ¾ ÑÐ¾, ÐºÐ°Ðº Ð¶Ðµ ÐºÐ»Ð¸ÐµÐ½Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑ Ð¿ÐµÑÐµÐ´Ð°ÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð½Ð°ÑÐµÐ¼Ñ cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ñ. ÐÐ¾Ð½ÐµÑÐ½Ð¾, Ð¿ÑÐ¾Ð´Ð²Ð¸Ð½ÑÑÑÐµ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ð¸ Ð¼Ð¾Ð³ÑÑ Ð½Ð°Ð±ÑÐ°ÑÑ GET-Ð·Ð°Ð¿ÑÐ¾Ñ Ð²ÑÑÑÐ½ÑÑ Ð² Ð°Ð´ÑÐµÑÐ½Ð¾Ð¹ ÑÑÑÐ¾ÐºÐµ Ð±ÑÐ°ÑÐ·ÐµÑÐ°. Ð¥Ð¾ÑÑ ÑÑÐ¾ Ð¼ÐµÐ»Ð¾ÑÐ¸ÑÑÑÑ â Ð²ÐµÐ´Ñ Ð¼Ð¾Ð¶Ð½Ð¾ Ð¶Ðµ ÑÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°ÑÑ Ð¸ POST-Ð·Ð°Ð¿ÑÐ¾Ñ, Ð¿Ð¾Ð´ÐºÐ»ÑÑÐ¸Ð²ÑÐ¸ÑÑ ÑÐµÐ»Ð½ÐµÑÐ¾Ð¼ Ð½Ð° 80-Ð¹ Ð¿Ð¾ÑÑ! ÐÐ¿ÑÐ¾ÑÐµÐ¼, Ð¾Ð±ÑÑÐ½ÑÐµ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ð¸ Ð¿ÑÐµÐ´Ð¿Ð¾ÑÐ¸ÑÐ°ÑÑ Ð±Ð¾Ð»ÐµÐµ Ð¿Ð¾Ð½ÑÑÐ½ÑÐµ Ð¸ Â«Ð¾ÑÑÐ·Ð°ÐµÐ¼ÑÐµÂ» ÑÐ¿Ð¾ÑÐ¾Ð±Ñ, Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, ÑÐ¾ÑÐ¼Ñ.&lt;br /&gt;
&lt;br /&gt;
ÐÐ°Ðº Ð¾Ð½Ð¸ Ð²ÑÐ³Ð»ÑÐ´ÑÑ, Ð´ÑÐ¼Ð°Ñ, ÐºÐ°Ð¶Ð´ÑÐ¹ Ð·Ð½Ð°ÐµÑ. Ð¡Ð¾Ð·Ð´Ð°ÑÑÑÑ Ð¾Ð½Ð¸ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÐµÐ³Ð° &amp;lt;FORM&amp;gt;, Ð²Ð½ÑÑÑÐ¸ ÐºÐ¾ÑÐ¾ÑÐ¾Ð³Ð¾ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑÑÑ ÑÐ°ÐºÐ¸Ðµ ÑÐ»ÐµÐ¼ÐµÐ½ÑÑ, ÐºÐ°Ðº &amp;lt;INPUT&amp;gt; (Ð¿Ð¾Ð»Ðµ Ð²Ð²Ð¾Ð´Ð°) Ð¸Ð»Ð¸ &amp;lt;TEXTAREA&amp;gt; (Ð¼Ð½Ð¾Ð³Ð¾ÑÑÑÐ¾ÑÐ½ÑÐ¹ ÑÐµÐ´Ð°ÐºÑÐ¾Ñ). Ð­ÑÐ¸Ð¼ ÑÐ»ÐµÐ¼ÐµÐ½ÑÐ°Ð¼, ÐµÑÐ»Ð¸ Ð¸Ñ Ð´Ð°Ð½Ð½ÑÐµ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð½Ñ Ð½Ð° ÑÐµÑÐ²ÐµÑ, Ð¿ÑÐ¸ÑÐ²Ð°Ð¸Ð²Ð°ÑÑÑÑ Ð¸Ð¼ÐµÐ½Ð° Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð°ÑÑÐ¸Ð±ÑÑÐ° name. ÐÐ°ÑÐ°Ð»ÑÐ½Ð¾Ðµ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð·Ð°Ð´Ð°ÐµÑÑÑ Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÐ¾Ð¼ value Ð¸ Ð² Ð´Ð°Ð»ÑÐ½ÐµÐ¹ÑÐµÐ¼ Ð´Ð»Ñ Â«ÑÐµÐ´Ð°ÐºÑÐ¸ÑÑÐµÐ¼ÑÑÂ» Ð¿Ð¾Ð»ÐµÐ¹ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¾ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¼. ÐÐ¾Ð³Ð´Ð° Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð½Ð°Ð¶Ð¸Ð¼Ð°ÐµÑ ÐºÐ½Ð¾Ð¿ÐºÑ Â«ÐÑÐ¿ÑÐ°Ð²Ð¸ÑÑÂ» (Ð½Ð°Ð´Ð¿Ð¸ÑÑ Ð½Ð° Ð½ÐµÐ¹, Ð² Ð¿ÑÐ¸Ð½ÑÐ¸Ð¿Ðµ, Ð¼Ð¾Ð¶Ð½Ð¾ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ), ÑÐ¾ Ð±ÑÐ°ÑÐ·ÐµÑ Ð¾Ð±ÑÐµÐ´Ð¸Ð½ÑÐµÑ Ð²ÑÐµ Ð´Ð°Ð½Ð½ÑÐµ Ð¿Ð¾Ð»ÐµÐ¹ Ð² Ð¿Ð°ÑÑ name=value, ÑÐ°Ð·Ð´ÐµÐ»ÑÑ Ð¸Ñ ÑÐ¸Ð¼Ð²Ð¾Ð»Ð¾Ð¼ &amp;amp;. ÐÐ°ÑÐµÐ¼ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½Ð°Ñ ÑÐ°ÐºÐ¸Ð¼ Ð¾Ð±ÑÐ°Ð·Ð¾Ð¼ ÑÑÑÐ¾ÐºÐ° Ð¿ÐµÑÐµÐ´Ð°ÐµÑÑÑ Ð½Ð° ÑÐµÑÐ²ÐµÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð¼, ÑÐºÐ°Ð·Ð°Ð½Ð½ÑÐ¼ Ð² Ð°ÑÑÐ¸Ð±ÑÑÐµ method ÑÐµÐ³Ð° &amp;lt;FORM&amp;gt;. ÐÑÑÑ Ðº ÑÑÐµÐ½Ð°ÑÐ¸Ñ, ÐºÐ¾ÑÐ¾ÑÑÐ¹ Ð±ÑÐ´ÐµÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑÑÑ ÐµÐµ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÐ¾Ð¹, Ð·Ð°Ð´Ð°ÐµÑÑÑ Ð°ÑÑÐ¸Ð±ÑÑÐ¾Ð¼ action ÑÑÐ¾Ð³Ð¾ Ð¶Ðµ ÑÐµÐ³Ð°. ÐÑÐ»Ð¸ action Ð½Ðµ Ð·Ð°Ð´Ð°Ð½, ÑÐ¾ Ð´Ð°Ð½Ð½ÑÐµ Ð¿ÐµÑÐµÐ´Ð°ÑÑÑÑ ÑÐ°Ð¹Ð»Ñ, ÑÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð²ÑÐµÐ¼Ñ ÑÐµÐºÑÑÑÑ ÑÑÑÐ°Ð½Ð¸ÑÐºÑ.&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ»Ð¸ ÑÑÐ¾-ÑÐ¾ Ð½Ðµ ÑÐ¾Ð²ÑÐµÐ¼ Ð¿Ð¾Ð½ÑÑÐ½Ð¾, Ð¾Ð±ÑÐ°ÑÐ¸ÑÐµÑÑ Ðº ÐºÐ¾Ð´Ñ ÑÐ°Ð·ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÐµÐ¼Ð¾Ð¹ Ð³Ð¾ÑÑÐµÐ²Ð¾Ð¹ ÐºÐ½Ð¸Ð³Ð¸, ÐºÐ¾ÑÐ¾ÑÑÐ¹ Ð¿ÑÐ¸Ð²ÐµÐ´ÐµÐ½ Ð½Ð¸Ð¶Ðµ.&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ°Ñ ÑÐ¿Ð°ÑÐ¸ÑÐµÐ»Ñ â Ð¼Ð¾Ð´ÑÐ»Ñ cgi ===&lt;br /&gt;
ÐÐ¾Ð·Ð²ÑÐ°ÑÐ°ÐµÐ¼ÑÑ Ðº Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÐµ Ð²ÑÐµÐ³Ð¾ ÑÑÐ¾Ð³Ð¾ Ð´Ð¾Ð±ÑÐ°, ÐºÐ¾ÑÐ¾ÑÐ¾Ðµ ÑÐ¾ÑÐ½Ð¸ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¹ ÑÐ¶Ðµ Ð³Ð¾ÑÐ¾Ð²Ñ Ð¾Ð±ÑÑÑÐ¸ÑÑ Ð½Ð° Ð½Ð°Ñ Ð±ÐµÐ´Ð½ÑÐ¹ ÑÑÐµÐ½Ð°ÑÐ¸Ð¹. ÐÑ ÑÐµÑÐ¸Ð»Ð¸ Ð²Ð¾ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÑÑÑ ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¼Ð¸ ÑÑÐµÐ´ÑÑÐ²Ð°Ð¼Ð¸ Python, Ð¸ Ð·Ð´ÐµÑÑ Ð²ÑÐµ Ð´ÐµÐ¹ÑÑÐ²Ð¸ÑÐµÐ»ÑÐ½Ð¾ Ð¾ÑÐµÐ½Ñ Ð¿ÑÐ¾ÑÑÐ¾ â Ð¸Ð¼Ð¿Ð¾ÑÑÐ¸ÑÑÐ¹ÑÐµ Ð¼Ð¾Ð´ÑÐ»Ñ cgi Ð¸, ÑÐ¾Ð·Ð´Ð°Ð² Ð¾Ð±ÑÐµÐºÑ ÐºÐ»Ð°ÑÑÐ° FieldStorage, Ð²Ñ Ð¿Ð¾Ð»ÑÑÐ¸ÑÐµ ÑÐµÑÐµÐ· Ð½ÐµÐ³Ð¾ Ð´Ð¾ÑÑÑÐ¿ ÐºÐ¾ Ð²ÑÐµÐ¼ Ð´Ð°Ð½Ð½ÑÐ¼, Ð¿ÐµÑÐµÐ´Ð°Ð½Ð½ÑÐ¼ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¼, Ð½ÐµÐ·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ Ð¾Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÐ¼Ð¾Ð³Ð¾ Ð¼ÐµÑÐ¾Ð´Ð°:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import cgi&lt;br /&gt;
data = cgi.FieldStorage()&lt;br /&gt;
for entry in data.keys():&lt;br /&gt;
print 'ÐÐµÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ %s Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ %s' % (entry, data[entry].value)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ»Ð¸ Ð²Ð°Ð¼ Ð½ÑÐ¶Ð½Ð¾ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ, ÑÑÐ¾ Ð´ÐµÐ»Ð°ÐµÑÑÑ ÑÐ°Ðº:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
field = data['field'].value&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾Ð¼Ð¸Ð¼Ð¾ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÑÐºÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ, Ð¾Ð±ÑÐµÐºÑ ÐºÐ»Ð°ÑÑÐ° FieldStorage ÑÐ¾Ð´ÐµÑÐ¶Ð¸Ñ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ Ð¸ Ð¾ Ð¿Ð¾Ð»ÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° (Ð² Ð½Ð°ÑÐµÐ¼ Ð¿ÑÐ¸Ð¼ÐµÑÐµ Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¸Ð· ÑÐ»Ð¾Ð²Ð°ÑÑ data.headers). MIME-ÑÐ¸Ð¿ Ð´Ð°Ð½Ð½ÑÑ (Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÐµÐ¼ÑÐ¹ Ð¿Ð¾Ð»ÐµÐ¼ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Content-Type) Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¸Ð· Ð°ÑÑÐ¸Ð±ÑÑÐ° data.type. Ð§ÐµÑÐµÐ· ÑÑÐ¾Ñ Ð¶Ðµ Ð¾Ð±ÑÐµÐºÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð° Ð¸ Ð·Ð°Ð³ÑÑÐ·ÐºÐ° ÑÐ°Ð¹Ð»Ð°.&lt;br /&gt;
&lt;br /&gt;
Ð¡ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð² keys() Ð¸ has_key() Ð¼Ð¾Ð¶Ð½Ð¾ Ð²ÑÐ¿Ð¾Ð»Ð½ÑÑÑ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð² ÑÐ¸ÐºÐ»Ðµ Ð¸ Ð¿ÑÐ¾Ð²ÐµÑÑÑÑ Ð½Ð°Ð»Ð¸ÑÐ¸Ðµ ÑÐ¾Ð¹ Ð¸Ð»Ð¸ Ð¸Ð½Ð¾Ð¹ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹. ÐÑÑÐ°ÑÐ¸ Ð³Ð¾Ð²Ð¾ÑÑ, Ð¿ÑÐ¾Ð²ÐµÑÑÑÑ Ð½Ð°Ð»Ð¸ÑÐ¸Ðµ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ Ð²Ð¾ Ð²ÑÐ¾Ð´Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ, Ð¿ÑÐµÐ¶Ð´Ðµ ÑÐµÐ¼ Ð¿ÑÐ¸ÑÑÑÐ¿Ð°ÑÑ Ðº Ð¸Ñ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÐµ, Ð½ÑÐ¶Ð½Ð¾ Ð½ÐµÐ¿ÑÐµÐ¼ÐµÐ½Ð½Ð¾ â Ð²ÐµÐ´Ñ Ð·Ð°Ð¿ÑÐ¾Ñ ÑÐ¾ÑÐ¼Ð¸ÑÑÐµÑÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÐ¾Ð¼, Ð° ÐºÑÐ¾ Ð·Ð½Ð°ÐµÑ, ÑÑÐ¾ Ñ Ð½ÐµÐ³Ð¾ Ð½Ð° ÑÐ¼Ðµ?&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ°Ð·Ð¸ÑÑÐµÐ¼ Ð´Ð°Ð½Ð½ÑÐµ ===&lt;br /&gt;
ÐÑÐ°Ðº, Ð¿Ð¾Ð»ÑÑÐ°ÑÑ Ð´Ð°Ð½Ð½ÑÐµ Ð¾Ñ ÐºÐ»Ð¸ÐµÐ½ÑÐ° Ð¼Ñ Ð½Ð°ÑÑÐ¸Ð»Ð¸ÑÑ. ÐÑÐ¿ÑÐ°Ð²Ð»ÑÑÑ ÑÐ¾Ð¶Ðµ ÑÐ¼ÐµÐµÐ¼. ÐÑÑÐ°Ð»Ð¾ÑÑ Ð¿ÑÐ¸Ð´ÑÐ¼Ð°ÑÑ, ÐºÐ°Ðº ÑÑÐ¸ Ð´Ð°Ð½Ð½ÑÐµ Ð»ÑÑÑÐµ Ð²ÑÐµÐ³Ð¾ ÑÑÐ°Ð½Ð¸ÑÑ. ÐÐ¾Ð½ÐµÑÐ½Ð¾, Ð´Ð»Ñ Ð½ÐµÑÐ»Ð¾Ð¶Ð½Ð¾Ð¹ Ð³Ð¾ÑÑÐµÐ²Ð¾Ð¹ ÐºÐ½Ð¸Ð³Ð¸ Ñ Ð½ÐµÐ±Ð¾Ð»ÑÑÐ¾Ð¹ Ð½Ð°Ð³ÑÑÐ·ÐºÐ¾Ð¹ Ð²Ð¿Ð¾Ð»Ð½Ðµ ÑÐ²Ð°ÑÐ¸Ð»Ð¾ Ð±Ñ Ð¸ ÑÐµÐºÑÑÐ¾Ð²ÑÑ ÑÐ°Ð¹Ð»Ð¾Ð². ÐÑÐ°Ð²Ð´Ð°, ÑÐ°Ð¼ ÐµÑÑÑ ÑÐ²Ð¾Ð¸ ÑÐ»Ð¾Ð¶Ð½Ð¾ÑÑÐ¸ â ÐµÑÐ»Ð¸ ÑÑÐ°Ð·Ñ Ð¿ÑÑÑ ÑÐµÐ»Ð¾Ð²ÐµÐº Ð·Ð°ÑÐ¾ÑÑÑ Ð²ÑÑÐºÐ°Ð·Ð°ÑÑ ÑÐ²Ð¾Ðµ Ð¼Ð½ÐµÐ½Ð¸Ðµ Ð¾ Ð²Ð°ÑÐµÐ¹ ÐºÑÑÑÐµÐ¹ÑÐµÐ¹ Ð´Ð¾Ð¼Ð°ÑÐ½ÐµÐ¹ ÑÑÑÐ°Ð½Ð¸ÑÐºÐµ, ÑÐ¾ ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð¿ÑÐ¸Ð´ÐµÑÑÑ ÐºÐ°ÐºÐ¸Ð¼-ÑÐ¾ Ð¾Ð±ÑÐ°Ð·Ð¾Ð¼ ÑÐµÐ³ÑÐ»Ð¸ÑÐ¾Ð²Ð°ÑÑ Ð´Ð¾ÑÑÑÐ¿ Ðº ÑÐ°Ð¹Ð»Ñ-ÑÑÐ°Ð½Ð¸Ð»Ð¸ÑÑ (ÐºÐ°Ðº Ð¼Ð¸Ð½Ð¸Ð¼ÑÐ¼, Ð¾Ð±ÑÐ°Ð±Ð°ÑÑÐ²Ð°ÑÑ ÑÐ¸ÑÑÐ°ÑÐ¸Ñ, ÐµÑÐ»Ð¸ ÑÐ°Ð¹Ð» ÑÐ¶Ðµ Ð¾ÑÐºÑÑÑ Ð½Ð° Ð·Ð°Ð¿Ð¸ÑÑ Ð´ÑÑÐ³Ð¸Ð¼ ÑÐºÐ·ÐµÐ¼Ð¿Ð»ÑÑÐ¾Ð¼ ÑÑÐµÐ½Ð°ÑÐ¸Ñ). ÐÐ¾ Ð·Ð°ÑÐµÐ¼ Ð½Ð°Ð¼ Ð²ÑÐµ ÑÑÐ¸ Ð³Ð¾Ð»Ð¾Ð²Ð½ÑÐµ Ð±Ð¾Ð»Ð¸? ÐÑÐ»Ð¸ Ð¼Ñ ÑÐ°Ðº Ð»Ð¾Ð²ÐºÐ¾ Ð¾ÑÐ²ÐµÑÑÐµÐ»Ð¸ÑÑ Ð¾Ñ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð¾ÑÑÐ¸ Ð²ÑÑÑÐ½ÑÑ ÑÐ°Ð·Ð±Ð¸ÑÐ°ÑÑ HTTP-Ð·Ð°Ð¿ÑÐ¾ÑÑ, ÑÐ¾ Ð½ÐµÑÐ¶ÐµÐ»Ð¸ Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ¼ ÑÑÐ¾-ÑÐ¾ Ð¿Ð¾Ð´ÑÐ¾Ð´ÑÑÐµÐµ Ð½Ð° ÑÑÐ¾Ñ ÑÐ°Ð·?&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾Ð½ÐµÑÐ½Ð¾, Ð½Ð°Ð¹Ð´ÐµÐ¼! Ð ÑÑÐ¾ Â«ÑÑÐ¾-ÑÐ¾Â» Ð½Ð°Ð·ÑÐ²Ð°ÐµÑÑÑ ÑÐ¸ÑÑÐµÐ¼Ð¾Ð¹ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ (Ð² Ð¿ÑÐ¾ÑÑÐ¾ÑÐµÑÑÐµ â Ð¡Ð£ÐÐ). Ð¢ÐµÐ¿ÐµÑÑ Ð½Ð°ÑÐµ Ð´ÐµÐ»Ð¾ â Ð¾ÑÐ¿ÑÐ°Ð²Ð¸ÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð¸ Ð¿Ð¾Ð»ÑÑÐ¸ÑÑ Ð¾ÑÐ²ÐµÑ. ÐÑÐµ Ð¾ÑÑÐ°Ð»ÑÐ½Ð¾Ðµ â ÑÐ¶Ðµ Ð½Ðµ Ð½Ð°ÑÐ° Ð·Ð°Ð±Ð¾ÑÐ°.&lt;br /&gt;
&lt;br /&gt;
ÐÐ»Ñ ÑÑÐ¾Ð³Ð¾ Ð¿ÑÐ¸Ð¼ÐµÑÐ° Ñ Ð²ÑÐ±ÑÐ°Ð» Ð² ÐºÐ°ÑÐµÑÑÐ²Ðµ Â«Ð¾ÑÐ²ÐµÑÑÑÐ²ÐµÐ½Ð½Ð¾Ð³Ð¾Â» Ð·Ð° ÑÑÐ°Ð½ÐµÐ½Ð¸Ðµ Ð´Ð°Ð½Ð½ÑÑ ÑÐµÑÐ²ÐµÑ Ð±Ð°Ð· Ð´Ð°Ð½Ð½ÑÑ PostgreSQL. ÐÐ¾ÑÐºÐ¾Ð»ÑÐºÑ Ð¼Ñ Ð¿Ð¸ÑÐµÐ¼ Ð½Ñ Ð¾ÑÐµÐ½Ñ Ð¿ÑÐ¾ÑÑÑÑ Ð³Ð¾ÑÑÐµÐ²ÑÑ ÐºÐ½Ð¸Ð³Ñ, ÑÐ¾ Ð¸ ÑÑÑÑÐºÑÑÑÐ° Ð±Ð°Ð·Ñ Ð±ÑÐ´ÐµÑ Ñ Ð½Ð°Ñ ÑÐ»ÐµÐ¼ÐµÐ½ÑÐ°ÑÐ½Ð¾Ð¹ â Ð¾Ð´Ð½Ð° ÑÐ°Ð±Ð»Ð¸ÑÐ° Ñ ÑÑÐµÐ¼Ñ Ð¿Ð¾Ð»ÑÐ¼Ð¸: Ð²ÑÐµÐ¼Ñ Ð¿ÑÐ±Ð»Ð¸ÐºÐ°ÑÐ¸Ð¸ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ, Ð¸Ð¼Ñ Ð°Ð²ÑÐ¾ÑÐ° Ð¸, ÑÐ¾Ð±ÑÑÐ²ÐµÐ½Ð½Ð¾, ÑÐ°Ð¼Ð¾ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ðµ:&lt;br /&gt;
&lt;br /&gt;
 admin@toshiba:~$ psql&lt;br /&gt;
 Welcome to psql 8.1.4, the PostgreSQL interactive terminal.&lt;br /&gt;
 guestbook=# create user &amp;quot;www-data&amp;quot; nocreatedb nocreateuser;&lt;br /&gt;
 CREATE ROLE&lt;br /&gt;
 admin=# create database guestbook with owner &amp;quot;www-data&amp;quot;;&lt;br /&gt;
 CREATE DATABASE&lt;br /&gt;
 admin=# \connect guestbook&lt;br /&gt;
 ÐÑ Ð¿Ð¾Ð´ÑÐ¾ÐµÐ´Ð¸Ð½Ð¸Ð»Ð¸ÑÑ Ðº Ð±Ð°Ð·Ðµ Ð´Ð°Ð½Ð½ÑÑ &amp;quot;guestbook&amp;quot;.&lt;br /&gt;
 guestbook=# create table guestbook (&lt;br /&gt;
 guestbook(# datum timestamp, author varchar, message varchar);&lt;br /&gt;
 CREATE TABLE&lt;br /&gt;
 guestbook=# alter table guestbook owner to &amp;quot;www-data&amp;quot;;&lt;br /&gt;
 ALTER TABLE&lt;br /&gt;
 guestbook=# \q&lt;br /&gt;
 admin@toshiba:~$&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾Ð¶Ð°Ð»ÑÐ¹, ÐµÐ´Ð¸Ð½ÑÑÐ²ÐµÐ½Ð½Ð¾Ðµ, ÑÑÐ¾ Ð·Ð´ÐµÑÑ Ð½ÑÐ¶Ð½Ð¾ Ð¿Ð¾ÑÑÐ½Ð¸ÑÑ, ÑÑÐ¾ Ð¿Ð¾ÑÐµÐ¼Ñ Ð±Ð°Ð·Ðµ Ð¸ ÑÐ°Ð±Ð»Ð¸ÑÐµ Ð¼Ñ Ð½Ð°Ð·Ð½Ð°ÑÐ¸Ð»Ð¸ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑÐµÐ¼ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ www-data. ÐÑÐ¾ÑÑÐ¾ Ðº Ð½Ð¸Ð¼ Ð±ÑÐ´ÐµÑ Ð¾Ð±ÑÐ°ÑÐ°ÑÑÑÑ cgi-ÑÑÐµÐ½Ð°ÑÐ¸Ð¹, ÑÐ°Ð±Ð¾ÑÐ°ÑÑÐ¸Ð¹ Ñ Ð¿ÑÐ°Ð²Ð°Ð¼Ð¸ HTTP-ÑÐµÑÐ²ÐµÑÐ° Apache, ÐºÐ¾ÑÐ¾ÑÑÐ¹, Ð² ÑÐ²Ð¾Ñ Ð¾ÑÐµÑÐµÐ´Ñ, Ð¸ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ [Ð² Ð²Ð°ÑÐµÐ¼ Ð´Ð¸ÑÑÑÐ¸Ð±ÑÑÐ¸Ð²Ðµ Ð¾Ð½ Ð¼Ð¾Ð¶ÐµÑ Ð½Ð°Ð·Ð²Ð°ÑÑÑÑ Ð¿Ð¾-Ð´ÑÑÐ³Ð¾Ð¼Ñ, â Ð¿ÑÐ¸Ð¼. ÑÐµÐ´.]. Ð PostgreSQL Ð¿Ð¾ ÑÐ¼Ð¾Ð»ÑÐ°Ð½Ð¸Ñ ÑÑÐµÐ±ÑÐµÑ, ÑÑÐ¾Ð±Ñ Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð² ÐÐ ÑÐ¾Ð²Ð¿Ð°Ð´Ð°Ð»Ð¾ Ñ ÐµÐ³Ð¾ ÑÐ¸ÑÑÐµÐ¼Ð½ÑÐ¼ Ð¸Ð¼ÐµÐ½ÐµÐ¼. ÐÐ½Ðµ ÑÑÐ¾ ÐºÐ°Ð¶ÐµÑÑÑ Ð´Ð¾ÑÑÐ°ÑÐ¾ÑÐ½Ð¾ ÑÐ´Ð¾Ð±Ð½ÑÐ¼, ÑÐ¾ÑÑ Ð²Ñ, ÐºÐ¾Ð½ÐµÑÐ½Ð¾, Ð¼Ð¾Ð¶ÐµÑÐµ Ð¿Ð¾ÑÑÑÐ¿Ð¸ÑÑ Ð¿Ð¾-ÑÐ²Ð¾ÐµÐ¼Ñ.&lt;br /&gt;
&lt;br /&gt;
=== DB API Ð½Ð° ÑÑÑÐ°Ð¶Ðµ ÑÐ½Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¸ ===&lt;br /&gt;
ÐÑÑÐ°Ð»Ð¾ÑÑ ÑÐ°Ð·Ð¾Ð±ÑÐ°ÑÑÑÑ, ÐºÐ°Ðº Ð¶Ðµ Python Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²ÑÐµÑ Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ. ÐÐ»Ñ ÑÑÐ¾Ð³Ð¾ Python Ð¿ÑÐµÐ´Ð¾ÑÑÐ°Ð²Ð»ÑÐµÑ DB API â ÑÐ¿ÐµÑÐ¸Ð°Ð»ÑÐ½ÑÐ¹ Ð¸Ð½ÑÐµÑÑÐµÐ¹Ñ, ÑÐ½Ð¸ÑÐ¸ÑÐ¸ÑÑÑÑÐ¸Ð¹ Ð½Ð°Ð±Ð¾Ñ Ð¼ÐµÑÐ¾Ð´Ð¾Ð², ÐºÐ¾ÑÐ¾ÑÑÐµ Ð±ÑÐ´ÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾ ÑÐ°Ð±Ð¾ÑÐ°ÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ Ð¾Ñ ÑÐ¾Ð³Ð¾, Ñ ÐºÐ°ÐºÐ¾Ð¹ Ð¡Ð£ÐÐ Ð¼Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²ÑÐµÐ¼. ÐÐ»Ñ ÑÐ°Ð±Ð¾ÑÑ Ñ PostgreSQL Ð½Ð°Ð¼ Ð¿Ð¾Ð½Ð°Ð´Ð¾Ð±Ð¸ÑÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ PyPgSQL (Ð² ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½Ð¾Ð¹ Ð¿Ð¾ÑÑÐ°Ð²ÐºÐµ ÐµÐ³Ð¾ Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ, Ð½Ð¾ Ð²Ð°Ñ Ð¼ÐµÐ½ÐµÐ´Ð¶ÐµÑ Ð¿Ð°ÐºÐµÑÐ¾Ð² Ð½Ð°Ð²ÐµÑÐ½ÑÐºÐ° Ð±ÑÐ´ÐµÑ Ð² ÐºÑÑÑÐµ, ÐºÐ°Ðº ÐµÐ³Ð¾ ÑÑÑÐ°Ð½Ð¾Ð²Ð¸ÑÑ; ÐºÑÑÐ°ÑÐ¸, ÑÑÐ¾ Ð½Ðµ ÐµÐ´Ð¸Ð½ÑÑÐ²ÐµÐ½Ð½ÑÐ¹ Ð¼Ð¾Ð´ÑÐ»Ñ â Ñ Ð²Ð°Ñ, Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾, Ð±ÑÐ´ÐµÑ PyGreSQL, ÐºÐ¾ÑÐ¾ÑÑÐ¹ ÑÐ°Ð±Ð¾ÑÐ°ÐµÑ Ð½Ð¸ÑÑÑÑ Ð½Ð¸ ÑÑÐ¶Ðµ Ð¸ Ñ ÑÐµÐ¼Ð¸ Ð¶Ðµ ÑÐ°Ð¼ÑÐ¼Ð¸ Ð¼ÐµÑÐ¾Ð´Ð°Ð¼Ð¸).&lt;br /&gt;
&lt;br /&gt;
DB API Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÑÐµÑ ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐµ Ð¼ÐµÑÐ¾Ð´Ñ ÑÐ°Ð±Ð¾ÑÑ Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ Ð´Ð°Ð½Ð½ÑÑ, ÑÐ°Ðº ÑÑÐ¾, ÐºÐ°ÐºÐ¾Ð¹ Ð±Ñ Ð¼Ð¾Ð´ÑÐ»Ñ Ð²Ñ Ð½Ð¸ Ð·Ð°Ð³ÑÑÐ·Ð¸Ð»Ð¸ Ð¸ Ñ ÐºÐ°ÐºÐ¾Ð¹ Ð±Ñ Ð¡Ð£ÐÐ Ð½Ð¸ ÑÐ°Ð±Ð¾ÑÐ°Ð»Ð¸ (Ð±ÑÐ´Ñ ÑÐ¾ MySQL, PostgreSQL, SQLite Ð¸Ð»Ð¸ ÑÑÐ¾-ÑÐ¾ ÐµÑÐµ), Ð¼ÐµÐ½ÑÑÑÑÑ Ð±ÑÐ´ÐµÑ ÑÐ¾Ð»ÑÐºÐ¾ Ð¸Ð¼Ñ Ð¼Ð¾Ð´ÑÐ»Ñ. ÐÐ»Ð°Ð²Ð½Ð¾Ðµ, ÑÑÐ¾Ð±Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÐ¼ÑÐ¹ Ð¼Ð¾Ð´ÑÐ»Ñ ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²Ð¾Ð²Ð°Ð» DB API. Ð Ð°ÑÑÐ¼Ð¾ÑÑÐ¸Ð¼ ÐºÐ¾ÑÐ¾ÑÐºÐ¾ Ð¾ÑÐ½Ð¾Ð²Ð½ÑÐµ Ð¼ÐµÑÐ¾Ð´Ñ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
conn = connect(dsn='localhost', user='admin', password='superparol', database='mydb')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð¢Ð°Ðº Ð¾ÑÑÑÐµÑÑÐ²Ð»ÑÐµÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ðµ Ðº Ð±Ð°Ð·Ðµ. Ð Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÐ¸ Ð¾Ñ ÑÐ¸ÑÑÐ°ÑÐ¸Ð¸, Ð²Ð°Ð¼ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑÐµÐ±Ð¾Ð²Ð°ÑÑÑÑ ÑÐºÐ°Ð·Ð°ÑÑ ÑÐ¾Ð»ÑÐºÐ¾ Ð½ÑÐ¶Ð½ÑÐµ Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÑ (Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, Ð¸Ð¼Ñ ÑÐ¾ÑÑÐ° 'localhost' Ð¿Ð¾Ð´ÑÐ°Ð·ÑÐ¼ÐµÐ²Ð°ÐµÑÑÑ Ð¿Ð¾ ÑÐ¼Ð¾Ð»ÑÐ°Ð½Ð¸Ñ).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
cur = conn.cursor()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÑÑÑÐ¾ÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÑÑÑÑ Ð´Ð°Ð»ÐµÐºÐ¾ Ð½Ðµ Ð²ÑÐµÐ¼Ð¸ Ð¡Ð£ÐÐ, Ð½Ð¾ Ð´Ð»Ñ Ð¾Ð±ÑÐ½Ð¾ÑÑÐ¸ Ð² DB API Ð¾Ð½Ð¸ Ð²Ð²ÐµÐ´ÐµÐ½Ñ Ð¸, Ð² ÑÐ»ÑÑÐ°Ðµ Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð¾ÑÑÐ¸, Ð´Ð¾Ð»Ð¶Ð½Ñ ÑÐ¼ÑÐ»Ð¸ÑÐ¾Ð²Ð°ÑÑÑÑ Ð¼Ð¾Ð´ÑÐ»ÑÐ¼Ð¸ ÑÐ¾Ð¿ÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸ÑÐºÑÑÑÑÐ²ÐµÐ½Ð½Ð¾. Ð¢Ð°Ðº ÑÑÐ¾ Ð½Ðµ Ð·Ð°Ð±ÑÐ²Ð°Ð¹ÑÐµ Ð¾ÑÐ¿ÑÐ°Ð²Ð»ÑÑÑ Ð²ÑÐµ Ð²Ð°ÑÐ¸ Ð·Ð°Ð¿ÑÐ¾ÑÑ ÑÐµÑÐµÐ· ÐºÑÑÑÐ¾Ñ.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
cur.execute('''SELECT * FROM mytable''')&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð¢Ð°Ðº Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ SQL-Ð·Ð°Ð¿ÑÐ¾Ñ. ÐÑÐ»Ð¸ Ð² ÑÑÑÐ¾ÐºÐµ Ð·Ð°Ð¿ÑÐ¾ÑÐ° Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÑÑÑÑ Ð·Ð½Ð°ÐºÐ¾Ð¼ÐµÑÑÐ° %s, ÑÐ¾ Ð²ÑÐ¾ÑÑÐ¼ Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÐ¾Ð¼ Ð¿ÐµÑÐµÐ´Ð°ÐµÑÑÑ ÑÐ¿Ð¸ÑÐ¾Ðº Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½ÑÑ-Ð·Ð½Ð°ÑÐµÐ½Ð¸Ð¹, Ð¿ÑÐ¸ÑÐµÐ¼ Ð² SQL-Ð·Ð°Ð¿ÑÐ¾ÑÐµ Ð·Ð½Ð°ÐºÐ¾Ð¼ÐµÑÑÐ° Ð½Ðµ ÑÑÐµÐ±ÑÐµÑÑÑ Ð¾ÐºÑÑÐ¶Ð°ÑÑ Ð°Ð¿Ð¾ÑÑÑÐ¾ÑÐ°Ð¼Ð¸ â Ð¼Ð¾Ð´ÑÐ»Ñ ÑÐ´ÐµÐ»Ð°ÐµÑ ÑÑÐ¾ ÑÐ°Ð¼Ð¾ÑÑÐ¾ÑÑÐµÐ»ÑÐ½Ð¾ Ð² Ð·Ð°Ð²Ð¸ÑÐ¸Ð¼Ð¾ÑÑÐ¸ Ð¾Ñ&lt;br /&gt;
ÑÐ¸Ð¿Ð° Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
cur.fetchall()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐ¾Ð·Ð²ÑÐ°ÑÐ°ÐµÑ Ð´Ð²ÑÐ¼ÐµÑÐ½ÑÐ¹ ÑÐ¿Ð¸ÑÐ¾Ðº (ÑÑÑÐ¾ÐºÐ¸ â Ð¿Ð¾Ð»Ñ) Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½ÑÑ Ð¾Ñ Ð¡Ð£ÐÐ Ð´Ð°Ð½Ð½ÑÑ. Ð¡ÑÑÐµÑÑÐ²ÑÑÑ Ð¸ Ð´ÑÑÐ³Ð¸Ðµ Ð¼ÐµÑÐ¾Ð´Ñ, Ð¾Ð·Ð½Ð°ÐºÐ¾Ð¼Ð¸ÑÑÑÑ Ñ ÐºÐ¾ÑÐ¾ÑÑÐ¼Ð¸ Ð²Ñ ÑÐ¼Ð¾Ð¶ÐµÑÐµ Ð² Ð´Ð¾ÐºÑÐ¼ÐµÐ½ÑÐ°ÑÐ¸Ð¸ Ð¸Ð»Ð¸ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð·Ð½Ð°ÐºÐ¾Ð¼Ð¾Ð¹ Ð²Ð°Ð¼ ÑÑÐ½ÐºÑÐ¸Ð¸ dir() Ð´Ð° Ð¿Ð°ÑÑ-ÑÑÐ¾Ð¹ÐºÐ¸ Ð½ÐµÑÐ»Ð¾Ð¶Ð½ÑÑ ÑÐºÑÐ¿ÐµÑÐ¸Ð¼ÐµÐ½ÑÐ¾Ð².&lt;br /&gt;
&lt;br /&gt;
=== ÐÐ°ÐºÑÐµÐ¿Ð»ÑÐµÐ¼ Ð½Ð° Ð¿ÑÐ°ÐºÑÐ¸ÐºÐµ ===&lt;br /&gt;
ÐÐµÑÐµÐ¹Ð´ÐµÐ¼ Ðº ÑÐ°ÑÑÐ¼Ð¾ÑÑÐµÐ½Ð¸Ñ Ð½Ð°ÑÐµÐ³Ð¾ Ð¿ÑÐ¸Ð¼ÐµÑÐ°. ÐÐ°ÑÐ½ÐµÐ¼ ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½Ð¾ â ÑÐºÐ°Ð¶ÐµÐ¼ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÑ, Ð¿Ð¾Ð´ÐºÐ»ÑÑÐ¸Ð¼ Ð½ÑÐ¶Ð½ÑÐµ Ð¼Ð¾Ð´ÑÐ»Ð¸:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/Python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
import PyPgSQL.PgSQL as pg&lt;br /&gt;
import cgi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐ°Ð»ÐµÐµ, Ð¾Ð¿ÑÐµÐ´ÐµÐ»Ð¸Ð¼ Ð´Ð²Ðµ ÑÑÐ½ÐºÑÐ¸Ð¸. ÐÐµÑÐ²Ð°Ñ Ð±ÑÐ´ÐµÑ Ð¾ÑÐ²ÐµÑÐ°ÑÑ Ð·Ð° Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð½Ð¾Ð²Ð¾Ð³Ð¾ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ Ð² Ð±Ð°Ð·Ñ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def addMessage(author, message):&lt;br /&gt;
  db = pg.connect(database=&amp;quot;guestbook&amp;quot;)&lt;br /&gt;
  c = db.cursor()&lt;br /&gt;
  c.execute(&amp;quot;&amp;quot;&amp;quot;INSERT INTO guestbook (datum, author, message) VALUES ('now', %s, %s);&amp;quot;&amp;quot;&amp;quot;, (author, message))&lt;br /&gt;
  c.close()&lt;br /&gt;
  db.commit()&lt;br /&gt;
  db.close()&lt;br /&gt;
  print &amp;quot;Content-Type: text/html&amp;quot;&lt;br /&gt;
  print &amp;quot;Location: ?#form\n&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ÐÐ°Ðº Ð²Ð¸Ð´Ð¸ÑÐµ, Ð²ÑÐµ Ð¾ÑÐµÐ½Ñ Ð´Ð°Ð¶Ðµ Ð»Ð¾Ð³Ð¸ÑÐ½Ð¾: ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÐ¼ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ðµ Ñ ÐÐ (Ð¿Ð¾ÑÐºÐ¾Ð»ÑÐºÑ Ð² Ð½Ð°ÑÐµÐ¼ ÑÐ»ÑÑÐ°Ðµ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ðµ Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ ÑÐµÐºÑÑÐµÐ³Ð¾ ÑÐ¸ÑÑÐµÐ¼Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ, ÑÐ¾ Ð´Ð¾ÑÑÐ°ÑÐ¾ÑÐ½Ð¾ ÑÐºÐ°Ð·Ð°ÑÑ ÑÐ¾Ð»ÑÐºÐ¾ Ð¸Ð¼Ñ Ð±Ð°Ð·Ñ), ÑÐ¾Ð·Ð´Ð°ÐµÐ¼ ÐºÑÑÑÐ¾Ñ (Ð² PostgreSQL Ð¾Ð½Ð¸ Ð½Ðµ Ð¿ÑÐ¸Ð¼ÐµÐ½ÑÑÑÑÑ, Ð½Ð¾ Ð¾Ð½Ð¸ ÑÐ¼ÑÐ»Ð¸ÑÑÑÑÑÑ ÐºÐ°Ð¶Ð´ÑÐ¼ Ð¼Ð¾Ð´ÑÐ»ÐµÐ¼, Ð¿ÑÐµÑÐµÐ½Ð´ÑÑÑÐ¸Ð¼ Ð½Ð° ÑÐ¾Ð¾ÑÐ²ÐµÑÑÑÐ²Ð¸Ðµ DB API), Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ, Ð·Ð°ÐºÑÑÐ²Ð°ÐµÑÑÑ ÐºÑÑÑÐ¾Ñ, ÑÐ¸ÐºÑÐ¸ÑÑÑÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ (PostgreSQL Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑ ÑÑÐ°Ð½Ð·Ð°ÐºÑÐ¸Ð¸, Ð¿Ð¾ÑÑÐ¾Ð¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð¼ÐµÑÐ¾Ð´Ð° commit() Ð¾Ð±ÑÐ·Ð°ÑÐµÐ»ÑÐ½Ð¾, Ð¸Ð½Ð°ÑÐµ Ð²Ð°ÑÐ¸ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ Ð±ÑÐ´ÑÑ ÑÐ¾ÑÑÐ°Ð½ÐµÐ½Ñ), Ð¸, Ð½Ð°ÐºÐ¾Ð½ÐµÑ, Ð·Ð°ÐºÑÑÐ²Ð°ÐµÐ¼ ÑÐ°Ð¼Ð¾ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ðµ Ñ Ð±Ð°Ð·Ð¾Ð¹. Ð Ð¿Ð¾Ð»Ðµ datum Ð·Ð°Ð½Ð¾ÑÐ¸Ð¼ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ðµ Ð²ÑÑÑÐ¾ÐµÐ½Ð½Ð¾Ð¹ Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ PostgreSQL â now, ÐºÐ¾ÑÐ¾ÑÐ°Ñ ÐºÐ°Ð¶Ð´ÑÐ¹ ÑÐ°Ð· Ð·Ð°Ð¼ÐµÐ½ÑÐµÑÑÑ ÑÐµÐºÑÑÐ¸Ð¼ Ð·Ð½Ð°ÑÐµÐ½Ð¸ÐµÐ¼ Ð´Ð°ÑÑ Ð¸ Ð²ÑÐµÐ¼ÐµÐ½Ð¸.&lt;br /&gt;
&lt;br /&gt;
ÐÑ Ð¸ Ð¿ÐµÑÐ°ÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° Â«LocationÂ» Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐµÑÑÑ Ð´Ð»Ñ ÑÐ¾Ð³Ð¾, ÑÑÐ¾Ð±Ñ Ð¿ÐµÑÐµÐ½Ð°Ð¿ÑÐ°Ð²Ð¸ÑÑ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð½Ð° ÑÑÐ¾Ñ Ð¶Ðµ ÑÑÐµÐ½Ð°ÑÐ¸Ð¹, Ð½Ð¾ ÑÐ¶Ðµ Ð±ÐµÐ· Ð¿Ð°ÑÐ°Ð¼ÐµÑÑÐ¾Ð² â Ð¼Ñ Ð¶Ðµ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°ÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ, ÑÑÐ¾ Ð¾Ð½ Ð½Ð° ÑÐ°Ð¼Ð¾Ð¼ Ð´ÐµÐ»Ðµ Ð²Ð²ÐµÐ»? (Ð¯ÐºÐ¾ÑÑ #form Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ, ÑÑÐ¾Ð±Ñ Ð°Ð²ÑÐ¾Ð¼Ð°ÑÐ¸ÑÐµÑÐºÐ¸ Ð¿ÑÐ¾ÐºÑÑÑÐ¸ÑÑ ÑÑÑÐ°Ð½Ð¸ÑÐºÑ Ð½Ð° Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐµ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ðµ).&lt;br /&gt;
&lt;br /&gt;
ÐÑÐ¾ÑÐ°Ñ ÑÑÐ½ÐºÑÐ¸Ñ Ð±ÑÐ´ÐµÑ Ð¾ÑÐ²ÐµÑÐ°ÑÑ Ð·Ð° Ð²ÑÐ²Ð¾Ð´ Ð½Ð° ÑÐºÑÐ°Ð½ ÑÐ¶Ðµ Ð¾ÑÑÐ°Ð²Ð»ÐµÐ½Ð½ÑÑÐ² ÐºÐ½Ð¸Ð³Ðµ Ð·Ð°Ð¿Ð¸ÑÐµÐ¹, Ð° ÑÐ°ÐºÐ¶Ðµ Ð·Ð° ÑÐ¾ÑÐ¼Ñ, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾ÑÐ¾ÑÐ¾Ð¹ Ð¼Ð¾Ð¶Ð½Ð¾ Ð±ÑÐ´ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð¸ ÑÐ²Ð¾Ðµ Ð²ÑÑÐºÐ°Ð·ÑÐ²Ð°Ð½Ð¸Ðµ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def showGB():&lt;br /&gt;
  db = pg.connect(database=&amp;quot;guestbook&amp;quot;)&lt;br /&gt;
  c = db.cursor()&lt;br /&gt;
  c.execute(&amp;quot;&amp;quot;&amp;quot;SELECT datum, author, message FROM guestbook ORDER BY datum;&amp;quot;&amp;quot;&amp;quot;)&lt;br /&gt;
  res = c.fetchall()&lt;br /&gt;
  c.close()&lt;br /&gt;
db.close()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð ÑÑÐ¾Ð¼ ÑÑÐ°Ð³Ð¼ÐµÐ½ÑÐµ Ð¼Ñ Ð²ÑÐ±Ð¸ÑÐ°ÐµÐ¼ Ð²ÑÐµ ÑÑÑÐ¾ÐºÐ¸ Ð¸Ð· Ð½Ð°ÑÐµÐ¹ ÑÐ°Ð±Ð»Ð¸ÑÑ Ð´Ð°Ð½Ð½ÑÑ, ÑÐ¾ÑÑÐ¸ÑÑÑ Ð¸Ñ Ð¿Ð¾ Ð´Ð°ÑÐµ. Ð ÐµÐ·ÑÐ»ÑÑÐ°Ñ ÑÐ¾ÑÑÐ°Ð½ÑÐµÑÑÑ Ð² Ð¿ÐµÑÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ res, Ñ ÐºÐ¾ÑÐ¾ÑÐ¾Ð¹ Ð¸ Ð±ÑÐ´ÐµÐ¼ ÑÐ°Ð±Ð¾ÑÐ°ÑÑ. Ð¢ÐµÐ¿ÐµÑÑ Ð¾ÑÑÐ°Ð»Ð¾ÑÑ Ð»Ð¸ÑÑ Ð°ÐºÐºÑÑÐ°ÑÐ½ÐµÐ½ÑÐºÐ¾ ÑÐ°Ð·Ð»Ð¾Ð¶Ð¸ÑÑ Ð½Ð°ÑÐ¸ Ð´Ð°Ð½Ð½ÑÐµ Ð¿Ð¾ ÑÐ°Ð±Ð»Ð¸ÑÐºÐ°Ð¼ Ð¸ Ð²ÑÐ²ÐµÑÑÐ¸ Ð¸Ñ Ð½Ð° ÑÐºÑÐ°Ð½:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
 print &amp;quot;Content-Type: text/html\n&amp;quot;&lt;br /&gt;
 print &amp;quot;&amp;lt;H1 style='color:#7777FF'&amp;gt;&amp;lt;U&amp;gt;ÐÐµÐ»ÑÐºÐ°Ð¼ Ðº Ð½Ð°Ð¼ Ð² Ð³Ð¾ÑÑÐ¸!&amp;lt;/U&amp;gt;&amp;lt;/H1&amp;gt;&amp;quot;&lt;br /&gt;
 for item in res:&lt;br /&gt;
   print &amp;quot;&amp;quot;&amp;quot;&amp;lt;TABLE width='90%%'&amp;gt;&lt;br /&gt;
                &amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;&amp;lt;SMALL&amp;gt;Ð¢Ð¾Ð²Ð°ÑÐ¸Ñ &amp;lt;B&amp;gt;%s&amp;lt;/B&amp;gt; Ð¿Ð¾Ð²ÐµÐ´Ð°Ð»Ð½Ð°Ð¼ ÑÐ»ÐµÐ´ÑÑÑÐµÐµ:&amp;lt;/SMALL&amp;gt;&lt;br /&gt;
                    &amp;lt;TD align='right'&amp;gt;&amp;lt;SMALL&amp;gt;%s&amp;lt;/SMALL&amp;gt;&lt;br /&gt;
                &amp;lt;TR&amp;gt;&amp;lt;TD style='background-color:#DDDDFF' colspan='2'&amp;gt;%s&lt;br /&gt;
            &amp;lt;/TABLE&amp;gt;&amp;quot;&amp;quot;&amp;quot; % (item[1], str(item[0])[:19], item[2])&lt;br /&gt;
 print &amp;quot;&amp;lt;HR&amp;gt;&amp;lt;A name='form'&amp;gt;&amp;lt;H3&amp;gt;ÐÑÐ¸ÑÐ¾ÐµÐ´Ð¸Ð½ÑÐ¹ÑÐµÑÑ Ðº Ð´Ð¸ÑÐºÑÑÑÐ¸Ð¸:&amp;lt;/H3&amp;gt;&amp;quot;&lt;br /&gt;
 print &amp;quot;&amp;quot;&amp;quot;&amp;lt;FORM method='GET'&amp;gt;&lt;br /&gt;
           ÐÐ°ÑÐµ Ð¸Ð¼Ñ: &amp;lt;INPUT type='text' name='author'&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
           Ð§ÑÐ¾ Ð²Ñ Ð´ÑÐ¼Ð°ÐµÑÐµ Ð¿Ð¾ ÑÑÐ¾Ð¼Ñ Ð¿Ð¾Ð²Ð¾Ð´Ñ:&amp;lt;BR&amp;gt;&lt;br /&gt;
          &amp;lt;TEXTAREA name='message' rows='5' cols='80'&amp;gt;&amp;lt;/TEXTAREA&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
          &amp;lt;INPUT type='submit' value='ÐÑÐ¿ÑÐ°Ð²Ð¸ÑÑ'&amp;gt;&lt;br /&gt;
          &amp;lt;/FORM&amp;gt;&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;img&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
[[ÐÐ·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ðµ:Img 83 81 1.png|thumb|ÐÐ¸ ÑÐ¼Ð°Ð¹Ð»Ð¸ÐºÐ¾Ð², Ð½Ð¸ BB-ÐºÐ¾Ð´Ð°, Ð½Ð¸ Ð´Ð°Ð¶Ðµ Ð»Ð¾Ð³Ð¾ÑÐ¸Ð¿Ð°... ÐÐ°ÑÐ¾ Ð¼Ñ ÑÐ´ÐµÐ»Ð°Ð»Ð¸ ÑÑÑ Ð³Ð¾ÑÑÐµÐ²ÑÑ Ð·Ð° 10 Ð¼Ð¸Ð½ÑÑ!]]&lt;br /&gt;
&lt;br /&gt;
Ð¡Ð¼ÑÑÐ» ÐºÐ¾Ð½ÑÑÑÑÐºÑÐ¸Ð¸ str(item[0])[:19] Ð·Ð°ÐºÐ»ÑÑÐ°ÐµÑÑÑ Ð² ÑÐ¾Ð¼, ÑÑÐ¾Ð±Ñ Ð² ÑÑÑÐ¾ÐºÐµ Ð²ÑÐµÐ¼ÐµÐ½Ð¸ Ð¾ÑÑÐµÑÑ Ð½ÐµÐ½ÑÐ¶Ð½ÑÐµ Ð½Ð°Ð¼ Ð¼Ð¸Ð»Ð»Ð¸ÑÐµÐºÑÐ½Ð´Ñ, ÐºÐ¾ÑÐ¾ÑÑÐµ ÑÐ¾ÑÑÐ°Ð½ÑÑÑÑÑ Ð² Ð¿Ð¾Ð»Ðµ ÑÐ¸Ð¿Ð° timestamp. ÐÐ¾ÑÐ»Ðµ Ð²ÑÐµÑ Ð¾Ð¿ÑÐ±Ð»Ð¸ÐºÐ¾Ð²Ð°Ð½Ð½ÑÑ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ð¹ Ð²ÑÐ²Ð¾Ð´Ð¸Ð¼ ÑÐ¾ÑÐ¼Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾, ÑÑÐ¾Ð±Ñ ÐºÐ°Ð¶Ð´ÑÐ¹ Ð¼Ð¾Ð³ Ð¿ÑÐ¸ÑÐ¾ÐµÐ´Ð¸Ð½Ð¸ÑÑÑÑ Ðº Ð½Ð°ÑÐµÐ¹ Ð´Ð¸ÑÐºÑÑÑÐ¸Ð¸. ÐÑÑÐ°ÑÐ¸, Ð² ÑÐµÐ³Ðµ &amp;lt;FORM&amp;gt; Ð¼Ñ Ð½Ðµ ÑÐºÐ°Ð·Ð°Ð»Ð¸ Ð¿Ð°ÑÐ°Ð¼ÐµÑÑ action, Ð¿Ð¾ÑÐºÐ¾Ð»ÑÐºÑ Ð´Ð°Ð½Ð½ÑÐµ Ð±ÑÐ´ÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð²Ð°ÑÑÑÑ Ð½Ð° Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÑ ÑÑÐ¾Ð¼Ñ Ð¶Ðµ ÑÑÐµÐ½Ð°ÑÐ¸Ñ (Ð±Ð»Ð°Ð³Ð¾Ð´Ð°ÑÑ ÑÐµÐ¼Ñ Ð¸Ð¼Ñ ÑÑÐµÐ½Ð°ÑÐ¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ Ð¿ÑÐ¸ÑÐ²Ð¾Ð¸ÑÑ Ð»ÑÐ±Ð¾Ðµ).&lt;br /&gt;
ÐÐ°ÐºÐ¾Ð½ÐµÑ, Ð¿Ð¾ÑÐ»ÐµÐ´Ð½Ð¸Ð¹ ÑÑÐ°Ð³Ð¼ÐµÐ½Ñ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
form = cgi.FieldStorage()&lt;br /&gt;
if form.has_key(&amp;quot;message&amp;quot;) and form.has_key(&amp;quot;author&amp;quot;):&lt;br /&gt;
  author = cgi.escape(form[&amp;quot;author&amp;quot;].value)&lt;br /&gt;
  message = cgi.escape(form[&amp;quot;message&amp;quot;].value)&lt;br /&gt;
  message = message.replace(&amp;quot;\n&amp;quot;, &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;)&lt;br /&gt;
  addMessage(author, message)&lt;br /&gt;
else:&lt;br /&gt;
  showGB()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð¡Ð¾Ð·Ð´Ð°ÐµÐ¼ FieldStorage-Ð¾Ð±ÑÐµÐºÑ, Ð¸ ÐµÑÐ»Ð¸ Ð² Ð½ÐµÐ¼ ÐµÑÑÑ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð½ÑÐµ Ð¿Ð¾Ð»Ñ message Ð¸ author (ÑÐ¾ ÐµÑÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð±ÑÐ» ÑÑÐ¾ÑÐ¼Ð¸ÑÐ¾Ð²Ð°Ð½ Ð¸Ð· Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð½Ð¾Ð¹ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÐµÐ¼ ÑÐ¾ÑÐ¼Ñ), ÑÐ¾, Ð½ÐµÐ¼Ð½Ð¾Ð¶ÐºÐ¾ Ð¸Ñ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐ°Ð² (ÑÑÐ½ÐºÑÐ¸Ñ cgi.escape() Ð·Ð°Ð¼ÐµÐ½ÑÐµÑ Ð²ÑÐµ Â«Ð½ÐµÐ±Ð»Ð°Ð³Ð¾Ð½Ð°Ð´ÐµÐ¶Ð½ÑÐµÂ» ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ â Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, &amp;lt; â Ð¸Ñ ÑÑÐ°Ð½Ð´Ð°ÑÑÐ½ÑÐ¼Ð¸ SGML-ÑÑÑÐ½Ð¾ÑÑÑÐ¼Ð¸, Ð² Ð´Ð°Ð½Ð½Ð¾Ð¼ ÑÐ»ÑÑÐ°Ðµ â &amp;amp;lt;), Ð¿ÐµÑÐµÐ´Ð°ÐµÐ¼ ÑÑÐ½ÐºÑÐ¸Ð¸ addMessage(). ÐÐ±ÑÐ°Ð±Ð¾ÑÐºÐ° Ð½ÑÐ¶Ð½Ð° Ð´Ð»Ñ ÑÐ¾Ð³Ð¾, ÑÑÐ¾Ð±Ñ Ð·Ð»Ð¾ÑÐ¼ÑÑÐ»ÐµÐ½Ð½Ð¸Ðº Ð½Ðµ Ð¼Ð¾Ð³ Ð²Ð²ÐµÑÑÐ¸ Ð² Ð¿Ð¾Ð»Ðµ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ð¸Ð¼ÐµÐ½Ð¸ Ð°Ð²ÑÐ¾ÑÐ° ÑÑÐ¾-Ð½Ð¸Ð±ÑÐ´Ñ ÑÐ°ÐºÐ¾Ðµ:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;SCRIPT&amp;gt;alert('ÐÐ° Ð¿Ð¾ÑÐ»Ð¸ Ð²Ñ Ð²ÑÐµ!');&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ð ÑÐ»Ð¾Ð²Ñ, Ð¿ÑÐµÐ½ÐµÐ±ÑÐµÐ³Ð°ÑÑ Ð¿ÑÐ¾Ð²ÐµÑÐºÐ¾Ð¹ Ð²Ð²ÐµÐ´ÐµÐ½Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð½Ð¸ Ð² ÐºÐ¾ÐµÐ¼ ÑÐ»ÑÑÐ°Ðµ Ð½ÐµÐ»ÑÐ·Ñ. ÐÐ°Ð¹Ð´Ð¸ÑÐµ ÐºÐ°Ðº-Ð½Ð¸Ð±ÑÐ´Ñ Ð½Ð° [http://securitylab.ru securitylab.ru] Ð¸ Ð¿Ð¾ÑÐ¼Ð¾ÑÑÐ¸ÑÐµ, ÑÐºÐ¾Ð»ÑÐºÐ¾ ÑÑÐ·Ð²Ð¸Ð¼Ð¾ÑÑÐµÐ¹ ÑÐ¸Ð¿Ð° Â«XSSÂ» Ð¾Ð±Ð½Ð°ÑÑÐ¶Ð¸Ð²Ð°ÐµÑÑÑ ÐºÐ°Ð¶Ð´ÑÐ¹ Ð¼ÐµÑÑÑ! Ð¢Ð°Ðº ÑÑÐ¾ ÑÑÑÐºÐ¸ ÑÑÑÐºÐ°Ð¼Ð¸, Ð½Ð¾ Ð¿Ð¾ÑÐ»ÐµÐ´ÑÑÐ²Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¾ÑÐµÐ½Ñ ÑÐµÑÑÐµÐ·Ð½ÑÐ¼Ð¸.&lt;br /&gt;
&lt;br /&gt;
=== ÐÑÐ´Ð° Ð¶Ðµ Ð½Ð°Ð¼ ÑÐµÐ¿ÐµÑÑ Ð¸Ð´ÑÐ¸? ===&lt;br /&gt;
ÐÑÐ°Ðº, ÑÑÐ¾-ÑÐ¾ Ð²Ð¿Ð¾Ð»Ð½Ðµ ÑÐ°Ð±Ð¾ÑÐ¾ÑÐ¿Ð¾ÑÐ¾Ð±Ð½Ð¾Ðµ Ñ Ð½Ð°Ñ ÐµÑÑÑ (ÑÐ¼. [[LXF83:Python#img|ÑÐ¸ÑÑÐ½Ð¾Ðº]]). ÐÐ¾ ÐºÐ°Ðº Ð²Ñ Ð¼Ð¾Ð¶ÐµÑ Ð´Ð¾Ð³Ð°Ð´Ð°ÑÑÑÑ, Ð½Ð°ÑÐ° Ð³Ð¾ÑÑÐµÐ²Ð°Ñ Ð¾ÑÐµÐ½Ñ Ð´Ð°Ð»ÐµÐºÐ° Ð¾Ñ ÑÐ¾Ð²ÐµÑÑÐµÐ½ÑÑÐ²Ð°. Ð§ÑÐ¾ ÐµÑÐµ Ð¼Ð¾Ð¶Ð½Ð¾ ÑÐ´ÐµÐ»Ð°ÑÑ? ÐÑ, Ð½Ð°Ð¿ÑÐ¸Ð¼ÐµÑ, ÑÐ°Ð·Ð±Ð¸ÑÑ Ð½Ð° ÑÑÑÐ°Ð½Ð¸ÑÑ. ÐÐ¾ÐºÐ° ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ð¹ Ð² Ð½ÐµÐ¹ Ð±ÑÐ´ÐµÑ Ð½Ðµ Ð±Ð¾Ð»ÑÑÐµ Ð´ÑÐ¶Ð¸Ð½Ñ, ÑÐ¾Ð¹Ð´ÐµÑ Ð¸ ÑÐ°Ðº. Ð ÐºÐ¾Ð³Ð´Ð° Ð¸Ñ ÑÐ¸ÑÐ»Ð¾ Ð´Ð¾Ð¹Ð´ÐµÑ Ð´Ð¾ ÑÐ¾ÑÐ½Ð¸, ÑÐ¾ ÑÐµÐ´ÐºÐ¸Ð¹ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð´Ð¾Ð¶Ð´ÐµÑÑÑ Ð¾ÐºÐ¾Ð½ÑÐ°Ð½Ð¸Ñ Ð·Ð°Ð³ÑÑÐ·ÐºÐ¸ Ð²ÑÐµÑ Ð´Ð°Ð½Ð½ÑÑ. ÐÐ¾Ð¶Ð½Ð¾ Ð´Ð°ÑÑ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÐ¼ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÑ Ð½ÐµÐºÐ¾ÑÐ¾ÑÑÐµ HTML-ÑÐµÐ³Ð¸, ÑÑÐ¾Ð±Ñ Ð¸Ñ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ Ð²ÑÐ³Ð»ÑÐ´ÐµÐ»Ð¸ Ð±Ð¾Ð»ÐµÐµ ÐºÑÐ°ÑÐ¾ÑÐ½Ð¾. ÐÐ¾Ð¶Ð½Ð¾ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ ÑÐ¼Ð°Ð¹Ð»Ð¸ÐºÐ¾Ð²... Ð Ð¼Ð¾Ð¶Ð½Ð¾ Ð´Ð°Ð¶Ðµ ÑÐ´ÐµÐ»Ð°ÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ, Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÑÑÐ¸Ð¹ ÑÐµÐ´Ð°ÐºÑÐ¸ÑÐ¾Ð²Ð°ÑÑ Ð¸Ð»Ð¸ ÑÐ´Ð°Ð»ÑÑÑ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ñ, Ð° ÑÐ°ÐºÐ¶Ðµ Ð¾ÑÐ²ÐµÑÐ°ÑÑ Ð½Ð° Ð½Ð¸Ñ. Ð¢Ð°Ðº ÑÑÐ¾ ÑÐ°Ð±Ð¾ÑÑ Ð½ÐµÐ¿Ð¾ÑÐ°ÑÑÐ¹ ÐºÑÐ°Ð¹. ÐÐµÑÐ·Ð°Ð¹ÑÐµ â Ð½Ðµ Ð±ÑÐ´Ñ Ð²Ð°Ð¼ Ð¼ÐµÑÐ°ÑÑ.&lt;br /&gt;
&lt;br /&gt;
=== ÐÐµÐºÐ¾ÑÐ¾ÑÑÐµ ÑÐ°ÑÐ¿ÑÐ¾ÑÑÑÐ°Ð½ÑÐ½Ð½ÑÐµ MIME-ÑÐ¸Ð¿Ñ ===&lt;br /&gt;
{| style=&amp;quot;background:white;color:black;&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#dfcfe6;color:black&amp;quot;&lt;br /&gt;
! MIME-ÑÐ¸Ð¿&lt;br /&gt;
! ÐÐ¿Ð¸ÑÐ°Ð½Ð¸Ðµ&lt;br /&gt;
|-&lt;br /&gt;
| text/plain&lt;br /&gt;
| ÐÑÐ¾ÑÑÐ¾Ð¹ ÑÐµÐºÑÑ&lt;br /&gt;
|-&lt;br /&gt;
| text/html&lt;br /&gt;
| HTML-ÑÑÑÐ°Ð½Ð¸ÑÐ°&lt;br /&gt;
|-&lt;br /&gt;
| image/gif&lt;br /&gt;
| ÐÐ·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ðµ GIF&lt;br /&gt;
|-&lt;br /&gt;
| video/mpeg&lt;br /&gt;
| ÐÐ¸Ð´ÐµÐ¾-ÑÐ°Ð¹Ð» Ð² ÑÐ¾ÑÐ¼Ð°ÑÐµ MPEG&lt;br /&gt;
|-&lt;br /&gt;
| application/msword       &lt;br /&gt;
| ÐÐ¾ÐºÑÐ¼ÐµÐ½Ñ MS Word&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>RicroAcdom</name></author>	</entry>

	</feed>