IX. HTML ¹®Àå Ãâ·ÂÇϱâ
CGI¸¦ ¹è¿ì´Â ±Ã±ØÀûÀÎ ¸ñÀûÀº, ºê¶ó¿ìÀú¸¦ ÅëÇÏ¿© ¼¹ö ³»¿¡ Àִ ƯÁ¤ µ¥ÀÌŸ¸¦ ºê¶ó¿ìÀú¿¡¼ ¾Ë¾Æµè´Â MIME ŸÀÔÀ¸·Î ÆÄ½Ì(Parsing)ÇØ¼ º¸¿©ÁÖ±â À§ÇÑ ±â¹ýÀ» ¹è¿ì´Â °ÍÀÌ´Ù. ´ÙÀ½Àº ºê¶ó¿ìÀú¿¡ "Hello World!"¸¦ º¸¿©ÁÖ±â À§ÇÑ ¿¹ÀÌ´Ù.
#/usr/bin/perl
print "Content type: text/htmlnn";
print "<html>n";
print "<head>n";
print "<title>Hello World Sample</title>n";
print "</head>n";
print "<body>n";
print "<h1>Hello World</h1>n";
print "</body>n";
print "</html>n";
ÀÌ ½ºÅ©¸³Æ®¸¦ hello.cgi ¶ó´Â À̸§À¸·Î ÀúÀåÇÑ´Ù. ¹°·Ð ¼¹ö ³»¿¡ ÀúÀåÇϰí http://your-host.com/username/hello.cgi ¶ó´Â URL·Î ÂüÁ¶ÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù(¹°·Ð ¿©±â¿¡ ¿¹¸¦ µç URLÀº °¡»óÀÇ URLÀÌ´Ù).
±×¸®°í, ºê¶ó¿ìÀú¿¡¼ ´ÜÁö http://your-host.com/username/hello.cgi ¸¦ ÀÔ·ÂÇÔÀ¸·Î½á ÇÁ·Î±×·¥À» È£ÃâÇÑ´Ù. ´ÙÀ½°ú °°Àº °á°ú°¡ ºê¶ó¿ìÀú¿¡ ³ª¿Í¾ß ÇÑ´Ù.
ÀÌ ½ºÅ©¸³Æ®ÀÇ ¼¼¹øÂ° ÁÙÀÎ "Content type: text/htmlnn"; ¿¡ ´ëÇØ¼ »ý°¢ÇØ º¸ÀÚ.
ÀÌ ³»¿ëÀº ¹Ù·Î ºê¶ó¿ìÀú°¡ CGI Ãâ·ÂÀÌ HTML ¹®¼ÀÓÀ» ¾Ë¸®´Â MIME Type Çì´õ¶ó´Â °ÍÀÌ´Ù. ¹Ýµå½Ã À̰ÍÀÌ ½ºÅ©¸³Æ® À§¿¡ ÀÖ¾î¾ß ºê¶ó¿ìÀú Ãâ·Â ³»¿ëÀÌ HTML Çü½ÄÀÌ µÇ¸ç, ÀÌ MIME Type Çì´õÀÇ ³¡¿¡´Â ¹Ýµå½Ã "nn"À» ³Ö¾î¼ ÇÑ ÁÙ ¶ç¿ö ÁÖ¾î¾ß ºê¶ó¿ìÀú¿¡¼ Çì´õ¸¦ ÀνÄÇÒ ¼ö ÀÖ´Ù.
--------------------------------------------------------------------------------
X. Here Documents
HTML ¹®ÀåÀ» ÇÑÁÙ ÇÑÁ٠ǥ½ÃÇϱâ À§Çؼ °è¼ÓÇØ¼ print ¹®ÀåÀ» ½áÁشٴ °ÍÀº ±×¾ß¸»·Î Àΰ£ÀÌ ÇÒ ÁþÀÌ ¾Æ´Ï´Ù.
°Ô´Ù°¡, ³ªÁß¿¡ ºê¶ó¿ìÀú¿¡ Àü´ÞµÇ´Â HTML ¹®¼ÀÇ ³»¿ë(Document Source)¿¡ ´ëÇÑ °¡µ¶·ü ¶§¹®¿¡ ¹®Àå ³¡¿¡ ÀÏÀÏÀÌ "n"À» ½á ÁÖ´Â Àϵµ ¿ª½Ã Èûµç ÀÛ¾÷ÀÌ µÉ °ÍÀÌ´Ù.
±×·¡¼ PERL¿¡¼ Áö¿øµÇ´Â "Here Documents" ±â¹ýÀÌ ÀÖ´Ù. ÀÌ´Â ½ºÅ©¸³Æ® ³»¿¡ HTML ¹®¼ ºí·ÏÀ» ÁöÁ¤ÇØ ÁÖ°í ±× ºí·Ï¿¡ ´ëÇØ ÀϰýÀûÀ¸·Î Ãâ·ÂÇÏ´Â ±â´ÉÀÌ´Ù. ´ÙÀ½ÀÇ ¿¹¸¦ º¸ÀÚ.
#/usr/bin/perl
print "Content type: text/htmlnn";
print <<END_OF_HTML;
<html>
<head>
<title>Hello World Sample</title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
END_OF_HTML
ÈξÀ ´õ ¹®ÀåÀÌ °£°áÇØÁ³´Ù. ÀÌ·± ±â¹ýÀ» Àß »ç¿ëÇÏ¸é ½ºÅ©¸³Æ®ÀÇ Byte¼ö¸¦ Àý¾àÇϸç, °¡µ¶·üÀ» Áõ°¡½Ãų ¼ö ÀÖ´Ù.
--------------------------------------------------------------------------------
|
|