WWW¿¡¼­ Æ÷Ç×°ø°ú´ëÇÐ ÀüÀڽŹ® ±¸Ãà »ç·Ê

Abstract

ÇöÀç ¸¹Àº Á¾·ùÀÇ ÀüÀڽŹ®µéÀÌ ÀÎÅͳݿ¡¼­ Á¤º¸¸¦ Á¦°øÇϰí Àִµ¥ ¿©±â¼­´Â ¾ó¸¶ÀüºÎÅÍ ÀÎÅ׳ݿ¡¼­ ¼­ºñ½º¸¦ ÇØ¿À°í ÀÖ´Â Æ÷Ç×°ø´ë ÀüÀڽŹ®ÀÇ ±¸Ãà »ç·Ê¸¦ ¼Ò°³ÇϰíÀÚ ÇÑ´Ù. Æ÷Ç×°ø´ë ÀüÀڽŹ®Àº ÀÔ·ÂµÈ ±â»çµéÀ» °ü¸®Çϱâ À§ÇÑ °£´ÜÇÑ µ¥ÀÌŸº£À̽º ½Ã½ºÅÛ°ú ÀÌ µ¥ÀÌŸº£À̽º ½Ã½ºÅÛÀ» ÀÌ¿ëÇÏ´Â WWW ÀÎÅÍÆäÀ̽º (CGI ÇÁ·Î±×·¥µé) ·Î ±¸¼ºµÇ¾î ÀÖ´Ù. Æ÷Ç×°ø´ë ÀüÀڽŹ®Àº ÀÎÅÍ³Ý »ó¿¡¼­ ¿©·¯ ¸íÀÇ ±âÀÚµéÀÌ Web browser¸¦ ÀÌ¿ëÇØ¼­ µ¿½Ã¿¡ ±â»ç¸¦ µ¥ÀÌŸº£À̽º ³»¿¡ ÀÔ·ÂÇÒ ¼ö ÀÖ°í ÀÔ·ÂµÈ ±â»ç´Â ´Ù½Ã Web browser¸¦ ÀÌ¿ëÇØ¼­ °Ë»öÇϰųª ÂüÁ¶µÉ ¼ö ÀÖ´Ù. ÀԷµǴ ±â»ç´Â ÀÏ¹Ý text »Ó¸¸ ¾Æ´Ï¶ó image±îÁö Æ÷ÇÔÇÏ´Â ¹®¼­ÀÌ´Ù. ±â»çÀÇ ÀÔÃâ·ÂÀÌ ¸ðµÎ ±âÁ¸ Web browser°¡ Á¦°øÇÏ´Â ±â´ÉÀ» ÀÌ¿ëÇØ¼­ ÀÌ·ç¾îÁö´Â °ÍÀÌ Æ¯Â¡À̸ç Àü¹® DBMS´Â ÀÌ¿ëÇÏÁö ¾Ê¾Ò´Ù. µ¥ÀÌŸº£À̽º ½Ã½ºÅÛ°ú WWW ÀÎÅÍÆäÀ̽º ÇÁ·Î±×·¥µéÀº ¸ðµÎ PERL language¸¦ ÀÌ¿ëÇØ¼­ ±¸ÇöµÇ¾ú´Ù.

Keywords

ÀüÀڽŹ®, µ¥ÀÌŸº£À̽º ½Ã½ºÅÛ, WWW, CGI

Author

Æ÷Ç×°ø°ú´ëÇб³
ºÐ»êó¸®È¯°æ ¿¬±¸½Ç

À±ÅÂÇü
(A member of POSTECH WWW working group)
E-mail : nicebomb@vision.postech.ac.kr
URL : http://lion.postech.ac.kr/~nicebomb/

È«¿ø±â
E-mail : jwkhong@nile.postech.ac.kr
URL : http://dpegate.postech.ac.kr/~jwkhong/

1. °³¿ä

ÇöÀç ¿©·¯ ½Å¹®»ç¿¡¼­ ÀüÀڽŹ®À» ¾Õ´ÙÅõ¾î °³¹ßÇϰí ÀÖÀ¸¸ç ÀÎÅͳݿ¡¼­ ÀÚ»çÀÇ ÀüÀڽŹ®À» ¼­ºñ½ºÇϰí ÀÖ´Ù. [ 1, 2] ½Å¹®»çÀÇ ÀÔÀå¿¡¼­ º»´Ù¸é ÀÎÅͳݿ¡¼­ ÀÚ»çÀÇ ½Å¹® ±â»çµéÀ» ¼­ºñ½ºÇÑ´Ù´Â °ÍÀº ÂüÀ¸·Î ¸Å·ÂÀûÀÎ ÀÏÀÏ °ÍÀÌ´Ù. ¿Ö³ÄÇϸé ÀÚ»çÀÇ ½Å¹®ÀÌ ÀÎÅͳÝÀ̶ó´Â °¡»ó °ø°£À» ÅëÇØ¼­ ¸¹Àº µ¶ÀÚÃþÀ» È®º¸ÇÒ ¼ö ÀÖ°í Àü¼¼°èÀÇ ´©±¸¿¡°Ô³ª Àü´ÞµÉ ¼ö Àֱ⠶§¹®ÀÌ´Ù.

