CLASS Cookie

 

À̹ø¿¡´Â Cookie¶ó´Â Ŭ·¡½º¿¡ ´ëÇØ ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. Cookie´Â jsdk 2.0ºÎÅÍ Áö¿øÇÏ´Â °ÍÀ¸·Î, jws1.0.3À» »ç¿ëÇÏ½Ã¸é »ç¿ëÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù.

Cookie¶õ À¥¼­¹ö¿¡ ÀÇÇؼ­ ºê¶ó¿ìÀú¿¡ ÀúÀåµÇ´Â ¸Þ½ÃÁö¸¦ ÀǹÌÇÕ´Ï´Ù. Áï, À¥¼­¹ö¿¡¼­ ÇÊ¿äÇÑ Á¤º¸¸¦ À¥ ºê¶ó¿ìÀú¿¡ ÀúÀå½ÃÅ°´Â °ÍÀ̶ó ÇÒ ¼ö ÀÖ¾î¿ä. ÁÖ·Î »ç¿ëÀÚ ÀÎÁõÀ» Çϴµ¥ »ç¿ëÇϱ¸¿ä, ¹¹ ÇÊ¿ä¿¡ µû¶ó¼­ ´Ù¸¥ °÷¿¡µµ »ç¿ëÇÒ ¼ö ÀÖ¾î¿ä. ¿©·¯ºÐÀÌ IE¸¦ »ç¿ëÇϽŴٸé c:\windows\cookies¶ó´Â Æú´õ¸¦ º¸½Ã¸é ¸¹Àº txt È­ÀϵéÀÌ ÀÖÀ»ÅÙµ¥, ±×°ÍµéÀÌ ´Ù ÄíÅ°¶ø´Ï´Ù. NCµµ NC Æú´õ ¾Æ·¡ÀÇ userÆú´õ ¹Ø¿¡ º¸¸é Cookie¸¦ ÀúÀåÇÏ´Â Æú´õ°¡ ÀÖ½À´Ï´Ù. ±×·³ ÄíÅ°¸¦ ÀÌ¿ëÇؼ­ ¾î¶»°Ô »ç¿ëÀÚ ÀÎÁõÀ» ÇÏ´ÂÁö »ý°¢ÇØ º¸µµ·Ï ÇÏÁö¿ä.

1. »ç¿ëÀÚ ÀÎÁõÀ» À§ÇÑ FormÀÌ ÀÖ´Â »çÀÌÆ®¿¡ Á¢¼ÓÇÑ´Ù.
2. ÇÊ¿äÇÑ »ç¿ëÀÚ Á¤º¸¸¦ ÀÔ·ÂÇÑ´Ù. - »ç¿ëÀÚ ID¿Í PasswordÁ¤µµ°¡ µÇ°ÚÁö¿ä.
3. ¼­¹öÃø¿¡¼­ ÄíÅ°¸¦ ¼ÂÆÃÇØÁØ´Ù.
4. ÀÎÁõµÈ »çÀÌÆ®¿¡ Á¢¼ÓµÈ´Ù.

À§ÀÇ ¹æ½ÄÀÔ´Ï´Ù. ¾î¶»°Ô ÇÏ´ÂÁö ¾Æ½Ã°ÚÁö¿ä? ÄíÅ°´Â ¼­¹ö¿¡¼­ ¼ÂÆÃÇÏ´Â °ÍÀ̱¸¿ä, ¾î¶² ¹æ½ÄÀ¸·Î ¼ÂÆÃÀ» ÇÒÁö´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â »ç¶÷ÀÇ ¹®Á¦ÀÌ°ÚÁö¿ä?

Á¿찣, ÄíÅ°°¡ ¸ÓÇÏ´Â °ÍÀÎÁö ¾Ë¾ÒÀ¸¸é ¿ì¸®ÀÇ °ü½É»çÀÎ ¼­ºí¸´¿¡¼­ ÄíÅ°¸¦ ¾î¶»°Ô ¾²´ÂÁö ¾Ë¾Æ ºÁ¾ß°ÚÁö¿ä? ¸Ó º°·Î ¾î·ÆÁö ¾Ê½À´Ï´Ù. ¼­ºí¸´ÀÇ package¿¡´Â javax.servlet.http.Cookie¶ó´Â Ŭ·¡½º¸¦ Á¦°øÇϰŵç¿ä. ±×·³ Cookie¶ó´Â Ŭ·¡½º¸¦ Á» ´õ ÀÚ¼¼È÷ »ìÆì º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. Âü°í·Î RFC2109¸¦ º¸½Ã¸é Cookie¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¾òÀ¸ ½Ç ¼ö ÀÖ½À´Ï´Ù.


