¼Ò¼³°°ÀºJSP1ºÎ  4Àå Core of Servlet  18 ÀÎÁõÆäÀÌÁö ¸¸µé±â  

 

18 HttpServletResponse–ÀÎÁõÆäÀÌÁö ¸¸µé±â

 

 º¸Åë À¥ ¼­¹ö ÇÁ·Î±×·¡¹Ö¿¡¼­ ·Î±×ÀεîÀ» À§ÇÑ ÀÎÁõ ÆäÀÌÁö¸¦ ¸¸µé ¶§¿¡´Â HTML ¾ç½ÄÀ» ¸¹ÀÌ ÀÌ¿ëÇÕ´Ï´Ù. Æû ¾ç½ÄÀ» ÅëÇØ¼­ ¿©·¯ °¡Áö À¯È¿ÇÑ Á¤º¸µéÀ» È¿°úÀûÀ¸·Î ¹Þ¾ÆµéÀÏ ¼ö Àֱ⠶§¹®ÀÌÁÒ. ±×·¸Áö¸¸ ¿©·¯ºÐÀº À¥¼­ÇÎÀ» ÇÏ¸ç ¾î´À »çÀÌÆ®¿¡ µé¾î°¡·Á ÇÒ ¶§ ·Î±×ÀÎÀ» À§ÇÑ ÀÎÁõ ÆäÀÌÁö°¡ À¥ºê¶ó¿ìÀú¿Í´Â ´Ù¸¥ º°°³ÀÇ Ã¢¿¡ ¶°¼­ ¾ÆÀ̵ð¿Í ÆÐ½º¿öµå¸¦ ¿ä±¸ÇÏ´Â °æ¿ì¸¦ Çѹø¾¿Àº °æÇèÇϼÌÀ» °ÍÀÔ´Ï´Ù. ÀÌ·± °æ¿ì´Â ¼­¹öÃø¿¡¼­ Http¸¦ ±â¹ÝÀ¸·Î ÇØ¼­ ¸¸µç °ÍµéÀÔ´Ï´Ù. ¿©±â¼­´Â ÀÌ·¸°Ô °£´ÜÇÑ ÀÎÁõÀ» ÇÒ ¶§ À¯¿ëÇÏ°Ô ¾²ÀÏ ¼ö ÀÖ´Â Http¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â ±âº»ÀÎÁõ(basic Authorization)À» ¼­ºí¸´¿¡¼­ ÀÌ¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú½À´Ï´Ù.

 

 ±×·³ ¸ÕÀú ¼­ºí¸´¿¡¼­ ±âº»ÀÎÁõ(basic Authorization)À» ÀÌ¿ëÇÏ´Â ÀýÂ÷¿¡ ´ëÇØ »ìÆìº¸°Ú½À´Ï´Ù. ÀÌ ÀýÂ÷¸¦ Àß ÀÌÇØÇϼž߸¸, ÀÌ¿¡ °üÇÑ ÇÁ·Î±×·¡¹Ö ¹× ºÐ¼®À» ÇÒ ¼ö ÀÖÀ¸¸ç, ¿©·¯ ºÎºÐ¿¡ °ÉÃÄ °ü·ÃµÈ ºÎºÐÀÌ´Ï Àß »ìÆìº¸½Ã±â ¹Ù¶ø´Ï´Ù.

 

n        Http Çì´õ¸¦ °Ë»çÇØ AuthorizationÇì´õÀÇ Á¸Àç¿©ºÎ °Ë»ç

 

ÀÎÁõÀÇ Á¤º¸¸¦ ´ã°í ÀÖ´Â AuthorizationÇì´õÀÇ Á¸Àç¿©ºÎ¸¦ ¿ì¼± °Ë»çÇÕ´Ï´Ù.

 

n        Çì´õ°¡ Á¸ÀçÇÒ °æ¿ì ¡°basic¡±À̶õ ´Ü¾î¸¦ »« ³ª¸ÓÁö ºÎºÐÀ» base64·Î µðÄÚµù.

 

