ÀÎÄÚµù
- °ø¹é: +·Î ´ëÄ¡
- ÆûÀÇ À̸§°ú °ª: name=value
- À̸§, °ªÀÇ ½Ö: name1=value1&name2=value2
- Ư¼ö¹®ÀÚ: %HH
HTTPÀÇ µ¿ÀÛ¿ø¸®
HTTPÀÇ µ¿ÀÛ¿ø¸®¸¦ ¾Ë¾Æº¸±âÀ§ÇØ telnetÀ» ÀÌ¿ëÇØ º¸ÀÚ. ´ÙÀ½Àº telnetÀ» ÀÌ¿ëÇؼ À¥¼ºñ½º¸¦ Á¦°ø¹Þ´Â ¿¹ÀÌ´Ù. Unix ¸í·ÉÇà¿¡¼ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇØ º¸±â¹Ù¶õ´Ù.
GET¿¡ ÀÇÇÑ ¹®¼ÀÇ ¿äû
% telnet syscon.soongsil.ac.kr 80
Trying 203.253.15.34 ...
Connected to syscon.soongsil.ac.kr.
Escape character is '^]'.
GET /~artech/cgi-bin/rguest.cgi?key=±è HTTP/1.0
HTTP/1.0 200 OK
Server: Microsoft-PWS/3.0
Date: Wed, 10 Sep 1997 18:02:48 GMT
Content-Type: text/html
Accept-Ranges: bytes
Last-Modified: Tue, 09 Sep 1997 16:32:24 GMT
Content-Length: 708
<html>
<head>
<TITLE>Welcome to DoA's World !!!</TITLE>
</head>
...
</html>
Connection closed by foreign host.
POST¿¡ ÀÇÇÑ ¹®¼ÀÇ ¿äû
% telnet syscon.soongsil.ac.kr 80
Trying 203.253.15.34 ...
Connected to syscon.soongsil.ac.kr.
Escape character is '^]'.
POST /~artech/cgi-bin/wguest.cgi HTTP/1.0
content-length: 45
realname=JaeGeun&comments=No+Comments
HTTP/1.0 301 Moved
Location: /~artech/cgi-bin/rguest.cgi
Connection closed by foreign host.
À§ÀÇ ¿¹¿¡¼ ¾Ë ¼ö ÀÖµíÀÌ HTTP´Â ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î µ¿ÀÛÇÑ´Ù.
DNS->IP % tn comp.mailx2.com 80
Trying 210.206.89.230...
IP ÀÌ¿ë Á¢¼Ó Connected to comp.mailx2.com.
Escape character is '^]'.
HTTP ¿äû GET /~artech/cgi-bin/rguest.cgi?key=±è HTTP/1.0
HTTP ÀÀ´ä HTTP/1.0 200 OK
Content-type: text/html
Last-modified: Saturday, 07-Mar-98 04:33:36 GMT
Content-length: 947
<html>
...
<html>
Á¢¼ÓÇØÁ¦ Connection closed by foreign host
Ŭ¶óÀ̾ðÆ®´Â TCP/IP¸¦ ÅëÇØ DNS¸¦ IP·Î º¯È¯ÇÑ´Ù. ÀÌ·¸°Ô º¯È¯µÈ IP¸¦ ÀÌ¿ëÇؼ ¿ø°ÝÈ£½ºÆ®¿¡ Á¢¼ÓÇÏ°í, HTTP¸¦ ÅëÇØ ¹®¼¸¦ ¿äûÇÑ´Ù. ¼¹ö´Â ÆÄÀÏ ½Ã½ºÅÛÀ¸·ÎºÎÅÍ Å¬¶óÀ̾ðÆ®°¡ ¿äûÇÑ ¹®¼¸¦ Àоî HTTP¸¦ ÅëÇØ Å¬¶óÀ̾ðÆ®¿¡ Àü¼ÛÇÑ´Ù. Àü¼ÛÀÌ ³¡³ª¸é ¼¹ö´Â TCP/IP Á¢¼ÓÀ» Á¾·áÇϰԵȴÙ.
Áï, HTTP´Â Á¢¼Ó, ¿äû, ÀÀ´ä, Á¢¼ÓÇØÁ¦ÀÇ ³× ´Ü°è·Î ÁøÇàµÈ´Ù.
CGIÀÇ µ¿ÀÛ
CGIµµ À¥»ó¿¡¼ HTTP¸¦ ÅëÇØ µ¿ÀÛÇϹǷΠHTTP¿Í µ¿ÀÏÇÑ ÀýÂ÷¿¡ µû¶ó µ¿ÀÛÇÑ´Ù. ´Ù¸¸ ÇÑ°¡Áö Â÷ÀÌ´Â ÀϹÝÀûÀÎ ¹®¼ÀÇ °æ¿ì¿¡´Â ÆÄÀÏ ½Ã½ºÅÛÀ¸·ÎºÎÅÍ ¹®¼¸¦ Àоî Àü¼ÛÇÏÁö¸¸ CGIÀÇ °æ¿ì¿¡´Â ÆÄÀÏÀÌ ¾Æ´Ï¶ó CGI¸¦ ½ÇÇàÇÑ °á°ú¸¦ Ŭ¶óÀ̾ðÆ®¿¡ Àü¼Û ÇÑ´Ù´Â Á¡ÀÌ´Ù.
TCP/IP DNS¸¦ IP·Î º¯È¯(Lookup Host)
TCP/IP IP¸¦ ÀÌ¿ëÇؼ Á¢¼Ó(Contacting Host)
HTTP HTTP ¸í¼¼¿¡ µû¶ó ¹®¼¿äû(Request Message)
Server ¼¹öÀÇ »óŸ¦ ȯ°æº¯¼ö·Î ÀúÀåÇÏ°í CGI È£Ãâ
CGI ȯ°æ º¯¼ö¸¦ ÀÌ¿ë, Àû´çÇÑ Ã³¸®¸¦ ÇÑ ÈÄ, °á°ú¸¦ ¼¹ö¿¡ Àü´Þ
Server CGI Ãâ·Â¿¡ Çì´õ¸¦ ´õÇØ ÀÀ´ä ¸Þ½ÃÁö ±¸¼º
HTTP HTTP ¸í¼¼¿¡ µû¶ó ÀÀ´ä(Replay Message)
TCP/IP Á¢¼ÓÇØÁ¦
ÀϹÝÀûÀÎ °æ¿ì À¥»ó¿¡¼ÀÇ ¿äûÀº ÇÏÀÌÆÛ¸µÅ©(Hyper Link)¸¦ ÅëÇؼ ÀÌ·ç¾îÁöÁö¸¸ CGIÀÇ ¿äûÀº ÁÖ·Î Form ű׳ª Isindex ű׸¦ ÅëÇؼ ÀÌ·ç¾îÁø´Ù. ¶ÇÇÑ º¸ÅëÀÇ ¿äûÀÏ °æ¿ì¿¡´Â À¥ ¼¹ö´Â °ð¹Ù·Î ¿äûÇÑ ¹®¼¸¦ ÆÄÀÏ ½Ã½ºÅÛÀ¸·ÎºÎÅÍ ÀоîµéÀÎ ´ÙÀ½ Ŭ¶óÀ̾ðÆ® ÃøÀ¸·Î Àü´ÞÇÏ°Ô µÈ´Ù. ±×·¯³ª ¿äûµÈ URLÀÌ CGI ÇÁ·Î±×·¥ÀÏ °æ¿ì´Â ±× CGI ÇÁ·Î±×·¥À» È£ÃâÇؼ CGI ÇÁ·Î±×·¥ÀÌ µ¿ÀûÀ¸·Î »ý¼ºÇÏ´Â ¹®¼¸¦ Ŭ¶óÀ̾ðÆ® ÃøÀ¸·Î Àü´ÞÇÏ°Ô µÈ´Ù.
»ç¿ëÀÚ°¡ Form ű×ÀÇ Á¦Ãâ(Submit) ¹öÆ°À» Ŭ¸¯Çϸé Ŭ¶óÀ̾ðÆ®´Â ÇöÀçÀÇ ½Ã°£, ³¯Â¥¿Í °°Àº ½Ã½ºÅÛ Á¤º¸¿Í »ç¿ëÀÚÀÇ ID, »ç¿ëÀÚÀÇ µµ¸ÞÀθí°ú °°Àº »ç¿ëÀÚ Á¤º¸¸¦ Æ÷ÇÔÇÑ ¿äû ¸Þ½ÃÁö(Request Message)¸¦ À¥ ¼¹ö¿¡ Àü¼ÛÇÑ´Ù.
À¥ ¼¹ö´Â ¿äûµÈ URLÀÌ ¾î¶² Á¾·ùÀÇ ÆÄÀÏ(SSI, CGI, Perl)Àΰ¡¸¦ ºÐ¼®ÇÑ ÈÄ, CGI ÇÁ·Î±×·¥ÀÏ °æ¿ì ¿äû Çì´õ(Request Header)¿¡ Æ÷ÇÔµÈ »óÅÂÁ¤º¸¸¦ ȯ°æº¯¼ö(QUERY_STRING, CONTENT_LENGTH µîµî)·Î ¼³Á¤ÇÏ°í ³ª¼ CGI ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°°Ô µÈ´Ù.
±×·¯¸é CGI ÇÁ·Î±×·¥Àº ´Ù¸¥ ¼ºñ½º¸¦ ÀÌ¿ëÇϱâ À§ÇØ ´Ù¸¥ ÇÁ·Î±×·¥À» ´Ù½Ã ¶Ç È£ÃâÇϰųª ¾Æ´Ï¸é Á÷Á¢ 󸮸¦ ÇÑ ´ÙÀ½ »ç¿ëÀÚ¿¡°Ô º¸¿©ÁÙ ¹®¼¸¦ Ç¥ÁØ Ãâ·ÂÀ¸·Î º¸³»°Ô µÈ´Ù. ±×·¯¸é ÀÌ°ÍÀ» ¹ÞÀº ¼¹ö´Â ´Ù½Ã Ŭ¶óÀ̾ðÆ® ÃøÀ¸·Î ³×Æ®¿öÅ©¸¦ ÅëÇØ °á°ú¸¦ Àü¼ÛÇÏ°Ô µÈ´Ù. µû¶ó¼ ¾î¶² CGI ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´À³Ä¿¡ µû¶ó¼ ´Ù¾çÇÑ ¼ºñ½º¸¦ Á¦°øÇÒ ¼ö ÀÖ´Ù.
CGI ÇÁ·Î±×·¥
CGI´Â ÀԷ°ú Ãâ·ÂÀ» Á¤ÀÇÇÑ °ÔÀÌÆ®¿þÀÌÀÇ Ç¥ÁؾÈÀ̸ç, ÀÌ Ç¥Áؾȿ¡ µû¶ó ÀÛ¼ºÇÑ ÇÁ·Î±×·¥ÀÌ CGIÇÁ·Î±×·¥ÀÌ´Ù. µû¶ó¼ CGI´Â ¾î¶°ÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î·Îµµ ÀÛ¼ºÇÒ ¼ö ÀÖÀ¸¸ç, ½ÉÁö¾î´Â µµ½ºÀÇ ¹èÄ¡ÆÄÀϷεµ ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.
¾î¶°ÇÑ ¾ð¾î¸¦ »ç¿ëÇÒ °ÍÀΰ¡ ÇÏ´Â ¹®Á¦´Â CGI ÇÁ·Î±×·¡¸ÓÀÇ ÃëÇâ¿¡ ´Þ¸° ¹®Á¦ÀÌÁö¸¸ C/C++, Fortranµî°ú °°Àº ÄÄÆÄÀÏ ¾ð¾î´Â CGI ÇÁ·Î±×·¥À» ¼öÇàÇÏ´Â ½Ã°£¸é¿¡¼ ÀÕÁ¡ÀÌ ÀÖÁö¸¸ ¸Å¹ø ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÀ» ÇؾßÇÑ´Ù´Â Á¡ ¶§¹®¿¡ Perl, Tcl, Shell µî°ú °°Àº ½ºÅ©¸³Æ® ¾ð¾î°¡ CGI ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î ¸¹ÀÌ »ç¿ëµÇ°í ÀÖ´Ù.
CGI ÇÁ·Î±×·¥°ú ÀϹÝÇÁ·Î±×·¥ÀÇ Â÷ÀÌ
[hello.pl]
#! /usr/local/bin/perl
print "Hello, World!"; |
[hello.cgi]
#! /usr/local/bin/perl
print "Content-Type: text/html\n\n";
print "<html><body>\n";
print "Hello, World!\n";
print "</body></html>"; |
hello.cgiÀÇ ½ÇÇ࿹
hello.cgi
À§ÀÇ µÎ ÇÁ·Î±×·¥ ¸ðµÎ ȸé»ó¿¡ "Hello, World!"¶ó´Â ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù. ±×·¯³ª hello.plÀÌ "Hello, World!"¶ó´Â ¸Þ½ÃÁö¸¸ ȸ鿡 Ãâ·ÂÇÏ´Â ¹Ý¸é¿¡ hello.cgi´Â CGI Ç¥ÁØ¿¡µû¶ó "Content-type: text/html\n\n"À» ¸ÕÀú Ãâ·ÂÇÑ´Ù.
ÀϹÝÀûÀ¸·Î ÀÎÅÍ³Ý Ç¥ÁØÀÎ MIME(Multipurpose Internet Mail Extension)Àº Á¢¹Ì»ç(Suffix ¶Ç´Â È®ÀåÀÚ)¿¡ÀÇÇØ ÆÄÀÏÇü½ÄÀ» ±¸ºÐÇÏ´Â ¹æ¹ýÀÌ´Ù. ±×·¯³ª CGI´Â ÀÓÀÇÀÇ MIME Çü½ÄÀ» Ãâ·ÂÇÒ ¼ö ÀÖ´Ù. ¾Õ¼ÀÇ ¿¹¿¡¼ º¸¸é ¹æ¸í·ÏÀÇ °æ¿ì¿¡´Â text/htmlÀ̶ó´Â MIME Çü½ÄÀ» Ãâ·ÂÇÏÁö¸¸ À¥ Ä«¿îÅÍ´Â image/gif ¶ó´Â MIME Çü½ÄÀ» Ãâ·ÂÇÑ´Ù.
µû¶ó¼ CGIÀÇ Ãâ·ÂÀº Á¢¹Ì»ç(Suffix ¶Ç´Â È®ÀåÀÚ)¿¡ÀÇÇؼ´Â ±¸ºÐÇÒ ¼ö ¾øÀ¸¹Ç·Î CGI ¸í¼¼¿¡¼´Â CGIÀÇ Ã¹ ¹ø° Ãâ·ÂÀº ÇöÀç Ãâ·ÂµÇ´Â ¹®¼°¡ ¾î¶² Çü½ÄÀÇ ¹®¼ÀÎÁö¸¦ ºê·Î¿ìÀú°¡ ¾Ë ¼ö ÀÖµµ·Ï Çì´õ Á¤º¸¸¦ Ãâ·ÂÇϵµ·Ï ±ÔÁ¤ÇÏ°í ÀÖ´Ù. Çì´õ Á¤º¸´Â "Content-Type: Main-Type/Sub-Type\n\n"ÀÇ Çü½Ä¿¡ ¹Ýµå½Ã ¸ÂÃß¾î¾ß ÇÑ´Ù.
Áï, ¸ÕÀú ¹®¼ Çü½ÄÀ» Ÿ³ª³»´Â Çì´õÁ¤º¸¶ó´Â °ÍÀ» ¾Ë·ÁÁÖ´Â "Content-Type:"¿¡ ¹®¼ÀÇ Çü½ÄÀ» "Main-Type/Sub-Type"ÀÇ ÇüÅ·ΠÃâ·ÂÇÏ°í Çì´õ¿Í Body¸¦ ±¸ºÐÇϱâÀ§ÇØ °ø¹é ¶óÀÎÀ» Çϳª Ãß°¡ÇØ¾ß ÇÑ´Ù.
ÀÌ Çü½Ä¿¡ ¸ÂÁö ¾ÊÀº °æ¿ì, ¼¹ö´Â º¸Åë "Document contains no data"³ª "500 Internal Server Error"¶ó´Â ¿À·ù ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ°Ô µÈ´Ù. Content-TypeÀº ÀÏ¹Ý ÅؽºÆ® ÆÄÀÏÀÏ °æ¿ì´Â "text/plain", HTML ¹®¼ÀÏ °æ¿ì´Â "text/html", JPEG À̹ÌÁöÀÏ °æ¿ì´Â "images/jpeg"µîÀÌ °¡´ÉÇÏ¸ç °¢°¢ÀÇ ÆÄÀÏ¿¡ µû¶ó¼ MIME À¯ÇüÀÌ Á¤ÀǵǾî ÀÖ´Ù.
µû¶ó¼ HTML ¹®¼·Î ÀνÄÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§Çؼ´Â ¹®¼ÀÇ º» ³»¿ëÀÌ Ãâ·ÂµÇ±â Àü¿¡ "Content-Type: text/html\n\n"À̶õ Çì´õ¸¦ ¹Ýµå½Ã Ãâ·ÂÇؾ߸¸ ÇÑ´Ù.
µÎ¹ø°·Î ¹®¼¸¦ Content-Type¿¡ ¸Â°Ô Ãâ·ÂÇؾ߸¸ ÇÑ´Ù. À§ÀÇ ¿¹¿¡¼´Â Content-TypeÀÌ text/htmlÀ̹ǷΠ"Hello, World!"ÀÇ ¾ÕµÚ·Î "<html><body>", "</body></html>"¸¦ Ãß°¡Çß´Ù.
CGI ÇÁ·Î±×·¥ÀÇ ½ÇÇà
¸í·ÉÇà¿¡¼ CGI ÇÁ·Î±×·¥ÀÇ ½ÇÇà
CGI ÀÛ¼º½Ã ÇÑ°¡Áö ÁÖÀÇÇÒ Á¡Àº CGI ÇÁ·Î±×·¥ ¿ª½Ã ½ÇÇà ÇÁ·Î±×·¥À̶ó´Â Á¡ÀÌ´Ù. ÀÏ¹Ý ÇÁ·Î±×·¥°úÀÇ Â÷ÀÌÁ¡Àº ÀÏ¹Ý ÇÁ·Î±×·¥Àº ÁÖ·Î ¸í·ÉÇà¿¡¼ ½ÇÇàµÇ´Â ¹Ý¸é CGI ÇÁ·Î±×·¥Àº ÁÖ·Î Web¿¡¼ ½ÇÇàµÈ´Ù´Â °ÍÀÌ´Ù. CGI ÇÁ·Î±×·¥µµ ½ÇÇà ÇÁ·Î±×·¥À̹ǷΠ¹Ýµå½Ã ¸í·ÉÇà¿¡¼ ¸ÕÀú ½ÇÇàÇÑ ÈÄ À¥ »ó¿¡¼ ½ÇÇàÇØ¾ß ÇÑ´Ù.
À§ÀÇ ¿¹´Â Perl Script·Î ÀÛ¼ºµÆÀ¸¹Ç·Î hello.cgi¸¦ ½ÇÇàÆÄÀÏ·Î ¸¸µé±âÀ§Çؼ´Â ´ÙÀ½°ú °°Àº ¸í·ÉÀ¸·Î ½ÇÇà±ÇÇÑÀ» ÁÖ¾î¾ß ÇÑ´Ù.
% chmod 755 cgi_program
% cgi_program
À¥»ó¿¡¼ ½ÇÇà
¸í¸íÇà¿¡¼ CGI°¡ Á¤»óÀûÀ¸·Î ¼öÇàµÇ¾úÀ¸¸é Ŭ¶óÀ̾ðÆ®ÀÇ À§Ä¡(Location)»óÀÚ¿¡ CGIÀÇ URLÀ» Á÷Á¢ÀÔ·ÂÇÔÀ¸·Î¼ CGI¸¦ ½ÇÇà½Ãų ¼ö ÀÖ´Ù. Áï,
http://ix.bit.co.kr/~artech/cgi-bin/hello.cgi
À§ÀÇ ¸í·ÉÀ» ¼öÇàÇؼ "Hello World!"¶ó´Â ¸Þ½ÃÁö°¡ Ãâ·ÂµÇ¸é CGI´Â Á¤»óÀûÀ¸·Î ¼öÇàµÈ °ÍÀÌ´Ù.
À¥°ú ½Ã½ºÅÛÀÇ µð·ºÅ丮 ±¸Á¶
´ÙÀ½ ±×¸²Àº Unix ½Ã½ºÅÛ °æ·Î¿Í URL »çÀÌÀÇ °ü°è¸¦ ³ªÅ¸³½ °ÍÀÌ´Ù. °ýÈ£·Î Ç¥½ÃµÈ °ÍÀº ÇØ´ç URL¿¡´ëÇÑ ½Ã½ºÅÛ °æ·ÎÀ̸ç, ȸ»öÀ¸·Î Ç¥½ÃÇÑ µð·ºÅ丮ÀÇ ÇÏÀ§ µð·ºÅ丮¸¸ À¥¿¡¼ Á¢±Ù °¡´ÉÇÏ´Ù.
¶ÇÇÑ (Server)·Î Ç¥½ÃÇÑ µð·ºÅ丮´Â À¥¼¹ö ¼³Á¤¿¡ÀÇÇØ Á¢±Ù °¡´ÉÇÑ µð·ºÅ丮ÀÌ´Ù.
CGI ÀÛ¼º½Ã À¯ÀÇ »çÇ×
´ÙÀ½Àº CGI ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¶§ À¯ÀÇÇÒ »çÇ×ÀÌ´Ù. CGI ÇÁ·Î±×·¥¿¡¼ 500 Internal Server Error°¡ ¹ß»ýÇÏ´Â ÀÌÀ¯´Â ´ÙÀ½ ÁÖÀÇ »çÇ×À» ÁöÅ°Áö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù. ¹Ýµå½Ã ´ÙÀ½ À¯ÀÇ »çÇ×À» ¼÷ÁöÇÏ°í ²À ÁöÄÑÁֱ⠹ٶõ´Ù.
- È®ÀåÀÚ
CGIÀÇ È®ÀåÀÚ´Â °¡±ÞÀû .cgi·Î ÇÑ´Ù. ¼¹öÀÇ ¼³Á¤¿¡ µû¶ó È®ÀåÀÚ°¡ .cgi°¡ ¾Æ´Ñ°æ¿ì¿¡´Â CGI°¡ ½ÇÇàµÇÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù.
- µð·ºÅ丮
CGI´Â °¡±ÞÀû cgi-bin µð·ºÅ丮¿¡¼ ±âµ¿ÇÑ´Ù. ´ëºÎºÐÀÇ À¥¼¹öÀÇ ¼³Á¤ÀÌ cgi-bin µð·ºÅ丮¿¡¼¸¸ CGI ½ÇÇàÀÌ °¡´ÉÇϵµ·Ï µÇ¾î ÀÖ´Ù.
- Æ۹̼Ç
CGI ÇÁ·Î±×·¥À» ½ÇÇàÇÏ´Â Áß¿¡ °¡Àå ºó¹øÇÏ°Ô ¹ß»ýÇÏ´Â ¹®Á¦´Â ÆÛ¹Ì¼Ç ¹®Á¦ÀÌ´Ù. ¹Ýµå½Ã ´ÙÀ½ »çÇ׿¡ µû¶ó Æ۹̼ÇÀ» È®ÀÎÇÑ ÈÄ CGI¸¦ ½ÇÇàÇϱ⠹ٶõ´Ù.
CGI ÇÁ·Î±×·¥: 755 chmod 755 guest.cgi
µ¥ÀÌÅÍÆÄÀÏ: 666 chmod 666 guest.dat
Àбâ/¾²±â¿ë µð·ºÅ丮: 777 chmod 777 upload
- Unix ¸í·ÉÇà¿¡¼ ½ÇÇà
¸í·ÉÇà¿¡¼ CGI¸¦ ½ÇÇàÇÏ°í CGIÀÇ Ãâ·ÂÀÌ ´ÙÀ½°ú °°Àº Çü½ÄÀΰ¡ ²À È®ÀÎÇÑ´Ù.
¸í·ÉÇà: > ctype.cgi
Çì ´õ: Content-type: text/html
ºó ÁÙ:
º» ¹®: <html>
º» ¹®: <body>
º» ¹®: ...
º» ¹®: </body>
º» ¹®: </html>
- Web¿¡¼ ½ÇÇà
http://ix.bit.co.kr/~artech/cgi-bin/guest.cgi