»ç¿ëÀÚ¿¡°Ô ÀÔ·ÂÀÇ ÀÚÀ¯¸¦, CGI
CGI(Common Gateway Interface)¶ó ÇÔÀº À¥ ¼­ºñ½º Á¦°øÀÚ°¡ ƯÁ¤ Çü½ÄÀÇ ¹®¼­¸¦ Á¦°øÇÏ´Â °æ¿ì, »ç¿ëÀÚ°¡ ºê¶ó¿ìÀú¸¦ ÀÌ¿ëÇØ ¹®¼­ÀÇ ±¸¼º¿¡ ¸Â°Ô ÀÔ·ÂÇÏ¸é ±× ³»¿ëÀÌ ¼­¹öÀÇ Æ¯Á¤ ÇÁ·Î±×·¥¿¡ Àü´ÞµÉ ¼ö ÀÖµµ·Ï ±¸ÇöÇÑ °ÍÀÌ´Ù. ±×·¯¹Ç·Î À̸¦ ÀÌ¿ëÇϸé ÀϹæÀûÀ¸·Î ¼­ºñ½º¸¦ Á¦°øÇÏ´Â µ¥ ±×Ä¡´Â °ÍÀÌ ¾Æ´Ï¶ó »ç¿ëÀڷκÎÅÍ ¿øÇÏ´Â Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Ù.

CGIÀÇ ±âº» Çü½Ä
ÀÌ·± ±â´ÉÀ» ´ã´çÇÏ´Â HTML ¹®¼­ÀÇ Áö½ÃÀÚ´Â <form>À» ÀÌ¿ëÇÑ´Ù.

<form method={POST|GET} action=url> .... </form>

¿©±â¼­ action¿¡´Â ÀÔ·ÂµÈ ³»¿ëÀ» Àü´ÞÇÒ ÇÁ·Î±×·¥ À̸§ÀÌ ¿À°í method¿¡´Â ÇØ´ç ÀÔ·Â ³»¿ëÀ» ¾î¶² Çü½ÄÀ¸·Î ÇÁ·Î±×·¥¿¡ Àü´Þ ÇÒ °ÍÀÎÁö¸¦ ¸í½ÃÇÑ´Ù. POSTÀÇ °æ¿ì¿¡´Â ÀÔ·ÂµÈ ³»¿ëÀ» ÇÁ·Î±×·¥¿¡ Ç¥ÁØ ÀÔ·ÂÀ» ÅëÇØ ³Ñ°ÜÁֹǷΠÇÁ·Î±×·¥¿¡¼­´Â ÇØ´ç ³»¿ëÀ» sc anf³ª getch, gets µîÀÇ ÇÔ¼ö¸¦ ÀÌ¿ëÇØ ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù. GETÀº POST¿Í ´Þ¸® ÇÁ·Î±×·¥ÀÇ Àμö·Î¼­ ÀÔ·ÂµÈ ³»¿ëÀ» ³Ñ°ÜÁØ´Ù. ±×·¯ ¹Ç·Î ÀÔ·ÂµÈ ¾çÀÌ ¸¹Àº °æ¿ì¿¡´Â ½ºÅÃÀ» ¸¹ÀÌ Â÷ÁöÇϱ⠶§¹®¿¡ ±×¸® ¹Ù¶÷Á÷ÇÑ ¹æ¹ýÀÌ ¾Æ´Ï´Ù. ±×·¯¸é À̸¦ ÀÌ¿ëÇØ ¸Þ½ÃÁö¸¦ ÀÔ·Â ¹Þ´Â ¹®¼­¸¦ ¸¸µé¾î º¸ÀÚ.

<html>
<head>
<title> ¿ù°£ ¸¶¼Ò¿¡ ÀüÇÏ°í ½ÍÀº ¸»</title>
</head>
<body bgcolor=#f0f0f0 text=#0000ff link=#ff0000 vlink=#ffff00 >
<h1> <b>¿ù°£ ¸¶¼Ò¿¡ ÀüÇÏ°í ½ÍÀº ¸»</b></h1>
<hr><hr size=4>
<form method=POST action="/cgi-bin/masomessage">
</form>
<hr size = 3>
<img src="images/up.gif"><a href="maso.html"> ¿ù°£ ¸¶¼Ò ȨÆäÀÌÁö·Î .. </a>
</html>

