º¸Åë À¥ °³¹ßÀ» ÇÑ´Ù°í ÇÒ ¶§ ±× ±â¹ÝÀÌ µÇ´Â HTTP ÇÁ·ÎÅäÄÝ¿¡ ´ëÇÑ RFC ¹®¼¸¦ º¸¾ÒÀ» °³¹ßÀÚ°¡ ¾ó¸¶³ª ÀÖÀ»±î? ±×°Íµµ ¿µ¾î·Î µÈ, ±ä ½ºÆå(Spec) À§ÁÖÀÇ ¼³¸íÀ» ´ãÀº ¹®¼¸¦ ¸»ÀÌ´Ù. HTTP°¡ À¥ ±â¼úÀÇ ±âº»ÀÌÁö¸¸ ±»ÀÌ ±×·¯ÇÑ ±Ô¾àÀ̳ª ¼¼ºÎ ¸í¼¼¸¦ ¸ð¸£´õ¶óµµ °³¹ßÀÚ¶ó´Â ŸÀÌƲÀ» °¡Áö°í ÀÏÀ» Çϴµ¥ Å« ¹«¸®°¡ ¾øÀ» Á¤µµ·Î ÀÌ¹Ì ¸¹Àº °³¹ß ¾ð¾î¿Í °ü·Ã ¸Þ¼Òµå ¶Ç´Â ¶óÀ̺귯¸® µéÀÌ Á¸ÀçÇÑ´Ù. ¶ÇÇÑ »ó½ÄÀûÀ¸·Î ³»°¡ °Þ°í ÀÖ´Â ¹®Á¦¸¦ ´Ù¸¥ °³¹ßÀÚµµ °Þ¾úÀ» °Å¶ó°í »ý°¢ÇÏ°í Á¢±ÙÇÏ¸é ¾î¶°ÇÑ ¹®Á¦¿¡ ºÎµúÇû¾îµµ ÀÌ¹Ì ´ëºÎºÐ ±¸±Û¸µÀ¸·Î ÇØ°áÀÌ °¡´ÉÇÑ »óÅÂÀÎ °æ¿ì°¡ ¸¹´Ù. ±×·¸°Ô °ÔÀ¸¸£°Ô ¸î ³âÀ» »ì¾Æ¿À´Ù°¡ ¿äÁò ´Ù½Ã °³¹ß Æ®·»µå¿¡ ´ëÇØ ¿©±âÀú±â¼ ¸¹Àº Á¤º¸¸¦ Èí¼öÇÏ´Ùº¸´Ï ´Ù½Ã ±âº»(Basic)ÀÌ ±Ã±ÝÇØÁ³´Ù. ±¸±Û¸µÀ¸·Î ¿©±âÀú±â ´ÜÆíÈµÈ ³ªÀÇ ¾èÀº ±âº»À» ´Ù½Ã Çѹø È®ÀÎÇÏ°íÀÚ ÇÏ´Â »ý°¢µµ Á¶±Ý º¸Å¼... ±×°ÍÀÌ Å« ±â´ë¾øÀ̵µ ÄÚµå ÇÑ ÁÙ ¾ø´Â ÀÌ Ã¥À» ¼±ÅÃÇÑ ÀÌÀ¯ÀÌ´Ù.
ÀÌ¹Ì ÀÌ Ã¥À» º¸¾Ò´Ù¸é ¾Ë°ÚÁö¸¸ ÀÌ Ã¥¿¡´Â ´Ü ÇÑ ÁÙÀÇ ½ÇÇàÇØ º¼ ¸¸ÇÑ ¿¹Á¦Äڵ嵵 ¾ø´Ù. Á¦¸ñó·³ À¥À» ÁöÅÊÇÏ´Â ±â¼úÀ̶ó ÇÏ¿© HTMLÀ̳ª HTTP, URI µî¿¡ ´ëÇØ ´Ù·ç°í ÀÖÁö¸¸ ±×°ÍÀ» ¿¹Á¦¸¦ ÅëÇØ º¸¿©ÁÙ »ý°¢Àº ¾ÖÃÊ¿¡ ¾ø´Ù. ¶§¹®¿¡ ´«°ú ¼ÕÀ¸·Î È®Àΰ¡´ÉÇÑ Äڵ尡 ÀÖ¾î¾ß ¾È½É(?)ÀÌ µÇ´Â Ãʺ¸ °³¹ßÀÚ³ª ¾ÆÁ÷ °æÇèÀÌ ¸¹Áö ¾ÊÀº °³¹ßÀÚ¶ó¸é ±×´ÙÁö Å« °¨ÈïÀÌ ¾øÀ» ¼öµµ ÀÖ´Ù. ¹Ý´ë·Î °æÇèÀÌ ¸¹Àº °³¹ßÀÚ¿¡°Ô´Â '¸Ó¾ß »õ·Î¿ï°Ô ¾ø´Â ¾ê±â¸¦ ÇÏ°í ÀÖÀݾÆ'¶ó´Â ½Ã´þÀÝ´Ù´Â ¹ÝÀÀÀ» ºÎ¸¦ ¼öµµ ÀÖ´Ù. ±×¸®°í ³ªÃ³·³ ¸¹Àº µµ¿òÀÌ µÇ´Â Çã´ç °³¹ßÀÚµµ ÀÖ°Ú´Ù.
¾î¶µç ÀÌ Ã¥Àº ±¸Ã¼ÀûÀÎ ±¸Çöº¸´Ù´Â °³³äÀ» À̾߱âÇϴ åÀÌ´Ù. ±× Ç¥ÇöÀ» ºô¸®ÀÚ¸é '¾ÆÅ°ÅØÃĺ¸´Ùµµ ¾ÆÅ°ÅØÃÄ¿¡ ´ëÇÑ ½ºÅ¸ÀÏÀ» À̾߱âÇÏ´Â' ±×·± Ã¥ÀÌ´Ù.
Ã¥À» ´Ùº¸°í ´Ù½Ã ù ÀåÀ¸·Î µ¹¾Æ¿Í ÀúÀÚÀÇ À̾߱⸦ º¸¾Ò´Ù. ³Ê¹«³ª ½¬¿î À¥ÀÌÁö¸¸ ±× À¥À» À¥´ä°Ô '¼³°è'ÇÏ´Â °ÍÀº ½±Áö ¾Ê´Ù°í ¾ê±âÇÑ´Ù. ±×·¸´Ù. ¾î¼¸é ³Ê¹« ½±±â ¶§¹®¿¡ ÆíÇÏ°Ô °¡·Á°í '±×·¸°Ô Çؼ´Â ¾ÈµÇ´Â °Í'µµ '±×·¸°Ô ¸¸µé¾ú´ø °æÇè'ÀÌ ³ª¿¡°Ôµµ ¸¹´Ù. ±×·¸°Ô Çؼ´Â ¾ÈµÈ´Ù¶ó°í ÇÏÁö¸¸ ½Ç»ó ±×°ÍÀ» ¾î°å´Ù°í Çؼ ´çÀå ¾î¶² ¹®Á¦°¡ Ç¥¸éÀûÀ¸·Î ¹ß»ýÇÒ °¡´É¼ºÀÌ °ÅÀÇ ¾ø´Ù´Â °ÍÀ» ÀÌ¹Ì ¾Ë°Å³ª ¶Ç´Â ±× ÀÚü¸¦ ¸ð¸£±â ¶§¹®ÀÌ´Ù. ±â½Ç ±×·¸°Ô ¸¸µé¾î ³ù¾îµµ ±×°É ¸Ó¶ó ÇÒ »ç¶÷Á¶Â÷ ¾ø±â ¶§¹®À̱⵵ ÇÏ´Ù.
À¥À» À¥´ä°Ô ¼³°èÇÏ´Â °Í Áï, À¥´Ù¿î ¼³°è°¡ ¿©±â¼ ¾ê±âÇÏ´Â ´Ü ÇϳªÀÇ ÇÙ½ÉÁÖÁ¦ÀÌ°í ÀÌ Ã¥ÀÇ Àüü¿¡ °ÉÃÄ ¾ê±âµÇ´Â ºÎºÐÀÌ´Ù.
°ú¿¬ À¥´Ù¿î ¼³°è¶ó´Â °ÍÀÌ ¹«¾ó±î? À¥À» ¸¸µé¸é¼ µ¥ÀÌÅͱ¸Á¶¿Í DB ¼³°è¸¦ °í¹ÎÇÑ ÀûÀº ¹«¼öÈ÷ ¸¹¾ÒÁö¸¸ Áö±Ý ¸¸µå·Á°í ÇÏ´Â À¥¼ºñ½º°¡ ¾î¶»°Ô Çϸé Á¤¸» À¥´Ù¿î ¼ºñ½º¸¦ Á¦°øÇÒ ¼ö ÀÖÀ» °ÍÀÎÁö¿¡ ´ëÇÑ ±Ù¿øÀû ¼³°è(?)¿¡ ´ëÇÑ °í¹ÎÀ» ÇØ º» ÀûÀº °ÅÀÇ ¾ø´Ù. ±×·± Ãø¸é¿¡¼ À¥´Ù¿î ¼³°è¶ó´Â °ÍÀÌ Á¸ÀçÇÏ°í ¶Ç ±×·¸°Ô ¸¸µé¾î¾ß ÇÒ ÇÊ¿ä°¡ ÀÖÀ¸¸ç ±×°ÍÀ» À§Çؼ´Â Áö±Ý±îÁö ´ë¼ö·ÓÁö ¾Ê°Ô ³Ñ°å´ø ½ºÆåÀ» ÁøÁöÇÑ ÀÚ¼¼(!)·Î ÀÌÇØÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù°í ÀúÀÚ´Â ¸»ÇÑ´Ù. ±×¸®°í ±× ±â¹ÝÀ§¿¡¼ ÁÁÀº À¥¼ºñ½º ¼³°è¸¦ À§ÇÑ Á¶±Ý ´õ ±¸Ã¼ÀûÀÎ ¹æ¹ýµéÀ» Á¦½ÃÇÑ´Ù.
½ºÆåÀ» ¾Ë¾Æ¾ß ÁÁÀº ¼³°è¸¦ ÇÒ ¼ö ÀÖ´Ù°í ¸»ÇÏ´Â ÀúÀÚ´Â ±×·¯ÇÑ ½ºÆåÀ¸·Î HTTP ÇÁ·ÎÅäÄÝ°ú URI¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. »ç½Ç HTTP³ª HTML, XML µî¿¡ ´ëÇؼ´Â ÀÍÈ÷ ¸¹Àº °æÇèÀÌ ÀÖÁö¸¸ URI¿¡ ´ëÇؼ´Â ±í°Ô »ý°¢ÇØ º»ÀûÀÌ ¾ø´Ù. ±×³É ºê¶ó¿ìÀú ÁÖ¼Òâ¿¡ ³ª¿À´Â À¥ÁÖ¼ÒÀÏ »ÓÀε¥ URI¸¦ ¸¸µå´Â °Íµµ ¼³°èÀÇ ¹üÁ־ȿ¡¼ »ý°¢ÇØ¾ß ÇÑ´Ù´Â ÁÖÀåÀº Ưº°È÷ »õ·ÓÁö´Â ¾Ê¾Ò¾îµµ ÃæºÐÈ÷ ÀǹÌÀÖ°í °ø°¨ÇÒ ¼ö ÀÖ´Â ³»¿ëÀÌ´Ù.
ÁÁÀº À¥¼ºñ½ºÀÇ ¼³°è°¡ ±Ã±ØÀûÀ¸·Î ÀÌ Ã¥¿¡¼ ¾ê±âÇÏ°íÀÚ ÇÏ´Â ÁÖÁ¦À̱⠶§¹®¿¡ ÀϺ» ¿ìÆí°Ë»ö ¼ºñ½º¸¦ ¿¹Á¦·Î ÇÏ¿© À¥¼ºñ½ºÀÇ ¼³°è¹æ¹ý¿¡ ´ëÇØ ¾ê±âÇÑ ÈĹݺÎÀÇ ³»¿ëÀº ¸¹Àº µµ¿òÀÌ µÇ¾ú´Ù. ¿äÁò ¸¹ÀÌ µéÀ» ¼ö ÀÖ´Â RESTÇÑ (RESTful) °³¹ß¿¡ ´ëÇؼµµ Á» ´õ ±¸Ã¼ÀûÀ¸·Î °³³äÀ» ÀÌÇØÇÏ´Â °è±â°¡ µÇ¾ú´Ù.
À¥ °³¹ß °æÇèÀÌ ÀÖ´Â ¸ðµç °³¹ßÀÚ¸¦ ´ë»óÀ¸·Î ÇÑ´Ù°í ÇÏ´Ï ÀÌ·¯ÇÑ ³»¿ë¿¡ °ü½ÉÀÌ ÀÖ´Ù¸é ÃßõÇÒ ¸¸ÇÑ Ã¥ÀÌ´Ù. ³»°¡ ÀÌ Ã¥À» ¼±ÅÃÇÑ °ÍÀº REST¶ó´Â ¾ÆÅ°ÅØÃÄ ½ºÅ¸ÀÏ¿¡ ´ëÇÑ ±Ã±ÝÇÔ°ú JSON¿¡ ´ëÇÑ °³³ä ±×¸®°í Á¦¸ñ´ë·Î À¥À» ÁöÅÊÇÏ°í ÀÖ´Â ½ºÆå¿¡ ´ëÇØ Çѹø ´õ È®ÀÎÇϱâ À§ÇÑ ¸ñÀû¶§¹®À̾úÁö¸¸ ±¸Ã¼ÀûÀÎ ÀÌÀ¯°¡ ¾ø´ÙÇÏ´õ¶óµµ À¥ ±â¼úÀ» »ç¿ëÇÏ´Â °³¹ßÀÚ¿¡°Ô´Â µµ¿òÀÌ µÉ ¸¸ÇÑ ÁÁÀ» Ã¥À¸·Î ÃßõÇØÁÖ°í ½Í´Ù.
À¥À»ÁöÅÊÇϴ±â¼ú,
À¥À»ÁöÅÊ,
RESTful,
HTTP