ÀÌ·¯ÇÑ °¡´É¼ºÀº ±×¸¸Å »ç¿ëÀÚÀÇ º¹Àâ ´Ù¾çÇÑ ¿ä±¸¸¦ ¼ö¿ëÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù´Â ¶æÀ» ÇÔÃàÇϰí ÀÖÀ¸¸ç, ÀÎÅͳݿ¡ Á¸ÀçÇÏ´Â °¢Á¾ ¼ºñ½ºµéÀ» Çϳª·Î ÅëÇÕÇÏ¿© ¼ºñ½ºÇÒ ¼ö ÀÖ´Ù´Â ¶æµµ °®°í ÀÖ´Ù. ÀÌ¿¡ µû¶ó HTTP ÇÁ·ÎÅäÄÝÀº ÇöÀç HTTP/1.0ÀÇ Á¦ÇÑÀû ¼ºñ½º ¿µ¿ªÀ» ³Ñ¾î º¸´Ù È®ÀåµÇ°í ´Ù¾çÇÑ »ç¿ëÀÚÀÇ ¿ä±¸¸¦ ÃæÁ·½Ãų ¼ö ÀÖµµ·Ï °³¹ßµÇ°í ÀÖ´Ù.
HTTP Next Generation¿¡¼´Â ÇÁ·ÎÅäÄÝÀÇ °³¹ß µ¿ÇâÀ» »ìÆìº¸°íÀÚ Çϸç, À̸¦ ÅëÇØ ¾ÕÀ¸·Î °¡´ÉÇÏ°Ô µÉ ÀÎÅͳÝÀÇ Á¾ÇÕÀû ¼ºñ½º µµ±¸·Î¼ÀÇ WWWÀ» Àü¸ÁÇØº¸°íÀÚ ÇÑ´Ù.
HTTP´Â World Wide Web¿¡¼ »ç¿ëÇϰí ÀÖ´Â µ¥ÀÌŸ Àü¼Û ÇÁ·ÎÅäÄÝÀ̸ç MIMEÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Â ¸ðµç µ¥ÀÌŸ Çü½Ä¿¡ ´ëÇØ ¹ÙÀ̳ª¸® ¸ðµå·Î Àü¼ÛÇÒ ¼ö ÀÖ´Ù. À̰ÍÀº FTPÀÇ °æ¿ì¿¡¼¿Í °°ÀÌ µ¥ÀÌŸ ¼Û¼ö½ÅÀÌ °¡´ÉÇÔÀ» ¶æÇϸç, ´Ù¸¸ WWW¿ëÀÇ Ãß°¡ÀûÀÎ Á¤º¸°¡ HTTP ÇÁ·ÎÅäÄÝ¿¡¼ Ȱ¿ëµÇ°í ÀÖÀ» »ÓÀÌ´Ù. µû¶ó¼ HTTP ÇÁ·ÎÅäÄÝÀº TCP/IP ÇÁ·ÎÅäÄÝ Ã¼°è °¡¿îµ¥ ÀÀ¿ë ÇÁ·ÎÅäÄݷμ ÇÑ ÀÚ¸®¸¦ Â÷ÁöÇÑ´Ù.
´ÙÀ½ÀÇ ±×¸² 1°ú °°ÀÌ HTTP´Â FTPó·³ TCP ¿¬°áÀ» ÅëÇØ µ¥ÀÌŸ¸¦ ¼Û¼ö½ÅÇÑ´Ù.
µû¶ó¼ HTTP´Â TCP/IP ±â¹Ý À§¿¡¼ µ¥ÀÌŸ ¼Û¼ö½ÅÀÌ ÀÌ·ç¾îÁö°í, FTP¿¡¼ get, put, dir µîÀÇ ÀÀ¿ë ÇÁ·ÎÅäÄÝ ±â´ÉÀÌ ÀÖ´Â °Íó·³ HTTP¿¡¼µµ get, put, post, head µî°ú °°Àº ÀÀ¿ë ÇÁ·ÎÅäÄÝ ±â´ÉÀÌ ÀÖ´Ù.
ÀÌ·¸°Ô TCP/IP ÇÁ·ÎÅäÄÝÀ» ±â¹ÝÀ¸·Î µ¿ÀÛÇϱ⠶§¹®¿¡ »ç¿ëÇÏ´Â TCP Æ÷Æ®°¡ ÀÖÀ¸¸ç 80¹øÀ¸·Î ÁöÁ¤µÇ¾î ÀÖ´Ù. ´Ù¸¥ Æ÷Æ®¸¦ ÀÌ¿ëÇÒ ¼öµµ ÀÖÀ¸³ª ±âº»ÀûÀ¸·Î Á¤ÀǵǾî ÀÖ´Â ¹øÈ£´Â 80¹øÀÌ´Ù. ±×·¸´Ù°í ÇØ¼ HTTP ÇÁ·ÎÅäÄÝÀº TCP/IP¿¡¼¸¸ µ¿ÀÛÇÒ ¼ö ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù. OSI ÂüÁ¶¸ðµ¨À» ÀÌ¿ëÇÑ ÇÁ·ÎÅäÄÝ Ã¼°è¿¡¼µµ HTTP ÇÁ·ÎÅäÄÝÀº ÀÀ¿ë ÇÁ·ÎÅäÄݷμ Ȱ¿ëµÉ ¼ö ÀÖ´Â °ÍÀÌ´Ù. ´Ù¸¸ ´Ù¸¥ ÇÁ·ÎÅäÄÝ Ã¼°è¿¡¼ »ç¿ëÇϰíÀÚ ÇÒ ¶§´Â ±×¿¡ ¸Â°Ô²û ÀûÀýÇÑ ¼öÁ¤À» ÇØ¾ß¸¸ °¡´ÉÇÒ °ÍÀÌ´Ù.
½ÇÁ¦ÀûÀÎ Á¤º¸½Ã½ºÅÛ¿¡¼´Â °Ë»ö, Á¤º¸ °»½Å, ¹× ÁÖ¼® µî°ú °°Àº °£´ÜÇÑ ÀÛ¾÷º¸´Ù´Â º¸´Ù ´Ù¾çÇÑ ±â´ÉÀ» ÇÊ¿ä·Î Çϰí ÀÖ´Ù. ¶ÇÇÑ ºÐ»ê ȯ°æ, °øµ¿ÀÛ¾÷ ȯ°æ, ÇÏÀÌÆÛ¹Ìµð¾î Á¤º¸½Ã½ºÅÛ µîÀÇ »óȲ¿¡¼ ÇÊ¿ä·Î ÇÏ´Â ¼Óµµ¿Í °£Æí¼ºÀ» Á¦°øÇϱâ À§ÇÑ ÇÁ·ÎÅäÄÝÀÌ ÇÊ¿äÇÏ°Ô µÇ¾ú°í À̸¦ ¸ñÀûÀ¸·Î HTTP ÇÁ·ÎÅäÄÝÀÌ ¼³°èµÇ¾ú´Ù.
HTTP ÇÁ·ÎÅäÄÝÀº ¿ä±¸/ÀÀ´ä (Request/Response) ¹æ½ÄÀ» ÀÌ¿ëÇÏ¿© µ¿ÀÛÇϰí ÀÖ´Ù. Áï, ¿øÇÏ´Â ÇÁ·ÎÅäÄÝ ±â´É(¿¹: GET, DELETE, POST, HEAD, etc.)¿¡ ´ëÇØ ¼ºñ½º ¿ä±¸¸¦ ÇÏ¸é µ¥ÀÌŸ Åë½ÅÀ» À§ÇÑ TCP ¿¬°áÀÌ ¸¸µé¾îÁö°í ¼¹ö°¡ ÀÀ´äÀ» º¸³»¾î µ¥ÀÌŸ Àü¼ÛÀ» ³¡³»¸é ÀÚµ¿ÀûÀ¸·Î ¿¬°áÀÌ ²÷¾îÁö°Ô µÇ´Â °ÍÀÌ´Ù.
FTP ÇÁ·ÎÅäÄÝÀÇ °æ¿ì ÇϳªÀÇ ÈÀÏÀ» ¼Û½Å ¶Ç´Â ¼ö½ÅÇÏ°í ³ ´ÙÀ½¿¡µµ ±× ¿¬°áÀº ²÷¾îÁöÁö ¾Ê¾Æ ¶Ç ´Ù¸¥ ¿ä±¸¸¦ ÇÒ ¼ö ÀÖÁö¸¸, HTTP ÇÁ·ÎÅäÄÝÀÇ °æ¿ì¿¡´Â ´Ù½Ã ¿¬°áÀ» ¸¸µé¾î ¿ä±¸ÇØ¾ß ÇÏ´Â ¹æ½ÄÀÌ´Ù.[Simon5]
HTTPÀÇ Request Çü½ÄÀº ¾ÆÁÖ °£´ÜÇÏ´Ù. ù ¹øÂ° Á٠óÀ½¿¡ ¾î¶² ±â´ÉÀ» ÀÌ¿ëÇÏ·Á´ÂÁö ÁöÁ¤À» ÇÑ´Ù. °¡Àå ÀϹÝÀûÀ¸·Î ¾²À̰í ÀÖ´Â °ÍÀÌ GET ÀÌ´Ù. À̰ÍÀº ºê¶ó¿ìÀú°¡ ¼¹ö¿¡°Ô ¹®¼¸¦ º¸³»´Þ¶ó°í ¿äûÇÏ´Â °ÍÀÌ´Ù. ±× ´ÙÀ½¿¡´Â ÈÀÏ À̸§Ã³·³ ´ë»óÀÌ µÇ´Â °ÍÀ» ÁöÁ¤Çϰí ÇöÀç ¾²À̰í ÀÖ´Â HTTP ÇÁ·ÎÅäÄÝÀÇ ¹öÀüÀ» ÁöÁ¤ÇÑ´Ù. ÀÌ ´ÙÀ½¿¡´Â ÀÏ·ÃÀÇ ÁöÁ¤ »çÇ×µéÀ» µ¡ºÙÀÏ ¼ö°¡ ÀÖÀºµ¥, ¿¹¸¦ µé¾î ºê¶ó¿ìÀúÀÇ Á¾·ù³ª ºê¶ó¿ìÀú°¡ ´Ù·ê ¼ö ÀÖ´Â µ¥ÀÌŸ Çü½Ä µîÀÌ´Ù. ¾Æ·¡¿Í °°Àº ¿¹¸¦ º¼ ¼ö ÀÖ´Ù.
GET /index.html HTTP/1.0 Accept: text/plain Accept: text/html Accept: */* User-Agent: Netscape 1.2
HTTP¿¡¼ÀÇ ÀÀ´ä Çü½Äµµ ¾ÆÁÖ °£´ÜÇÏ°Ô ±¸¼ºµÇ¾î ÀÖ´Ù. ¼¹ö¿¡¼ ¾²À̰í ÀÖ´Â ÇÁ·ÎÅäÄÝ ¹öÀü, Request¿¡ ´ëÇÑ ½ÇÇà °á°ú, Àü´ÞÇØÁÙ µ¥ÀÌŸÀÇ Çü½Ä, µ¥ÀÌŸ ±æÀÌ µî°ú °°Àº Ãß°¡ÀûÀÎ Á¤º¸°¡ Àü´ÞµÇ°í, ÀÌ·¯ÇÑ Çì´õ Á¤º¸ÀÇ ³¡À» ³ªÅ¸³»´Â ºóÁÙÀÌ µé¾î°¡°í, µÚÀÌ¾î ½ÇÁ¦ µ¥ÀÌŸ°¡ Àü´ÞµÈ´Ù. µ¥ÀÌŸ Àü´ÞÀÌ ³¡³ª¸é ¼¹ö´Â ¿¬°áÀ» ²÷´Â´Ù. ¾Æ·¡¿Í °°Àº ¿¹¸¦ º¼ ¼ö ÀÖ´Ù.
HTTP/1.0 200 OK Server: MDMA/0.1 MIME-version: 1.0 Content-type: text/html Last-Modified: Thu Jul 7 00:25:33 1994 Content-Length: 2003 Right here waiting for you...
ÀÌ·¯ÇÑ ¿ä±¸/ÀÀ´ä ¹æ½ÄÀº ³ª¸§´ë·Î Àå´ÜÁ¡À» °®°í ÀÖ´Ù. URL (Uniform Resource Locator)À» ÀÌ¿ëÇÑ ÇÏÀÌÆÛ¸µÅ©·Î ±¸¼ºµÇ¾î ÀÖ´Â HTML ¹®¼¿¡¼´Â °¢Á¾ ÇÁ·ÎÅäÄݰú È£½ºÆ® À̸§À» ÁöÁ¤ÇÏ¿© ¹®¼ ¿äûÀ» À§ÇÑ ¿¬°áÀ» ¸¸µé¾î µ¥ÀÌŸ¸¦ °®°í ¿Ã ¼ö ÀÖ´Ù. FTPÀÇ °æ¿ì¿¡¼Ã³·³ ÇϳªÀÇ È£½ºÆ®¿¡ ¿À·¡ ¿¬°áÀ» ¸Î°í¼ ¿©·¯ °¡Áö ¹®¼µéÀ» °®°í ¿À´Â °ÍÀÌ ¾Æ´Ï¶ó ÇÏÀÌÆÛÅØ½ºÆ® ¹®¼¿¡ ÀÖ´Â ÇÏÀÌÆÛ¸µÅ©¸¦ ÅëÇØ ÀüÇô ´Ù¸¥ È£½ºÆ®¿¡ Á¢¼ÓÇÏ¿© ¹®¼¸¦ ¿äûÇÒ ¼ö Àֱ⠶§¹®¿¡ ¿¬°áÀÌ Áö¼ÓÀûÀ¸·Î À¯ÁöµÇ´Â ¹æ½Äº¸´Ù´Â ¿ä±¸/ÀÀ´äÀÇ ¹æ½ÄÀ¸·Î µ¿ÀÛÇÏ´Â °ÍÀÌ º¸´Ù È¿À²ÀûÀÌ°Ô µÈ´Ù.
ÇÏÁö¸¸ ¸¹Àº °æ¿ì¿¡ °®°í ¿À´Â µ¥ÀÌŸ´Â °°Àº Àå¼Ò¿¡ ÀÖ´Â °ÍÀÌ´Ù. µû¶ó¼ °°Àº È£½ºÆ®¿¡¼ ¿©·¯°¡Áö ¹®¼¸¦ °®°í ¿Ã·Á°í ÇÑ´Ù¸é °¢°¢ÀÇ ¹®¼¸¶´Ù º°µµÀÇ TCP ¿¬°áÀ» ¸¸µé°í ÀÌ °úÁ¤¿¡¼ Ãß°¡ÀûÀÎ ºÎ´ãÀÌ »ý±â°Ô µÈ´Ù. FTPÀÇ °æ¿ì¿¡´Â ÇÑ ¹ø ¸Î¾îÁø ¿¬°áÀ» ÅëÇØ¼ ¿©·¯ ¹ø ¹®¼ ¿äûÀ» ÇÏ¸é µÇÁö¸¸ HTTP ÇÁ·ÎÅäÄÝ¿¡¼´Â ¹®¼¸¶´Ù °¢°¢ÀÇ ¿¬°áÀ» ¸¸µé¾î¾ß ÇÏ´Â Ãß°¡ÀûÀÎ ºÎ´ãÀÌ ¹ß»ýÇÏ´Â °ÍÀÌ´Ù. µû¶ó¼ °°Àº Àå¼Ò¿¡¼ ¸¹Àº ¹®¼¸¦ °®°í ¿Ã·Á°í ÇÒ ¶§ HTTP ÇÁ·ÎÅäÄÝÀº ¼º´É»óÀÇ ÀúÇϸ¦ ¹ß»ý½Ã۰í ÀÖ´Â °ÍÀÌ´Ù.
ÀÌ·¯ÇÑ ¹®Á¦Á¡À» ÇØ°áÇϰí, On-Line ¼îÇΰú °°Àº »ó¾÷ÀûÀÎ ÀÀ¿ëµéÀ» ¿°µÎ¿¡ µÐ ±â´ÉµéÀ» º¸¿ÏÇÏ¿© »õ·Î¿î ÇÁ·ÎÅäÄÝÀ» ¼³°èÇϰíÀÚ Çϰí ÀÖ´Ù. À̰ÍÀº µÎ °¡Áö ¹æ½ÄÀ¸·Î ÁøÇàµÇ°í Àִµ¥ ÇöÀçÀÇ ÇÁ·ÎÅäÄÝÀ» º¸¿ÏÇÏ´Â ¹æ¹ýÀÌ ÇϳªÀÌ°í ¾Æ¿¹ »õ·Î¿î ÇÁ·ÎÅäÄÝÀ» ¼³°èÇØ¼ ±âÁ¸ÀÇ HTTP ÇÁ·ÎÅäÄÝÀ» ´ëüÇÏ´Â ¹æ¹ýÀÌ ³ª¸ÓÁö ÇÑ °¡ÁöÀÌ´Ù. HTTP-NG¶õ ¸íĪÀº ±âÁ¸ÀÇ HTTP ÇÁ·ÎÅäÄÝÀ» ´ëüÇÏ´Â »õ·Î¿î ÇÁ·ÎÅäÄÝÀ» ¼³°èÇϰíÀÚ ÇÏ´Â °ÍÀÌ´Ù.[Simon1][Simon2]
HTTP´Â ÀÎÅͳݿ¡¼ °¡Àå ºü¸£°Ô ¼ºÀåÇϰí ÀÖ´Â ÇÁ·ÎÅäÄÝÀÌ´Ù. ±¸ÇöÇϱ⵵ ¼Õ½¬¿ì¸ç Áö±Ý ÀÌ ¼ø°£¿¡µµ ¾öû³ ¾çÀÇ µ¥ÀÌŸ°¡ ÀÌ ÇÁ·ÎÅäÄÝ¿¡ ÀÇÇØ Àü¼ÛµÇ°í ÀÖ´Ù. ÀÌ·¸°Ô Àß µ¿ÀÛÇϰí ÀÖÀ½¿¡µµ HTTP¸¦ ´ëüÇÏ´Â »õ·Î¿î ÇÁ·ÎÅäÄÝÀ» ¼³°èÇϰíÀÚ ÇÏ´Â °ÍÀº ¾Õ¼ ¸»ÇÑ ¼º´É»óÀÇ ¹®Á¦¿Í »ç¿ëÀÚ È®ÀÎ ¹× »ç¿ë·á ¡¼ö µî°ú °°Àº ¼ö´ÜÀ¸·Î »ó¾÷Àû ÀÀ¿ëÀÇ ¸ñÀûÀ» ´Þ¼ºÇϱâ À§ÇؼÀÌ´Ù.[Simon1]
±âÁ¸ÀÇ ÇÁ·ÎÅäÄÝ¿¡´Ù °¢Á¾ ±â´ÉµéÀ» Ãß°¡ÇÏ°í °³¼±ÇÏ¿© Ȱ¿ëÇÏ´Â ¹æ¹ýµµ ÀÖÀ¸³ª ÇÊ¿äÇÑ ¿ä°ÇµéÀÌ ÇÁ·ÎÅäÄÝ µ¿ÀÛÀÇ ±âº» ¸ðµ¨°ú °ü·ÃÇÑ °ÍÀ̱⠶§¹®¿¡ À̸¦ ¹Ù²ÙÁö ¾Ê°í¼´Â ¹®Á¦¸¦ ´õ º¹ÀâÇÏ°í ¾î·Æ°Ô ¸¸µç´Ù. ÀÌ¿¡ µû¶ó ´Ù¸¥ µ¿ÀÛ ¸ðµ¨À» »ç¿ëÇÏ¿© »õ·Î¿î ÇÁ·ÎÅäÄÝÀ» ¼³°èÇϰíÀÚ ÇÏ´Â °ÍÀÌ´Ù.[Simon2]
»õ·Î¿î ÇÁ·ÎÅäÄÝÀ» °³¹ßÇϰíÀÚ ÇÒ ¶§ °ËÅäÇÒ ¼ö ÀÖ´Â ¿ä±¸»çÇ×µéÀº ¼¼ °¡Áö ´ë»ó¿¡ ´ëÇÑ °ÍÀ¸·Î ³ª´©¾îº¼ ¼ö ÀÖ´Ù. Áï, ´ÙÀ½°ú °°´Ù.
HTTP ÇÁ·ÎÅäÄÝÀÌ µ¿ÀÛÇÏ´Â ¹æ½ÄÀº ¾Æ·¡ ±×¸² 2¿Í °°ÀÌ, ºê¶ó¿ìÀúÀÇ °¢ ¿ä±¸µé¸¶´Ù ¸Å¹ø »õ·Î¿î ¿¬°áÀ» ¸¸µé¾î¼ µ¥ÀÌŸ¸¦ °¡Á®¿À°í ÀÖ´Ù. µû¶ó¼ ´Ù¼¸ °¡ÁöÀÇ ¹®¼ ÈÀÏÀ» °¡Á®¿À±â À§Çؼ´Â ´Ù¼¸ °³ÀÇ ¿¬°áÀ» ¸¸µé¾î¼ °®°í ¿À°Ô µÈ´Ù.[Simon2]
ÀÌ¿¡ ºñÇØ, HTTP-NG ÇÁ·ÎÅäÄÝ ±¸Á¶¿¡¼´Â ´Ù¸¥ ¸ðµ¨À» »ç¿ëÇϰí ÀÖ´Ù. ´ÙÀ½ ±×¸² 3°ú °°ÀÌ °¢ ¹®¼ ¿ä±¸¿¡ ´ëÇØ º°µµÀÇ ¿¬°áÀ» ¸¸µé±â º¸´Ù´Â ¿©·¯ °³ÀÇ ¹®¼ ¿ä±¸¿¡ ´ëÇØ ÇϳªÀÇ ¿¬°á¸¸ ¸¸µéµµ·Ï ÇÑ´Ù. ÀÌ ÇϳªÀÇ TCP ¿¬°á ¼Ó¿¡¼ '¼¼¼Ç(session)'À̶ó°í ºÒ¸®¿ì´Â ¿©·¯ °³ÀÇ °¡»óÀû ¿¬°áÀ» ¸¸µéµµ·Ï ÇÑ´Ù. ÀÌ °¡¿îµ¥ Çϳª´Â ¼¼¼Ç ¿¬°á¿¡¼ Á¦¾î Á¤º¸¸¦ ÁÖ°í ¹Þ±â À§ÇØ ¾²ÀδÙ. ³ª¸ÓÁö ¼¼¼Ç ¿¬°á¼±¿¡ ½ÇÁ¦ µ¥ÀÌŸ°¡ Àü´ÞµÈ´Ù.
HTTP-NG¿¡¼ÀÇ ¿ä±¸/ÀÀ´äÀº '¸Þ½ÃÁö' ´ÜÀ§·Î 󸮵Ǹç, GET ¿ä±¸¸¦ ÅëÇØ ¹®¼¸¦ ¿ä±¸ÇÏ´Â °æ¿ì¿¡ ¿øÇÏ´Â ¹®¼ ¸ñ·ÏÀ» ÁöÁ¤ÇÏ¿© ¿ä±¸Çϰí, °¢°¢ÀÇ ¹®¼µéÀº ¼¼¼Ç ¿¬°áÀ» ÅëÇØ µ¿½Ã¿¡ Àü´ÞµÈ´Ù. µ¥ÀÌŸ¸¦ ¼ö½ÅÇϰí ÀÖ´Â µ¿¾È¿¡µµ ±â´Ù¸± ÇÊ¿ä¾øÀÌ ¹®¼ ¿äûÀ» ÇÒ ¼ö ÀÖÀ¸¸ç, ÇϳªÀÇ µ¥ÀÌŸ ½ºÆ®¸² ¼Ó¿¡ ¿©·¯ °³ÀÇ ¹®¼°¡ »çÀÌ»çÀÌ¿¡ ³¢¾î ÀÖÀ» ¼ö ÀÖ´Ù. µû¶ó¼ Áß°£ °ÔÀÌÆ®¿þÀÌ ¿ªÇÒÀ» ÇÒ ¶§µµ ¼·Î ´Ù¸¥ ºê¶ó¿ìÀú°¡ °°Àº ¼¹ö¿¡ ´ëÇØ ¿ä±¸¸¦ ÇÒ ¶§ È¿À²ÀûÀ¸·Î µ¿ÀÛÇÒ ¼ö ÀÖ´Â ¼ö´ÜÀÌ µÈ´Ù.
HTTP ÇÁ·ÎÅäÄÝÀ» ÅëÇØ ¼Û¼ö½ÅµÇ´Â µ¥ÀÌŸ´Â ÅØ½ºÆ® Á¤º¸ ±×´ë·Î¿©¼ »ç¶÷µéÀÌ ÀÌÇØÇϱ⠽¬¿î ÇüÅÂÀ̳ª ´Ù¾çÇÑ µ¥ÀÌŸ Çü½ÄÀÌ º¹ÇÕÀûÀ¸·Î ¾²ÀÏ ¶§´Â º¹ÀâÇÑ ±¸Á¶·Î Ç¥ÇöµÇ¾î¾ß ÇÏ°í ´Ù·ç±â°¡ ¾î·Á¿öÁø´Ù.
ÀÌ¿¡ µû¶ó HTTP-NG¿¡¼´Â Àü´ÞµÇ´Â ¹®¼ Á¤º¸µéÀ» ASN.1 (Abstract Syntax Notation)°ú PER (Packed Encoding Rules) Çü½ÄÀ¸·Î ÀÎÄÚµùÇÏ¿© Àü´ÞµÇµµ·Ï ÇÑ´Ù. ÀÌ¹Ì ÀÌ ¹æ½ÄÀ¸·Î µ¿ÀÛÇÏ´Â È¿À²ÀûÀÎ µµ±¸°¡ Àֱ⠶§¹®ÀÌ´Ù.
HTTP-NG ¸Þ½ÃÁö´Â µ¿ÀÛ ·¹º§¿¡ ´ëÇÑ Çù»ó °á°ú¿¡ µû¶ó ±³È¯µÈ´Ù.[Simon4]
TCP ¿¬°áÀÌ ÀÏ´Ü ¼³¸³µÇ°í ³ª¸é ¼¼¼Ç ¿¬°áÀ» À§ÇØ ÀÏ´Ü ¸ÕÀú Ãʱâȸ¦ ½ÃÄÑ¾ß ÇÑ´Ù. ºê¶ó¿ìÀú´Â Çã¿ë °¡´ÉÇÑ methods(1)¿Í µ¿ÀÛ ·¹º§À» ÁöÁ¤ÇÏ´Â ÃʱâÈ ¿ä±¸¸¦ º¸³»°í, ¼¹ö´Â Çã¿ë °¡´ÉÇÑ methods¿Í »ç¿ëÇÒ µ¿ÀÛ ·¹º§À» ÁöÁ¤ÇÏ´Â ÃʱâÈ ÀÀ´äÀ» ÇÑ´Ù. À̶§ ºê¶ó¿ìÀú´Â ÀÌ ÀÀ´äÀ» ¹ÞÁö ¾Ê°í¼µµ ¼¹ö¿¡°Ô ¿ä±¸¸¦ º¸³¾ ¼ö ÀÖ´Ù. ¸¸¾à ¼¹ö°¡ ó¸®ÇÒ ¼ö ¾ø´Â ¿ä±¸ »çÇ×À̶ó¸é ¼¹ö´Â ¿À·ù ÀÀ´äÀ» º¸³½´Ù.
ÀÌ·¯ÇÑ ÃʱâÈ ¿ä±¸¿Í ÀÀ´äÀº ¹Ýµå½Ã ¿¬°áÀÌ ¼³¸³µÇ°í ÃÖÃÊ·Î Àü´ÞµÇ¾î¾ß ÇÑ´Ù. ¸¸¾à Çù»óÀÌ °¡´ÉÇÏ´Ù¸é ÃʱâÈ ¿ä±¸¸¦ º¸³»°í ³ª¼ Áï½Ã Çù»ó ¿ä±¸¸¦ º¸³¾ ¼ö ÀÖ´Ù. [Simon4]
ÃʱâÈ µ¿ÀÛÀÌ ³¡³ª°í ³ ´ÙÀ½¿¡´Â ½ÇÁ¦ÀûÀÎ µ¥ÀÌŸ ¼Û¼ö½ÅÀ» À§ÇÑ ¿ä±¸¿Í ÀÀ´äÀ» ÁÖ°í ¹ÞÀ» ¼ö ÀÖ´Ù. ¼¹ö´Â ºê¶ó¿ìÀú°¡ Çã¿ë °¡´ÉÇÏ´Ù°í ÁöÁ¤ÇÑ °Í À̿ܿ¡ ´Ù¸¥ ¾î¶² ¸Þ½ÃÁöµµ º¸³»¾î¼´Â ¾È µÈ´Ù.
µ¥ÀÌŸ¸¦ ÁÖ°í ¹Þ´Â °¡¿îµ¥ ºê¶ó¿ìÀú´Â ¾ðÁ¦µçÁö µ¿ÀÛ ·¹º§°ú method¸¦ ¹Ù²Ù±â À§ÇØ ÃʱâÈ ¿ä±¸¸¦ ´Ù½Ã ÇÒ ¼ö ÀÖ´Ù. ¼¹ö´Â »õ·Ó°Ô ¼ö½ÅÇÑ ÃʱâÈ ¿ä±¸¿¡ ´ëÇØ, ÀÌÀü¿¡ ¼ö½ÅÇÑ ¸ðµç ¿ä±¸ »çÇ×µéÀ» ó¸®ÇÏ°í ³ ´ÙÀ½¿¡ ÃʱâÈ ÀÀ´äÀ» ÇØ¾ß ÇÑ´Ù. [Simon4]
¿À·ù°¡ ¹ß»ýÇÏ°Ô µÇ¸é ¿À·ù¸¦ ¾Ë¸®´Â ÀÀ´äÀÌ Àü´ÞµÈ´Ù. ¿À·ù°¡ ¹ß»ýÇÑ ÀÌÀ¯¿¡ ´ëÇØ ¹Ì¸® ÁöÁ¤µÇ¾î ÀÖ´Â ¼ýÀÚ ¹øÈ£·Î ¾Ë·ÁÁÖ°í, Ãß°¡ÀûÀ¸·Î ¾Ë·ÁÁÙ ¼ö ÀÖ´Â ¿À·ù ¸Þ½ÃÁö³ª Á¤º¸µµ Æ÷Ç﵃ ¼ö ÀÖ´Ù. [Simon4]
ÀÌ¹Ì º¸³Â´ø ¿ä±¸ »çÇ×Àº ¾ðÁ¦µçÁö Ãë¼Ò°¡ °¡´ÉÇÏ´Ù. ¾ÆÁ÷ ¿Ï·áµÇÁö ¾Ê´Â µ¿ÀÛ¿¡ ´ëÇÑ 'Ãë¼Ò¿ä±¸'¸¦ ¼¹ö°¡ ¼ö½ÅÇÏ¸é ¼öÇàÇϰí ÀÖ´ø ÀÛ¾÷À» Áß´ÜÇÑ´Ù.
¸¸¾à ºê¶ó¿ìÀú°¡ ¿øÇÏÁö ¾Ê¾Ò´ø µ¥ÀÌŸ¸¦ Æ÷ÇÔÇϰųª ¿øÇÏÁö ¾Ê¾Ò´ø ÀÀ´ä ¸Þ½ÃÁö°¡ µµÂøÇϸé -- ÀÌ¹Ì Çß´ø ¿ä±¸ »çÇ×À» Ãë¼ÒÇßÁö¸¸ ÀÀ´äÀÌ µµÂøÇßÀ» °æ¿ìµµ Æ÷ÇÔÇÏ¿© -- ¼ö½ÅÇÏ°Ô µÈ´Ù¸é, Ãë¼Ò¿ä±¸¸¦ ¼¹ö¿¡°Ô º¸³»µµ·Ï ÇÑ´Ù. À̸¦ ÅëÇØ º¸´Ù ³ªÀº ¿¹Ãø ¾Ë°í¸®ÁòÀÌ µ¿ÀÛÇÒ ¼ö ÀÖ°Ô²û ÇÑ´Ù.
'Ãë¼Ò¿ä±¸'(Cancel Request)¿Í ÇÔ²² '´ë±â¿ä±¸'(Suspend Request)µµ °¡´ÉÇÏ´Ù. À̰ÍÀº ¼¹ö°¡ Àü¼Û Àç°³¸¦ ¿äûÇϰųª ºê¶ó¿ìÀú°¡ ´ë±â¿ä±¸¸¦ Ãë¼ÒÇϱâ Àü±îÁö µ¥ÀÌŸ Àü¼ÛÀ» ÀϽÃÀûÀ¸·Î ÁߴܽÃŰ°í ´ë±â »óÅ·ΠµÎ°Ô²û ÇÏ´Â °ÍÀÌ´Ù. [Simon4]
ºê¶ó¿ìÀú´Â ¿¬°áÀ» ¾ðÁ¦µçÁö ²÷À» ¼ö ÀÖÀ¸¸ç ¼¹öµµ ¾ðÁ¦µçÁö ¿¬°áÀ» ²÷À» ¼ö ÀÖ´Ù. ÀûÀýÇÏ°Ô 'ÇØÁ¦¿ä±¸'(Shutdown Request)¸¦ º¸³»¾î ÇØÁ¦ÇÒ ¼ö ÀÖ´Ù.[Simon4]
ºê¶ó¿ìÀú°¡ ¼¹ö¿¡°Ô ¿©·¯ °¡Áö ¹®¼ Àü¼ÛÀ» ¿ä±¸ÇÏ´Â °ÍÀÌ ÀϹÝÀûÀÎ °æ¿ìÀÌÁö¸¸, ¹Ý´ë·Î ¿©·¯ ºê¶ó¿ìÀú¿¡°Ô °æ°í ¸Þ½ÃÁö¸¦ Àü´ÞÇÒ ¶§¿Í °°Àº °æ¿ìµµ ÀÖ´Ù. ¶Ç´Â ºñ¿ë ÁöºÒÀ» ´©°¡ ´ã´çÇÒ °ÍÀÎÁö ¼¹ö´Â ¿©·¯ »ó´ë¿¡ ´ëÇØ Çù»óÀ» ÇØ¾ßÇÒ °æ¿ìµµ ÀÖ´Ù. ÀÌ¿Í ÇÔ²², HTTP-NG´Â ¹®¼ÀÇ Á¾·ù¿¡ Á¦ÇÑÀ» µÎ°í ÀÖÁö ¾Ê°í º¸¾È ¹× ÁöºÒ ¹æ½ÄÀÇ Á¦Çѵµ µÎ°í ÀÖÁö ¾ÊÀ¸¹Ç·Î ºê¶ó¿ìÀú¿Í ¼¹ö »çÀÌ¿¡ ¾î¶² ¹æ½ÄÀ» »ç¿ëÇÒ °ÍÀÎÁö Çù»óÀÌ ÀÖ¾î¾ß ÇÑ´Ù.
HTTPÀÇ °æ¿ì¿¡´Â ºê¶ó¿ìÀú°¡ Çã¿ë °¡´ÉÇÑ °ÍµéÀ» ÁÖ·ç·è ³ª¿ÇÏ¿© ¼¹ö°¡ ¼±ÅÃÇÏ´Â ¹æ½ÄÀ¸·Î ÀÌ·ç¾îÁø´Ù. À̰°Àº ¹æ½Ä¿¡¼´Â Àü´ÞÇÏ´Â ¿ä±¸ µ¥ÀÌŸ Å©±â°¡ Ä¿Áö°í ±×¸¸Å ¼Û¼ö½Å¿¡ ½Ã°£ÀÌ °É¸®°í ó¸® ½Ã°£À» Áõ°¡½ÃŰ´Â ¼º´É»óÀÇ ¹®Á¦Á¡À» ÀÏÀ¸Å²´Ù. ÀÌ·¯ÇÑ Á¤º¸°¡ ºê¶ó¿ìÀú ¿ä±¸ ÆÐŶÀÇ 95% ºÎºÐÀ» Â÷ÁöÇÑ´Ù.
HTTP-NG¿¡¼´Â ÀϹÝÀûÀ¸·Î °¡Àå ¸¹ÀÌ ¾²ÀÌ´Â µ¥ÀÌŸ Çü½ÄµéÀ» ¸ñ·ÏÀ¸·Î ¸¸µé¾î ©¸·ÇÑ ºñÆ®¸Ê Çü½ÄÀ¸·Î ÀÎÄÚµùÀ» ÇÑ´Ù. ¼¹ö¿Í ºê¶ó¿ìÀú´Â ÀÌ Á¤º¸¿Í ÇÔ²² ÀÚ½ÅÀÌ Çã¿ë °¡´ÉÇÑ °ÍµéÀ» ÁöÁ¤ÇÏ´Â ¹æ½ÄÀ¸·Î Çù»óÀÇ °úÁ¤À» °ÅÄ£´Ù. À̸¦ À§ÇØ Ãß°¡ÀûÀÎ ¼ýÀÚ Çü½ÄÀÇ ÆÄ¶ó¹ÌÅͰ¡ Ãß°¡µÇ¾î¾ß ÇÑ´Ù. security schemes, authentication information, payment mechanisms µî¿¡ ´ëÇÑ Çù»óµµ °°Àº ¹æ½ÄÀ¸·Î ÀÌ·ç¾îÁø´Ù.[Simon2][Simon4]
Áö±Ý±îÁö Á¦¾ÈµÇ¾î ÀÖ´Â º¸¾È ¹æ½ÄµéÀº ºÎÁö±â¼ö·Î Á¸ÀçÇϱ⠶§¹®¿¡ HTTP-NG¿¡¼´Â Àû¿ëÇÒ ¼ö ÀÖ´Â ¿©·¯ °¡Áö º¸¾È ¿ä¼ÒµéÀ» °áÇÕÇÏ¿© general security frameworkÀ» ¸¸µé°í ÀÖ´Ù. ¿©±â¼ ü°èÀûÀÎ ¼±Åà »ç¾ÈµéÀ» Á¦½ÃÇϰí À̸¦ ¼±ÅÃÇÔÀ¸·Î½á ÀÌ¿ëÇϰíÀÚ ÇÏ´Â º¸¾È ¹æ½ÄÀ» ¼Õ½±°Ô ¼±ÅÃÇϰԲû Çϰí ÀÖ´Ù. À̸¦ ÅëÇØ °¢ HTTP-NG ¸Þ½ÃÁö¸¶´Ù ´Ù¸¥ º¸¾È ¹æ½ÄÀ» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. HTTP-NG¿¡¼´Â Áß°£ °ÔÀÌÆ®¿þÀÌ ¿ªÇÒÀ» ÇÏ´Â ¼¹ö¿¡¼µµ ÀÌ·± º¸¾È ¹æ½ÄÀ» Áö¿øÇϹǷΠµ¥ÀÌŸ ³»¿ë¿¡ ´ëÇØ ¼Õ´ëÁö ¾Ê°í ¾ÏÈ£È µÇ¾î ÀÖ´Â µ¥ÀÌŸ¸¦ ±×´ë·Î Áß°èÇØ ÁÙ ¼ö ÀÖµµ·Ï Çϰí ÀÖ´Ù.[Simon2]
HTTP-NG´Â ºê¶ó¿ìÀúÀÇ ¿ä±¸¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î ¼¹ö°¡ ´ë±Ý ÁöºÒ ¿äûÀ» ÇÒ ¼ö ÀÖ°Ô²û Çϰí ÀÖ´Ù. À̸¦ À§ÇØ ÀûÀýÇÑ ÁöºÒ ¹æ½Ä°ú »ç¿ëÀÚ ÀÎÁõ ¹æ½Ä µî¿¡ ´ëÇÑ »óÈ£°£ Çù»óÀ» ÇÏ¿©¾ß ÇÑ´Ù. ¶ÇÇÑ ¼¹ö´Â °¡°Ý Á¤º¸µµ ÇÔ²² Á¦°øÇÏ¿©¾ß ÇÑ´Ù.[Simon2]
ºê¶ó¿ìÀú°¡ ¿ä±¸ÇÑ Á¤º¸¿¡ ´ëÇØ »ç¿ëÀÚ¿¡°Ô º¸¿©ÁÙ ¶§ ÀúÀÛ±Ç »çÇ×°ú °°ÀÌ ÀÚµ¿ÀûÀ¸·Î º¸¿©ÁÖ°Ô²û Çϱâ À§ÇØ Ãß°¡ÀûÀÎ ±â´ÉÀ» ÀÌ¿ëÇÒ ¼öµµ ÀÖ´Ù.[Simon2]
HTTP 1.0 ÇÁ·ÎÅäÄÝ¿¡¼ HTTP-NG ÇÁ·ÎÅäÄÝ·Î ¿Å°Ü°¡±â À§ÇÑ ¹æ¹ýÀ¸·Î µÎ °¡Áö¸¦ Ȱ¿ëÇÒ ¼ö ÀÖ´Ù. ÇÑ °¡Áö ¹æ¹ýÀº HTTP 1.0°ú HTTP-NG¸¦ ÇÔ²² ±¸ÇöÇÏ¿© °¢°¢ÀÇ ºê¶ó¿ìÀú ¿ä±¸¿¡ µû¶ó ÀÀÇÏ´Â Dual Stack approachÀÌ´Ù. ´Ù¸¥ ÇÑ °¡Áö ¹æ¹ýÀº Proxy Server·Î¼ Ȱ¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù.[Simon2]
µÎ °¡Áö¸¦ ÇÔ²² ±¸ÇöÇÏ´Â Dual Stack ¹æ½Ä¿¡¼´Â HTTP-NG¸¸ »ç¿ëÇÏ´Â ¸¸ÅÀÇ ¼º´É Çâ»óÀ» ±â´ëÇÒ ¼ö ¾ø´Ù. ±×·¯³ª Proxy Server ¹æ½Ä¿¡¼´Â ij½ÃµÇ´Â Á¤º¸°¡ Ç×»ó HTTP-NG ÇÁ·ÎÅäÄÝÀ» ÀÌ¿ëÇϹǷΠ»ó´çÇÑ Á¤µµÀÇ ¼º´É Çâ»óÀ» ±â´ëÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ Proxy Server´Â °°Àº ¿¬°á ¼Ó¿¡¼ ¿©·¯ °³ÀÇ HTTP 1.0 ¿¬°áÀ» µ¿½Ã¿¡ ó¸®ÇÒ ¼ö ÀÖ´Ù.
FTP, GOPHER, HTTP µî°ú °°ÀÌ ÀÎÅͳݿ¡¼ Æø³Ð°Ô »ç¿ëµÇ°í ÀÖ´Â ÀÀ¿ëµéÀº ¹®¼¸¦ ¿äûÇÒ ¶§¸¶´Ù ¸Å¹ø »õ·Î¿î ¿¬°áÀ» ¸¸µé¾î¼ °¡Á®¿Â´Ù. Åë»ó ºê¶ó¿ìÀú´Â ¸î °³ÀÇ ¹®¼¸¦ °°Àº ¼¹ö¿¡¼ °¡Á®¿À¹Ç·Î ÀÌ·¯ÇÑ ¹®¼ ¼Û¼ö½Å ¹æ½ÄÀº ºñÈ¿À²ÀûÀÎ °ÍÀÓ¿¡ Ʋ¸²¾ø´Ù. ±×·¡¼ ÇϳªÀÇ TCP ¿¬°á¿¡´Ù ¿©·¯ °³ÀÇ conversations, Áï session ¿¬°áÀ» µÎ¾î º¸´Ù È¿À²ÀûÀ¸·Î µ¥ÀÌŸ ¼Û¼ö½Å 󸮸¦ ÇϰíÀÚ ÇÑ´Ù.[Simon3]
SCP¿¡¼ »ç¿ëÇÏ´Â Çì´õÀÇ ±¸¼º Çü½ÄÀ» º¸¸é ´ÙÀ½ ±×¸²°ú °°´Ù.
ÀÌ¹Ì ¾Õ¼ ¿°ÅÇß´ø HTTP ÇÁ·ÎÅäÄÝÀÇ ¹®Á¦Á¡µéÀÌ ÆÄ¾ÇµÇ¾î Àֱ⠶§¹®¿¡ ÇöÀç ÇÁ·ÎÅäÄÝÀ» °³¼±ÇϰíÀÚ ÇÏ´Â ³íÀǰ¡ ÀÌ·ç¾îÁö°í ÀÖÀ¸¸ç, ´Ù¾çÇÑ ÀÀ¿ëµé°ú »ç¿ëÀÚµéÀÇ ¿ä±¸»çÇ×À» ¹Ý¿µÇϰíÀÚ ÇÏ´Â ³íÀǰ¡ ÀÌ·ç¾îÁö°í ÀÖ´Ù. ¿©±â¿¡¼´Â ÇöÀç HTTP ÇÁ·ÎÅäÄÝ °³¹ß ÀÛ¾÷¿¡¼ ³íÀǵǰí ÀÖ´Â ÁÖ¿äÇÑ »çÇ׵鿡 ´ëÇØ »ìÆìº¸°íÀÚ ÇÑ´Ù. ÀÌ·¯ÇÑ »çÇ×µéÀº ¾ÆÁ÷ ³íÀÇ ´Ü°è¿¡ Àֱ⠶§¹®¿¡ ÇâÈÄÀÇ HTTP »óÀ§ ¹öÀü¿¡ ¹Ý¿µµÉÁö´Â ¾Ë ¼ö°¡ ¾ø´Ù.[Archive]
KeepAlive on | off
KeepAliveTimeout N
MaxKeepAliveRequests N