ÀÎÁõ¹æ½ÄÀ» ³ªÅ¸³»´Â ¡°basic(±âº»)¡±À̶õ ´Ü¾î µÞºÎºÐºÎÅͰ¡ ½ÇÁ¦ÀûÀÎ »ç¿ëÀÚÀÇ Á¤º¸°¡ µÇ´Â °ÍÀÔ´Ï´Ù. ±×¸®°í ¿©±â¼­ ¸»ÇÏ´Â base64´Â °£´ÜÇÑ ¾Ïȣȭ ¾Ë°í¸®ÁòÀ̶ó´Â Á¤µµ·Î ¾Ë¾ÆµÎ½Ã±â ¹Ù¶ø´Ï´Ù.Sun¿¡¼­´Â ÀÌ·¸°Ô base64·Î ÀÎÄÚµù µÈ ¹®ÀÚ¿­À»  µðÄÚµùÇØÁÖ±â À§ÇÑ sun.misc.BASE64Ŭ·¡½º¸¦ Á¦°øÇÕ´Ï´Ù.

 

n        µðÄÚµùÇÑ ÈÄ »ý±ä ¡°user:password¡±ÇüÅÂÀÇ ¹®ÀÚ¿­·Î »ç¿ëÀÚ ÀÎÁõ

 

base64·Î µðÄÚµùÇÑ ÈÄ ³ª¿À´Â »ç¿ëÀÚÁ¤º¸(ÀÎÁõÀ» À§ÇØ ÀÔ·ÂÇÑ Á¤º¸)¸¦ µðºñµî¿¡ ÀÔ·ÂµÈ ½ÇÁ¦ Á¤º¸¿Í ºñ±³ÇÏ¿© ÀÏÄ¡ÇÏ¸é ¿øÇÏ´Â ÆäÀÌÁö¿¡ µé¾î°¡°Ô µÇ°í ±×·¸Áö ¾ÊÀ» °æ¿ì ´ÙÀ½ÀÇ °úÁ¤À» °ÅĨ´Ï´Ù.

 

n        AuthorizationÇì´õ°¡ Á¸ÀçÇÏÁö ¾Ê°Å³ª ÀÎÁõ¿¡ ½ÇÆÐÇÒ °æ¿ì 401»óÅÂÄÚµå¿Í Çì´õ¸¦ µ¹·ÁÁÜ

 

AuthorizationÇì´õ°¡ Á¸ÀçÇÏÁö ¾Ê°Å³ª ÀÔ·ÂµÈ »ç¿ëÀÚ Á¤º¸°¡ À߸ø µÇ¾î¼­ ÀÎÁõ¿¡ ½ÇÆÐÇÑ °æ¿ì¿¡´Â »ç¿ëÀÚ ID¿Í  Password¸¦ ¹¯´Â âÀÌ ¶°¾ß Çϴµ¥ ±×°ÍÀ» ÇØÁÖ´Â °ÍÀÌ 401»óÅÂÄÚµå(Unauthorized)¿Í www-Authentificate: BASIC realm=¡°name¡±ÇüÅÂÀÇ Çì´õÀÔ´Ï´Ù.

 

»óÅÂÄÚµå´Â HttpÀÀ´äÀÇ ¸Ç À­ÁÙ¿¡ Á¤¼ö¿Í °£´ÜÇÑ ¸Þ½ÃÁö·Î ±¸¼ºµÇ´Â °ÍÀ¸·Î, °¢ Á¤¼öÀÇ ¹øÈ£¿¡ µû¶ó¼­ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô Á¤º¸¸¦ Á¦°øÇϰųª, ó¸®ÀÇ »óÅÂ, ÆÄÀÏÀÇ À̵¿, ¿À·ù»óŵîÀ» ³ªÅ¸³»´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù. ¿©±â¼­ 401(SC_UNAUTHORIZED)´Â Ŭ¶óÀÌ¾ðÆ®°¡ AuthorizationÇì´õ¿¡ À߸øµÈ Á¤º¸¸¦ ³Ö°í ƯÁ¤ÇÑ ÆäÀÌÁö¿¡ Á¢±ÙÇÏ·Á ÇßÀ½À» ÀǹÌÇÏ´Â °ÍÀÔ´Ï´Ù.

 

±×¸®°í, www-AuthentificateÇì´õ´Â 401»óÅÂÄÚµå ¼³Á¤½Ã ¹Ýµå½Ã ÀÀ´äÀ¸·Î Æ÷ÇÔ½ÃÄÑ¾ß ÇÏ´Â °ÍÀ¸·Î, Authorization ¿äûÇì´õ¿¡ Æ÷ÇÔ½Ãų ÀÎÁõÇü½Ä ¹× ¿µ¿ªÀ» ºê¶ó¿ìÀú¿¡°Ô ¾Ë·ÁÁÝ´Ï´Ù. À§¿¡¼­ º¸ÀÚ¸é, ÀÎÁõÇü½ÄÀº BASICÀ̰í, ¿µ¿ªÀº nameÀÎ ¾ÆÀ̵ð¿Í ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇÒ ´ëÈ­»óÀÚ¸¦ ¶ç¿ì´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù.

 

