일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 책이야기
- 디즈니씨
- 메일왕창보내는법
- C/C++
- nodejs express
- 스킨 스쿠버
- php thumbnail
- ejb
- express for node.js
- 명사 추출기
- rss
- 베트남어
- Cross
- node.js web framework
- 도커
- ajax
- Eclipse
- Node.js
- 명사 분석기
- flex3
- docker
- 나의 프로젝트
- ror실행
- scala
- iBatis
- Lift
- 주식이야기
- php
- 명사 뽑아내기
- 나의 취미
- Today
- Total
nkdk의 세상
JS :: 쿠키 본문
쿠키(cookie)
쿠키는 사용자측에 저장된 텍스트파일정보를 의미합니다. 사용자가 웹사이트(웹서버)에 접속하면 그 정보를 사용자측에 보관하기 위해서 쿠키는 사용됩니다. 예를 들면, 쇼핑몰에서 사용자가 물건을 구매했을 경우 사용자측에 그 정보를 저장합니다. 사용자가 다른 물건을 구매하기 위해서 추가로 물건을 구매했을 경우 그 정보가 계속 유지되어 나타납니다.
쿠키를 이용하여 일정기간 동안 정보를 보관하거나 삭제를 할 수 있습니다. 윈98의 경우 window\cookie폴더에, 윈xp의 경우 Document and Settings폴더안에 사용자ID폴더가 있습니다. 해당 사용자폴더 안에 cookie폴더가 있고 그 안에 쿠키정보가 있습니다. 사용자가 임의로 쿠키정보를 삭제하면 기존에 방문했던 사이트의 쿠키정보가 사라지게 됩니다.
쿠키의 구조
쿠키정보값은 value에 저정되어 있기 때문에 'name=value'속성은 꼭 있어야 합니다. 그 외의 다른 속성은 필요에 따라 생략될 수 있습니다. value값은 세미콜론(;), 콤마(,)등의 기호를 포함할 수 없습니다.
|형식| name=value; expires=date; path=path; domain=domain; secure
|설명|
name=value : 생략이 불가능하며 식별이름과 식별값을 설정합니다.
expires=date : 생략이 가능하며 쿠키의 유효기간을 설정합니다. 쿠키의 유효기간이 지나면 자동으로 쿠키정보가 사라집니다.
path=path : 생략이 가능하며 쿠키의 url경로를 설정합니다.
domain=domain : 생략이 가능하며 쿠키와 일치하는 url경로의 도메인 부분을 설정합니다.
secure : 생략이 가능하며 보안유무를 true나 false로 설정합니다.
document.cookie
cookie속성으로 쿠키정보를 읽어오면 'name=value;'형식으로 연속되어 있고 중간에 공백이 있습니다.
|형식| name=value; name=value; name=value; .....
문자열인 경우에는 ISO-Latin-1문자셋(예:2C%%3F)으로 되어있습니다.
- escape() : ISO-Latin-1문자셋을 아스키값으로 반환합니다.
- unescape() : 아스키값을 ISO-Latin-1문자셋으로 반환합니다.
- arguments : 입력된 매개변수들을 배열형태로 저장합니다.
<html>
<script lanaguage="JavaSacript">
<!--function getCookieval (offset) { // 해당네임의 밸류값반환
var endstr = document.cookie.indexOf(";", offset); // 해당네임의 끝을 확인if (endstr == -1) // [;]이 없다면 해당쿠키의 끝으로 파악, 자동으로 설정
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr)); // 해당밸류값을 iso-Latin문자셋으로
}function getCookie (name) { // 입력한 네임의 밸류값여부를 확인합니다.
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;while (i<clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieval(j);i = document.cookie.indexOf(" ", i) + 1;
if (i == 0)
break;
}return null;
}function setCookie (name, value) { // 쿠키정보를 저장
var argv = setCookie.arguments; // 입력된 매개변수를 배열형태로 저장
var argc = setCookie.arguments.length;var expires = (2 < argc) ? argv[2] : null;
var path = (3 < argc) ? argv[3] : null;
var domain = (4 < argc) ? argv[4] : null;
var secure = (5 < argc) ? argv[5] : false;info_cookie = name + "=" + escape(value)
+ ((expires == null) ? "" : ("; expires=" + expires.toGMTString()))
+ ((path == null) ? "" : ("; path=" + path))
+ ((domain == null) ? "" : ("; domain=" + domain))
+ ((secure == true) ? "; secure" : "");document.cookie = info_cookie; // 쿠키형태로 저장
return info_cookie;
}var myday = new Date();
var myvalue = "shin1";
var get_value;
cookie_day = myday.toGMTString();document.write("[1] 쿠키생성날짜 : ", cookie_day, "<br>");
myday.setTime(myday.getTime() + (30*24*60*60*1000)); // 생성일로부터 30일이후로 시간설정document.write("[2] 설정한 쿠키내용 : ");
dsp_cookie = setCookie("mycookie", myvalue, myday, "/", null, false); // 쿠키설정
document.write(dsp_cookie, "<br>");document.write("[3] 저장된 쿠키들 : ", document.cookie, "<br>"); // 현재 사용중인 쿠키보기
get_value = getCookie("mycookie");
document.write("[4] 알아낸 쿠키 value값 : ", get_value);// -->
</script><body>
</body>
</html>