본문을 소개하기에 앞서 먼저 쿠키에 대한 기본지식을 소개해드리겠습니다
먼저 쿠키가 무엇인지 이해하세요
"쿠키는 방문자의 컴퓨터에 저장되는 변수입니다. 이 쿠키는 동일한 컴퓨터가 브라우저를 통해 페이지를 요청할 때마다 전송됩니다. JavaScript를 사용하여 쿠키의 값을 생성하고 검색할 수 있습니다."
쿠키는 방문한 웹사이트에서 프로필 정보 등 검색 정보를 저장하기 위해 생성한 파일입니다.JavaScript 관점에서 쿠키는 문자열 정보입니다. 이 정보는 클라이언트의 컴퓨터에 저장되며 클라이언트 컴퓨터와 서버 간에 정보를 전송하는 데 사용됩니다.
이 정보는 JavaScript의 document.cookie를 통해 읽거나 설정할 수 있습니다. 쿠키는 주로 클라이언트와 서버 간의 통신에 사용되므로 JavaScript 외에 서버측 언어(예: PHP)에서도 쿠키에 접근할 수 있습니다.
쿠키 기본
쿠키에는 크기 제한이 있습니다. 각 쿠키에 저장되는 데이터는 4kb를 초과할 수 없습니다. 쿠키 문자열의 길이가 4kb를 초과하면 이 속성은 빈 문자열을 반환합니다.쿠키는 궁극적으로 클라이언트 컴퓨터에 파일 형태로 저장되기 때문에 쿠키를 확인하고 수정하는 것이 매우 편리합니다. 그렇기 때문에 쿠키는 중요한 정보를 저장할 수 없다는 말이 자주 나옵니다.
각 쿠키의 형식은 다음과 같습니다. <쿠키 이름>=<값>; 이름과 값은 모두 법적 식별자여야 합니다.
쿠키에는 만료일이 있습니다. 기본적으로 쿠키의 수명주기는 브라우저가 닫힐 때 종료됩니다. 브라우저를 닫은 후에도 쿠키를 사용할 수 있도록 하려면 쿠키의 만료 날짜인 쿠키의 유효 기간을 설정해야 합니다.
alert(typeof document.cookie)의 결과는 문자열입니다. 배열인줄 알고 농담까지 한 적이 있습니다...囧
쿠키 FAQ
쿠키에는 두 가지 유형이 있습니다.
현재 탐색 중인 웹사이트에서 설정한 쿠키삽입된 광고, 웹페이지 이미지 등 다른 도메인 소스의 제3자 쿠키(웹사이트에서는 이러한 쿠키를 사용하여 귀하의 사용 정보를 추적할 수 있음)
방금 기본 지식에서 쿠키 수명 주기 문제에 대해 언급했습니다. 실제로 쿠키는 크게 두 가지 상태로 나눌 수 있습니다.
만료 시간이 있는 쿠키를 설정합니다. 브라우저를 닫아도 이 정보는 컴퓨터에 그대로 남아 있습니다. 로그인 이름, 비밀번호 등을 입력하면 특정 사이트에 접속할 때마다 로그인할 필요가 없습니다. 이러한 쿠키는 며칠, 몇 달 또는 몇 년 동안 귀하의 컴퓨터에 남아 있을 수 있습니다.
브라우저 도구를 통해 쿠키 삭제(타사 도구가 있으며 브라우저 자체에도 이 기능이 있음)
만료일을 설정하여 쿠키를 삭제하세요
쿠키에 대한 액세스를 허용하거나 거부하도록 브라우저를 설정할 수 있습니다.
기능적, 성능상의 이유로 사용되는 쿠키의 수를 줄이고, 가능한 한 작은 쿠키를 사용하도록 노력하는 것이 좋습니다.
쿠키 인코딩에 대한 자세한 내용은 쿠키 고급편에서 별도로 소개하겠습니다.
로컬 디스크에 있는 페이지인 경우 Chrome 콘솔은 JavaScript를 사용하여 쿠키를 읽고 쓸 수 없습니다. 해결 방법...브라우저를 변경하세요^_^.
이 장에서는 쿠키 작성 및 삭제와 같은 쿠키에 대한 JavaScript의 간단한 작업에 대한 몇 가지 단락을 공유합니다.
1. 쿠키 쓰기:
//两个参数,一个是cookie的名子,一个是值 function SetCookie(name,value){ var Days = 30;//此 cookie 将被保存 30 天 var exp = new Date();//new Date("December 31, 9998"); exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); }
2. 쿠키 읽기:
//取cookies函数 function getCookie(name){ var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)")); if (arr != null) return unescape(arr[2]); return null; }
3. 쿠키 삭제:
//删除cookie function delCookie(name){ var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval = getCookie(name); if (cval != null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString(); }