ÀÌÁ¦ ¸ðµç Áغñ´Â ¿Ï·áµÇ¾ú´Ù. ±×·¯¸é ÀÌÁ¦ <form> Áö½ÃÀÚ »çÀÌ¿¡ ÀԷ¹ÞÀ¸·Á´Â ³»¿ëÀ» ä¿ö³Ö±â·Î ÇÏÀÚ.

ÅؽºÆ® ÀԷ¹ޱâ
ÀԷ¹޴ ³»¿ëÀÇ ±âº»Àº ÅؽºÆ®¶ó ÇÒ ¼ö ÀÖ´Ù. ¹°·Ð ¸ðµç ÀÔ·ÂÀº ÀÏÁ¤ÇÑ ÇüÅÂÀÇ ÅؽºÆ®·Î º¯È¯µÇ¾î Àü´ÞµÇ Áö¸¸ ÀÏ´Ü ÅؽºÆ®¸¦ ÀԷ¹޴ °úÁ¤À» ¾Ë¾Æ º¸ÀÚ.

<input type = "text|password" name="ÀÔ·Â À̸§" value="ÀÔ·Â" ±âº»°ª size=n maxlengh=m >

ÀÌ·± Çü½ÄÀ» ÀÌ¿ëÇϸé ƯÁ¤ ³»¿ëÀ» ÀԷ¹޴ ÀԷ¶õÀÌ ³ªÅ¸³­´Ù. ÀÌ Áö½ÃÀÚ¿¡¼­ typeÀ̶ó ÇÔÀº »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ ³»¿ëÀ» Ç¥½ÃÇÒ °ÍÀÎÁö Ç¥½ÃÇÏÁö ¾ÊÀ» °ÍÀÎÁö¸¦ ³ªÅ¸³»´Â °ÍÀ¸·Î ¾ÏÈ£¸¦ ÀԷ¹޴ °æ¿ì¿¡´Â password·Î ÇÏ´Â °ÍÀÌ ÁÁÀ¸¸®¶ó´Â °ÍÀº ´©±¸³ª ÁüÀÛ ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×¸®°í nameÀº ÇØ´ç ÀԷ¶õÀÇ À̸§À¸·Î ³ªÁß¿¡ ÇÁ·Î±×·¥¿¡ Àü´ÞµÉ ¶§´Â

ÀÔ·Â À̸§=ÀÔ·ÂµÈ ³»¿ë

ÀÇ Çü½ÄÀ¸·Î Àü´ÞµÈ´Ù. size´Â ÀԷ¶õÀÇ Å©±â¸¦ ³ªÅ¸³»¸ç, maxlengthÀÇ °æ¿ì´Â »ç¿ëÀÚ°¡ ÃÖ´ëÇÑ ÀÔ·ÂÇÒ ¼ö ÀÖ´Â ÅؽºÆ®ÀÇ ¼ö¸¦ ³ªÅ¸³½´Ù. ±×·¯¸é À̸¦ ÀÌ¿ëÇØ ÀԷ¹޴ ÀÚ¸®¸¦ ¸¸µé¾î º¸ÀÚ.

À̸§ : <input type=text name="name" size=10><p>
ÁÖÁ¦ : <input type=text name="subject" size=30><p>
ÇÏ°í½ÍÀº ¸» : <input type=text name="contents" size=100><p>

<È­¸é 8> CGI¸¦ ÀÌ¿ëÇÑ ±âº»ÀûÀÎ ÀÔ·Â È­¸é masomsg1.tif

±×·±µ¥ ¸¸µé°í º¸´Ï 'ÇÏ°í ½ÍÀº ¸»'¿¡ ÇØ´çµÇ´Â ³»¿ëÀÌ º°·Î ¸¶À½¿¡ µéÁö ¾Ê´Â´Ù. »ç¿ëÀÚ°¡ ¾²°í ½ÍÀº ³»¿ëÀÌ ¸¹À» °ÍÀÌ ºÐ¸íÇÏ ´Ï±î Á» ´õ Ä¿´Ù¶õ ¹Ú½º·Î ¸¸µå´Â °ÍÀÌ ¾î¿ï¸®¸®¶ó »ý°¢µÈ´Ù. HTML¿¡´Â ÀÌ·± ¸ñÀûÀ» À§ÇØ ´Ù¸¥ ÅؽºÆ® ÀÔ·Â ¹Ú½º¸¦ Á¦°øÇÑ´Ù.