Æ÷Ç×°ø´ë ½Å¹® ¿ª½Ã º¸´Ù ¸¹Àº »ç¶÷µé¿¡°Ô Æí¸®ÇÏ°í ºü¸£°Ô ÀÐÇôÁöµµ·Ï Çϱâ À§Çؼ­ ÀüÀڽŹ®À» ±¸ÃàÇÏ°Ô µÇ¾ú´Ù. ÀüÀڽŹ®À» ±¸ÃàÇϱâ ÀÌÀü¿¡´Â ÁÖ·Î ´ëÇÐ ³»¿¡¼­ ¹èÆ÷µÇ°í ´ëÇÐ ³»¿¡¼­ ¸¹ÀÌ ÀÐÇô Á³¾ú´Âµ¥ ÀÌÁ¦´Â »çȸ¿¡ ÁøÃâÇØ ÀÖ´Â ¸¹Àº ¼±¹èµé°ú Æ÷Ç×°ø´ë¿¡ °ü½ÉÀ» °¡Áö°í ÀÖ´Â ¸¹Àº »ç¶÷µé¿¡°Ô Çб³ ¼Ò½ÄÀ» Á» ´õ ºü¸£°í Æí¸®ÇÑ ¹æ¹ýÀ¸·Î Á¦°øÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù.

Æ÷Ç×°ø´ë ÀüÀڽŹ®ÀÇ ±¸Á¶´Â Å©°Ô ½Å¹®±â»çµéÀ» °ü¸®Çϱâ À§ÇÑ °£´ÜÇÑ µ¥ÀÌŸº£À̽º ½Ã½ºÅÛ[ 3]°ú WWW¿Í ÀÌ µ¥ÀÌŸº£À̽º ½Ã½ºÅÛÀ» ¿¬°áÇØ ÁÖ´Â CGI[ 4, 5] ÇÁ·Î±×·¥ÀÇ µÎ ºÎºÐÀ¸·Î ³ª´©¾î ¼³¸íÇÒ ¼ö ÀÖ´Ù.
ù¹øÂ°·Î µ¥ÀÌŸº£À̽º ½Ã½ºÅÛÀº ¹ü¿ë µ¥ÀÌŸº£À̽º ½Ã½ºÅÛÀ» ¸ñÇ¥·Î µðÀÚÀÎ µÇ¾ú±â ¶§¹®¿¡ ÀüÀڽŹ®À» ±¸ÃàÇÏ´Â °Í À̿ܿ¡µµ Àι° µ¥ÀÌŸº£À̽º¸¦ ±¸ÃàÇϰųª ÀüÀڽŹ®°ú ºñ½ÁÇÑ ¼º°ÝÀ» °¡Áö´Â µ¥ÀÌŸ¿¡ ´ëÇØ¼­ µ¥ÀÌŸº£À̽º¸¦ ±¸ÃàÇÒ ¼ö ÀÖ´Ù.
µÎ¹øÂ°·Î CGI ÇÁ·Î±×·¥Àº Web browser¿Í µ¥ÀÌŸº£À̽º ½Ã½ºÅÛÀ» ¿¬°á½ÃÄÑÁÖ±â À§Çؼ­ ÇÊ¿äÇϸç CGI ÇÁ·Î±×·¥Àº µ¥ÀÌŸº£À̽º ½Ã½ºÅÛ°ú Á÷Á¢ÀûÀÎ °ü°è°¡ ¾ø±â ¶§¹®¿¡ CGI ÇÁ·Î±×·¥ °³¹ßÀÚ´Â ÀÚ½ÅÀÌ ¿øÇÏ´Â »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ ¸¸µé ¼ö ÀÖ´Ù. CGI ÇÁ·Î±×·¥ °³¹ßÀÚ°¡ ¾Ë¾Æ¾ß ÇÒ Áß¿äÇÑ ³»¿ëÀº »ç¿ëÀڷκÎÅÍ ÀÔ·Â ¹ÞÀº µ¥ÀÌŸ¸¦ µ¥ÀÌŸº£À̽º ½Ã½ºÅÛ¿¡ ÀÔ·ÂÇϰųª ÀԷµǾî ÀÖ´Â µ¥ÀÌŸ¸¦ Ãâ·ÂÇÏ´Â ¹æ¹ýÀε¥ À̰ÍÀº µ¥ÀÌŸº£À̽º ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇØ¼­ °¡´ÉÇÏ´Ù.