public class Cookie extends Object implements Cloneable

À§´Â ÄíÅ° Ŭ·¡½ºÀÇ ¼±¾ðºÎÀÔ´Ï´Ù. Object¸¦ »ó¼Ó¹Þ°í CloneableÀ» implementÇ߳׿ä. Cloneable°°Àº interface´Â ´Ù¸¥ Ã¥À» Âü°íÇϽñ⠹ٶø´Ï´Ù. ÇÏ¿©°£ Cookie´Â Ŭ·¡½º¶ó´Â °ÍÀ» ¾Ë¾ÒÁö¿ä?

This class represents a "Cookie", as used for session management with HTTP and HTTPS protocols. Cookies are used to get user agents (web browsers etc) to hold small amounts of state associated with a user's web browsing. Common applications for cookies include storing user preferences, automating low security user signon facilities, and helping collect data used for "shopping cart" style applications

À§ÀÇ ³»¿ëÀº Cookie Class API¿¡ Àִ Ŭ·¡½º¿¡´ëÇÑ °£´ÜÇÑ ¼³¸íÀ» º¹»çÇÑ °ÍÀÔ´Ï´Ù. ¸Ó À§¿¡¼­ ¼³¸íÇÑ °Í°ú º°·Î ´Ù¸¥ °ÍÀº ¾ø´Â °Í °°Àºµ¥, ÇÑ°¡Áö Áß¿äÇÑ °ÍÀÌ Àֳ׿ä. low security ¶ó´Â ¸»ÀÔ´Ï´Ù. ÀüÀÚ»ó°Å·¡ °°Àº °÷¿¡ ÀÀ¿ëÀº °¡´ÉÇÏÁö¸¸, º¸¾ÈÀÌ ÁÁÁö´Â ¸øÇÕ´Ï´Ù.

ÄíÅ°´Â HttpServletResponseÀÇ addCookie()¶ó´Â ¸Þ¼Òµå¸¦ ÀÌ¿ëÇÏ¿© ¼ÂÆÃÀ» ÇÕ´Ï´Ù. ±×¸®°í HttpServletRequestÀÇ getCookie()¶ó´Â ¸Þ¼Òµå¸¦ ÀÌ¿ëÇÏ¿© °¡Á® ¿Ã ¼ö ÀÖ½À´Ï´Ù.

Set-Cookie: NAME=VALUE; expires=DATE;
path=PATH; domain=DOMAIN_NAME; secure