<textarea name="ÀÔ·Â À̸§" rows=n cols=m> ±âº» ÅؽºÆ® </textarea>

ÀÌ Çü½ÄÀ» ÀÌ¿ëÇØ nÁÙ, mÄ­¸¸Å­ÀÇ ÅؽºÆ® ¿µ¿ªÀÌ ³ªÅ¸³­´Ù.

ÇÏ°í½ÍÀº ¸»<br>
<textarea name="contents" rows=5 cols=50></textarea><p>

ÀÌ·¸°Ô °íħÀ¸·Î½á ÀÌÀüº¸´Ù ÈξÀ È¿À²ÀûÀ¸·Î ¸¸µé¾îÁ³À½ÀÌ ºÐ¸íÇÏ´Ù.

<È­¸é 9> ¸¹Àº ÀÔ·ÂÀ» ¹Þ±â À§ÇØ ÅؽºÆ® ¹Ú½º Ãß°¡ masomsg2.tif

ÀÔ·Â Áö½ÃÀÚÀÇ ´Ù¸¥ ±â´É
ÀÔ·Â Áö½ÃÀÚ´Â ÀϹÝÀûÀÎ ÅؽºÆ® ÀԷ¿¡¸¸ »ç¿ëµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó ¶óµð¿À(radio) ¹öÆ°, üũ(check) ¹öÆ°, ¼­¹Ô(submit) ¹öÆ°, ±×¸®°í ¸®¼Â(reset) ¹öÆ°À¸·Î¼­ÀÇ ¿ªÇÒµµ ´ã´çÇÑ´Ù. ÀÌ ±â´ÉÀÇ Çü½Ä°ú ¿ªÇÒÀº ´ÙÀ½°ú °°´Ù.

<input type = "text|password|checkbox|radio|submit|reset" name="ÀÔ·Â À̸§" value="ÀÔ·Â ±âº» °ª" [size=n] [maxlengh=m] [checked]>
¡¤ checkbox : ÇØ´ç ¹öÆ°ÀÇ ÀÔ·Â À̸§¿¡ ÀÔ·Â ±âº»°ªÀ» ÁöÁ¤ÇØ ³Ñ°ÜÁØ´Ù.
¡¤ radio : checkbox¿Í °°Áö¸¸ °°Àº ÀÔ·Â À̸§¿¡ ´ëÇØ Çϳª¸¸ÀÌ Çã¿ëµÈ´Ù.
¡¤ submit : form¿¡ ÀÔ·ÂµÈ ³»¿ëÀ» ¼­¹ö ÇÁ·Î±×·¥¿¡ ³Ñ°ÜÁØ´Ù.
¡¤ reset : formÀÇ ³»¿ëÀ» ¸ðµÎ ÃʱâÈ­ÇÑ´Ù.

ÀÌ ±â´ÉÀ» ÀÌ¿ëÇÏ¸é ¸Þ½ÃÁö¸¦ ÀԷ¹ÞÀ» ¶§ ´Ù¸¥ Á¤º¸µµ ½±°Ô ÀԷ¹ÞÀ» ¼ö ÀÖ´Ù.

À̸§ : <input type=text name="name" size=10><br>
Á÷¾÷<ul>
<li><input type=radio name="jobs" value="student" checked> Çлý
<li><input type=radio name="jobs" value="programmer"> ÇÁ·Î±×·¡¸Ó
<li><input type=radio name="jobs" value="manager"> °æ¿µÀÚ
<li><input type=radio name="jobs" value="other"> ±âŸ
</ul>
º¸À¯ÇÏ°í ÀÖ´Â ÇÁ·Î±×·¥ Á¾·ù<ul>
<li><input type=checkbox name="program" value="word processor"> ¿öµåÇÁ·Î¼¼¼­·ù
<li><input type=checkbox name="program" value="spread sheet"> ½ºÇÁ·¹µå½¬Æ®·ù
<li><input type=checkbox name="program" value="presentation"> ÇÁ¸®Á¨Å×À̼Ƿù
<li><input type=checkbox name="program" value="graphics"> ±×·¡ÇÈ °ü·Ã ÇÁ·Î±×·¥
<li><input type=checkbox name="program" value="multimedia"> ¸ÖƼ¹Ìµð¾î °ü·Ã ÇÁ ·Î±×·¥
<li><input type=checkbox name="program" value="other"> ±âŸ
</ul>
ÁÖÁ¦ : <input type=text name="subject" size=30><p>
ÇÏ°í½ÍÀº ¸»<br>
<textarea name="contents" rows=5 cols=50></textarea><p>
<input type=submit value="³»¿ëÀ» Àü´ÞÇÕ´Ï´Ù."><input type=reset value="³»¿ëÀ» ÃʱâÈ­"> <p>