ÀÌÁ¦ ÀÌ ±ÛÀº WWW »ó¿¡¼­ Ưº°ÇÑ DBMSÀÇ »ç¿ë ¾øÀÌ ÀüÀڽŹ®ÀÇ ±¸ÃàÀÌ ¾î¶»°Ô °¡´ÉÇѰ¡¸¦ Æ÷Ç×°ø´ë ÀüÀڽŹ®ÀÇ ¿¹¸¦ µé¾î ¼³¸íÇÒ °ÍÀÌ´Ù. 2Àå¿¡¼­´Â CGI¿¡ ´ëÇØ¼­ ¼³¸íÇϰí 3Àå¿¡¼­´Â Æ÷Ç×°ø´ë ÀüÀڽŹ®À» ±¸ÃàÇϱâ À§ÇØ Á¶»çÇÑ »ç¿ëÀÚ ¿ä±¸»çÇ׿¡ ´ëÇØ¼­ ¼³¸íÇϰí 4Àå¿¡¼­´Â Æ÷Ç×°ø°ú´ëÇÐ ÀüÀڽŹ®ÀÇ Àüü ±¸Á¶¿¡ ´ëÇØ¼­ ¼³¸íÇÒ °ÍÀÌ´Ù. 5Àå¿¡¼­´Â ÀÌÇØ¸¦ µ½±â À§Çؼ­ ½Å¹® ±â»çÀÇ ÀԷ°ú Ãâ·ÂÀÌ ¾î¶»°Ô ÀÌ·ç¾îÁö´Â °¡¸¦ º¸¿©ÁÖ°í ÀÌ ¶§ ÀÌ¿ëµÇ´Â CGI ÇÁ·Î±×·¥µé¿¡ ´ëÇØ¼­ ¼³¸íÇÒ °ÍÀÌ´Ù. ¾Õ¼­ ¼³¸íÇÑ ´ë·Î Æ÷Ç×°ø°ú´ëÇÐ ÀüÀڽŹ®Àº Å©°Ô µ¥ÀÌŸº£À̽º ½Ã½ºÅÛ°ú WWW ÀÎÅÍÆäÀ̽ºÀÇ µÎ ºÎºÐÀ¸·Î ³ª´µ¾î Áö´Âµ¥ 6Àå°ú 7Àå¿¡¼­´Â ÀÌ µ¥ÀÌŸº£À̽º ½Ã½ºÅÛ¿¡ ´ëÇØ¼­ ÁßÁ¡ÀûÀ¸·Î ¼³¸íÇÒ °ÍÀÌ´Ù. 6Àå¿¡¼­´Â µ¥ÀÌŸº£À̽º ½Ã½ºÅÛ¿¡¼­ »ç¿ëµÈ µ¥ÀÌŸ ¸ðµ¨¿¡ ´ëÇØ¼­ 7Àå¿¡¼­´Â µ¥ÀÌŸº£À̽º ½Ã½ºÅÛÀÇ µðÀÚÀο¡ ´ëÇØ¼­ Â÷·Ê·Î ¼³¸íÇÒ °ÍÀÌ´Ù. ¸¶Áö¸·À¸·Î 8Àå¿¡¼­´Â °á·Ð°ú ÇâÈÄ °³È¹¿¡ ´ëÇØ¼­ ¼³¸íÇÒ °ÍÀÌ´Ù.

2. CGI(Common Gateway Interface)

CGI´Â Web server°¡ ÀÌ¿ëÇÏ´Â °ÍÀ¸·Î CGI¸¦ ÀÌ¿ëÇØ¼­ ½Ç½Ã°£À¸·Î ¹®¼­¸¦ »ý¼ºÇؼ­ Web browser¿¡°Ô º¸³»Áְųª »ç¿ëÀÚÀÇ ÁúÀǸ¦ ¹Þ¾Æ ÀÀ´äÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. º¸´Ù ÀÚ¼¼ÇÑ ³»¿ëÀº Âü°í ÀÚ·á [ 4, 5] ¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù.

3. Design Requirements

´ÙÀ½Àº Æ÷Ç×°ø´ë ÀüÀڽŹ®À» ±¸ÃàÇϴµ¥ À־ ÇÊ¿äÇÑ ¿ä±¸»çÇ×µéÀ» ³ª¿­ÇÑ °ÍÀÌ´Ù. ¾Æ·¡¿Í °°Àº ¿ä±¸»çÇ×µéÀ» ¸¸Á·½ÃŰ´Â ÀüÀڽŹ®À» ±¸ÃàÇÏ¿©¾ß ÇÑ´Ù.

4. Àüü ±¸Á¶

