WWW server¶õ WWW¸¦ ÅëÇØ¼ Á¢±ÙÇÒ ¼ö ÀÖ´Â ÀÚ·áµéÀ» º¸°ü, °ü¸®, ÅëÁ¦ÇÏ´Â ÇÁ·Î±×·¥À» ¸»ÇÑ´Ù. WWW´Â HTTP¶ó´Â ÇÁ·ÎÅäÄÝ·Î Åë½ÅÇϱ⠶§¹®¿¡, WWW server´Â ÈçÈ÷ httpd ¶ó°íµµ ºÒ¸°´Ù. Áö±Ý±îÁö ¿©·¯°³ÀÇ httpd°¡ ´Ù¾çÇÑ Ç÷§Æ÷¿È »ó¿¡¼ ´Ù¾çÇÑ ¾ð¾î·Î ¾º¾îÁ® ³ª¿Ô´Ù.
º» °ÀÇ¿¡¼´Â httpdÀÇ ¿ªÇÒÀÌ ¹«¾ùÀΰ¡ »ìÆìº¸°í, ÇöÀç ³ª¿ÍÀÖ´Â WWW ¼¹öµéÀ» ºñ±³ÇØ º¸°í, ±×Áß¿¡ Çϳª¸¦ ÅÃÇÏ¿© ½ÇÁ¦·Î ¼¹ö¸¦ ¼³Ä¡, ¿î¿µÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. WWW ¼¹ö·Î´Â CERN httpd 3.0, NCSA httpd 1.4.2, Netscape Communication Server 1.1À» ÁßÁ¡ÀûÀ¸·Î ºñ±³Çϸç, ±×Áß¿¡¼ CERN httpd 3.0À» Áß½ÉÀ¸·Î ¼³Ä¡ ¹æ¹ý°ú ±× ¿î¿µ¿¡ ´ëÇØ¼ »ìÆìº»´Ù. ¼³Ä¡¿Í ¿î¿µ¿¡¼´Â ´Ü¼ø ¼³Ä¡ ¹æ¹ý»Ó ¾Æ´Ï¶ó, ƯÁ¤ °´Ã¼¿¡ ´ëÇÑ accessÁ¦ÇÑ, logÈÀÏÀÇ ¿î¿µ ¹× Á¢±Ù Åë°è, chroot¸¦ ÀÌ¿ëÇÑ httpdÀÇ º¸¾Èµî ´Ù¾çÇÑ ºÎºÐÀ» ´Ù·é´Ù.
1993³â NCSAÀÇ MosaicÀÌ ÀÎÅͳÝ(Internet)¿¡ ÃâÇöÇÑ ÀÌÈÄ, WWW´Â ±× ÇÁ·ÎÅäÄÝÀÇ ³×Æ®¿öÅ© »ç¿ë·®ÀÌ ¸Å³â µÎ¹è ÀÌ»óÀ¸·Î ´Ã¾î³¯ Á¤µµ·Î ¾öû³ º¸±ÞÀ²À» ÀÚ¶ûÇÏ¸ç ºü¸¥ ¹ßÀüÀ» °ÅµìÇÏ¿© ¿Ô´Ù. ±× °á°ú Áö±ÝÀº ³×Æ®¿öÅ©¸¦ »ç¿ëÇÏ´Â »ç¶÷À̶ó¸é WWW home pageÇϳª Á¤µµ´Â °¡Áö°í ÀÖ¾î¾ß¸¸ µÇ´ÂµíÀÌ ¿©°ÜÁö°Ô µÇ¾ú´Ù.
ÈçÈ÷ Home page¶ó ¾Ë·ÁÁ® ÀÖ´Â HTML¹®¼¸¦ Àü¼¼°èÀÇ ÀÎÅÍ³Ý »ç¿ëÀÚ°¡ »ìÆìº¼ ¼ö ÀÖÀ¸·Á¸é WWW ¼¹ö(server)¶ó´Â °ÍÀÌ ÀÖ¾î¾ß ÇÑ´Ù. WWW´Â ±âº»ÀûÀ¸·Î HTTP¶ó´Â ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇϹǷΠhttpd¶ó°íµµ ¾Ë·ÁÁ® ÀÖ´Ù.
ÀÌ ±Û¿¡¼´Â WWW ¼¹ö¸¦ ¼³Ä¡ÇϰíÀÚ ÇÏ´Â ºÐµéÀ» À§ÇÏ¿©, ÇöÀç ½±°Ô ±¸ÇÒ¼ö ÀÖ´Â httpdµéÀ» ºñ±³Çϰí, ±×°ÍÀÇ ¼³Ä¡¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇÑ´Ù.
ÀÌ ¹®¼´Â ´ÙÀ½°ú °°ÀÌ ±¸¼ºµÇ¾î ÀÖ´Ù. ¸ÕÀú ÀÌ¹Ì ³Î¸® ¾Ë·ÁÁø ÀÎÅÍ³Ý ¼ºñ½ºÀÎ anonymous ftp ¼ºñ½º¿Í WWW service¸¦ ºñ±³ÇÑ´Ù. ´ÙÀ½¿¡´Â ÇöÀç ³Î¸® ¾Ë·ÁÁø, CERN, NCSA, NetscapeÀÇ httpdµéÀ» ºñ±³ÇÏ°í °¢°¢ÀÇ Æ¯Â¡¿¡ ´ëÇØ¼ ÀÚ¼¼È÷ ¾Ë¾Æº»´Ù. Á¦ 4 Àå¿¡¼´Â CERN httpd 3.0À» ¼³Ä¡ÇÏ´Â °úÁ¤À» Â÷±ÙÂ÷±Ù ¼³¸íÇÑ´Ù. Á¦ 5 Àå¿¡¼´Â httpdÀÇ ¿î¿µ»óÀÇ °í·Á»çÇ×À» ¾ð±ÞÇÑ´Ù. ¸¶Áö¸·À¸·Î °á·ÐÀ» ³»¸°´Ù.
ÀÌÁ¦ ´ç½ÅÀº ´ç½ÅÀÇ home page¸¦ ÀÎÅͳݿ¡ °ø°³Çϱâ·Î ¸¶À½¸Ô¾ú´Ù°í ÇÏÀÚ. ±×·¯¸é ¸Ç ¸ÕÀú ¹«¾ùÀ» ÇÏ¿©¾ß ÇÒ±î? »ç¶÷µéÀº ¾Æ¸¶ httpd¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù°í ÇÒ °ÍÀÌ´Ù. ¸¸¾à, ±× ÀÌÀ¯¸¦ ¹¯´Â´Ù¸é ¿©·¯°¡Áö ´ë´äÀ» ¾òÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¾î¶² »ç¶÷Àº WWW°¡ HTTP¸¦ ¾²±â ¶§¹®À̶ó°í ÇÒ °ÍÀ̰í, ¾î¶² »ç¶÷Àº httpd¸¦ ¼³Ä¡ÇÏÁö ¾ÊÀ¸¸é ±×¸²°ú ±Û¾¾°¡ µé¾î°£ HTML¹®¼¸¦ Àü¼ÛÇÒ ¼ö ¾ø±â ¶§¹®À̶ó°í ÇÒÁöµµ ¸ð¸¥´Ù. ¹«Á¶°Ç ¼³Ä¡Çؾ߸¸ ÇÑ´Ù´Â »ç¶÷µéµµ ÀÖÀ» °ÍÀÌ´Ù. ¾î¶² »ç¶÷Àº home pageÀÇ URLÀ» http·Î ½ÃÀÛÇϱâ À§Çؼ´Â ¼³Ä¡Çؾ߸¸ ÇÑ´Ù°í ÇÒ °ÍÀÌ´Ù. ±×·¯³ª, ÁøÂ¥·Î ¼³Ä¡ÇؾßÇÑ Çϴ°¡?
ÀÌ Àå¿¡¼´Â ÀÌ¹Ì ÀÎÅͳݿ¡¼ ¸¹ÀÌ »ç¿ëµÇ°í ÀÖ´Â anonymous ftp¼ºñ½º¿Í http¼ºñ½º¸¦ ºñ±³ÇÑ´Ù. ÀÌ ºñ±³´Â µÎ°¡Áö¸¦ ¸ñÀûÀ¸·Î ÇÑ´Ù. ù°, ºñ±³¸¦ ÅëÇØ httpdÀÇ Æ¯Â¡À» ¹àÈûÀ¸·Î¼, º¸´Ù È¿À²ÀûÀÎ httpd ¿î¿µ Áö½ÄÀ» ÆÄ¾ÇÇÑ´Ù. µÑ°, ftpd¿Í httpdÀÇ ÀåÁ¡À» ÆÄ¾ÇÇÔÀ¸·Î½á, ¾î¶² ¼ºñ½º¸¦ ½ÃÀÛÇÒ¶§ º¸´Ù ÁÁÀº µµ±¸¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù.
À̰ÍÀ» º¸±â ½±°Ô ³ªÅ¸³½ °ÍÀÌ ´ÙÀ½ÀÇ <±×¸² 1>ÀÌ´Ù.
- HTML : Hyper-Text Markup Language
- ÇÏÀÌÆÛ ÅØ½ºÆ®(hypertext)ÀÇ ±â¼ú ¹æ¹ý
- URL : Uniform Resource Locator
- ³×Æ®¿öÅ©ÀÇ ÀÚ¿øÀ» ÁöÁ¤(identify)ÇÏ´Â ¹æ¹ý. °Ë»öÀ» À§ÇÑ ºÎºÐµµ Æ÷ÇԵǾî ÀÖ´Ù. (RFC-1738) ÀÌ¿Í À¯»çÇÑ °ÍÀ¸·Î URI, URN, RURLµîÀÌ ÀÖ´Ù.
- HTTP : Hyper-Text Transfer Protocol
- HTMLÀ» Æ÷ÇÔÇÑ ´Ù¾çÇÑ °´Ã¼ÀÇ Àü¼ÛÀ» À§ÇÑ °´Ã¼ Àü¼Û ±Ô¾à. Ãʱ⿡´Â HTMLÀÇ Àü¼ÛÀ» À§ÇØ ¼³°èµÇ¾úÀ¸¹Ç·Î ÇÏÀÌÆÛ ÅØ½ºÆ® Àü¼Û ±Ô¾àÀ̶õ À̸§ÀÌ ºÙ¾úÀ½.