<È­¸é 10> ¹öÆ° ±â´É Ãß°¡masomsg3.tif

Select Áö½ÃÀÚ
ÀÌÁ¦ ¸¶Áö¸·À¸·Î Select Áö½ÃÀÚ¸¦ »ìÆì º¸ÀÚ. ÀÌ°ÍÀº ¿©·¯ °³ÀÇ °ªÁß¿¡¼­ Çϳª ¶Ç´Â ±× ÀÌ»óÀ» ¼±ÅÃÇÏ´Â °æ¿ì¿¡ »ç¿ëµÈ´Ù. À̸¦ À§ÇØ ´ÙÀ½°ú °°Àº Çü½ÄÀÌ Á¦°øµÈ´Ù.

<select name="ÀÔ·ÂÀ̸§" [size=n] [multiple]>
<option value="ÇØ´ç³»¿ëÀÇ °ª" [selected]> ¼±Åó»¿ë
<option ...
</select>

¿©±â¿¡¼­ nameÀº ¾Õ¿¡¼­ ¼³¸íÇÑ °Í°ú °°°í, size´Â ¿©·¯ Ç׸ñÁß¿¡¼­ ÇÑ ¹ø¿¡ È­¸é¿¡ ³ªÅ¸³¾ ¼ö ÀÖ´Â °³¼ö¸¦, multipleÀº ÀÌ ¼± Åà Áö½ÃÀÚ°¡ ¿©·¯ °¡Áö ÀÔ·ÂÀ» Çã¿ëÇϴ°¡¸¦ ³ªÅ¸³»±â À§ÇØ ÇÊ¿äÇÏ´Ù. ¾Õ¿¡¼­ inputÀÇ checkbox¸¦ »ç¿ëÇصµ µÇÁö¸¸ ¼±ÅÃÇÒ ¼ö ÀÖ ´Â Á¾·ù°¡ ¸¹Àº °æ¿ì¿¡´Â ÀÌ ¹æ½ÄÀÌ ÈξÀ È¿À²ÀûÀÌ´Ù.

»ç¿ëÇÏ´Â ÄÄÇ»ÅÍ : <select name="computer">
<option value="286AT">286±âÁ¾
<option value="386SXDX">386±âÁ¾
<option value="486SXDX">486±âÁ¾
<option value="Pentium">ÆæƼ¾ö±âÁ¾
</select><p>
°®Ãß°í ÀÖ´Â ÁÖº¯ ±â±â : <select name="peripheral" size=5 multiple>
<option value="cdrom"> CD-ROM Drive
<option value="printer"> ÇÁ¸°ÅÍ
<option value="removable"> Removable ÀúÀå ¸Åü
<option value="sound"> »ç¿îµå Ä«µå
<option value="tvcard"> TV¼ö½ÅÄ«µå
<option value="mpeg"> MPEGÄ«µå
<option value="backup"> Backup Àåºñ
<option value="digitizer"> µðÁöŸÀÌÁ®
<option value="scanner"> ½ºÄɳÊ
</select><p>

<È­¸é 11> ¸Þ´ºÁß¿¡¼­ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. masomsg4.tif