ÀüÀڽŹ®À» ±¸ÃàÇÏ°Ô µÇ¸é ¸¹Àº ¾çÀÇ µ¥ÀÌŸµéÀÌ ÀúÀåµÇ°í ¶Ç °Ë»öµÇ¾î¾ß Çϴµ¥ µ¥ÀÌŸÀÇ °ü¸®¸¦ È¿À²ÀûÀ¸·Î Çϱâ À§Çؼ­´Â DBMS¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù.
ÀüÀڽŹ® ±¸Ãà Ãʱ⿡ ¾î¶² DBMS°¡ ÀûÇÕÇÑ Áö¸¦ ¾Ë¾Æº¸±â À§Çؼ­ ±âÁ¸¿¡ Á¦Ç°È­µÇ¾î ÀÖ´Â ¸î °¡Áö DBMS µéÀ» Á¶»çÇØ º¸¾ÒÀ¸³ª ±âÁ¸¿¡ ¸¹ÀÌ »ç¿ëµÇ°í ÀÖ¾ú´ø °ü°èÇü DBMSµéÀº ÀԷµǴ µ¥ÀÌŸÀÇ Å©±â¿¡ Á¦ÇÑÀÌ ÀÖ¾ú°í ƯÈ÷ text¸¦ ÀÔ·ÂÇÏ´Â °æ¿ì DBMS ÀÚüÀûÀ¸·Î °¢ ´Ü¾î¿¡ ´ëÇÑ index¸¦ ¸¸µé¾î ÁÖÁö ¾Ê¾Æ¼­ °Ë»öÇÏ´Â ºÎºÐÀº ¿©ÀüÈ÷ µû·Î ±¸ÇöÇØ¾ß Çß´Ù. ÀÌó·³ ±âÁ¸ÀÇ DBMS¸¦ ÀÌ¿ëÇÏ´õ¶óµµ Å« µµ¿òÀÌ µÇÁö ¾Ê¾Æ¼­ Á÷Á¢ °£´ÜÇÑ µ¥ÀÌŸº£À̽º ½Ã½ºÅÛÀ» ±¸ÇöÇÏ°Ô µÇ¾ú´Ù.

<±×¸² 1> Æ÷Ç×°ø´ë ÀüÀڽŹ® Àüü ±¸Á¶

Àüü ±¸Á¶´Â À§ÀÇ ±×¸²°ú °°ÀÌ ÀԷµǴ ¹®¼­µéÀ» ÀúÀåÇÏ°í °ü¸®Çϱâ À§ÇÑ µ¥ÀÌŸº£À̽º ½Ã½ºÅÛ°ú ÀÌ µ¥ÀÌŸº£À̽º ½Ã½ºÅÛÀ» »ç¿ëÇÏ´Â CGI ÇÁ·Î±×·¥µé·Î ÀÌ·ç¾î Áø´Ù. µ¥ÀÌŸº£À̽º ½Ã½ºÅÛÀº Å©°Ô DATABASE Interface, INDEX Generator, Network InterfaceÀÇ ¼¼ ºÎºÐÀ¸·Î ³ª´µ¾î Áö´Âµ¥ °¢ ºÎºÐÀÇ Æ¯Â¡Àº ¾Æ·¡¿Í °°´Ù.

À§ ±×¸²¿¡¼­ (1)¿¡¼­ (6)±îÁöÀÇ ¹øÈ£´Â »ç¿ëÀÚÀÇ ¿äûÀ¸·ÎºÎÅÍ Web serverÀÇ ÀÀ´ä±îÁöÀÇ ¼ø¼­¸¦ ³ªÅ¸³»°í Àִµ¥ »ç¿ëÀÚ°¡ Web browser¸¦ ÀÌ¿ëÇØ¼­ Web server¿¡°Ô ¿äû(1)À» Çϸé Web server´Â CGI ÇÁ·Î±×·¥À» ½ÇÇà(2)ÇÑ´Ù. CGI ÇÁ·Î±×·¥Àº ´Ù½Ã µ¥ÀÌŸº£À̽º¿¡°Ô ¿äû(3)À» ÇÏ°í µ¥ÀÌŸº£À̽º·ÎºÎÅÍ ÀÀ´ä(4)À» ¹Þ¾Æ¼­ HTML ¹®¼­¸¦ ¸¸µé¾î Web server¿¡°Ô Àü´Þ(5)Çϸé Web server°¡ Web browser¿¡°Ô HTML ¹®¼­¸¦ º¸³»ÁÖ°Ô µÈ´Ù(6).

5. ½Å¹® ±â»ç ÀÔ·Â ¹× Ãâ·Â ½Ã³ª¸®¿À

¿©±â¼­´Â ÀÌÇØ¸¦ µ½±â À§Çؼ­ ½ÇÁ¦·Î Web browser¸¦ ÀÌ¿ëÇØ¼­ ½Å¹® ±â»ç¸¦ ÀÔ·ÂÇÏ´Â ³ª¸®¿À¿Í Ãâ·ÂÇÏ´Â ½Ã³ª¸®¿À ¹× °ü·Ã CGI ÇÁ·Î±×·¥µéÀ» »ìÆìº¼ °ÍÀÌ´Ù.

