|
COOKIE |
../ |
ÀÚ½ÅÀÇ »çÀÌÆ®¿¡ ¿Â ¹æ¹®ÀÚ¿¡°Ô¸¸ À̵éÀÇ ±â·ÏÀ» ³²±æ¼ö ÀÖÁö ´Ù¸¥ »çÀÌÆ®ÀÇ Á¤º¸´Â ÀÐÀ» ¼ö ¾ø½À´Ï´Ù. ÀÌ ±â·ÏÀ¸·Î ¹æ¹®ÀÚ°¡ ´ÙÀ½¿¡ ¹æ¹®ÇßÀ» ¶§, ¾Æ´Âô ÇÑ´Ù´ø°¡ ¿ÜºÎ CSS ÈÀϰ°Àº °ÍÀ¸·Î ¹æ¹®ÀÚ°¡ ¿øÇÏ´Â ÆäÀÌÁö ±¸¼ºÀ¸·Î ÆäÀÌÁö¸¦ º¸¿©ÁÙ ¼ö ÀÖ½À´Ï´Ù.
Cookie¿¡´Â name=value ·Î½á ÇÊ¿äÇÑ Á¤º¸¸¦ ±â·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù. °æ·Î°¡ ´Ù¸£¸é name=valueÀÇ nameÀÇ À̸§ÀÌ °°¾Æµµ ±× À̸§À» ¾µ ¼ö ÀÖ°í °°Àº °æ·Î¿¡¼´Â ¶È °°Àº À̸§À» ¾²¸é valueÀÇ °ªÀÌ ¼öÁ¤µÇ°í, À̸§ÀÌ Æ²¸®¸é °°Àº °æ·Î¿¡µµ ¿©·¯°³ÀÇ name=value¸¦ ¾µ ¼ö ÀÖ½À´Ï´Ù.
Cookie °ªÀ» Àбâ À§Çؼ´Â ¹Ýµå½Ã cookie¸¦ ÀúÀåÇÑ domain À̳ª URL¿¡¼ Àоî¾ß ÇÏ°í °°Àº °æ·Î¿¡¼, ÇÏÀ§ µð·ºÅ丮¿¡¼´Â »óÀ§ µð·ºÅ丮ÀÇ cookieÀÇ °ªÀ» ÀÐÀ»¼ö´Â ÀÖÁö¸¸, ¼öÁ¤Àº ÇÒ ¼ö ¾ø½À´Ï´Ù. ¼öÁ¤Çϱâ À§Çؼ´Â cookieÀÇ °ªÀ» ÀúÀåÇÑ °æ·Î¿¡¼¸¸ °¡´ÉÇÕ´Ï´Ù. cookieÀÇ °ªÀ» cookie.txt ÈÀÏ¿¡¼ Áö¿ï·Á¸é Áï, ¿ÏÀüÈ÷ ¾ø¿¤·Á¸é EXPIRES¸¦ Áö³ ½Ã°£À¸·Î ¼³Á¤ÇÕ´Ï´Ù.
ÇÏÀ§ µð·ºÅ丮¿¡¼´Â »óÀ§ µð·ºÅ丮ÀÇ ÄíŰ °ªÀ» ÀÐÀ»¼ö ÀÖÁö¸¸, »óÀ§°¡ ÇÏÀ§ÀÇ ÄíŰ °ªÀº ÀÐÁö ¸øÇÕ´Ï´Ù. ±×¸®°í ¼öÁ¤Àº »óÇÏÀ§ ¸ðµÎ ÀÚ½ÅÀÇ µð·ºÅ丮¿¡¼ ¼³Á¤ÇÑ Äí۰ª¸¸À» ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.
cookie¿¡ °ªÀ» ÁöÁ¤ÇÏ°í ±× ÆäÀÌÁö¸¦ Reload¸¦ ÇØ¾ßÁö¸¸ ÁöÁ¤ÇÑ °ªÀ» ÂüÁ¶ÇÒ ¼ö ÀÖ°í cookie.txt¿¡ ÀÔ·ÂÀº ReloadÇØµµ ¹Ù·Î ÀÔ·ÂÀÌ ¾ÈµË´Ï´Ù. ºê¶ó¿ìÀú¸¦ Á¾·áÇϸé ÀÔ·ÂÀÌ µË´Ï´Ù. cookie¸¦ ÀúÀåÇÏ´Â °÷Àº nnÀº ºê¶ó¿ìÀú°¡ ¼³Ä¡µÈ°÷ÀÇ cookie.txt¿¡ ie´Â window¸¦ ¼³Ä¡ÇÑ Æú´õÀÇ cookies Æú´õ¿¡ ±â·ÏÇÕ´Ï´Ù.
function setCookie(name, value, expire) {
document.cookie = name + "=" + escape(value)
+ ( (expire) ? "; expires=" + expire.toGMTString() : "")
}
¿©±â¼ nameÀº ±â·ÏÇÒ À̸§À̰í value´Â ÀúÀåÇÒ °ªÀ̰í expire´Â ÀÚµ¿»èÁ¦ ½Ã°£ÀÔ´Ï´Ù.
escape(value)´Â semicolons, commas, spaces °°Àº Ư¼ö¹®ÀÚ¸¦ »ç¿ëÀÚ°¡ ÀÔ·ÂÇßÀ» °æ¿ì¸¦ ´ëºñÇØ¼
ÇØÁÝ´Ï´Ù. ÄíŰ¼³Á¤ Äڵ带 ©¶§ name¿¡µµ Ư¼ö¹®ÀÚ¸¦ ³Ö¾ú´Ù¸é nameµµ escape(name)À¸·Î ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù.
toGMTString()Àº cookie¿¡ »èÁ¦±â°£À» ÁöÁ¤ÇÒ ¶§ »ç¿ëÇÒ ¼ö ÀÖ´Â ÇÔ¼öÀÔ´Ï´Ù. ¿©±â¿¡¼ domain, path, secure´Â ÁöÁ¤ÇÏÁö ¾Ê¾Ò½À´Ï´Ù.
domain°ú path´Â ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ÇöÀçÀÇ Äí۸¦ ¼³Á¤Çϰí ÀÖ´Â domain°ú path°¡ ÁöÁ¤µÇ°í secure´Â ¼¹öÀÇ channel°ú ¿¬°üµÈ °ÍÀÔ´Ï´Ù.
function register(uName) {
var today = new Date()
var expire = new Date(today.getTime() + 60*60*24*31*1000)
setCookie("userName", uName, expire)
}
<form onSubmit="register(this.txt.value)">
À̸§ÀÌ ¹¹ÁÒ? <input type=text name=txt>
<input type=submit>
</form>
»ç¿ëÀÚ°¡ À̸§À» ÀÔ·ÂÇϰí submit Çϸé 31ÀÏ ÈÄ·Î ÀÚµ¿»èÁ¦ ±â°£À» ÁöÁ¤Çϰí userName¶ó´Â À̸§À¸·Î
cookie¸¦ ¼³Á¤ÇÕ´Ï´Ù.
function getCookie(uName) {
var flag = document.cookie.indexOf(uName+'=');
if (flag != -1) {
flag += uName.length + 1
end = document.cookie.indexOf(';', flag)
if (end == -1) end = document.cookie.length
return unescape(document.cookie.substring(flag, end))
}
}
ÀÌ ÄÚµå·Î cookie¸¦ ÀнÀ´Ï´Ù. cookie¿¡ ÀúÀåµÇ´Â ¹æ½ÄÀº ÀúÀåÀ̸§=ÀúÀå°ªÀ¸·Î ÀúÀåÇÕ´Ï´Ù.
ÀúÀåÀ̸§ÀÌ ´Ù¸¥°ÍÀÌ 2°³ ÀÌ»óÀÌ ÀúÀåµÇ¾î ÀÖ´Ù¸é ÀúÀåÀ̸§=ÀúÀå°ª; ÀúÀåÀ̸§=ÀúÀå°ª ½ÄÀ¸·Î
ÀúÀåÀÌ µË´Ï´Ù. µîÈ£(=)¿Í (;)´Â ÀÚµ¿À¸·Î ºÙ½À´Ï´Ù. nnÀº ºê¶ó¿ìÀú°¡ ÀÖ´Â Æú´õ¿¡ cookie.txt·Î ÀúÀåÇϰí ie4´Â
window°¡ ¼³Ä¡µÈ °÷¿¡ Cookies Æú´õ¿¡ ÀúÀåµË´Ï´Ù.
function cookieComment() {
var userName = getCookie("userName");
if ( userName ) {
alert("\nµ¹¾Æ¿À½Å °ÍÀ» ȯ¿µÇÕ´Ï´Ù.\n\n" + userName + " ´Ô..");
}
else alert("\nóÀ½ ¿À¼Ì±º¿ä.. ¹Ý°©½À´Ï´Ù..");
}
<body onLoad="cookieComment()">
Cookie¸¦ ÀÐ°í µÎ°³ ÁßÀÇ ÇϳªÀÇ È¯¿µ alertâÀ» ¿±´Ï´Ù.