/* »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ ³»¿ëÀ» ´ã°í ÀÖ´Â ÀÚ·á ±¸Á¶ */
typedef struct _Form_entry Form_entry;
struct _Form_entry {
char *name; /* ÀÔ·Â Ç׸ñÀÇ À̸§À» ³ªÅ¸³½´Ù. */
char *value; /* ÇØ´ç Ç׸ñ¿¡ ´ëÇØ ÀÔ·ÂµÈ ³»¿ëÀ» ´ã°í ÀÖ´Ù.
*/
Form_entry *next; /* ´ÙÀ½ Form_entry¸¦ °¡¸®Å²´Ù. */
/* ´ÙÀ½ÀÌ ¾ø´Â °æ¿ì NULL·Î ä¿öÁø´Ù. */
};

/* °¡Àå ¸ÕÀú »ç¿ëµÇ´Â °ÍÀ¸·Î¼­ Cgi_info¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ ÀÔ·Â¹Þ¾Æ ÇØ´çµÇ´Â */
/* ³»¿ëÀ» ä¿öÁØ´Ù. ¼º°øÇÑ °æ¿ì TRUE¸¦ µÇµ¹·ÁÁØ´Ù. */
int Get_cgi_info( Pcgi_info );

/* ¾ÕÀÇ ÇÔ¼ö¿¡¼­ ÀÔ·ÂµÈ Cgi_info¸¦ ÀÌ¿ëÇØ Form_entryÀÇ Single Linked List¸¦ */
/* ¸¸µé°í ±× ù¹ø° °ÍÀ» µÇµ¹·ÁÁØ´Ù. */
Pform_entry Get_form_entities( Pcgi_info );

/* Á÷Á¢ ³»¿ëÀ» ¼­¹ö¿¡ Àü´ÞÇÏ°íÀÚ ÇÏ´Â °æ¿ì Mime ŸÀÔÀ» ÀÔ·ÂÇÏ¸é ±× ³»¿ëÀ» */
/* ƯÁ¤ Æ÷¸Ë¿¡ ¸ÂÃç¼­ Ç¥ÁØ Ãâ·ÂÀ¸·Î ÀμâÇÑ´Ù. ÇÁ·Î±×·¥ »ó¿¡¼­ Á÷Á¢ */
/* HTML ¹®¼­¸¦ ¸¸µé¾î º¸³»´Â °æ¿ì´Â text/htmlÀ̶ó°í ³Ñ°ÜÁÖ¸é µÈ´Ù. */
int Print_mimeheader( Entity_value );

/* ´Ù¸¥ °÷À» °¡¸®Å°´Â URLÀ» ³Ñ°ÜÁÖ°íÀÚ ÇÏ´Â °æ¿ì »ç¿ëµÈ´Ù. */
int Print_url( Pcgi_info );

ÀÌ ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇϸé ÀÔ·ÂÀ» ó¸®ÇÏ´Â °úÁ¤À» °£´ÜÈ÷ ¸¸µé ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ÀÌ ¶óÀ̺귯¸®¸¦ »ç¿ëÇÒ ¶§ »ç¿ëÀÚ´Â main ÇÔ ¼ö¸¦ ¸¸µé ÇÊ¿ä°¡ ¾øÀ½¿¡ ÁÖÀÇÇØ¾ß ÇÑ´Ù. ¿¹¸¦ º¸¸é ¾Ë°ÚÁö¸¸ ¶óÀ̺귯¸®¿¡¼­ main ÇÔ¼ö°¡ Á¦°øµÇ°í ÀÌ ÇÔ¼ö´Â ÀÚµ¿À¸·Î Get_cgi _info¸¦ È£ÃâÇÑ ÈÄ ±× °á°ú¸¦ °®°í Cgi_main_process¸¦ È£ÃâÇÑ´Ù. ±×·¯¹Ç·Î »ç¿ëÀÚ´Â Cgi_main_process¸¸ ¸¸µé¸é µÈ´Ù. ±×·¯¸é ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇØ ¸Þ½ÃÁö¸¦ ó¸®ÇÏ´Â ÇÁ·Î±×·¥À» º¸µµ·Ï ÇÏÀÚ.

#include <stdio.h>
#include "cgi.h" /* ÇØ´ç ¶óÀ̺귯¸®¸¦ »ç¿ëÇϱâ À§ÇÑ
ÀÎÅ©·çµå ÆÄÀÏ */