5.1 ÀÔ·Â ½Ã³ª¸®¿À

¾Õ¿¡¼­ ¾ð±ÞÇßÁö¸¸ »ç¿ëÀÚ¿¡°Ô Á¦°øµÇ´Â ÀÎÅÍÆäÀ̽º´Â CGI ÇÁ·Î±×·¥ °³¹ßÀÚ°¡ ¿øÇÏ´Â ´ë·Î ¸¸µé ¼ö ÀÖ´Ù. ¾Æ·¡´Â ±â»ç¸¦ ÀÔ·ÂÇÒ ¼ö ÀÖ´Â »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º Áß¿¡¼­ Çϳª¸¦ º¸¿© ÁÖ°í ÀÖ´Ù.

À§ ³»¿ëÀ» »ìÆìº¸¸é ¸ÕÀú Account¿Í Password¸¦ ÀÔ·ÂÇÏ´Â ¶õÀÌ ÀÖ°í ±â»ç Á¦¸ñ°ú ±Û¾´ÀÌ ±×¸®°í °ü·Ã ±×¸² URL°ú ±â»ç URLÀ» ÀÔ·ÂÇÏ´Â ¶õÀÌ ÀÖ´Ù. °ø¶õÀ» ä¿ì°í Submit¸¦ ´©¸£¸é CGI ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ´Âµ¥ CGI ÇÁ·Î±×·¥Àº »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ µ¥ÀÌŸ¸¦ ¹Þ¾Æ¼­ ³×Æ®¿÷À¸·Î °ü·Ã ±×¸²°ú ±â»ç¸¦ °¡Á®¿Â ´ÙÀ½ µ¥ÀÌŸº£À̽º¿¡ ÀÔ·ÂÇÑ´Ù. CGI ÇÁ·Î±×·¥ÀÇ ¼Ò½º´Â ¾Æ·¡¿Í °°´Ù.

#!/usr/local/bin/perl

require '../library/DBInterface.pl';
require 'Misc.pl';

# ---

# Check REQUEST_METHOD

$ENV{'REQUEST_METHOD'} ne "POST" && 
&critical_error("\nYou can't call this CGI program directly");

&cgi_receive;
&cgi_decode;

# Get Fill Out Form contents 

$account = $FORM{'account'};
$password = $FORM{'password'};
$order = $FORM{'order'};
$title = $FORM{'title'};
$author = $FORM{'author'};
$imageurl = $FORM{'imageurl'};
$content = $FORM{'content'};
$texturl = $FORM{'texturl'};

# Check user authorization

$folder_root_ref = &FLD_Access("postech-times", $account, $password);
&critical_error("\nYou are not authorized") if ($folder_root_ref < 0);

# Make SEARCH string

$string = "title=$title&author=$author";

# Insert NEWS to DB

$ref_one = &FLD_GetReference($folder_root_ref, "1996/03/01");
$result = &DB_NEWSIn($ref_one, $string, $texturl, $content, $imageurl);
$result < 0 && &critical_error("\nCritical error : ");
&print_head("");
print "±â»ç°¡ ÀԷµǾú½À´Ï´Ù.";

exit;
À§ CGI ÇÁ·Î±×·¥À» »ìÆìº¸¸é ¸ÕÀú Fill Out FormÀÇ ³»¿ëÀ» ¾ò°í Account¿Í Password°¡ ¿Ã¹Ù¸¥ Áö üũÇÏ°í ±â»ç¸¦ ÀÔ·ÂÇÏ´Â °£´ÜÇÑ ³»¿ëÀ¸·Î µÇ¾î ÀÖ´Ù.

5.2 Ãâ·Â ½Ã³ª¸®¿À

µ¥ÀÌŸº£À̽º¿¡ ÀԷµǾî ÀúÀåµÇ¾î ÀÖ´Â ±â»ç´Â CGI ÇÁ·Î±×·¥À¸·Î ´Ù½Ã Ãâ·Â½ÃÄѺ¼ ¼ö ÀÖ´Ù. ¿©·¯°¡Áö ¸ð¾çÀ¸·Î ±â»ç¸¦ Ãâ·Â½ÃÄÑ º¼ ¼ö Àִµ¥ ¾Æ·¡´Â ±× Áß ÇѰ¡ÁöÀÌ´Ù.

6. µ¥ÀÌŸ ¸ðµ¨

µ¥ÀÌŸ ¸ðµ¨Àº ¾Æ·¡ÀÇ ±×¸²Ã³·³ µ¥ÀÌŸº£À̽º ½Ã½ºÅÛ¿¡ ÀÔÃâ·ÂµÇ´Â ¹®¼­¿¡ ´ëÇÑ ¸ðµ¨À» ¸»ÇÑ´Ù.
<±×¸² 2> µ¥ÀÌŸ ¸ðµ¨