n        µÎ¹øÂ° °úÁ¤ºÎÅÍ ¹Ýº¹ ½ÇÇà

 

¾ÆÀ̵ð¿Í ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇÑ ÈÄ ±×°ÍÀ» ´Ù½Ã base64·Î ÀÎÄÚµùÇϰí, AuthorizationÇì´õ¿¡ ´ã¾Æ¼­ ¿äûÀ» º¸³À´Ï´Ù.

 

 ´ÙÀ½ÀÇ ¿¹Á¦´Â À§ÀÇ ÀÎÁõÀÇ ÀýÂ÷¸¦ ½ÇÁ¦·Î ±¸ÇöÇÏ¿©, ¾ÆÀ̵ð¿Í ÆÐ½º¿öµå¸¦ °Ë»çÇÏ¿© ¿Ã¹Ù¸£°Ô ÀԷµǾúÀ»¶§¿¡¸¸ ¿øÇÏ´Â ÆäÀÌÁö¿¡ Á¢±ÙÇÒ ¼ö ÀÖ°Ô ÇÏ´Â ÀÎÁõ ¼­ºí¸´ÀÔ´Ï´Ù.

 

PassCheck..java

»ç¿ëÀÚ ÀÎÁõÀ» À§ÇÑ ¼­ºí¸´

package chap4;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import sun.misc.BASE64Decoder;

public class PassCheck extends HttpServlet {
  
public void init(ServletConfig config) throws ServletException {
    
super.init(config);
  }
  
public void doGet(HttpServletRequest request,HttpServletResponse response)
    
throws ServletException, IOException {
    response.setContentType(
"text/html;charset=euc-kr");
    PrintWriter out = response.getWriter();
    String authorization = request.getHeader(
"Authorization");
    
if (authorization == null) {
      response.setStatus(response.SC_UNAUTHORIZED);
      response.setHeader(
"WWW-Authenticate""BASIC realm=\"novel JSP-Servlet\"");
    }
else{
      String userInfo = authorization.substring(
6).trim();
      BASE64Decoder decoder = 
new BASE64Decoder();
      String info = 
new String(decoder.decodeBuffer(userInfo));
      
int index = info.indexOf(":");
      String user = info.substring(
0, index);
      String password = info.substring(index+
1);
      String realUser = 
"Admin";
      String realPassword = 
"1234";
      
if (realUser.equals(user) && realPassword.equals(password)) {
        out.println(
"<HTML><BODY>");
        out.println(
"<H3>ÀÎÁõ¼º°ø</H3>");
        out.println(
"<H2>Novel-Servlet¿¡ ¿À½Å°ÍÀ» È¯¿µÇÕ´Ï´Ù.</H2>");
        out.println(
"</BODY></HTML>");
      }
else{
        response.setStatus(response.SC_UNAUTHORIZED);
        response.setHeader(
"WWW-Authenticate""BASIC realm=\"novel JSP-Servlet\"");
      }
    }
  } 
}

 

 ¿¹Á¦¸¦ ºÐ¼®ÇØ º¸°Ú½À´Ï´Ù. ¸ÕÀú base64¸¦ µðÄÚµùÇϱâÀ§ÇØ BASE64Ŭ·¡½º¸¦ ÀÓÆ÷Æ®Çϰí ÀÖ½À´Ï´Ù.

 