Cgi_main_process(cgi_info) /* »ç¿ëÀÚ´Â ÀÌ ÇÔ¼öÀÇ ³»¿ë¸¸À» ä¿ö ³ÖÀ¸¸é µÈ´Ù. */
Pcgi_info cgi_info;
{
Pform_entry params;

Print_mimeheader("text/html"); /* Á÷Á¢ HTML ¹®¼­¸¦ ÇÁ·Î±×·¥ »ó¿¡¼­ ¸¸µé¾î º¸³»ÀÚ */
printf("<html><head><title>Your Input values are ...</title></head>");
printf("<body bgcolor=#ffffff text=#0000ff link=#00ffff vlink=#ffff00>");
printf("<h1>Your Input Values are ...</h1><hr size=4>");

params=Get_form_entities(cgi_info); /* »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ Á¤º¸¸¦ ¹Þ¾Æ¿À±â À§ÇÑ ÇÔ¼ö È£Ãâ */

while (params) { /* »ç¿ëÀÚÀÇ ÀÔ·ÂÀº paramsÀ¸·Î ½ÃÀÛÇÏ´Â */
/* Single Linked List¿¡ ÀúÀåµÈ´Ù. */
if (!strcasecmp(params->name, "name")) /* ÀÔ·Â À̸§À» È®ÀÎÇØ */
printf("Name : <b>%s</b><p>\n", params->value); /* ÇØ´ç°ªÀ» ÀμâÇÑ´Ù. */
else if(!strcasecmp(params->name, "jobs"))
printf("Job : <b>%s</b><p>\n", params->value);
else if(!strcasecmp(params->name, "program"))
printf("Program that you have : <b>%s</b><p>\n", params->value);
else if(!strcasecmp(params->name, "computer"))
printf("Computer : <b>%s</b><p>\n", params->value);
else if(!strcasecmp(params->name, "peripheral"))
printf("Peripheral Device : <b>%s</b><p>\n", params->value);
else if(!strcasecmp(params->name, "subject"))
printf("Message Subject : <b>%s</b><p>\n", params->value);
else if(!strcasecmp(params->name, "contents"))
printf("Contents : <p><b>%s</b>\n", params->value);
params = params->next; /* ´ÙÀ½¹ø »ç¿ëÀÚ ÀÔ·Â Ç׸ñÀ¸·Î À̵¿ÇÑ´Ù. */
}

printf( "</body></html>" ); /* HTML ¹®¼­ÀÇ ³¡ÀÓÀ» ¾Ë¸°´Ù. */
}

<È­¸é 12> ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÑ ÀÔÃâ·Â msgreslt.tif

¾î¶»°Ô ¸¸µå´À³Ä º¸´Ù ¹«¾ùÀ» ¸¸µå´À³Ä°¡ Áß¿äÇÏ´Ù
Áö±Ý±îÁö À¥ ÆäÀÌÁö¸¦ ¸¸µé°í À̸¦ ÀÌ¿ëÇØ »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹Þ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æ º¸¾Ò´Ù. µ¶ÀÚ ¿©·¯ºÐÀº ÀÌ °úÁ¤¿¡ µû¶ó ÇÑ ¹ø Á¤µµ¸¸ À¥ ÆäÀÌÁö¸¦ ¸¸µé¾î º¸¸é ÀÌÁ¦´Â ´©°¡ ¹¹·¡µµ HTML°ú CGIÀÇ µµ»ç°¡ µÇ¾î ÀÖ´Â °ÍÀÌ´Ù. ÀÌÇØÇϱ⠽±°Ô ±ÛÀ» À̲ø¾î °¡ ·Á°í ÇßÁö¸¸ ¶æÇÏ´Â ¹Ù´ë·Î ÀÌ·ïÁ³´ÂÁö Àå´ãÇϱ⠾î·Æ´Ù.
Âü°í·Î ¿©±â¿¡¼­ »ç¿ëµÈ ¶óÀ̺귯¸®´Â 'http://chopin.kist.re.kr/flute'³ª 'ÀÌ´ÞÀÇ µð½ºÄÏ'À» Á¦°øµÇ¹Ç·Î ÇÊ¿äÇÑ °æ¿ì¿¡´Â ¹Þ ¾Æº¸¸é µÉ °ÍÀ̸ç, ±×¿ÜÀÇ ±Ã±ÝÇÑ »çÇ×Àº flute@chopin.kist.re.kr·Î ¿¬¶ôÁֱ⠹ٶõ´Ù.