À§ ±×¸²À» »ìÆìº¸¸é ¸ðµç ¹®¼­´Â ÀÔ·ÂµÉ ¶§ °Ë»ö ¹®ÀÚ¿­ (SEARCH string) °ú ÇÔ²² ÀԷµȴÙ. °Ë»ö ¹®ÀÚ¿­Àº ÇϳªÀÇ ¹®¼­¸¦ ´ëÇ¥ÇÒ ¼ö ÀÖ´Â ¹®ÀÚ¿­À̾î¾ß Çϴµ¥ ÀԷµǴ ¹®¼­¸¦ ¿ä¾à ¼³¸íÇÑ ¸»À̳ª Áß¿äÇÑ Å°¿öµåµéÀÌ °Ë»ö ¹®ÀÚ¿­·Î ÀÌ¿ëµÉ ¼ö ÀÖ´Ù. ¹®¼­¸¦ µ¥ÀÌŸº£À̽º¿¡¼­ ÃßÃâÇØ ³¾ ¶§ ÀÌ °Ë»ö ¹®ÀÚ¿­ÀÌ ÀÌ¿ëµÇ¸ç °ü·ÃµÈ ¸ðµç ¹®¼­µéÀ» ÃßÃâÇÒ ¼ö ÀÖ´Ù.

±âº»ÀûÀ¸·Î ÀԷµǰí Ãâ·ÂµÇ´Â ¹®¼­´Â ÀÏ¹Ý text¿Í image¸¦ Æ÷ÇÔÇÏ´Â ¹®¼­Àε¥ ÇöÀç ´ÙÀ½ÀÇ µÎ °¡Áö ÇüŸ¦ Áö¿øÇÑ´Ù.

º¸ÅëÀÇ ½Å¹® ±â»ç´Â text¿¡ image¸¦ Çϳª¸¸ Æ÷ÇÔÇϰųª ¾Æ´Ï¸é text¸¸À¸·Î µÇ¾î ÀÖ´Â °æ¿ì°¡ ¸¹´Ù.
NEWS ¹®¼­´Â ÀÌ¿Í °°Àº ½Å¹® ±â»çÀÇ Æ¯Â¡À» °í·ÁÇØ¼­ ¸¸µé¾îÁø »õ·Î¿î ¹®¼­ ÇüÅ·μ­ ÀÏ¹Ý text¿Í °ü·Ã image¸¦ µû·Î °ü¸®Çϱ⠶§¹®¿¡ È­¸é ±¸¼ºÀÌ HTML ¹®¼­¿¡ ºñÇØ ÀÚÀ¯·Ó´Ù.
HTML ¹®¼­´Â NEWS ¹®¼­ÀÇ ÇѰ踦 º¸¿ÏÇϱâ À§Çؼ­ Ãß°¡ÇÑ ¹®¼­ÇüÅÂÀε¥ ¿©·¯ imageµéÀÌ ¹®¼­ ³»¿¡ Æ÷ÇԵǾî¾ß ÇÒ °æ¿ì HTML ¹®¼­¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù.

7. µ¥ÀÌŸº£À̽º ½Ã½ºÅÛ µðÀÚÀÎ

µ¥ÀÌŸº£À̽º ½Ã½ºÅÛÀº ¾Õ¿¡¼­ ¼³¸íÇÑ µ¥ÀÌŸ ¸ðµ¨ÀÇ ¹®¼­µéÀ» ÀÔ·ÂÇϰųª Ãâ·ÂÇÏ°í °ü¸®Çϱâ À§Çؼ­ ÇÊ¿äÇÑ ½Ã½ºÅÛÀÌ´Ù. ¿©±â¼­´Â ÀԷµǴ ¹®¼­°¡ ¾î¶»°Ô ÀúÀåµÇ°í °ü¸®µÇ´Â°¡¿¡ ´ëÇÑ µ¥ÀÌŸº£À̽º ¸ðµ¨À» 7Àå 1Àý¿¡¼­ ¼³¸íÇϰí DATABASE Interface¿Í Network Interface ±×¸®°í INDEX Generator¿¡ ´ëÇØ¼­ °¢°¢ 7Àå 2Àý, 7Àå 3Àý, 7Àå 4Àý¿¡¼­ ¼³¸íÇÑ´Ù.

7.1 µ¥ÀÌŸº£À̽º ¸ðµ¨

µ¥ÀÌŸº£À̽º ¸ðµ¨Àº ÀԷµǴ ¹®¼­°¡ Document Repository¿¡ ¾î¶°ÇÑ ¹æ½ÄÀ¸·Î ÀúÀåµÇ´Â°¡¿¡ ´ëÇÑ °³³äÀû ¸ðµ¨ÀÌ´Ù. µ¥ÀÌŸº£À̽º ¸ðµ¨Àº Object °³³äÀ» Æ÷ÇÔÇϰí Àִµ¥ FOLDER Object¿Í DOCUMENT Object·Î ¼³¸íµÈ´Ù.