n        import sun.misc.BASE64Decoder;

 

 ¿©±â¼­ ¿©·¯ºÐÀÌ ÇѰ¡Áö ¾Ë¾ÆµÎ¼Å¾ß ÇÒ Á¡Àº sunÆÐŰÁö¿¡ °üÇÑ ¼³¸íÀº ¿©·¯ºÐÀÌ º¸½Ã´Â Java API Doc¹®¼­¿¡¼­´Â ±× ¼³¸íÀ» ãÀ¸½Ç ¼ö ¾ø´Ù´Â °ÍÀÔ´Ï´Ù. ºñ·Ï ÀÌ ÆÐŰÁö´Â JDK1.1ÀÌÈÄ ¹öÀü¿¡ ¸ðµÎ Æ÷ÇԵǾî ÀÖÁö¸¸ Sun¿¡¼­ °ø½ÄÀûÀ¸·Î ¾²À̵µ·Ï ¸í½ÃÇÏÁö ¾Ê±â¿¡ ±×·¯¸®¶ó º¾´Ï´Ù.

 

 ´ÙÀ½À¸·Î Çì´õ¿¡¼­ AuthorizationÀ» ¹Þ¾Æ¼­ ±× null°ªÀ̸é, ÀÀ´äÀ¸·Î ±× »óŸ¦ ¼³Á¤Çϰí, Çì´õ¸¦ ¼³Á¤ÇÏ¿© ÀÎÁõÀ» À§ÇÑ Ã¢À» ¶ç¿ó´Ï´Ù. °á°ú¸¦ º¸½Ã¸é ¿©±â¼­ ¼³Á¤ÇÑ realmÀÌ ¿µ¿ªÀ¸·Î Ç¥½ÃµÇ¾úÀ½À» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.

 

n        String authorization = request.getHeader("Authorization");

n            if (authorization == null) {

n              response.setStatus(response.SC_UNAUTHORIZED);

n              response.setHeader("WWW-Authenticate""BASIC realm=\"novel JSP-Servlet\"");

n            }

 

 AuthorizationÇì´õ¿¡ °ªÀÌ ÀÖÀ¸¸é ±× °ªÀ» ¹Þ¾î¼­ BASE64Decoder¸¦ »ç¿ëÇÏ¿© µðÄÚµùÇÕ´Ï´Ù. À§¿¡¼­ ¼³¸íÇßµí ¾Õ¿¡ ºÙÀº basicÀ̶õ ¸»Àº »©±â À§ÇÏ¿© substringÀ» ÀÌ¿ëÇÏ¿© ¿©¼¸¹øÂ° ±ÛÀÚºÎÅÍ Àо ½ºÆ®¸µÀ¸·Î ÀúÀåÇØ ³õ½À´Ï´Ù.

 

n        String userInfo = authorization.substring(6).trim();

n        BASE64Decoder decoder = new BASE64Decoder();

n        String info = new String(decoder.decodeBuffer(userInfo));

 µðÄÚµùÇÏ¿© ³ª¿Â °á°ú°¡ ¡°id:password¡±·Î ÀÌ·ç¾îÁ®Àֱ⶧¹®¿¡ id¿Í password¸¦ ±¸ºÐÇÏ¿© »ç¿ëÇϱâ À§Çؼ­ ¡°:¡±À» index·Î ÇÏ¿© ¾Õ°ú µÚ·Î substringÇØ¼­ °¢°¢ ÀúÀåÇÕ´Ï´Ù.

 

n        int index = info.indexOf(":");

n        String user = info.substring(0, index);

n        String password = info.substring(index+1);

 

 ºñ±³ÇÒ ¾ÆÀ̵ð¿Í ÆÐ½º¿öµå¸¦ ÄÚµå ³»¿¡ ½á ³õ¾Ò½À´Ï´Ù. ½ÇÁ¦·Î ÇÑ´Ù¸é µ¥ÀÌÅͺ£À̽º³ª ´Ù¸¥ ´Ù¸¥ ÆÄÀϵ¼­ ºÒ·¯¿Í¾ß ÇϰÚÁö¸¸ °£·«ÇÑ ¼³¸íÀ» À§Çؼ­ ¿©±â¼­´Â ¹Ù·Î º¸ÀÌ°Ô ÇØ ³õ¾Ò½À´Ï´Ù.  À̰Ͱú »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ ÀÎÁõÁ¤º¸¿Í ºñ±³ÇÏ¿© ¸ÂÀ¸¸é ¿øÇÏ´Â ÆäÀÌÁö¿¡ Á¢±Ù °¡´ÉÇÏ°í Æ²¸®¸é ´Ù½Ã Çì´õ¸¦ ¼³Á¤ÇÏ´Â ºÎºÐÀ¸·Î °¡°Ô µÇ´Â °ÍÀÔ´Ï´Ù.

 

n        String realUser = "Admin";

n        String realPassword = "1234";

