* 자바스크립트에서 Cookie를 다룰때는 document,cookie를 이용하며 cookie를 저장하거난 저장된 cookie를 읽는데 모두 사용한다. --> 단 저장할때와 읽을때 사용하는 문자열 형식은 다르다 쿠키의 실예-하나의 cookie는 최대 4kb까지의 데이타를 저장할수 있고 하나의 서버의 연관된 쿠키는 한 클라이언트당 최대 300개 까지 저장할수 있다. 즉, 1.2MB까지 저장가능하다는 뜻이다
- cookie 로 보관된 정보는 읽을 수 있는 권한만 있다면 웹브라우저를 종료했다가 다시 실행해도 확인가능하며 새 웹브라우저를 실행해도 실행 가능하다 -> cookie는 접근 권한을 위해서 경로와 도메인, 만료기간을 가진다
-> 원칙적으로 cookie 는 생성한 페이지에서만 읽을 수 있으나 도메인이나 경로, 만료기간 등의 적절한 변화를 통해 생성한 페이지가 아닌 다른 페이지에서 읽을 수도 있다. _> 사용자의 브라우저에 설정된 기간에 지속시키면 수시로 지울수도 있고 사용자의 등록정보난 방문정보를 저장하고 필요할때 간편하게 꺼내기가 쉽다. -> ie와 nn의 쿠키는 호환되지 않는다. -> 다수의 사용자가 있을시 정보유출의 위험이 있다
named=new Date((new Date()).getTime() + 60000) "testCookie=testValue ;expires="+d.toGMTString() +" ;doamin=abc.com;secure"
expires손쉽게 쿠키 추가 (기본만) function setCookieEZ(name,value){ document.cookie = name + "=" + escape(value); }
doaminexpires 부분이 생략되면 웹브라우저 종료시점이 만료시점이 된다.(즉 만료시점이 없으면 그냥 사라진다) 다음의 코드는 1주일후 쿠키가 만기가 되도록 설정한것이다 var name="foo"; var value="bar"; var oneWeek=7*24*60*60*100; var expDate=new Date(); expDate.setTime(expDate.getTime() + oneWeek); document.cookie =name +"="+escape(value) +";expire=" + expDate.toGMTString();
secure쿠키를 javascript 디렉과 그 하위 디렉의 페이지에 사용할 수 있도록 한것은 document.cookie = "foo=bar1; path=/javascript/sam"; 서버의 모든 사람이 사용하고자 하면 document.cookie = "foo=bar2; path=/"; 이러한 쿠키가 한꺼번에 존재한다면 foo=bar3; foo=bar2; foo=bar1 으로 나타낸다쿠키를 삭제할때는 본래 name과 path가 같아야 된다function GetCookie(name) { var result = 0; var myCookie = " " + document.cookie + ";"; var searchName = " " + name + "="; var nameLength = searchName.length; var startOfCookie = myCookie.indexOf(searchName) while (startOfCookie != -1) { result +=1; startOfCookie = myCookie.indexOf(searchName.startOfCookie +nameLength); } return result; }
자바스크립트에서 쿠키를 생성하는 경우 형식에 맞추어 문자열을 만든 다음 document.cookie 에 할당 하면된다. 여러번 수행하면 여러개의 쿠키가 저장된다. 단 name이 동일하면 덮어쓴다쿠키의 이름과 값은 문서 객체의 쿠키 속성에 의해 설정되고 저장된다. 쿠키 문자열을 변수에 저장하기 위해서는 다음과 같은 명령을 사용한다 var myCookie = document.cookie 웹페이지에 표시하려면 document.write("Raw Cookies;" + document.cookie + "<br>"); 또한 다음과 같은 포맷으로 쿠키를 저장한다 name1=value1;name2=value2;bame3=value3 각가의 name=value로 이루어진 쌍들은 세미콜론과 공백으로 구분한며 마지막값에는 세미콜론을 붙이지 않는다 특정 쿸키를 회수할려면 특정한 쿠키를 회수용 자바스크립트 함수 을 사용한다
*unescape("문자열") :name=%uBC15%20%uC131 ___ 형태의 문자열 % ---> 문자 시작이다 u ---> 유니코드로 시작된다 BC15 ---> "박"을 유니코드화 한다음 16진수로 표현한 16진수 %20 --> 공백
[출처] cookie의 개념|작성자 양군
소비자는 이해못할 노트북 보증기간 6개월... (2) | 2008.08.28 |
---|---|
220만원 노트북, A/S는 운으로 하는가? (4) | 2008.08.26 |
eWEEK 랩 선정 ''2008년 가장 영향력 큰 기술 10선'' (0) | 2008.04.22 |
문자 메시지 실패에도 왜 과금되는가? (0) | 2008.04.21 |
자바스크립트 상세 달력버튼 만들기.. (0) | 2008.01.15 |