7.1.1 FOLDER Object

FOLDER´Â DOCUMENTÀÇ ÀúÀå â°íÀÌ´Ù. ¾î¶² ƯÁ¤ µ¥ÀÌŸº£À̽º¸¦ ¸¸µé°íÀÚ ÇÒ °æ¿ì¿¡´Â DBA(DATABASE Administrator)°¡ ¸ÕÀú root-FOLDER¸¦ Document Repository¿¡ ¸¸µé¾î¾ß ÇÑ´Ù. ÀÏ´Ü root-FOLDER°¡ ¸¸µé¾îÁö¸é ÀÌ µ¥ÀÌŸº£À̽º¿¡ Á¢±Ù ±ÇÇÑÀ» °¡Áö´Â »ç¿ëÀÚµéÀÌ µ¥ÀÌŸ¸¦ ÀÔ·ÂÇϰųª Ãâ·ÂÇØ º¼ ¼ö ÀÖ´Ù.
¾Æ·¡ÀÇ ±×¸²À» º¸¸é NEWS FOLDER¿Í PEOPLE FOLDER°¡ Àִµ¥ NEWS FOLDER´Â ½Å¹® ±â»ç°¡ ÀúÀåµÇ´Â â°í¸¦ PEOPLE FOLDER´Â °³ÀÎÀÇ È¨ ÆäÀÌÁö°¡ ÀúÀåµÇ´Â â°í¸¦ ¿¹¸¦ µé¾î ³ªÅ¸³½ °ÍÀÌ´Ù.
<±×¸² 3> FOLDER Object

FOLDER¿¡ ´ëÇÑ Requirements´Â ´ÙÀ½°ú °°´Ù.

FOLDER Object¿Í °ü·ÃµÈ Operation¿¡´Â ´ÙÀ½°ú °°Àº °ÍµéÀÌ ÀÖ´Ù.

7.1.2 DOCUMENT Object

¾Õ¿¡¼­ ¼³¸íÇÏ¿´µíÀÌ ÀԷµǴ ¹®¼­´Â NEWS ÇüÅÂ¿Í HTML ÇüÅ·ΠÀúÀåµÇ´Âµ¥ ÀÌ ¹®¼­µé ÇϳªÇϳª°¡ DOCUMENT Object¿¡ ÇØ´çµÈ´Ù.
DOCUMENT Object¿Í °ü·ÃµÈ Operation¿¡´Â ´ÙÀ½°ú °°Àº °ÍµéÀÌ ÀÖ´Ù.

7.2 DATABASE Interface

DATABASE Interface´Â ¿ÜºÎ¿¡ °ø°³µÇ´Â ÀÎÅÍÆäÀ̽º·Î½á ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇØ¼­ µ¥ÀÌŸº£À̽º ½Ã½ºÅÛ¿¡ ¹®¼­¸¦ ÀÔ·ÂÇϰųª ÀúÀåµÇ¾î ÀÖ´Â ¹®¼­¸¦ Ãâ·ÂÇÒ ¼ö ÀÖ´Ù. DATABASE Interface´Â FOLDER Object Methods¿Í DOCUMENT Object Methods ±×¸®°í IO MethodsÀÇ ¼¼ ºÎºÐÀ¸·Î ³ª´µ¾îÁ® ÀÖ´Ù.

