-
- 1 ¿¡·¯ÀÇ Á¾·ù
- 2 500¿¡·¯°¡ ¾îµð¼ ³µ´ÂÁö °Ë»çÇغ¸±â
- 3 ÆÄÀÏÀü¼Û ¸ðµå
- 4 ÆÞÀÇ À§Ä¡
- 5 ÆÛ¹Ì¼Ç ¼³Á¤
- 6 Ư¼ö¹®ÀÚ Ã³¸®
- 7 ÆÄÀÏÀü¼ÛÀÌ Á¦´ë·Î µÇÁö ¾Ê´Â °æ¿ì
- 8 CGI Á¢±ÙÀ» Çã¿ëÇÏÁö ¾Ê´Â °æ¿ì
- 9 Perl »ç¿ë¿©ºÎ Å×½ºÆ®
- Bad request(À߸øµÈ ¿äû) 400:
°¡Àå ÀϹÝÀûÀÎ ¿¡·¯À̸ç ÀÌ¿ëÀÚ°¡ ÀÎÅÍ³Ý ÁÖ¼Ò(URL)¸¦ À߸ø ÀÔ·ÂÇßÀ»¶§ ¹ß»ýÇÕ´Ï´Ù.
- Unauthorized(±ÇÇѾøÀ½) 401:
¿ª½Ã °¡Àå ÀϹÝÀûÀÎ ¿¡·¯ÁßÀÇ ÇϳªÀÔ´Ï´Ù. ÈçÈ÷ ÀÎÅÍ³Ý ºê¶ó¿ìÀú(ÀÎÅÍ³Ý ÀͽºÇ÷η¯,³Ý½ºÄÉÀÌÇÁ)°¡ º¸³½ ¸Þ½ÃÁö°¡ ¼¹ö¿¡¼ °ÅºÎ´çÇÒ¶§ ³ªÅ¸³ª´Â ¸Þ½ÃÁö ÀÔ´Ï´Ù.
- Forbidden(Á¢±Ù±ÝÁö) 403:
"Á¢±Ù±ÝÁö"¶õ º¼¼ö ÀÖ´Â ±ÇÇÑÀÌ ¾ø´Â ÆäÀÌÁö¸¦ º¸·Á°í ÇÒ¶§ ³ªÅ¸³³´Ï´Ù.
- Not found(ÆÄÀϾøÀ½) 404:
°¡Àå ÈçÈ÷ ³ªÅ¸³ª´Â ¸Þ½ÃÁö·Î 400 ¿¡·¯ ¸Þ½ÃÁö¿Í À¯»çÇÕ´Ï´Ù. ±âº»ÀûÀ¸·Î ¿äûÇÑ ÆäÀÌÁö°¡ ´õÀÌ»ó Á¸ÀçÇÏÁö ¾Ê°Å³ª Ʋ¸° À¥ÁÖ¼Ò(URL)ÀÎ °æ¿ìÀÔ´Ï´Ù.
- Internal Error(³»ºÎ ¿¡·¯) 500:
À¥¼¹ö°¡ ³»ºÎ ÇÁ·Î±×·¥ ¹®Á¦·Î ¿äûÇÑ À¥¹®¼¸¦ ¼ºñ½ºÇÒ ¼ö ¾øÀ»°æ¿ì ÀÔ´Ï´Ù.
- Not implemented(±¸Çö¾ÈµÊ) 501:
ÀÌ ¸Þ½ÃÁö´Â ¿¹¸¦ µé¾î, À¥ÆäÀÌÁöÀÇ ¾î¶² ¾ç½ÄÀ» ÀÛ¼ºÇÏ°í 'Àü¼Û' ¹öÆ°À» Ŭ¸¯ÇÏ¿´À» ¶§ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼¹ö°¡ ¾ÆÁ÷ ÀÌ·¯ÇÑ ±â´ÉÀ» Áö¿øÇÏÁö ¾Ê´Â °æ¿ìÀÔ´Ï´Ù. ÀÌ ¸Þ½ÃÁö´Â ÀüÇüÀûÀÎ ¿¡·¯´Â ¾Æ´Ï¸ç »õ·Î¿î ±â´ÉÀ̳ª ¾ç½ÄµîÀ» ¼öÇàÇÏ¿´À» ¶§ ÀϾ´Ï´Ù.
- Service temporarily overloaded(ÀϽÃÀû ¼¹ö°úºÎÇÏ) 502:
¼¹ö¿¡ °úµµÇÏ°Ô ÀÌ¿ëÀÚÀÇ Á¢¼Ó(¿äû)ÀÌ ¸ô¸®´Â °æ¿ìÀÔ´Ï´Ù. ÀϹÝÀûÀ¸·Î "if at first you don't suceed..."¶ó´Â ¹®±¸°¡ ³ª¿É´Ï´Ù. ÇØ°áÃ¥À¸·Î´Â Àá½ÃÈÄ¿¡ ¼¹öÀÇ Á¢¼ÓÀÌ ÇÑ°¡ÇØÁú¶§ ´Ù½Ã Á¢¼ÓÇØ º¸´Â °ÍÀÔ´Ï´Ù.
- Gateway timeout(°ÔÀÌÆ®¿þÀÌ ½Ã°£ÃÊ°ú) 503:
ÀÌ ¸Þ½ÃÁö´Â ¼¹ö¹®Á¦, ³×Æ®¿öÅ©³ª ÀÌ¿ëÀÚ PCÀÇ ¹®Á¦µîÀ¸·Î ¿¬°á½Ã°£ÀÌ ÃÊ°úµÇ¾úÀ»¶§ ¹ß»ýÇÕ´Ï´Ù. À¥¼¹ö·Î ¿¬°áÇÏ´Â µµÁß¿¡ Àå¾Ö°¡ »ý±â´Â °æ¿ì¿¡ ÁÖ·Î ¹ß»ýÇÕ´Ï´Ù.
2 500¿¡·¯°¡ ¾îµð¼ ³µ´ÂÁö °Ë»çÇغ¸±â #
3 ÆÄÀÏÀü¼Û ¸ðµå #
À©µµ¿ìÁî(Windows 95/98/2000/NT)¸¦ »ç¿ëÇϽô ºÐÀº ÆÞ½ºÅ©¸³Æ®¸¦ FTP·Î ÆÄÀÏÀ» Àü¼ÛÇÒ ¶§ ¹Ýµå½Ã ¾Æ½ºÅ° ¸ðµå·Î ÇؾßÇÕ´Ï´Ù. À¯´Ð½º¿Í µµ½º´Â ÅؽºÆ® ÆÄÀÏÀ» Ç¥ÇöÇÏ´Â Çü½ÄÀÌ ´Ù¸£±â ¶§¹®¿¡ ÆÄÀÏÆ÷¸ËÀ» ¹Ù²ãÁÖ¾î¾ß ÇÕ´Ï´Ù. ¸¸ÀÏ ¹ÙÀ̳ʸ® ¸ðµå·Î Àü¼ÛÇßÀ» °æ¿ì"Internal Sever Error" ¶ó´Â ¸Þ¼¼Áö¸¦ Ãâ·ÂÇÕ´Ï´Ù.
4 ÆÞÀÇ À§Ä¡ #
ÆÞ½ºÅ©¸³Æ®¿¡´Â Ç×»ó ¸Ç ùÁÙ¿¡ ÆÞ ÇÁ·Î±×·¥À» ¼öÇàÇÒ ¼¹ö ³»ÀÇ ÆÞ °æ·Î¸¦ ÁöÁ¤ÇØ ÁÝ´Ï´Ù. ÆÞ °æ·Î°¡ ¸ÂÁö ¾ÊÀ¸¸é ÇÁ·Î±×·¥À» ¼öÇàÇÒ ¼ö ¾øÀ¸¹Ç·Î ¼¹ö¿¡·¯ ¸Þ¼¼Áö¸¦ Ãâ·ÂÇÕ´Ï´Ù. ´ëºÎºÐÀÇ °æ¿ì #!/usr/bin/perl ¶Ç´Â #!/usr/local/bin/perlÀÌ¸ç ¼¹öÀÇ Á¾·ù¿¡ µû¶ó ´Ù¸¥ °æ·ÎÀÏ ¼öµµ ÀÖ½À´Ï´Ù.
È®Àιæ¹ýÀº ÅÚ³ÝÀ¸·Î ·Î±äÇϼż 'which perl' ¶Ç´Â 'whereis perl' À̶ó´Â ¸í·É¾î¸¦ ÀÔ·ÂÇÏ°í ¿£ÅÍÅ°¸¦ Ä¡¸é °æ·Î¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ÅڳݰèÁ¤ÀÌ ¾ø´Â ºÐÀº ½Ã½ºÅÛ °ü¸®ÀÚ¿¡°Ô ¹®ÀÇÇØ¾ß ÇÕ´Ï´Ù.
ÆÞ½ºÅ©¸³Æ®ÀÇ È®ÀåÀÚ°¡ *.cgi ÀÎ °æ¿ì ½ÇÇà ÆÄÀÏÀ̹ǷΠÀбâ(read)¿Í ½ÇÇà(execute)±ÇÇÑÀÌ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ´ÙÀ½Àº Åڳݰú FTP¸¦ ÀÌ¿ëÇÑ ÆÛ¹Ì¼Ç ¼³Á¤ ¹æ¹ýÀÔ´Ï´Ù.
<
ÅÚ³Ý>ÀÇ °æ¿ì: 'chmod 755 myscript.cgi' ÀÇ ¸í·É¾î¸¦ ÀÌ¿ëÇϼ¼¿ä.
<
FTP>ÀÇ °æ¿ì: ÆÄÀϼÒÀ¯ÀÚ-Àбâ/¾²±â/½ÇÇà, ±×·ì-Àбâ/½ÇÇà, ´Ù¸¥»ç¿ëÀÚ-Àбâ/½ÇÇà ÀÇ ¸ðµå·Î ÀüȯÇØÁÖ¼¼¿ä.
6 Ư¼ö¹®ÀÚ Ã³¸® #
Perl¿¡¼´Â @ $ " ; &µîÀÇ Æ¯¼ö¹®ÀÚµéÀ» ¹®¹ýÀÇ ÀϺηΠ»ç¿ëÇÕ´Ï´Ù. ÆÞ¿¡¼ ¾²´Â Ư¼ö¹®ÀÚ¸¦ ºê¶ó¿ìÁ®¸¦ ÅëÇØ ÀÏ¹Ý ¹®ÀÚ·Î ÀÎ½Ä ½ÃÅ°·Á¸é ¹Ýµå½Ã ¹®ÀÚ ¾Õ¿¡ ¹é½½·¡½¬(backslash, \)¸¦ ºÙ¿©Áà¾ß ÇÕ´Ï´Ù.
°¡Àå ÈçÈ÷ ¿¡·¯°¡ ³ª´Â °æ¿ì´Â ÀüÀÚ¿ìÆí ÁÖ¼Ò, ¿¹¸¦ µé¾î myemail@email.com À̸é myemail\@email.comÀ¸·Î ÇØÁÖ¾î¾ß ÇÏ°í HTML ű׸¦ ¾µ ¶§, href="
http://happycgi.com"À̸é href=\"
http://happycgi.com\" À¸·Î ÇØÁÖ¾î¾ß ¿¡·¯°¡ ³ªÁö ¾Ê½À´Ï´Ù.
Ư¼ö¹®ÀÚ Ã³¸®³ª ¹®¹ý¿¡ ¿¡·¯°¡ ÀÖÀ» °æ¿ì ã´Â °ÍÀº Çϱâ½ÈÀº ÀÛ¾÷ Áß ÇϳªÀÔ´Ï´Ù. ÀÌ °æ¿ì¿¡ ÅÚ³ÝÀ¸·Î ·Î±äÇؼ perl myscript.cgi ¶ó°í ÀÔ·ÂÇÏ¸é ¿¡·¯°¡ ÀÖ´Â ºÎºÐÀ» Ç¥½ÃÇØÁÝ´Ï´Ù.
7 ÆÄÀÏÀü¼ÛÀÌ Á¦´ë·Î µÇÁö ¾Ê´Â °æ¿ì #
¿¡·¯¸Þ¼¼Áö°¡ "prematured script" ¶ó°í Ç¥½ÃµÉ °æ¿ì¿¡´Â ÆÄÀÏÀü¼ÛÀÌ ¼º°øÀûÀ¸·Î µÇÁö ¾ÊÀº °æ¿ìÀÔ´Ï´Ù. ÀÌ °æ¿ì¿¡´Â ÆÄÀÏÀ» ´Ù½Ã Àü¼ÛÇؼ µ¤¾î¾²¸é µÇ°Ú½À´Ï´Ù.
8 CGI Á¢±ÙÀ» Çã¿ëÇÏÁö ¾Ê´Â °æ¿ì #
¼¹ö¿¡¼ »ç¿ëÀÚ¿¡°Ô CGI Á¢±ÙÀ» Çã¿ëÇÏÁö ¾Ê´Â °æ¿ìÀÔ´Ï´Ù. ´ëºÎºÐ È£½ºÆþ÷ü´Â CGI Á¢±ÙÀº Çã¿ëÇÒ °æ¿ì´Â PerlÀ» Á¦°øÇÏ°í ¼³Ä¡Á¤º¸¸¦ ¹Ì¸® ¾Ë·ÁÁְųª ȨÆäÀÌÁö¿¡ ¼ö·ÏÇÏ°í ÀÖ½À´Ï´Ù. ±×·¸Áö ¾ÊÀ» °æ¿ì È£½ºÆÃÀ» ÇÏ´Â ½Ã½ºÅÛ °ü¸®ÀÚ¿¡°Ô ¹®ÀÇÇϽñ⠹ٶø´Ï´Ù.
9 Perl »ç¿ë¿©ºÎ Å×½ºÆ® #
- ÀÚ½ÅÀÇ °èÁ¤ÀÇ CGI »ç¿ë¿©ºÎ¸¦ Å×½ºÆ®Çغ¸½Ã·Á¸é ¾Æ·¡Äڵ带 º¹»çÇÕ´Ï´Ù.
#!/usr/bin/perl
print "content-type:text/html\n\n";
print "Hello world";
- º¹»çÇÑ Äڵ带 test.cgi¶õ ÆÄÀÏ·Î ÀúÀåÇÕ´Ï´Ù.
- test.cgi ÆÄÀÏÀ» FTP·Î ÀÚ½ÅÀÇ °èÁ¤¿¡ ?¾Æ½ºÅ° ¸ðµå·Î ¾÷·Îµå ÇÕ´Ï´Ù.
- test.cgiÀÇ Æ۹̼ÇÀ» 755·Î ¹Ù²ß´Ï´Ù. (chmod 755 test.cgi)
- ºê¶ó¿ìÁ®¿¡¼ Á¤È®ÇÑ ?URLÀ» ÀÔ·ÂÇÏ°í ¿£ÅÍÅ°¸¦ Ĩ´Ï´Ù. (http://www.mysite.com/~myid/cgi/test.cgi)
- ¼¹ö¿¡·¯°¡ ³ª´Â °æ¿ì ÆÞ °æ·Î¸¦ #!/usr/bin/perl ¶Ç´Â #!/usr/local/bin/perl ¹Ù²ã°¡¸é¼ Å×½ºÆ®ÇÕ´Ï´Ù.
- ±ÝÁö(forbidden) ¸Þ¼¼Áö°¡ ³ª¿À¸é PerlÀ» »ç¿ëÇÒ ¼ö ¾ø°Å³ª »ç¿ëÀÚ µð·ºÅ丮¿¡¼ CGI »ç¿ëÀ» Çã¿ëÇÏÁö ¾Ê´Â °æ¿ìÀÔ´Ï´Ù.