n        if (realUser.equals(user) && realPassword.equals(password)) {

 

 ÀÌ·¸°Ô HttpÀÇ Çì´õ¸¦ ÀÌ¿ëÇØ¼­ ¼­ºí¸´ ÀÎÁõ ÆäÀÌÁö¸¦ ¸¸µé¾î º¸¾Ò½À´Ï´Ù. Http ÀÇ »óÅÂ¿Í Çì´õ¸¦ ¼³Á¤ÇÔÀ¸·Î½á ÀÎÁõÆäÀÌÁö¸¦ ¼­ºí¸´¿¡¼­ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº» °ÍÀÔ´Ï´Ù. ±×·³ HttpÀÇ »óÅ¿¡ ´ëÇØ¼­ Á»´õ ¾Ë¾Æº¸°í ³Ñ¾î°¡°Ú½À´Ï´Ù. HttpÀÇ »óŸ¦ ¼³Á¤ÇÔÀ¸·Î¼­ º¸´Ù Æø³ÐÀº ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¼ö ÀÖ°í, »óÅÂÄڵ带 ºÐ¼® ÇÔÀ¸·Î¼­ ¾î¶°ÇÑ °÷¿¡¼­ ¿¡·¯°¡ ³µ´ÂÁö, ¾î¶»°Ô °á°ú°¡ 󸮵Ǿú´ÂÁö µÇ¾ú´ÂÁö À¯Ãß°¡ µÇ±â ¶§¹®¿¡ ¾Ë°í °¡½Ã¸é À¯¿ëÇÒ °ÍÀÔ´Ï´Ù.

 

»óÅÂÄÚµåÀÇ Á¾·ù¿Í ±× ÀǹÌ

 

100~199   100¹øÅ ÄÚµåµéÀº Ŭ¶óÀÌ¾ðÆ®°¡ ´ÙÀ½¿¡ ÇൿÇÒ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù.

100(continue) : Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ÷ºÎ¹®¼­(attatched document)¸¦ º¸³»±â Àü¿¡ ¿äûÀ» º¸³¾¶§  ExpectÇì´õ¿¡ ¼³Á¤Çؼ­ º¸³À´Ï´Ù.

101(switching protocol) : ¼­¹ö°¡ UpgradeÇì´õ¿¡ ÀÀ´äÇÒ¼ö ÀÖ°í, ´Ù¸¥ ÇÁ·ÎÅäÄÝ·Î Àüȯ ÇÑ´Ù´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.

200~299   ¿äû ¹ÞÀº °ÍÀÌ ¼º°øÀûÀ¸·Î 󸮵ǾúÀ½À» ³ªÅ¸³À´Ï´Ù.

200(OK) : ¸ðµç °ÍÀÌ Á¦´ë·Î 󸮵Ǿú´Ù´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.

201(Created) : Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¿¡ ´ëÇØ¼­ ¼­¹ö°¡ »õ·Î¿î ¹®¼­¸¦ »ý¼ºÇÏ¿´´Ù´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.

202(Accepted) : Ŭ¶óÀ̾ðÆ®ÀÌ ¿äûÀ» ¹Þ¾ÆµéÀ̱⸸ ÇßÀ» »Ó ¾ÆÁ÷ ¿Ï·áµÇÁö ¾ÊÀº »óŸ¦ ³ªÅ¸³À´Ï´Ù.

204(No Content) : »õ·Î¿î ¹®¼­°¡ ¾ø¾î¼­ ºê¶ó¿ìÀú¿¡°Ô ÀÌÀü ¹®¼­¸¦ °è¼Ó Ç¥½ÃÇ϶ó°í ¾Ë·ÁÁÖ´Â °ÍÀÔ´Ï´Ù.

205(Reset Content) : »õ·Î¿î ¹®¼­°¡ ¾ø´õ¶óµµ ºê¶ó¿ìÀú¿¡¼­ âÀ» ÃʱâÈ­Çϰí, ¹®¼­¸¦ »õ·Î Ç¥½ÃÇÑ´Ù´Â °ÍÀÔ´Ï´Ù.

300~399   ÆÄÀϵéÀÌ À̵¿µÇ¾úÀ» ¶§ ¾²À̸ç, À̵¿ÇÏ´Â À§Ä¡¸¦ ³ªÅ¸³»´Â Location Çì´õ°¡ ÀÀ´ä¿¡ Æ÷ÇԵ˴ϴÙ.

300(Multiple Choice) : ¿äûµÈ ¹®¼­°¡ ¿©·¯°÷¿¡ ÀÖÀ»¶§ ¾î¶² ¹®¼­¸¦ ¿øÇÏ´ÂÁö¸¦ ¹¯´Â °ÍÀÔ´Ï´Ù.

301(Moved Permanently) : ¿äûµÈ ¹®¼­ÀÇ À§Ä¡°¡ ¿µ±¸ÀûÀ¸·Î º¯ÇßÀ½À» ³ªÅ¸³»´Â °ÍÀÔ´Ï´Ù.

302(Found) : ¿äûµÈ ¹®¼­ÀÇ À§Ä¡°¡ ÀÓ½ÃÀûÀ̶ó´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.

304(Not Modified) : ºê¶ó¿ìÀúÀÇ Ä³½Ã¿¡ µé¾îÀÖ´Â ¹®¼­°¡ Ãֽй®¼­ÀÌ´Ï ±×°ÍÀ» ±×´ë·Î »ç¿ëÇ϶ó´Â°ÍÀ» ³ªÅ¸³À´Ï´Ù.

305(Use Proxy) : ¿äûµÈ ¹®¼­¸¦ ÇÁ·Ï½Ã¸¦ ÅëÇØ¼­ Àü¼Û ¹ÞÀ¸¶ó´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.

400~499   Ŭ¶óÀÌ¾ðÆ® ¶§¹®¿¡ ³ªÅ¸³­ ¿À·ù¸¦ ÀǹÌÇÕ´Ï´Ù.

401(Bad Request) : Ŭ¶óÀÌ¾ðÆ®¿¡¼­ À߸øµÈ ±¸¹®À¸·Î ¿äûÇÏ¿´À½À» ³ªÅ¸³À´Ï´Ù.

402(Unauthorized) : Ŭ¶óÀÌ¾ðÆ®°¡ À߸øµÈ ÀÎÁõÁ¤º¸¸¦ Authorization Çì´õ¿¡ ³Ö¾úÀ½À» ³ªÅ¸³À´Ï´Ù.

403(Forbidden) : Ŭ¶óÀ̾ðÆ®ÀÇ ÀÎÁõÁ¤º¸¿¡ »ó°ü¾øÀÌ ÆäÀÌÁö¿¡ ´ëÇÑ Á¢±ÙÀ» °ÅºÎÇÑ´Ù´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.

404(Not Found) : Ŭ¶óÀÌ¾ðÆ®°¡ ¿äûÇÑ ÀÚ¿ø¿¡ ¼­¹ö¿¡ ¾ø´Ù´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.

408(Request Timeout) : Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» ±â´Ù¸± ¼ö ÀÖ´Â Á¦Çѽð£ÀÌ Áö³µ´Ù´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.

410(Conflict) : ¿äûµÈ ¹®¼­°¡ »ç¶óÁö°í, »õ·Î¿î ÁÖ¼Ò´Â ¾Ë ¼ö ¾ø´Ù´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù.

413(Request Entity Too Large) : ¿äûµÈ ¹®¼­°¡ ¼­¹ö°¡ ´Ù·ê ¼ö ÀÖ´Â ¹®¼­ÀÇ Å©±âº¸´Ù Å­À» ³ªÅ¸³À´Ï´Ù.

415(Unsupported Media Type) : ¿äû¿¡ ÷ºÎµÈ ¹®¼­°¡ ¼­¹ö°¡ ó¸®ÇÒ ¼ö ¾ø´Â ¹®¼­ÀÓÀ» ³ªÅ¸³À´Ï´Ù.

500~599   ¼­¹ö¿¡ ÀÇÇÑ ¿À·ù¸¦ ³ªÅ¸³À´Ï´Ù. 

500(Internal Server Error) : ¼­¹ö ³»ºÎ¿¡ ¹®Á¦°¡ ÀÖÀ½À» ³ªÅ¸³À´Ï´Ù.

501(Not Implemented) : Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» ó¸®Çϴµ¥ ÇÊ¿äÇÑ ±â´ÉÀ» ¼­¹ö°¡ Áö¿øÇÏÁö ¾ÊÀ½À» ³ªÅ¸³À´Ï´Ù.

502(Bad Gateway) : ¼­¹ö°¡ °ÔÀÌÆ®¿þÀÌ ¿ªÇÒÀ» ÇÒ ¶§ ¿ø°Ý¼­¹ö·ÎºÎÅÍ À߸øµÈ ÀÀ´äÀ» ¹Þ¾ÒÀ½À» ³ªÅ¸³À´Ï´Ù.

503(Service Unavailable) : ¼­¹öÀÇ »çÁ¤À¸·Î ÀÀ´äÇÒ ¼ö ¾øÀ½À» ³ªÅ¸³À´Ï´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºJSP1ºÎ
ÀúÀÚ:ÃÖ¿µ°ü