7.2.1 FOLDER Object Methods

  • FLD_Access(root-FOLDER name, Account, Password)
  • FLD_Make(FOLDER reference, FOLDER name)
  • FLD_Remove(FOLDER reference)
  • FLD_GetReference(FOLDER reference, FOLDER name)
  • FLD_List(FOLDER reference)

    7.2.2 DOCUMENT Object Methods

  • DOC_GetFormat(DOCUMENT reference)
  • DOC_GetSEARCHString(DOCUMENT reference)
  • DOC_ToCGIParameter(DOCUMENT reference)
  • DOC_ToReference(CGI Parameter)

    7.2.3 IO Methods to DB

    NEWS ¹®¼­¿Í HTML ¹®¼­¸¦ ÀÔÃâ·Â ÇÒ ¶§ ÀÌ¿ëµÇ´Â ÇÔ¼öµéÀÌ´Ù.

  • DB_Query(FOLDER reference, sub-SEARCH string)
  • DB_GetDOCReference(File Descriptor)
  • DB_NEWSIn(FOLDER reference, SEARCH string, text URL, text string, image URL)
  • DB_NEWSOut(DOCUMENT reference)
  • DB_HTMLIn(FOLDER reference, SEARCH string, URL)
  • DB_HTMLOut(DOCUMENT reference)

    7.3 Network Interface

    Network Interface´Â FTP¿Í HTTP ÇÁ·ÎÅäÄÝ µîÀ» Áö¿øÇϴµ¥ µ¥ÀÌŸº£À̽º ½Ã½ºÅÛ ³»ºÎÀûÀ¸·Î »ç¿ëµÇ´Â °ÍÀ̸ç CGI ÇÁ·Î±×·¥¿¡¼­ ÀÌ¿ëÇÏ´Â ÀÎÅÍÆäÀ̽º´Â ¾Æ´Ï´Ù.

    7.4 INDEX Generator

    INDEX Generator´Â DOCUMENT°¡ ÀÔ·ÂµÉ ¶§ °¢ ´Ü¾î¿¡ ´ëÇØ¼­ index¸¦ ¸¸µé¾î ³ªÁß¿¡ ºü¸¥ °Ë»öÀ» ÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁØ´Ù. INDEX Generator´Â µ¶¸³ÀûÀ¸·Î ±¸ÇöµÇ´Â ¸ðµâÀÌ¸ç µ¥ÀÌŸº£À̽º ½Ã½ºÅÛ ³»ºÎÀûÀ¸·Î »ç¿ëµÈ´Ù. ÇöÀç INDEX Generator´Â ±¸ÇöµÇ¾î ÀÖÁö ¾Ê´Ù.

    8. °á·Ð°ú ÇâÈÄ °èȹ

    Áö±Ý±îÁö Æ÷Ç×°ø´ë ÀüÀڽŹ® ±¸Á¶¸¦ CGI ÇÁ·Î±×·¥°ú µ¥ÀÌŸº£À̽º ½Ã½ºÅÛÀ» Áß½ÉÀ¸·Î ¼³¸íÇÏ¿´´Ù. Æ÷Ç×°ø´ë ÀüÀڽŹ®Àº Web browser¸¦ ÀÌ¿ëÇØ¼­ ¸ðµç ÀÛ¾÷ÀÌ ÀÌ·ç¾îÁöµµ·Ï µÇ¾îÀֱ⠶§¹®¿¡ ½Å¹® ±â»çÀÇ ÀԷ°ú Ãâ·Â¿¡ Á¦ÇÑÁ¡ÀÌ ¸¹Àº ÆíÀÌ´Ù. À̰ÍÀº ÇöÀçÀÇ WWW ±â¼ú·Î´Â ½Å¹® ±â»ç¸¦ Á÷Áý ÀúÀÛÇϰųª Ãâ·ÂµÇ´Â ½Å¹® ±â»çÀÇ ¸ð¾çÀ» ¹Ù²Û´Ù°Å³ª ÇÏ´Â ÀÏÀÌ ½±Áö ¾Ê±â ¶§¹®ÀÌ´Ù. ÀԷ°ú Ãâ·Â¿¡ Á¦ÇÑÁ¡ÀÌ ¸¹ÀÌ ÀÖÁö¸¸ ÀÌ ±ÛÀÌ ºñ½ÁÇÑ ÀÏÀ» ÇϰíÀÚ ÇÏ´Â »ç¶÷µé¿¡°Ô µµ¿òÀÌ µÇ±æ ¹Ù¶õ´Ù.

    ¾ÕÀ¸·ÎÀÇ °èȹÀº ÇöÀç ±¸ÇöµÇ¾î ÀÖÁö ¾Ê´Â INDEX Generator¸¦ ±¸ÇöÇÒ ¿¹Á¤À̸ç INDEX GeneratorÀÇ ±¸ÇöÀÌ ³¡³ª´Â ´ë·Î ¸ðµç ÇÁ·Î±×·¥µéÀ» packageÈ­ÇÏ¿© beta VersionÀ» ¹èÆ÷ÇÒ ¿¹Á¤ÀÌ´Ù.

    Âü°í ÀÚ·á

    1. Á¶¼±ÀϺ¸
      URL : http://www.chosun.com
    2. Áß¾ÓÀϺ¸
      URL : http://www.joongang.co.kr
    3. "¿ùµå¿ÍÀ̵å À¥°ú µ¥ÀÌŸº£À̽º ½Ã½ºÅÛÀÇ ÅëÇÕ", ±èÆòö, ±è»ó¿í, Á¦ 2ȸ WWW-KR Workshop °­ÀÇ ÀÚ·á
      URL : http://sharon.comeng.chungnam.ac.kr/~dolphin/ws2/content/TS1-3/
    4. "The Common Gateway Interface", NCSA CGI Documentation
      URL : http://hoohoo.ncsa.uiuc.edu/cgi/
    5. "¼­¹ö ÀÎÅÍÆäÀ̽º", ÃÖÀ±¼ö, Á¦ 2ȸ WWW-KR Workshop °­ÀÇ ÀÚ·á
      URL : http://sharon.comeng.chungnam.ac.kr/~dolphin/ws2/content/TS1-1/
    6. "Surfin' Network Resources Across the Web", Luca Deri, IEEE Second Workshop on Systems Management, Toronto, Canada, June 1996