¾î¶² HTML¹®¼¸¦ Àü ¼¼°è¿¡ °ø°³Çϱâ À§Çؼ¶ó¸é, httpd¸¦ ²À ¼³Ä¡ÇÒ ÇÊ¿ä´Â ¾ø´Ù. ¾Æ½Ã´Ù½ÃÇÇ, ´ëºÎºÐÀÇ WWW browserµéÀº ftp³ª gopher, waisµîÀÇ ´Ù¸¥ ÇÁ·ÎÅäÄݵ鵵 Áö¿øÇÑ´Ù. ´õ±¸³ª, ftp·Î ÈÀÏÀ» ¹Þ¾Æ¿À´Â °æ¿ì, browser°¡ È®ÀåÀÚ¸¦ º¸°í ±×¿¡ ¸Â´Â 󸮸¦ ÇØ ÁØ´Ù. µû¶ó¼, anonymous ftp¿¡ µé¾îÀÖ´Â HTMLÈÀϵµ WWW browser·Î º»´Ù¸é httpd¸¦ ÅëÇÏ¿© ³¯¾Æ¿Â HTML¹®¼¿Í º° Â÷ÀÌ ¾øÀÌ º¸ÀδÙ.
¸¸¾à, ´ç½ÅÀÌ httpd¸¦ ¼³Ä¡Çϴµ¥ ºÎ´ãÀ» ´À³¤´Ù¸é, ÀÏ´Ü anonymous ftp¸¦ ÀÌ¿ëÇÏ¿© ¼ºñ½º¸¦ ÇØ º¸±â ¹Ù¶õ´Ù. ftp´Â ÇÁ·ÎÅäÄÝÀÌ ¸¸µé¾î ÁøÁö ²Ï ¿À·£ ½Ã°£ÀÌ Áö³µ±â ¶§¹®¿¡ ÇÁ·ÎÅäÄÝ ÀÚü°¡ ¾ÈÁ¤ÈµÇ¾î ÀÖ°í, ´Ù¾çÇÑ Ç÷§Æ÷¿È¿¡¼ ftp daemonÀÌ °³¹ßµÇ¾ú´Ù. ´ëºÎºÐÀÇ ftp ÇÁ·Î±×·¥µéÀº ¼³Ä¡Çϱ⵵ ½±°í ¾²±âµµ ½±°Ô²û ¸¸µé¾îÁ³´Ù. ½ÉÁö¾î, Windows NT³ª Linux Slackwareµî¿¡¼´Â ftp daemonÀÌ ±âº»ÀûÀ¸·Î ¼³Ä¡µÇ¾î ÀÖÀ» Á¤µµ´Ù.
ƯÈ÷, ¼ºñ½º ÇÒ ÈÀÏÀÇ Å©±â°¡ Å©°í º¹ÀâÇϰųª, ³×Æ®¿öÅ© ¿¬°áÀÌ º°·Î ÁÁÁö ¾ÊÀº °÷µéÀÇ »ç¶÷À» ´ë»óÀ¸·Î ÇÏ´Â °æ¿ì¿¡´Â httpd¸¦ »ç¿ëÇϱ⠺¸´Ù´Â anonymous ftp¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ´Ù. FTP´Â ±ÛÀÚ ±×´ë·Î ÈÀÏÀ» Àü¼ÛÇϱâ À§Çؼ ¸¸µé¾îÁø ÇÁ·ÎÅäÄÝÀ̹ǷÎ, Ç×»ó ÈÀÏÀÌ Á¦´ë·Î Àü¼ÛµÇ°í ÀÖ´ÂÁö checksumµîÀ¸·Î °Ë»çÇÏ´Â ºÎºÐÀÌ ÀÖ´Ù. (ÂüÁ¶:RFC-959) ±×¿¡ ºñÇÏ¿© HTTP´Â ´ÜÁö TCP¸¦ ÅëÇØ¼ ±×´ë·Î Àü´ÞÇÒ »ÓÀ¸·Î, ³×Æ®¿öÅ© »óȲÀÌ ÁÁÁö ¾ÊÀº °æ¿ì HTTP¸¦ ÅëÇØ Àü´ÞµÈ ÈÀÏÀº Áß°£ÀÌ ºüÁ® Àְųª ²÷±æ °æ¿ì°¡ ¸¹´Ù.
½ÇÁ¦·Î, InternicÀÇ ¹®¼µé Áß FYI(For Your Information)´Â ftp¸¸À» ÀÌ¿ëÇÏ¿© html¹®¼·Î Á¦°øµÇ°í ÀÖ´Ù. (ÂüÁ¶: ftp://ftp.krnic.net/rfc/fyi-index.html)
FTP´ø HTTP´ø ³×Æ®¿öÅ©¸¦ ÅëÇØ Àü´ÞÇϰíÀÚ ÇÏ´Â ÈÀÏ È¤Àº object¸¦ ÀúÀå, ½Äº°(identify)ÇÏ´Â ¹æ¹ý¿¡´Â Â÷À̰¡ ¾ø´Ù. ±×·¸´Ù¸é, HTTP´Â ÇÁ·ÎÅäÄÝÀÇ ±â´É¸é¿¡¼ ¾î¶² ºÎºÐÀÌ FTP¿Í ´Ù¸¥°¡?
WWW°¡ ´Ù¸¥ ¼ºñ½º¿Í Å©°Ô ´Ù¸¥ Á¡ Áß¿¡ Çϳª´Â, ¼¹öÃø¿¡ ½ÇÇàÈÀÏÀ» µÎ¾î Ŭ¶óÀ̾ðÆ®ÀÇ ¿ä±¸¿¡ µû¶ó ±×¿¡ ¸Â´Â Ãâ·ÂÀ» »ý¼ºÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù.
Ŭ¶óÀ̾ðÆ®ÀÇ ¿ä±¸¸¦ ¹Þ±â À§ÇØ º¯ÇüµÈ URLÀ¸ µÞºÎºÐÀ» search part¶ó Çϸç, Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» ¹ÞÀº ¼¹ö°¡ ±× ³»¿ëÀ» ¼¹öÃø ÇÁ·Î±×·¥¿¡ ³Ñ°ÜÁÖ°í ÇÁ·Î±×·¥ÀÌ ¼¹ö¿¡°Ô Ãâ·ÂÀ» ³Ñ°ÜÁÖ´Â ¹æ½ÄÀ» CGI(Common Gateway Interface)¶ó°í ÇÑ´Ù.
CGI¿¡ ´ëÇÑ Á» ´õ ÀÚ¼¼ÇÑ ¼³¸íÀº http://hoohoo.ncsa.uiuc.edu/cgi ¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù.
MIME(Multi-purpose Internet Mail Extension)À̶õ ÅØ½ºÆ®, È»ó, À½¼º, µ¿¿µ»óµîÀ» Æ÷ÇÔÇÑ ÄÄÇ»ÅÍÀÇ µ¥ÀÌŸ¸¦ ÀÏ¹Ý ÅØ½ºÆ®·Î ºÎÈ£ÈÇÏ´Â ÅëÀÏµÈ ¹æ¹ýÀÌ´Ù. MIMEÀº ÇöÀç RFC-1521, 1522·Î µî·ÏµÇ¾î ÀÖÀ¸¸ç, ÀÎÅÍ³Ý ¸ÞÀÏÀÇ Ç¥ÁØÀ¸·Î Á¤ÂøµÇ°í ÀÖ´Ù. ¾î¶² ÄÄÇ»ÅÍ ÀÚ·á°¡ MIME ±Ô¾àÀ» ÁöŲ´Ù¸é, ÀÏ¹Ý ÅØ½ºÆ® ¹Û¿¡ ÀüÇÒ ¼ö ¾ø´Â ¸ÞÀÏÀ̳ª ±×¹ÛÀÇ Åë½Å¼ö´ÜÀ» ÅëÇØ¼ ¿©·¯ ŸÀÔÀÇ ÄÄÇ»ÅÍ µ¥ÀÌŸ¸¦ ÁÖ°í ¹ÞÀ» ¼ö ÀÖ´Ù.
MIME±Ô¾àÀº ¾ÕºÎºÐ(header)¿¡¼ Àü¼ÛµÇ´Â ¸Þ½ÃÁöÀÇ Á¾·ù¸¦
Content-TypeÀ̶õ ÇüÅ·Πǥ½ÃÇϵµ·Ï ¿ä±¸ÇÑ´Ù.
Content-Type˼ major-type/minor-type [arguments]˂
ÇüÅÂÀε¥, major-typeÀ¸·Î´Â text, image, audio, video,
message, applicaition, multipartµîÀÌ µÉ ¼ö ÀÖ´Ù.
minor-typeÀº major-typeÀÌ ¹«¾ùÀ̳Ŀ¡ µû¶ó ´Þ¶óÁø´Ù.
¿¹¸¦ µé¾î JPEG ÈÀÏÀ̶ó¸é ÀÌ ÈÀÏÀÇ MIME content typeÀº image/jpeg°¡ µÈ´Ù.
GIF·Î ÈÀÏÀ̶ó¸é, image/gif°¡ µÇ¸ç, .auÈÀÏÀ̶ó¸é audio/basicÀÌ µÈ´Ù.
°ø½ÄÀûÀÎ MIME content typeÀº IANA(Internet Assigned Numbers Authority) °ü¸®ÇÑ´Ù. °ø½ÄÀûÀÎ MIME content type¿¡ °üÇÑ Á¤º¸´Â ftp://ftp.isi.edu/in-notes/iana/assignments/media-types À̳ª, °¡Àå ÃÖ±ÙÀÇ "ASSIGNED NUMBERS" ¹®¼ (95³â ÇöÀç RFC-1700) ¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù.
HTTP´Â Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹ö°£ÀÇ °´Ã¼ Àü¼Û½Ã¿¡ MIME ±Ô¾àÀ» »ç¿ëÇϵµ·Ï ±ÔÁ¤ÇÑ´Ù. µû¶ó¼, Ŭ¶óÀÌ¾ðÆ®³ª ¼¹ö´Â ¾î¶°ÇÑ µ¥ÀÌŸ¶óµµ ÁÖ°í ¹ÞÀ» ¼ö ÀÖ°í, ¶ÇÇÑ ÀÚ½ÅÀÌ ¹ÞÀº °´Ã¼°¡ ¾î¶² ÇüÅÂÀÎÁö¸¦ ¾Ë ¼ö ÀÖ´Ù. Ŭ¶óÀÌ¾ðÆ®³ª ¼¹ö´Â ÀÚ½ÅÀÌ ¼ö½ÅÇÑ °´Ã¼ÀÇ ÇüÅ¿¡ ¸Â´Â 󸮸¦ ÇÒ ¼ö ÀÖ´Ù. À̰ÍÀº ÈÀÏ À̸§ÀÇ È®ÀåÀÚ¸¦ º¸°í ±× ÈÀÏÀÇ ÇüŸ¦ ÆÄ¾ÇÇÏ´Â °Í°ú´Â ´Ù¸¥ ¹æ½ÄÀÌ´Ù.

<±×¸² 2>¸¦ º¸ÀÚ. ¼¹ö A¿¡¼ .docÈÀÏÀÌ ÀǹÌÇÏ´Â ¹Ù´Â ÀÏ¹Ý ÅØ½ºÆ® ÈÀÏÀ̶ó°í ÇÏÀÚ. ¼¹ö B¿¡¼ .docÈÀÏÀº Microsoft Word 6.0ÈÀÏÀ̶ó°í ÇÏÀÚ. ¸¸¾à, ÈÀÏÀÇ È®ÀåÀÚ ¸¸À¸·Î °¢ ¹®¼ÀÇ ÇüŸ¦ °í·ÁÇÑ´Ù°í Çϸé, ¼¹ö A¸¦ ÀÚÁÖ ÀÌ¿ëÇÏ´ø »ç¶÷, Áï, ¼¹ö AÀÇ È®ÀåÀÚ¿¡ ¸ÂÃß¾î¼ »ç¿ëÇϴ Ŭ¶óÀÌ¾ðÆ®´Â ¼¹ö B¸¦ ¿¬°áÇßÀ»¶§ ÀüÇô ¾û¶×ÇÑ ¹®ÀÚ¿ (MS word 6.0 format)À» º¼ ¼ö ¹Û¿¡ ¾ø´Ù. ¼¹ö B¸¦ ÀÚÁÖ »ç¿ëÇÏ´ø »ç¶÷Àº ´Ü¼ø ÅØ½ºÆ® ÈÀÏÀ» º¸±â À§Çؼ MS Word¸¦ °¡µ¿½ÃŰ°Ô µÈ´Ù.
±×·¯³ª, Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹ö°£ÀÇ ±³È¯À» MIME±Ô¾àÀ¸·Î ÅëÀÏÇϰí, °¢ ¼¹ö¿¡¼ .docÈÀÏ¿¡ ´ëÇØ Content-TypeÀ» text/plain (´Ü¼ø ÅØ½ºÆ®)°ú application/x-ms-word6 (»ç¿ëÀÚ Á¤ÀÇ ÀÀ¿ëÇÁ·Î±×·¥)À¸·Î ÁöÁ¤ÇÏ¿© ÁØ´Ù¸é ¹®Á¦´Â ¾à°£ ´Þ¶óÁø´Ù. ¸ÕÀú ¼¹ö AÀÇ .docÈÀÏÀº ´Ü¼ø ÅØ½ºÆ®¶ó´Â °ÍÀ» ¾î´À Ŭ¶óÀÌ¾ðÆ®¿¡¼µçÁö ¾Ë ¼ö ÀÖÀ¸¹Ç·Î, ±×¿¡ ¸Â´Â viewer¸¦ °¡µ¿½ÃŲ´Ù. ¼¹ö BÀÇ .docÈÀÏÀ» ÀÐÀº ÀûÀÌ ¾ø´Â Ŭ¶óÀÌ¾ðÆ®´Â, ¼¹ö BÀÇ MS WordÈÀÏÀ» ÀÐ°Ô µÉ ¶§ application/x-ms-word6¶ó´Â »õ·Î¿î MIME type¿¡ ´ëÇÑ ¼³Á¤À» »ç¿ëÀÚ¿¡°Ô ¿ä±¸ÇÑ´Ù. »ç¿ëÀÚ´Â application/x-ms-word6¶ó´Â MIME content typeÀÇ À̸§À» º¸°í MS Word 6.0ÈÀÏ ÇüŶó´Â °ÍÀ» ÁüÀÛÇϰí ÀÌ MIME content type¿¡ ´ëÇØ¼´Â MS Word 6.0ÀÌ Ã³¸®Çϵµ·Ï ¼³Á¤ÇÑ´Ù. ±×·¯¸é, Â÷ÈÄ Ãß°¡µÇ´Â ´Ù¸¥ ¼¹öÀÇ application/x-ms-word6¹®¼¿¡ ´ëÇØ¼µµ Ŭ¶óÀÌ¾ðÆ®´Â ÀÚµ¿À¸·Î MS Word 6.0À» °¡µ¿ÇÑ´Ù.
½ÇÁ¦ ¼¹ö ¿î¿µ»ó¿¡ ÀÖ¾î¼ ÈÀÏ È®ÀåÀÚ¿Í MIME content typeÀ» ¿¬°áÇϱâ À§Çؼ´Â ¼¹öÃøÀÇ configuration fileÀ» °íÃÄÁÖ¸é µÈ´Ù.
CERN ¼¹ö´Â configuration file¿¡ AddType directive¸¦ »ç¿ëÇÏ¿© ÈÀÏ È®ÀåÀÚ¿Í MIME content typeÀ» ¿¬°áÇÒ ¼ö ÀÖ´Ù.
NCSA ¼¹ö³ª NetSite ¼¹öÀÇ °æ¿ì¿¡´Â conf directory¿¡ ÀÖ´Â
mime.types ÈÀϳ»¿ëÀ» °íħÀ¸·Î¼ ¼¹ö Àüü¿¡ ´ëÇØ¼
ÈÀÏ È®ÀåÀÚ¿Í MIME content typeÀ» ¿¬°áÇÒ ¼öµµ ÀÖ°í,
.htaccess
ÈÀÏ¿¡¼
AddType
directive¸¦ »ç¿ëÇÔÀ¸·Î½á ¾î¶² directory¾È¿¡¼¸¸ ÈÀÏ È®ÀåÀÚ¿Í MIME
content typeÀ» ¿¬°áÇÒ ¼öµµ ÀÖ´Ù.
Content negotiationÀ̶õ Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹ö°¡ ¼·Î ÇùÀÇÇÏ¿©, Ŭ¶óÀÌ¾ðÆ® Ãø¿¡¼ 󸮰¡´ÉÇÑ °´Ã¼ ÇüÅÂ, ºÎÈ£È, ÀÚ¿¬¾îµîÀ» ¼¹ö°¡ °ñ¶ó¼ Á¦°øÇØ ÁÖ´Â °ÍÀ» ¸»ÇÑ´Ù.
HTTPÀÇ Request headerÁß¿¡¼ Accept, Accept-Encoding, Accept-Language µîÀ» Ãß°¡ÇÏ¿© ±¸ÇöµÇ¾ú´ø °ÍÀ¸·Î, HTTP 1.0 Ãʱâ draft¿¡ µé¾îÀÖ¾ú´Ù°¡ HTTP 1.1·Î ¿¬±âµÇ¾ú´Ù.
ÀÏ¹Ý MIME contentÀÇ negotiation ±â´ÉÀº Apache ServerÀÌ Áö¿øÇÒ °èȹÀ¸·Î ÀÖ´Ù. ÀÚ¿¬¾ð¾îÀÇ negotiation ±â´ÉÀº CERN httpd¿Í NTTÀÇ Mosaic-L10NÀÌ Áö¿øÇÑ´Ù.
¸ÕÀú °¢ httpd¿¡ ´ëÇØ¼ °£´ÜÈ÷ ¾Ë¾Æº»´Ù.
ÀÌ ÀÌÈĺÎÅʹ Ư¡µéÀ» ³ª¿Çϰí, ±× Ư¡ÀÌ °¡Áö´Â ÀÇ¹Ì¿Í ½ÇÁ¦ »ç¿ë½Ã ¾î¶² °ÍµéÀ» ÂüÁ¶ÇÏ¿©¾ß ÇÏ´ÂÁö¸¦ À̾߱â ÇϰڴÙ.
- CERN httpd
- WWWÀÇ ¿ø»êÀÎ CERN¿¡¼ Ari Luotonen, Henrik Frystyk, Tim Berners-Lee µî¿¡ ÀÇÇØ¼ Á¦À۵Ǿú´Ù. ±â·Ï¿¡ ÀÇÇϸé 1991³â 6¿ù óÀ½À¸·Î version 0.1ÀÌ ³ª¿Ô´Ù. Tim Berners-LeeÀÇ WWWÀÇ idea¸¦ ±¸ÇöÇÏ´Â °ÍÀÌ ¸ñÀûÀ¸·Î ¸¸µé¾îÁø °ÍÀ¸·Î ¹«¾ùº¸´Ùµµ HTTPÀÇ ±âº» ¾ÆÀ̵ð¾î°¡ Ãæ½ÇÇÏ°Ô ±¸ÇöµÇ¾î ÀÖ´Ù. ¶ÇÇÑ, WWW library functionµéÀ» ÀÌ¿ëÇÏ¿© ±¸¼ºµÇ¾ú´Ù.
- NCSA httpd
- MosaicÀ» ¸¸µé¾î¼ À¯¸íÇØÁø NCSA¿¡¼ °³¹ßÇÑ °Í. Rob McCoolÀÌ ÁÖµ¿ÀÌ µÇ¾î Á¦À۵Ǿú´Ù. NCSA httpdÀÇ ¸ñÀûÀº CERNÀÇ httpdº¸´Ù ½Ç¸®ÀûÀ¸·Î ¾µ¸¸ÇÑ °ÍÀ» ¸¸µå´Â°Ô ÀÖ¾ú´Ù. version 1.3±îÁö´Â httpdÀÇ ±â¾ï¿ë·®À» ÁÙÀÓÀ¸·Î½á ÁÖ ¸Þ¸ð¸®(RAM) ¿ë·®ÀÌ ¾ó¸¶ ¾ÈµÇ´Â ÄÄÇ»ÅÍ¿¡¼µµ ¾µ ¼ö ÀÖµµ·Ï ÇßÀ¸¸ç, 1.4ºÎÅÍ´Â ¹ÝÀÀ ¼Óµµ¸¦ ºü¸£°ÔÇϴµ¥ Ä¡ÁßÇϰí ÀÖ´Ù.
- Netsite Server
- NetscapeÀ¸·Î À¯¸íÇÑ Netscape»çÀÇ httpd. Á¤½Ä ¸íĪÀº Netscape Communication Server¿Í Netscape Commerce Server. ÀÏ¹Ý »ó¿ë ¼¹öµé°ú´Â ´Þ¸® ±³À°±â°ü¿¡¼´Â ¹«·á·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â Á¡°ú Netscape ÀÚü¸¦ ÀÌ¿ëÇÑ GUI °ü¸®ÀÚ µµ±¸°¡ Àִٴ Ư¡¶§¹®¿¡ ÀϹݿ¡°Ô ³Î¸® ¾Ë·ÁÁü. ¶ÇÇÑ, Commerce ServerÀÇ °æ¿ì Netscape»çÀÇ browserÀÎ Mozilla¿Í SSL(Secure socket Layer)À» ÅëÇÑ º¸¾È ä³Î À¯Áö°¡ °¡´ÉÇϱ⠶§¹®¿¡ ÀÎÅÍ³Ý »óÁ¡µî¿¡¼ ¸¹ÀÌ »ç¿ëÇϰí ÀÖ´Ù.
Server-side include¶õ ¼¹ö³»¿¡ ÀúÀåµÇ¾î ÀÖ´Â ¹®¼°¡ ´Ù¸¥ ¹®¼¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» ¸»ÇÑ´Ù. ´Ù¸¥ ¹®¼¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖµµ·Ï HTMLÀ» º¯ÇüÇÑ °ÍÀ» SHTML(Server-parsed HTML)À̶ó°í ÇÑ´Ù. (SHTMLÀÇ ¹®¹ý¹× »ç¿ë¹æ¹ýµî ÀÚ¼¼ÇÑ »çÇ×Àº NCSA httpd server side includes ¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù.)
AddType text/x-server-parsed-html .shtml
Proxy server¶õ, <±×¸² 3>°ú °°ÀÌ ¹æÈº®(firewall)À¸·Î ¿ÜºÎ ³×Æ®¿öÅ©¿Í Â÷´ÜÀÌ µÇ¾îÀÖÀ» °æ¿ì, ¿ÜºÎÀÇ ³×Æ®¿öÅ© ¼ºñ½ºµéÀ» ´ë½Å ¿¬°áÇØ¼ ±× °á°ú¸¦ ³Ñ°ÜÁÖ´Â HTTP daemonÀ» ¸»ÇÑ´Ù. Proxy serverÀÚ½ÅÀº firewallÀÇ ³»ºÎ È£½ºÆ®¿Í ¿ÜºÎ È£½ºÆ® ¾çÂÊ¿¡ ´Ù Á¢¼ÓÇÒ ¼ö ÀÖ¾î¾ß ÇϹǷΠ´ëü·Î ¹æÈº® È£½ºÆ®¿¡ ¼³Ä¡µÇ´Â °ÍÀÌ º¸ÅëÀÌ´Ù.

Proxy ¼¹ö´Â ´ëÇà ¾÷¹« ÀÌ¿ÜÀÇ ¸ñÀûÀ¸·Î »ç¿ëµÇ±âµµ ÇÑ´Ù. ù°·Î, proxy ¼¹ö ³»¿¡ cache¸¦ ¼³Ä¡ÇÏ¿© ÀÚÁÖ ¿äûµÇ´Â ¹®¼´Â cache¿¡ ÀúÀåÇÑ´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á °ü¸®ÀÚÀÇ ÀÔÀå¿¡¼´Â ¿ÜºÎ ³×Æ®¿öÅ© »ç¿ë¾çÀ» ÁÙÀδٴ ȿ°ú¸¦ ¾òÀ» ¼ö ÀÖÀ¸¸ç, »ç¿ëÀÚ´Â º¸´Ù ºü¸¥ ¼ºñ½º¸¦ ¹ÞÀ»¼ö ÀÖ´Ù.
µÎ¹øÂ°ÀÇ ¸ñÀûÀº Protocol gateway·Î¼ »ç¿ëµÇ´Â °æ¿ìÀÌ´Ù. WAISÀÇ °æ¿ì WAIS ÇÁ·ÎÅäÄÝÀ» ó¸® ÇÒ ¼ö Àִ Ŭ¶óÀÌ¾ðÆ®µµ ÀÖÁö¸¸, ¾ø´Â Ŭ¶óÀÌ¾ðÆ®µéµµ ¸¹´Ù. ¸¸¾à WAIS ÇÁ·ÎÅäÄÝÀ» ó¸®ÇÒ ¼ö ÀÖ´Â proxy ¼¹ö°¡ ÀÖ´Ù¸é, WAIS¸¦ ó¸® ÇÒ ¼ö ¾ø´Â Ŭ¶óÀÌ¾ðÆ®¶óµµ WAIS¿¡ ´ëÇØ¼ proxy ¼¹ö ¼³Á¤À» ÇÔÀ¸·Î¼ ¸¶Ä¡ WAIS ÇÁ·ÎÅäÄÝ ÇØ¼®±â¸¦ ºÙÀΰͰú °°Àº È¿°ú¸¦ ³¾ ¼ö ÀÖ´Ù. (Proxy Ŭ¶óÀÌ¾ðÆ®¿Í proxy ¼¹ö¿Í´Â HTTP·Î¸¸ ¿¬°áµÈ´Ù´Â »ç½ÇÀ» ±â¾ïÇÏÀÚ.) Proxy ¼¹ö¿¡ ´ëÇÑ º¸´Ù ÀÚ¼¼ÇÑ ³»¿ëÀº World-Wide Web Proxies [Luotonen94b]¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù.
Map file:* ftp:* Pass http:* Pass ftp:* Pass gopher:* Pass news:* Pass wais:* Caching On CacheRoot /root/proxy-cache CacheSize 200M NoCaching http://*.kr/* NoCaching http://*.kr:*/* NoCaching http://*.nuri.net/*
Server poolÀ̶õ ¼¹ö ÇÁ·Î¼¼½º¸¦ ¹Ì¸® ¸î°³ ¸¸µé¾î ³õ°í, ¿¬°á¿ä±¸°¡ µé¾î¿À´Â´ë·Î ´ë±âÇϰí ÀÖ´Â ¼¹ö ÇÁ·Î¼¼½º¿¡°Ô ÀÏÀ» ÇÒ´çÇÏ´Â ¹æ½ÄÀÌ´Ù. À̰ÍÀº ¿¬°á¿ä±¸°¡ µé¾î¿Ã¶§ ¸¶´Ù (´ÙÀ½ ¿¬°á¿ä±¸¸¦ ±â´Ù¸®±â À§ÇØ) ¼¹ö ÇÁ·Î¼¼½º¸¦ »õ·Î »ý¼ºÇØ ³»´Â(fork) ´Ü¼ø multi-serverÀÇ °æ¿ì¿Í ºñ±³ÇØ º¼¶§, ¼¹ö¸¦ »õ·Î »ý¼ºÇÏ´Â ½Ã°£À» ÁÙÀÓÀ¸·Î¼ º¸´Ù ºü¸¥ ¹ÝÀÀ ½Ã°£À» ¾òÀ» ¼ö ÀÖ´Ù. <±×¸² 4>¿¡ ÀÌ µÎ°¡Áö ¹æ½ÄÀ» ºñ±³ÇÏ¿´´Ù.

UNIX¿¡¼ fork´Â »ó´çÈ÷ ½Ã°£°É¸®´Â ÀÛ¾÷Áß¿¡ ÇϳªÀ̹ǷÎ, server pool ±¸Á¶´Â ¿¬°á¿ä±¸°¡ ¸¹À» °æ¿ì »ó´çÇÑ ¼º´É Çâ»óÀ» °¡Á®¿Â´Ù. ÃÊ´ç ó¸®ÇÒ ¼ö ÀÖ´Â ÃÖ´ë ¿¬°á¿ä±¸ ¼ö¸¦ ½ÇÇèÀûÀ¸·Î ¾ò±â À§ÇÏ¿© HP735 ¿öÅ©½ºÅ×À̼ǿ¡¼ ½ÃÇèÇØº» °á°ú, ¾à 2¹èÁ¤µµ Áõ°¡ÇÑ´Ù´Â °á°ú°¡ [McGrath95]¿¡ ½Ç·ÁÀÖ´Ù.
ƯÈ÷, Netscape Mozilla¿Í °°ÀÌ ÇѲ¨¹ø¿¡ ´ÙÁß ¿¬°á¿ä±¸¸¦ ¼öÇàÇÏ´Â browserµé¿¡°Ô´Â server pool ±¸Á¶´Â ¹ÝÀÀ½Ã°£À̶ó´Â Ãø¸é¿¡¼ È¿°úÀûÀÌ´Ù. ±×·¯³ª, ¿¬°á¿ä±¸°¡ ¾ø¾îµµ ÀÏÁ¤°¹¼öÀÇ ¼¹ö ÇÁ·Î¼¼½º°¡ ´ë±âÇϰí ÀÖ¾î¾ß Çϱ⠶§¹®¿¡ process slot°ú ÁÖ±â¾ïÀåÄ¡ µîÀ» Ç×»ó Â÷ÁöÇϰí ÀÖ´Ù´Â ´ÜÁ¡ÀÌ ÀÖ´Ù.
StartServers 5 MaxServers 20
Custom error responses¶õ HTTP error(¿¹: 404 Not Found)°¡ ¹ß»ýÇÏ´Â °æ¿ì ¿¡·¯ ¸Þ½ÃÁö¸¦ ³»Áö ¾Ê°í ÁöÁ¤µÈ HTML¹®¼ ȤÀº CGI scriptÀÇ ½ÇÇà °á°ú¸¦ Àü¼ÛÇÏ´Â ¹æ¹ýÀÌ´Ù.
ÀÌ ¹æ¹ýÀº »ç¿ëÀÚ·Î ÇÏ¿©±Ý ¼¹öÀÇ °áÁ¡À» º¸ÀÌÁö ¾Ê°Ô Çϰųª ¼¹ö ¿¡·¯¿¡ ½±°Ô ´ëóÇÏ°Ô ÇÒ °æ¿ì ¸Å¿ì À¯¿ëÇÏ°Ô »ç¿ëµÉ ¼ö ÀÖ´Ù.
ÀÚ¼¼ÇÑ ³»¿ëÀº NCSA httpd »ç¿ëÀÚ ¸Å´º¾óÀÇ ErrorDocument ºÎºÐÀ» ÂüÁ¶Çϱ⠹ٶõ´Ù.
ErrorDocument 401 /errors/auth-required.html ErrorDocument 403 /errors/forbidden.html
Àü¼¼°èÀÇ ÀڷḦ ½±°Ô »ìÆìº¼ ¼ö ÀÖ´Ù´Â WWWÀÇ Æ¯¼º»ó WWW browser´Â ¿©·¯ ¾ð¾î¸¦ Áö¿øÇÒ ¼ö ÀÖ¾î¾ß Çϸç, ServerÀÇ °æ¿ì¿¡µµ ¿©·¯ ¾ð¾î¸¦ Áö¿øÇÒ Çʿ䰡 ÀÖ´Ù. ÇöÀç ±¹Á¦È(Internationalization;I18N)À» À§ÇÑ ÀÛ¾÷ÀÌ ÁøÇàÁßÀÌ´Ù.
CERN server´Â Ãʱâ HTTP 1.0 draft¿¡ Æ÷ÇԵǾî ÀÖ¾ú´ø
Accept-Language: Çì´õ¸¦ ÅëÇÑ ÀÚ¿¬¾ð¾î negotiationÀÌ
±¸ÇöµÇ¾î ÀÖ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº CERN httpd User's GuideÀÇ
AddLanguage
directive¿¡ °üÇÑ ºÎºÐÀ» ÂüÁ¶Çϱ⠹ٶõ´Ù.
¿©±â¼ ÀÚ¿¬¾ð¾î¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ýÀº
ISO-639 Language Codes
¿Í
ISO-3166 Country Codes
¿¡ ±Ù°ÅÇϰí ÀÖ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº
RFC-1766 Tags for the Identification of Languages
¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù.
NetSiteÀÇ °æ¿ì¿¡´Â text/* MIME typeÀÇ charset argument¸¦ ÅëÇØ¼ ÇöÀç Àü´ÞµÇ´Â ¹®¼°¡ ¾î¶² ÄÚµå·Î ºÎȣȵǾî ÀÖ´ÂÁö ¾Ë·ÁÁÖ´Â ¹æ½ÄÀ» ÅÃÇϰí ÀÖ´Ù.
AddLanguage ko_KR .ko AddLanguage en .en
CERN httpd¸¦ °¡Á®¿À±â Àü¿¡ source¸¦ »õ·Î compileÇÒ °ÍÀΰ¡, ¾Æ´Ï¸é ±×³É °£ÆíÇÏ°Ô binary¸¦ °¡Á®¿Ã °ÍÀΰ¡¸¦ °áÁ¤ÇØ¾ß ÇÑ´Ù. ¸¸¾à httpd¸¦ ¼³Ä¡ÇϰíÀÚ ÇÏ´Â host¿¡ compiler°¡ ¾ø´Ù¸é binary¸¦ °¡Á®¿Í¾ß ÇÒ °ÍÀÌ´Ù. ±×·¯³ª compiler°¡ ÀÖ°í, ¼³Ä¡ÇÏ´Â »ç¶÷ÀÌ compile¿¡ ÀÚ½ÅÀÌ ÀÖ´Ù¸é ¿øº»À» °¡Á®¿Í¼ compileÀ» Çϴ°ÍÀÌ ÁÁ´Ù. ¿Ö³ÄÇϸé, dynamic linking libraryÀÇ ¹öÁ¯¹®Á¦¿Í °°Àº compileµÈ ȯ°æ°úÀÇ Â÷À̸¦ ÁÙÀϼö ÀÖÀ¸¸ç, patch°¡ ¹ßÇ¥µÉ °æ¿ì patch¸¦ ÀÔÈ÷±âµµ ½¬¿ï »Ó ¾Æ´Ï¶ó, ÇÊ¿äÇÑ °æ¿ì httpdÀÚü¸¦ °íÄ¥ ¼öµµ Àֱ⠶§¹®ÀÌ´Ù.
CERN httpdÀÇ sourceÇÁ·Î±×·¥ ¶Ç´Â binaryÀÇ ¿øº»Àº
ftp://ftp.w3.org/pub/httpd
¿¡ ÀÖ´Ù. source´Â httpd_3.0_src.tar.Z¶õ À̸§À¸·Î ÀúÀåµÇ¾î ÀÖÀ¸¸ç,
binary´Â http_3.0_bin.os_type.tar.ZÀÇ À̸§À¸·Î ÀúÀåµÇ¾î
ÀÖ´Ù.
¿Ü±¹¿¡¼ Á÷Á¢ °¡Á®¿À´Â °æ¿ì´Â ¸Å¿ì ´À¸° ÆíÀ̹ǷÎ, ´ëü·Î mirror site¶ó´Â µ¥¼
±¸ÇÏ´Â °ÍÀÌ º¸ÅëÀÌ´Ù.
KAIST³ª ´ëÀü Áö¿ªÀÇ °æ¿ì
ftp://ftp.kaist.ac.kr/pub/www/W3C/httpd
¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù.
binary¸¦ °¡Á®¿À´Â °æ¿ì ¸î°¡Áö ÁÖÀÇÇÒ »çÇ×ÀÌ ÀÖ´Ù.
¹«¾ùº¸´Ùµµ ¸ÕÀú, ¼³Ä¡ÇϰíÀÚ ÇÏ´Â ±â°èÀÇ OS°¡ ¹«¾ùÀÎÁö È®½ÇÈ÷¾Ë
Çʿ䰡 ÀÖ´Ù. Àý´ë·Î ÃßÃøÇØ¼´Â ¾ÈµÈ´Ù. ¸¸¾à È®½ÅÇÒ ¼ö ¾ø´Ù¸é
uname -a¶ó´Â ¸í·ÉÀ» ¼öÇàÇØ º¸±â ¹Ù¶õ´Ù.
SunÀÇ °æ¿ì¿¡´Â binaryÀÇ Á¾·ù¿¡ ½Å°æÀ» ¾µ Çʿ䰡 ÀÖ´Ù. ¸ÕÀú +lresolv¶ó´Â °ÍÀÌ ºÙ¾îÀÖ´Â °æ¿ìÀε¥, À̰ÍÀº hostname lookup½Ã name server¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î, ÀÚ½ÅÀÇ host°¡ /etc/hostsÈÀÏ¿¡ ÀúÀåµÇ¾î Àִ ȣ½ºÆ®°¡ ¾Æ´Ï¸é hostnameÀ¸·Î ¿¬°áÇÒ ¼ö ¾øÀ» °æ¿ì ÇÊÈ÷ ÀÌ binary¸¦ ¼³Ä¡ÇÏ¿©¾ß ÇÑ´Ù. +wais¶ó°í ºÙ¾îÀÖ´Â °ÍÀº WAIS proxy code°¡ Ãß°¡µÇ¾î ÀÖ´Â °ÍÀ¸·Î¼, WAIS proxy¸¦ ¿î¿µÇÏ·Á ÇÑ´Ù¸é ÀÌ binary¸¦ °¡Á®¿Í¾ß¸¸ ÇÑ´Ù.
¶ÇÇÑ htadm, cgiparse, htimage¿Í °°Àº ÇÁ·Î±×·¥À» »ç¿ëÇϰíÀÚ ÇÑ´Ù¸é
http_utils_3.0_bin.os_type.tar.ZÀ̶õ ÈÀϵµ
°°ÀÌ °¡Á®¿Í¾ß¸¸ ÇÑ´Ù.
httpd_1.4.2_source.tar.Z·Î
binary´Â httpd_1.4.2_os_type.tar.Z·Î
ÀúÀåµÇ¾î ÀÖÀ¸¸ç, CERN°ú´Â ´Ù¸£°Ô º°µµ·Î °¡Á®¿Í¾ß ÇÒ ÈÀÏÀº ¾ø´Ù.
´Ü, httpd¸¸À» µû·Î °¡Á®¿À·Á ÇÑ´Ù¸é httpd_1.4.2_os_type.Z¸¦ °¡Á®¿À¸é µÈ´Ù.
NetSite´Â Netscape Server Test Drive ÆäÀÌÁö¿¡¼ ÀÚ½ÅÀÇ ½ÅºÐÀ» ¹àÇôÁÖ¸é, ½ÃÇè¿ë code¸¦ ¾òÀ» ¼ö ÀÖ´Ù. »ó¾÷ ±â°ü¿¡¼´Â 60Àϰ£ÀÇ ½ÃÇè »ç¿ëÀÌ Çã¶ôµÇ¸ç, ±³À°±â°üÀÇ °æ¿ì ¹«·á·Î »ç¿ëÀÌ °¡´ÉÇÏ´Ù.
´ëºÎºÐÀÇ ÈÀÏÀº tar.Z·Î µÇ¾î ÀÖÀ¸¹Ç·Î ´ÙÀ½°ú °°ÀÌ Ç® ¼ö ÀÖ´Ù.
zcat httpd_3.0_src.tar.Z | tar xf -
source code¸¦ Ǫ´Â °æ¿ì¿¡´Â WWW¶ó´Â directory°¡, binary¸¦ Ǫ´Â °æ¿ì¿¡´Â
cern_httpd_3.0À̶ó´Â directory°¡ »ý±ä´Ù.
ÄÄÆÄÀÏÀÇ ¹æ¹ýÀº °£´ÜÇÏ´Ù. WWW directory·Î µé¾î°¡¼ ´ÜÁö ./BUILD¶ó°í ÃÄ ÁÖ¸é,
BUILD script´Â ÇØ´ç systemÀÇ OStypeÀ» ÆÄ¾ÇÇÏ¿© ±×¿¡ ¸Â°Ô compileÀ» ½ÃÀÛÇÑ´Ù.
¸¸¾à Á¦´ë·Î compileÀÌ ¾ÈµÇ´Â °æ¿ì
WWW/All/os_typeMakefile.include
¸¦ »ìÆìº¸°í ÇöÀç ÀÚ½ÅÀÇ system¿¡ ¸Â°Ô²û °íÃÄÁÖ°í ´Ù½Ã BUILD¸¦ ¼öÇàÇÑ´Ù.
¸¸¾à WAIS proxy¸¦ °èȹÇϰí ÀÖ´Ù¸é freewais¸¦ ±¸Çؼ °°ÀÌ compileÇÏ¿©¾ß ÇÑ´Ù. freewais´Â ¹«·á WAIS ÇÁ·Î±×·¥ÀÌ´Ù.
Á»´õ ÁÁÀº ¼º´ÉÀÇ proxy server¸¦ ¿øÇÑ´Ù¸é Known Bugs in HTTPD ÆäÀÌÁö¸¦ ÂüÁ¶ÇÏ´Â °ÍÀÌ ÁÁ´Ù. À̰÷¿¡´Â httpdÀÇ ¿À·ù ¹× ¼º´ÉÇâ»óÀ» À§ÇÑ patchµéÀ» ¼Ò°³Çϰí ÀÖ´Ù. (ÃÖ±Ù¿¡´Â NetscapeÀÇ SSL¿ë proxy server·Î ¸¸µé±â À§ÇÑ patch±îÁö ³ª¿Í ÀÖ´Ù.)
ÀÌÁ¦ ¼³Ä¡ÇÒ ÈÀϵéÀÌ ¸ðµÎ ¸¶·ÃµÇ¾úÀ¸¸é, ÀÌ ÈÀϵéÀ» ¾îµð¿¡ µÑ °ÍÀÎÁö »ý°¢ÇØ µÑ Çʿ䰡 ÀÖ´Ù.
httpd¿¡ °ü·ÃµÈ ÈÀϵéÀ» ¿©±âÀú±â Èð¾î³õÀ¸¸é ³ªÁß¿¡ °ü¸®ÇϱⰡ ¸Å¿ì ±Íï¾Æ Áö±â ½±´Ù. µû¶ó¼, server configuration¿¡¼µµ °ü·Ã ÈÀϵéÀ» ¾î¶² directory¹Ø¿¡ ¸ð¾ÆµÎ´Â °ÍÀ» Àå·ÁÇϴµ¥, ±× Àå¼Ò¸¦ Server Root¶ó°í ÇÑ´Ù. Server Root´Â UNIX directory±¸Á¶»ó ƯÁ¤ÇÑ Àå¼Ò¾Æ ¾Æ´Ï¸ç, ¾î¶² °÷ÀÌ¶óµµ µÉ ¼ö ÀÖ´Ù.

<±×¸² 5> ¿¡ ÀϹÝÀûÀÎ CERN httpdÀÇ server root±¸Á¶¸¦ º¸¿´´Ù. icons directory´Â configuration file¿¡´Â ³ªÅ¸³ªÁö ¾ÊÁö¸¸ ²À ÀÖ¾î¾ß¸¸ ÇÏ´Â °ÍÀ¸·Î, directory¸¦ Ç¥½ÃÇÒ¶§ »ç¿ëµÇ´Â iconµéÀÇ ÁýÇÕ¼ÒÀÌ´Ù. conf´Â ¿¹Á¦ ȤÀº ½ÇÁ¦ configuration fileÀÇ ÀúÀå¼ÒÀÌ´Ù. (±×·¯³ª default configuration fileÀº /etc/httpd.confÀÌ´Ù.)
httpd¿Í °ü·ÃµÈ ½ÇÇàÈÀϵéÀº ´ÙÀ½ÀÇ 3Á¾·ù·Î ³ª´ ¼ö ÀÖ´Ù.
µû¶ó¼, CGI utility³ª WWW server º»Ã¼µîÀº bin¿¡, CGI programÀº cgi-bin¿¡ µû·Îµû·Î º¸°üÇϰí, cgi-binÀº server script directory·Î ¼³Á¤ÇÏ´Â °ÍÀÌ º¸ÅëÀÌ´Ù.
¸ÕÀú, configurationÈÀÏÀ» ¾îµð´Ù ³õÀ» °ÍÀÎÁö °áÁ¤ÇÑ´Ù. Default°ªÀº /etc/httpd.confÀÌÁö¸¸, httpd ½ÃÀÛÇÒ¶§ -r optionÀ¸·Î configuration fileÀÇ À§Ä¡¸¦ ÁöÁ¤ÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. À§Ä¡¸¦ °áÁ¤ÇßÀ¸¸é, ¿¹Á¦ configuration fileµé Áß¿¡ Çϳª¸¦ °ñ¶ó °áÁ¤µÈ À§Ä¡¿¡ º¹»çÇØ ³õ´Â´Ù.
ÀÌÁ¦ configurationÈÀÏÀÇ ³»¿ëÀ» °íÃ帵µ·Ï ÇÏÀÚ.
¸Ç ¸ÕÀú ¼³Á¤ÇØ¾ß ÇÒ °ÍÀº ServerRootÀÌ´Ù. À̰ÍÀº ¾Õ Àý¿¡¼ À̾߱âÇÑ server rootÀÇ À§Ä¡¸¦ Àý´ë path·Î Ç¥½ÃÇÏ´Â °ÍÀÌ´Ù.
PortNumber´Â httpd°¡ ¾î¶² TCP port number¸¦ »ç¿ëÇÒ °ÍÀÎÁö Á¤ÇØ ÁÖ´Â ºÎºÐÀÌ´Ù. ÈçÈ÷ URLÀ» ÀûÀ»¶§ hostºÎºÐ µÚÂÊ¿¡ ÄÝ·Ð ´ÙÀ½¿¡ Àû´Â ¼ýÀÚ (¿¹: http://camis.kaist.ac.kr:8080/¿¡¼ 8080) °¡ ÇØ´ç httpdÀÇ port number¸¦ ÀǹÌÇÑ´Ù. ¸¸¾à, °ø½Ä WWW service¸¦ ÇÑ´Ù°í Çϸé HTTPÀÇ °ø½Ä port numberÀÎ 80¹øÀ» »ç¿ëÇÑ´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì 1024ÀÌÈÄÀÇ ¾î¶² ¹øÈ£¸¦ »ç¿ëÇØµµ »ó°ü ¾ø´Ù. ´Ü, 80¹øÀ» »ç¿ëÇÒ °æ¿ì httpd´Â root±ÇÇÑÀ¸·Î ½ÇÇàµÇ¾î¾ß¸¸ ÇÑ´Ù.
ServerTypeÀº ÀÌ httpd°¡ StandAloneÀ¸·Î ¼öÇàµÉ °ÍÀÎÁö, Inetd¸¦ ÅëÇÏ¿© ¼öÇàµÉ °ÍÀÎÁö¸¦ °áÁ¤ÇÏ´Â °ÍÀÌ´Ù. (Âü°í·Î, httpd Á¦ÀÛÀÚµéÀº stand aloneÀ¸·Î ¼öÇàÇÏ´Â °ÍÀ» ±ÇÀåÇϰí ÀÖ´Ù.) StandAloneÀ̶õ httpd ÀÚü·Î¼ ÇØ´ç portÀÇ ¸ðµç connection controlÀ» ÇÏ´Â °ÍÀ» ¸»Çϰí, inetd¸¦ ÅëÇÏ¿© ¼öÇàµÈ´Ù´Â °ÍÀº UnixÀÇ internet service daemonÀÎ inetdÀÇ Á¦¾î¿¡ µû¶ó httpd°¡ ¼öÇàµÇ´Â°ÍÀ» ¸»ÇÑ´Ù.
½ÇÁ¦ ÀÌ¿ë»ó¿¡¼ stand alone°ú inetdÀÇ Â÷ÀÌ´Â ´ÙÀ½°ú °°´Ù. ¸ÕÀú, stand aloneÀ¸·Î ¶ß°Ô µÇ¸é httpd°¡ ÃÖ¼ÒÇÑ Çϳª´Â ²À ¶° ÀÖ¾î¾ß¸¸ ÇÑ´Ù. ±×¿¡ ºñÇØ¼, inetd¸¦ ÅëÇÏ¿© ¶ß°Ô µÈ´Ù¸é http ¿¬°á¿ä±¸°¡ ¿À±â Àü±îÁö´Â httpd°¡ ½ÇÇàµÇÁö ¾Ê´Â´Ù. ¶ÇÇÑ, httpd°¡ configuration fileÀ» Àд ½ÃÁ¡Àº ¼öÇàÀÌ Ã³À½ ½ÃÀ۵ɶ§¿Í hangup signal (kill -1·Î »ý¼º)À» ¹Þ¾ÒÀ» ¶§ »ÓÀ̹ǷÎ, stand aloneÀ¸·Î ¶ç¿î °æ¿ì configuration fileÀ» º¯°æÇÑ ÈÄ httpd¿¡ hangup signalÀ» ÁÖ¾î¾ß¸¸ configuration fileÀÇ º¯°æ ³»¿ëÀÌ ¹Ý¿µµÈ´Ù. ±×¿¡ ºñÇÏ¿©, inetd¸¦ ÅëÇÏ¿© ¶ç¿ì°Ô µÇ¸é ¿¬°á ¿ä±¸°¡ µé¾î¿Ã¶§¸¶´Ù configuration fileÀ» ´Ù½Ã ÀÐÀ¸¹Ç·Î configuration fileÀÇ º¯°æÀÌ Áï°¢ÀûÀ¸·Î ¹Ý¿µµÈ´Ù. ´ë½Å, httpdÀÇ ±âµ¿¿¡ ÇÊ¿äÇÑ ½Ã°£, configuration fileÀ» Àд ½Ã°£µîÀÌ ÀÖÀ¸¹Ç·Î inetd¸¦ ÅëÇÏ´Â ÂÊÀÌ stand aloneÂÊ º¸´Ù ¹ÝÀÀ½Ã°£ÀÌ ¸Å¿ì ´À¸° ÆíÀÌ´Ù.
AccessLog, ErrorLog, ProxyLogµîÀº ÇØ´ç logµéÀ» ÀúÀåÇØ ³õ´Â Àå¼Ò¸¦ ÁöÁ¤ÇÑ´Ù. Server rootÀÇ »ó´ë path·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
½ÇÁ¦ Unix filesystemÀÇ directory¿Í URLÀÇ path´Â °°À» Çʿ䰡 ¾ø´Ù. URLÀÇ path¸¦ UnixÀÇ file system¿¡ ¸ÂÃçÁÖ´Â °ÍÀ¸·Î´Â Pass, Fail, Map, ExecµîÀÇ directiveµéÀÌ ÀÖ´Ù. À̰͵éÀº ´ÙÀ½°ú °°Àº Çü½ÄÀ» µû¸¥´Ù.
Pass template [result]
Fail template
Map template result
Exec template script
¿©±â¼ template¶õ URLÀ» ¸»Çϰí result³ª script´Â filesystem»ó¿¡¼ÀÇ
ÈÀÏÀ» ¸»ÇÑ´Ù.
MapÀ̶õ ¾î¶² fileÀ» ¾î¶² URL·Î Á¢±ÙÇÒ ¼ö ÀÖ´Ù´Â ÀǹÌÀÌ´Ù. Pass¶õ ¾î¶² URLÀ» httpd°¡ ¿ÜºÎ·Î °ø°³Çصµ ÁÁ´Ù´Â ÀǹÌÀÌ´Ù. FailÀ̶õ ¾î¶² URLÀº httpd°¡ ¿ÜºÎ·Î °ø°³Çؼ´Â ¾ÈµÈ´Ù´Â ÀǹÌÀÌ´Ù. Exec¶õ ¾î¶² URL·Î ÁöÁ¤µÈ ÈÀϵéÀº ¹®¼·Î º¸Áö ¸»°í ½ÇÇà °¡´ÉÇÑ script·Î º¸¶ó´Â Àǹ̷Î, ÀÌ ÈÀϵéÀº ´Ù¸¥ ÈÀϵé°ú ´Þ¸® ÀÎÃâµÇÁö ¾Ê°í ½ÇÇàµÈ´Ù. ÁÖÀ§ÇÒ Á¡Àº ÀÌ directiveµéÀº ¾²¿©Áø ¼ø¼´ë·Î °Ë»öµÇ¹Ç·Î, ¼ø¼°¡ ¾î¶»°Ô µÇ¾î ÀÖ´À³Ä¿¡ µû¶ó °á°ú°¡ ´Þ¶óÁú ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù.

<±×¸² 6>¿¡ ¿¹Á¦ configuration fileÀÇ ÀÏºÎ¿Í unix directory ±¸Á¶¸¦ ³ªÅ¸³»¾ú´Ù. ÀÌ °æ¿ì /man/ttt.txt¶ó´Â URLÀº /w3-data/man/ttt.txt°¡ µÇÁö ¾Ê°í /www/man/ttt.txt°¡ µÇ´Â Á¡¿¡ ÁÖÀÇÇ϶ó. ¶ÇÇÑ /w3-data/docs/private ÀÌÇÏ ÈÀϵéÀº ¿ÜºÎ¿¡¼ Á¢±ÙÇÒ ¼ö ¾ø´Ù´Â Á¡µµ ±â¾ïÇØ µÑ ¸¸ ÇÏ´Ù. ¸¸¾à Fail directive°¡ ¸Ç ¸¶Áö¸· ÁÙ¿¡ ÀÖ´Ù¸é private directory´Â ¿ÜºÎ·Î °ø°³µÈ´Ù´Â Á¡µµ ÁÖÀÇÇ϶ó.
º¸¾È»óÀÇ ÀÌÀ¯·Î³ª ´Ù¸¥ ÀÌÀ¯·Î, WWW serviceÀÇ ¾î¶² ºÎºÐÀº ¾Æ¹«¿¡°Ô³ª º¸¿©ÁÖ°í ½ÍÁö ¾ÊÀº °æ¿ì°¡ ÀÖ´Ù. ÀÌ·± °æ¿ì »ç¿ëÇÒ ¼ö Àִ°ÍÀÌ httpdÀÇ »ç¿ëÁ¦ÇÑ(access control)±â´ÉÀÌ´Ù.
ÇöÀç CERN httpd´Â clientÀÇ ÁÖ¼Ò¿¡ ÀÇÇÑ Á¦Çѹæ¹ý°ú, username°ú passwd¸¦ ¹Þ¾Æ¼ Çã¶ôµÈ »ç¿ëÀÚ¸¸ ¹Þ¾ÆµéÀÌ´Â µÎ°¡Áö »ç¿ë Á¦ÇÑ ¹æ¹ýÀÌ ÀÖ´Ù. µÎ°¡Áö °æ¿ì ´Ù Protection, ProtectµîÀÇ directive¸¦ »ç¿ëÇÑ´Ù.
Protection PROT-NAME {
UserId server user id
GroupId server group id
AuthType Basic
ServerId server string whatever you want
PasswordFile path to password file
GroupFile path to group file
GetMask allowed user, group or @host
}
Protect URL PROT-NAME
ÀÚ¼¼ÇÑ °ÍÀº How to setup protected CERN server ¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù.
º°µµ·Î »ç¿ëÀÚ¸¦ °ü¸®ÇÏ´Â °æ¿ì¿¡´Â password file°ú group fileÀ» °ü¸®ÇÏ¿©¾ß ÇÑ´Ù. password file°ú group fileÀÇ Çü½ÄÀº ´ÙÀ½°ú °°´Ù.
¿©±â¼ itemÀº usernameÀÌ µÉ¼öµµ ÀÖ°í groupÀ̸§µµ µÉ ¼ö ÀÖÀ¸¸ç, hostname ȤÀº IP addressµµ µÉ ¼ö ÀÖ´Ù. ´Ü, hostnameÀ̳ª IP addressÀÇ °æ¿ì¿¡´Â ¾Õ¿¡ @°¡ ºÙ´Â´Ù. ¸¸¾à, ¾î¶² È£½ºÆ®ÀÇ ´©±¸·Î Á¦ÇÑÇÏ°í ½Í´Ù¸é username@hostÇüÅ·ΠÀûÀ¸¸é µÈ´Ù.Password format: username:password(encrypted):realname Group format: groupname:item,item,item,...
Password fileÀ» °ü¸®Çϱâ À§Çؼ CERN server¿¡´Â htadmÀ̶ó´Â ÇÁ·Î±×·¥À» Á¦°øÇÑ´Ù.
ÀÚ¼¼ÇÑ °ÍÀº htadm manual page ¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù.
httpd¸¦ ¶ç¿ì´Â ¹æ¹ý¿¡´Â µÎ°¡Áö ¹æ¹ýÀÌ Á¸ÀçÇÑ´Ù. Stand aloneÀ¸·Î ¶ç¿ì´Â ¹æ¹ý°ú inetd°¡ °ü¸®ÇÏ´Â ÇϳªÀÇ daemonÀ¸·Î½á ¶ç¿ì´Â ¹æ¹ýÀÌ´Ù. (ServerType ÂüÁ¶)
Stand aloneÀ¸·Î ¶ç¿ì°íÀÚ ÇÑ´Ù¸é, ´ÜÁö
httpd -r conf_file_path¶ó°í ½ÇÇàÇØ ÁÖ¸é µÈ´Ù.
¸¸¾à, Ç×»ó httpd°¡ ¶° Àֱ⸦ ¹Ù¶õ´Ù¸é, BSDÀÇ °æ¿ì¿¡´Â /etc/rc.local¿¡
À§ÀÇ ÇÑ ÁÙÀ» Ãß°¡ÇØ ÁÖ¸é µÇ¸ç, System VÀÎ °æ¿ì¿¡´Â /etc/rc3.d directory¿¡
S90locald¶ó´Â À̸§À¸·Î ÈÀÏÀ» Çϳª ¸¸µé¾î¼ À§ÀÇ ¸í·ÉÀ» ³Ö¾îÁÖ¸é µÈ´Ù.
Inetd·Î ¶ç¿ì´Â °æ¿ì¿¡´Â ¸ÕÀú, /etc/services¿¡ httpd 80/tcp
¶ó´Â ÇÑÁÙÀ» Ãß°¡ÇÑ´Ù. ´ÙÀ½ /etc/inetd.confÈÀÏ¿¡ ´ÙÀ½ ÇÑÁÙÀ» Ãß°¡ÇÑ´Ù.
(ÁÖÀÇ: /etc/servicesÀÇ °æ¿ì, ¸¸¾à NIS¸¦ µ¹¸®°í ÀÖ´Ù¸é NIS sourceÈÀÏÀ» °íÃľ߸¸ Çϸç, ´Ù °íÄ£ ÈÄ¿¡´Â °íÄ£ Á¤º¸°¡ ypmakeµîÀ» ÅëÇÏ¿© ÇØ´ç È£½ºÆ®¿¡ Àü´Þ µÇ¾î¾ß ÇÑ´Ù.)http stream tcp nowait nobody httpd_path httpd_command
±×¸®°í ³ª¼ inetd ¿¡°Ô kill -1 ·Î hangup signalÀ» ÁÖ¸é, ±×¶§ºÎÅÍ HTTP¿¬°á¿ä±¸°¡ ¿Ã ¶§¸¶´Ù httpd°¡ ÀÛµ¿ÇÑ´Ù. ÀÌ °æ¿ì¿¡´Â Ç×»ó ¶° ÀÖµµ·Ï º°µµ·Î ÇØ¾ß ÇÒ ÀÏÀÌ ¾ø´Ù.
Stand aloneÀ¸·Î ¶° ÀÖ´Â °æ¿ì¿¡´Â terminate signal (kill -15)·Î httpdÀÇ µ¿ÀÛÀ» ÁߴܽÃų ¼ö ÀÖ´Ù. ¸¸¾à, configuration fileÀ» º¯°æÇÏ°í º¯°æµÈ ³»¿ëÀ» Àû¿ë½Ã۰íÀÚ ÇÑ´Ù¸é hangup signal (kill -1)À» ÁØ´Ù. ÀÌ·¸°Ô Çϸé httpd¸¦ ÁߴܽÃŰÁö ¾Ê°í configuration fileÀ» ´Ù½Ã Àеµ·Ï ÇÒ ¼ö ÀÖ´Ù.
Inetd·Î ¶° ÀÖ´Â °æ¿ì¿¡´Â, HTTP¿¬°á¿ä±¸°¡ µé¾î¿À¸é httpd¸¦ ¶ç¿ì°í ó¸®ÇØ¾ß µÉ ³»¿ëÀÌ ³¡³ª¸é httpd°¡ ³¡³ª´Â ÇüÅÂÀ̹ǷÎ, /etc/inetd.conf ¸¦ ¿ø·¡´ë·Î ¹Ù²ã³õÁö ¾Ê´Â ÇÑ httpd°¡ ¶ß´Â °ÍÀ» ¸·À» ¼ö ¾ø´Ù.
¿©·¯ »ç¶÷ÀÌ »ç¿ëÇϴ ȣ½ºÆ®¿¡ httpd¸¦ ¼³Ä¡ÇÏ°Ô µÇ¸é, »ç¿ëÀÚµéÀÌ ÀÚ½ÅÀÇ È¨ÆäÀÌÁö¸¦ °®°í ½Í¾îÇÏ´Â °ÍÀº ´ç¿¬ÇÑ °ÍÀÌ´Ù. ±×·¸´Ù¸é, °ü¸®ÀÚÀÇ ÀÔÀå¿¡¼ ¾î¶»°Ô »ç¿ëÀÚÀÇ ¿ä±¸µµ ÃæÁ·½Ãų ¼ö ÀÖÀ» °ÍÀΰ¡?
ȨÆäÀÌÁö¸¦ °®°í ½Í¾îÇÏ´Â »ç¿ëÀÚ°¡ ¸î ¾ÈµÈ´Ù¸é, ±× »ç¶÷µéÀÇ directory¸¦ httpd configuration¿¡ Æ÷ÇÔ½ÃÅ´À¸·Î½á »ç¿ëÀÚµéÀÌ ÀÚ½ÅÀÇ ÆäÀÌÁö¸¦ ¾µ¼ö ÀÖ°Ô²û ÇÏ´Â °Íµµ ÇѰ¡Áö ¹æ¹ýÀÌ´Ù. ±×·¯³ª, ¸¸¾à »ç¿ëÀÚ°¡ 100¸íÀÌ ³Ñ¾î°£´Ù¸é ¾î¶»°Ô ÇÒ °ÍÀΰ¡?
CERN httpdÀÇ °æ¿ì UserDir public_html¶ó´Â ÇÑ ÁÙÀ» configuration
file¿¡ Ãß°¡ÇØ ÁÖ¸é ½±°Ô ÇØ°áµÈ´Ù.
°¢ »ç¿ëÀÚÀÇ home directory¹Ø¿¡ public_htmlÀ̶õ
directory°¡ /~login_nameÀ̶õ ÇüÅ·Î,
¿ÜºÎ·ÎºÎÅÍ httpd¸¦ ÅëÇØ¼ Á¢±ÙÀÌ °¡´ÉÇØ Áö±â ¶§¹®ÀÌ´Ù.
»ç¿ëÀÚµéÀÌ CGI±îÁö »ç¿ëÇÏ°Ô ÇØ ´Þ¶ó°í ¿ä±¸ÇÑ´Ù¸é ¾î¶»°Ô ÇØ¾ßÇϴ°¡? /cgi-bin¿¡ ÇØ´çÇÏ´Â directory¸¦ ¾Æ¹«³ª ¾µ ¼ö ÀÖµµ·Ï ¿¾îÁÖ¾î¾ß Çϴ°¡? (Àý´ë·Î ±×·¡¼´Â ¾ÈµÈ´Ù!)
ÀÌ·² °æ¿ì cgiwrap À» ¼³Ä¡ÇÏ¿© »ç¿ëÇϵµ·Ï ÇÏ´Â °ÍÀÌ ÁÁ´Ù. cgiwrapÀº CGI programÀÌ »ç¿ëÀÚÀÇ ±ÇÇÑ¿¡¼¸¸ µ¹¾Æ°¡µµ·Ï Á¦ÇÑÇÒ »Ó ¾Æ´Ï¶ó, »ç¿ëÀÚÀÇ CGI°¡ ¾ðÁ¦ ¾î¶»°Ô ½ÇÇàµÇ¾ú´Â°¡¸¦ ±â·ÏÇϱ⵵ ÇÑ´Ù.
ÀÚ¼¼ÇÑ ³»¿ëÀº cgiwrap ÆäÀÌÁö¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù.
httpd°¡ »ý¼ºÇÏ´Â ÈÀÏÁß¿¡ access log¶ó´Â ÈÀÏÀÌ ÀÖ´Ù. À̰ÍÀº ÇØ´ç httpd¿¡ Á¢¼ÓÇß´ø host, ½Ã°¢, °¡Á®°£ ¹®¼, Á¢¼Ó °á°úµîÀÌ ±â·ÏµÈ ÈÀÏ·Î, ÀαâÀÖ´Â WWW serverÀϼö·Ï ´«µ¢ÀÌ Ã³·³ ºÒ¾î³´Ù.
¾óÇͺ¸±â¿¡´Â ¾µ¸ð¾ø´Â ÀÌ ÈÀÏÀ» À¯¿ëÇÏ°Ô È°¿ëÇÒ ¼ö ÀÖ´Ù. getstats ¶ó´Â ÇÁ·Î±×·¥À» »ç¿ëÇϸé access log¸¦ ÀÐ¾î¼ ¿©·¯°¡Áö·Î ºÐ¼®À» ÇØ ÁØ´Ù. ¾î´À È£½ºÆ® ¶Ç´Â µµ¸ÞÀο¡¼ Á¢¼ÓÀ» ¸¹ÀÌ Çß´ÂÁö, ÇÏ·ç Áß, ÇÑÁÖÀÏ Áß ¶Ç´Â ÇÑ´ÞÁß ¾ðÁ¦ Á¢¼Ó¿ä±¸¸¦ ¸¹ÀÌ ÇÏ´ÂÁö, °¡Àå ÀαâÀÖ´Â ¹®¼´Â ¹«¾ùÀÎÁö, ¾ðÁ¦ httpd°¡ ´ë´äÀ» Àß ¸øÇØÁá´ÂÁöµîÀ» optionÀ» ¹Ù²ã°¡¸é¼ ¶Ç´Â ÀüºÎ ºÐ¼® ÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ ºÐ¼®À» ÅëÇÏ¿© httpdÀÇ configurationÀ» ¹Ù²Ù¾î º¼ °ÍÀ» °í·ÁÇÒ ¼ö ÀÖ´Ù.
¸¸¾à Ãâ·ÂÀ» ±×·¡ÇÁ ÇüÅ·Πº¸°í ½Í´Ù¸é getgraph.pl À» ¼³Ä¡ÇÏ¿© »ç¿ëÇÏ¸é µÈ´Ù. ±×·¯³ª, À̰ÍÀº perl, gnuplot, pbmplus, giftransµîÀÇ ´Ù¸¥ °ø°³ ÇÁ·Î±×·¥À» ¼³Ä¡ÇÏ¿©¾ß¸¸ ÇÑ´Ù. ´ÜÁö »ç¿ë·®¸¸À» ±×·¡ÇÁ·Î º¸°íÀÚ ÇÑ´Ù¸é, wusage¸¦ »ç¿ëÇÏ´Â °Íµµ ÁÁ´Ù.
´Ù¸¥ log ºÐ¼® µµ±¸¿¡ °ü½ÉÀÌ ÀÖ´Ù¸é HTTPD Log Analyzers ÆäÀÌÁö¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù.
CGI´Â httpd°¡ ½Ç·ÁÀÖ´Â host¿¡¼ ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ÀÖ´Ù´Â Á¡¿¡¼ ¿äÁÖÀÇ ´ë»óÀÌ´Ù. ±× ÇÁ·Î±×·¥À̶ó´Â °ÍÀÌ ´Ü¼øÇÑ Àå³ ÇÁ·Î±×·¥ÀÎÁö, hostÀÇ passwd³ª ±â¹Ð ¹®¼¸¦ °¡Á®°¡´Â ÇÁ·Î±×·¥ÀÎÁö, ¾Æ´Ï¸é È£½ºÆ®¸¦ ¸ù¶¥ Áö¿ö¹ö¸®´Â ÇÁ·Î±×·¥ÀÎÁö ¾Ë ±æÀÌ ¾ø±â ¶§¹®ÀÌ´Ù.
ÀÌ·± Àǹ̿¡¼ CGI ÇÁ·Î±×·¥ÀÌ ÀúÀåµÇ¾î ÀÖ´Â directory´Â ´Ù¸¥ »ç¶÷µéÀÌ ÇÁ·Î±×·¥À» ÇԺηΠÃß°¡Çϰųª ¹Ù²ãÄ¥ ¼ö ¾øµµ·Ï ½Å°æÀ» ½á¾ß ÇÑ´Ù. »ç¿ëÀÚµéÀÌ CGI¸¦ »ç¿ëÇϰԲû ÇÑ´Ù¸é, ±× ÇÁ·Î±×·¥ÀÌ »ç¿ëÀÚÀÇ ±ÇÇÑÀ¸·Î¸¸ ÀÛµ¿Çϵµ·Ï ½Å°æ½á¾ß ÇÑ´Ù.
´õ¿ì±â UserDir directive·Î »ç¿ëÀÚ µð·ºÅ丮¸¦ ¼³Á¤ÇßÀ» °æ¿ì¿¡´Â, ÀÌ»óÇÑ »ç¿ëÀÛ Ãß°¡µÇÁö ¾Ê´Â°¡ À¯½ÉÈ÷ »ìÆì º¼ Çʿ䰡 ÀÖ´Ù.
NCSA httpd³ª NetSite¿¡¼ Á¦°øÇÏ´Â Server side include±â´É¿¡´Â CGI ±â´ÉÀÌ Æ÷ÇԵǾî ÀÖ´Ù. ÀÌ°Í ¿ª½Ã ½Å°æ½á¾ß ÇÒ ´ë»óÀÌ´Ù. Server side include¿¡ CGI±â´ÉÀÌ ÇÊ¿äÇÏÁö ¾Ê´Ù¸é, access.confÈÀÏ¿¡¼ IncludeNOEXEC¸¦ ÁöÁ¤ÇÔÀ¸·Î½á include½Ã CGI½ÇÇàÀ» Á¦ÇÑÇÏ´Â °ÍÀÌ ÁÁ´Ù.
¾ó¸¶Àü¿¡ NCSA httpd 1.3À» ÅëÇØ¼ httpd°¡ ¼³Ä¡µÇ¾î Àִ ȣ½ºÆ®ÀÇ ±ÇÇÑÀ» µû ³¾¼ö ÀÖ´Ù´Â »ç½ÇÀÌ ¾Ë·ÁÁ®¼ ÈÁ¦°¡ µÈÀûÀÌ ÀÖ´Ù. Áö±ÝÀº ±× ¿À·ù°¡ Á¦°ÅµÇ¾úÁö¸¸, »ç½Ç, ´Ù¸¥ ¾î¶² ¿À·ù°¡ ¼û¾îÀÖÀ»Áö ¾Ë ¼ö ¾ø´Ù.
ƯÈ÷ port number 80¹øÀÇ Á¤½Ä server¸¦ ¿î¿µÇÏ·Á¸é root°¡ httpd¸¦ µ¹¸± ¼ö ¹Û¿¡ ¾ø´Ù. ¸¸¾à ÀÌ È£½ºÆ®ÀÇ httpd¸¦ ÅëÇØ¼ ±ÇÇÑÀ» µû ³¾ ¼ö ÀÖ´Ù¸é, root±ÇÇÑÀ» »¯±ä´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.
ÀÌ¿Í ºñ½ÁÇÑ ¹®Á¦°¡ ¿©·¯ °æ¿ì¿¡ ¹ß»ýÇ߱⠶§¹®¿¡ Unix¿¡¼´Â chroot¶ó´Â command¸¦ Á¦°øÇϰí ÀÖ´Ù. chroot¶õ, change root directoryÀÇ ¾àÀڷμ, ±ÛÀÚ ±×´ë·Î ´Ù¸¥ directory¸¦ root directory¶ó°í ÀνÄÇÏ°Ô ¸¸µå´Â commandÀÌ´Ù.
¿¹¸¦ µé¾î chroot /www-stuff httpd¿Í °°Àº ÇüÅ·Î
httpd¸¦ ½ÇÇàÇÏ¿´´Ù¸é, httpd¿Í httpd°¡ ¸¸µé¾î³»´Â ¸ðµç process´Â
/www-stuff directory¸¦ root directory·Î ÀνÄÇÑ´Ù.
´Ù½Ã ¸»Çϸé, httpd¿Í ±×ÀÇ child processµéÀº /www-stuff¹ØÀÇ ÈÀÏ
À̿ܿ¡´Â Àý´ë·Î °Çµå¸± ¼ö°¡ ¾ø´Â °ÍÀÌ´Ù.

<±×¸² 7>À» º¸ÀÚ. chroot /www-stuff httpd¶ó´Â ¸í·ÉÀ¸·Î
httpd¸¦ ¶ç¿î °æ¿ì httpd ¹× ±×ÀÇ child processµéÀº Ç¥½ÃÇÑ ¿µ¿ªÀ» Àüü
ÈÀϽýºÅÛÀ̶ó°í ÀνÄÇÑ´Ù. µû¶ó¼, httpd¸¦ ÅëÇØ¼ Å©·¡Ä¿°¡ root±ÇÇÑÀ»
¾ò¾ú´Ù ÇÏ´õ¶óµµ, Å©·¡Ä¿´Â /usr, /etc, /home directory´Â ÀüÇô °Çµå¸± ¼ö°¡
¾ø´Ù.
´ë½Å ¸ðµç configurationÀº »õ·Î¿î root directory (¿©±â¼´Â /www-stuff)¸¦ root¶ó°í »ý°¢ÇÏ°í ´Ù½Ã ¾²¿©Á®¾ß¸¸ ÇÑ´Ù. »ç¿ëÀÚ¸¦ À§ÇÑ ÂÊÀ» Áö¿øÇÏ·Á¸é »õ·Î¿î directory ¹Ø¿¡ etcµð·ºÅ丮¿Í °¡Â¥ passdÈÀÏÀ» ¸¸µé°í, °¡Â¥ user directory¸¦ ¸¸µé¾î¾ß ÇÑ´Ù. symbolic link ¿ª½Ã »õ·Î¿î root directory¸¦ root·Î »ý°¢ÇÏ°í ¸¸µé¾î Á®¾ß ÇÑ´Ù.
±×·¯³ª, chroot·Î httpd¸¦ ¶ç¿î´Ù¸é ÇѰ¡Áö´Â È®½ÇÇØ Áø´Ù. Ȥ½Ã httpd·Î Å©·¡Ä¿°¡ µé¾î¿Â´Ù ÇÏ´õ¶óµµ ±×°¡ Áö¿ï¼ö Àִ°ÍÀº httpd ¿Í HTML¹®¼µé »ÓÀÌ´Ù.
ÀÌ ¹®¼´Â ¾ÕÀ¸·ÎÀÇ º¯È¿¡ µû¶ó °è¼Ó ¹ßÀüÇÒ ¿¹Á¤ÀÌ´Ù. http://camis.kaist.ac.kr/~jwjung/seminar/httpd-comp-inst/ ¿¡¼ ÃÖ±ÙÀÇ ¹®¼¸¦ ã¾Æ º¼ ¼ö ÀÖ´Ù. ÀÌ ¹®¼¿¡ ´ëÇÑ comment´Â ¾ðÁ¦µçÁö ȯ¿µÇϸç jwjung@camis.kaist.ac.kr·Î º¸³»¸é µÈ´Ù.