ÄíÅ°´Â À§¿Í °°Àº HTML HEADER Part¸¦ ÀÌ¿ëÇÏ¿© ¼ÂÆõ˴ϴÙ. ¿©·¯ °¡Áö ³»¿ëµéÀÌ ÀÖ´Â °Í °°Àºµ¥¿ä, ¹Ýµå½Ã ÇÊ¿äÇÑ °ÍÀº NAME°ú VALUEÀÏ »ÓÀ̱¸¿ä, ³ª¸ÓÁö´Â ÇÊ¿ä¿¡ µû¶ó ÀÔ·ÂÇÏ¸é µË´Ï´Ù. NAMEÀº ¼ÂÆÃÇÏ´Â CookieÀÇ À̸§À̱¸¿ä, VALUE´Â ±× ÄíÅ°ÀÇ °ªÀÔ´Ï´Ù. ±×¸®µµ expiresÀÇ DATE´Â ÄíÅ°ÀÇ ¼Ò¸ê ½ÃÁ¡À» ³ªÅ¸³»´Â °ÍÀ¸·Î, ¼ÂÆõÇÁö ¾ÊÀ¸¸é À¥ ºê¶ó¿ìÀúÀÇ Á¾·á¿Í °°ÀÌ ¼Ò¸êµË´Ï´Ù. ¼ÂÆÃÀ» ÇÏ¸é ¼ÂÆõǾîÁø ±× ½Ã°¢¿¡ ¼Ò¸ê µÇ´Âµ¥, ¸¸ÀÏ À¥ ºê¶ó¿ìÀúÀÇ Á¾·á½Ã±îÁö ¼Ò¸êµÇÁö ¾Ê¾Ò´Ù¸é, À¥ ºê¶ó¿ìÀú°¡ Á¾·áÇÒ ¶§ Çϵ忡 ÀúÀåÇÏ¿´´Ù°¡(À§¿¡ ¾îµð ÀúÀåµÇ´ÂÁö ¸»ÇßÁÒ?) ´Ù½Ã À¥ ºê¶ó¿ìÀú°¡ ½ÇÇàµÉ ¶§ ºÒ·¯¿É´Ï´Ù. ±×¸®°í PATH´Â Á¢¼ÓÇÑ »çÀÌÆ®ÀÇ PATH°¡ °°ÀºÁö¸¦ °Ë»çÇÏ¿© µ¿ÀÏÇÏ´Ù¸é ¼­¹ö¿¡ Cookie¸¦ º¸³»°í, ±×·¸Áö ¾Ê´Ù¸é º¸³»Áö ¾Ê´Âµ¥ »ç¿ëÇÕ´Ï´Ù. ±×¸®°í domainÀÇ DOMAIN_NAMEÀº ¾î¶² µµ¸ÞÀο¡ Á¢¼ÓÇßÀ» ¶§¸¸ Cookie°¡ À¯È¿ÇÏ´Ù´Â °ÍÀ» ³ªÅ¸³»´Âµ¥ »ç¿ëÇÕ´Ï´Ù. ±×¸®°í secure´Â SSLµî¿¡¼­ »ç¿ëÇϴµ¥, Á¦°¡ SSL¿¡ ´ëÇؼ­ Àß ¸ð¸£´Ï, ÀÚ¼¼ÇÑ ¼³¸íÀº ºÒ°¡´ÉÇÕ´Ï´Ù.--;

¶Ç Çϳª Áß¿äÇÑ °ÍÀÌ Àִµ¥, Cookie´Â »ç¿ëÇÒ ¼ö ÀÖ´Â À¥ ºê¶ó¿ìÀú°¡ ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. Cookie´Â Netscape¿¡¼­ ¸¸µé¾î ³½ °ÍÀ¸·Î¼­, Netcape 3.0ÀÌ»ó, IE 3.0À̻󿡼­¸¸ »ç¿ëÀ̵ǰí, ¶ÇÇÑ »ç¿ëÀÚ°¡ »ç¿ëÀ» ÇÒÁö ¾ÈÇÒÁö¸¦ °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¸±â ¶§¹®¿¡, »ç¿ë¿¡ ¾à°£ÀÇ ÁÖÀÇ°¡ ÇÊ¿äÇÕ´Ï´Ù.

1. Constructor

 public Cookie(String name, String value) ·Î µÇ¾î ÀÖ½À´Ï´Ù. óÀ½Àº CookieÀÇ À̸§ÀÌ°í ±× ´ÙÀ½ Parameter´Â CookieÀÇ °ªÀÌ µË´Ï´Ù. À§¿¡¼­ ¼³¸í µå·ÈÀ¸´Ï Àß ¾Æ½Ã°ÚÁö¿ä? À̸§°ú °ªÀ» ¼³Á¤ÇÏ´Â °ÍÀ̱¸¿ä, StringÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù.

2. setComment , getComment ¸Þ¼Òµå

 public void setComment(String purpose)·Î µÇ¾î ÀÖ½À´Ï´Ù. Comment¸¦ ¼³Á¤ÇÒ ¶§ »ç¿ëÇÕ´Ï´Ù.  public String getComment()´Â À§¿¡¼­ ¼³Á¤ÇÑ Comment¸¦ ¹ÞÀ» ¶§ »ç¿ëÇÕ´Ï´Ù.

3. setDomain, getDomain ¸Þ¼Òµå

public void setDomain(String pattern)·Î µÇ¾î ÀÖ±¸¿ä, Default·Î´Â ÄíÅ°¸¦ ¼³Á¤ÇÑ µµ¸ÞÀÎÀÌ ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. ±×¸®°í public String getDomain() ¸Þ¼Òµå¸¦ ÀÌ¿ëÇÏ¿© ±× °ªÀ» ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù. RFC2109¹®¼­¸¦ º¸¼¼¿ä. Domain¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀÌ ÀÖ½À´Ï´Ù.

4. setMaxAge, getMaxAge¸Þ¼Òµå

 public void setMaxAge(int expiry)·Î ÄíÅ°°¡ ¼Ò¸êµÉ ½Ã°£À» ÁöÁ¤ÇÕ´Ï´Ù. ´ÜÀ§´Â ÃÊ´ÜÀ§ÀÔ´Ï´Ù. °ªÀÌ 0À̸é ÄíÅ°´Â ¹Ù·Î ¼Ò¸êµÇ±¸¿ä, °ªÀÌ À½¼öÀ̸é, default·Î ¼³Á¤µË´Ï´Ù. Áï À¥ ºê¶ó¿ìÀú Á¾·á½Ã ¼Ò¸êµÇ°Ô µË´Ï´Ù.

5. setPath, getPath ¸Þ¼Òµå

 public void setPath(String uri)·Î µÇ¾î ÀÖ±¸¿ä, À§¿¡¼­ ¼³¸íµå¸° Path¸¦ ¼³Á¤Çϴµ¥ »ç¿ëÇÕ´Ï´Ù.  public String getPath()´Â ±× °ªÀ» ¹Þ¾ÆµéÀ̴µ¥ »ç¿ëÇÕ´Ï´Ù..

6. setSecure, getSecure ¸Þ¼Òµå

 public void setSecure(boolean flag)À§¿¡¼­ ¼³¸íÇÑ SSL¿¡ °ü·ÃµÈ ¸Þ¼Òµå·Î booleanÀÔ´Ï´Ù. °ªÀ» ÀÐ¾î ¿À´Âµ¥´Â  public boolean getSecure()´Â »ç¿ëÇÕ´Ï´Ù.

7. getName ¸Þ¼Òµå

 public String getName()·Î ÄíÅ°ÀÇ nameÀ» ¹ÝȯÇÕ´Ï´Ù.

8. setValue, getValue ¸Þ¼Òµå

 public void setValue(String newValue)·Î °ªÀ» ¼³Á¤ÇÕ´Ï´Ù. »ç¿ë½Ã ÁÖÀÇ°¡ ÇÊ¿äÇѵ¥, 0 versionÀÇ Cookie¿¡¼­´Â Ư¼ö¹®ÀÚ (whitespace, brackets and parentheses, the equals sign, comma, double quote, slashes, question marks, the "at" sign, colon, and semicolon)µîÀº »ç¿ëÀ» ÇÏ¸é ¾ÈµÇ±¸¿ä, °ø¹é¹®ÀÚ´Â ºê¶ó¿ìÀú¸¶´Ù ´Ù¸¥ °ªÀÌ ³ª¿Ã ¼ö ÀÖÀ¸¹Ç·Î »ç¿ë¿¡ ÁÖÀÇÇÏ¿©¾ß ÇÕ´Ï´Ù.  public String getValue()·Î °ªÀ» ¹Þ¾Æ¿Ã ¼ö ÀÖ½À´Ï´Ù. 0 versionÀº óÀ½ÀÇ Cookie¸¦ ÀǹÌÇϱ¸¿ä, 1 versionÀº IETF¿¡¼­ ÇöÀç Ç¥ÁØÈ­ ÁßÀÎ RFC2109¸¦ ±âÁØÀ¸·Î ÇÑ ÄíÅ°¸¦ ÀǹÌÇÕ´Ï´Ù.

9. getVersion, setVersion¸Þ¼Òµå

 public int getVersion()À» ÀÌ¿ëÇÏ¿© ÄíÅ°ÀÇ ¹öÀüÀ» ¹Þ¾Æ¿Ã ¼ö ÀÖ½À´Ï´Ù. 0 ¹öÀüÀº OriginalÀ» ÀǹÌÇÏ°í, 1 ¹öÀüÀº ÇöÀç Ç¥ÁØÈ­ ÁßÀÎ Cookie¸¦ ÀǹÌÇÕ´Ï´Ù. ¾ÆÁ÷ Ç¥ÁØÈ­°¡ ³¡³ªÁö ¾Ê¾ÒÀ¸¹Ç·Î »ç¿ë¿¡ ÁÖÀÇÇϽñ⠹ٶø´Ï´Ù.

10. clone

 public Object clone()Àä, CookieÀÚ½ÅÀ» returnÇÕ´Ï´Ù. ¸Ó¿¡ »ç¿ëÇÏ´ÂÁö ¸ð¸£°Ú±º¿ä. *^^*




¨Ï 1999 Lee Min Goo, All rights are reserved Last modified 1999.2
If you have any question, send mail to bluehope