>  기사  >  웹 프론트엔드  >  JavaScript는 쿠키 쓰기, 읽기 및 삭제 기능을 구현합니다.javascript 기술

JavaScript는 쿠키 쓰기, 읽기 및 삭제 기능을 구현합니다.javascript 기술

WBOY
WBOY원래의
2016-05-16 15:33:471138검색

본문을 소개하기에 앞서 먼저 쿠키에 대한 기본지식을 소개해드리겠습니다

먼저 쿠키가 무엇인지 이해하세요

 "쿠키는 방문자의 컴퓨터에 저장되는 변수입니다. 이 쿠키는 동일한 컴퓨터가 브라우저를 통해 페이지를 요청할 때마다 전송됩니다. JavaScript를 사용하여 쿠키의 값을 생성하고 검색할 수 있습니다."

쿠키는 방문한 웹사이트에서 프로필 정보 등 검색 정보를 저장하기 위해 생성한 파일입니다.

JavaScript 관점에서 쿠키는 문자열 정보입니다. 이 정보는 클라이언트의 컴퓨터에 저장되며 클라이언트 컴퓨터와 서버 간에 정보를 전송하는 데 사용됩니다.

 이 정보는 JavaScript의 document.cookie를 통해 읽거나 설정할 수 있습니다. 쿠키는 주로 클라이언트와 서버 간의 통신에 사용되므로 JavaScript 외에 서버측 언어(예: PHP)에서도 쿠키에 접근할 수 있습니다.

쿠키 기본

쿠키에는 크기 제한이 있습니다. 각 쿠키에 저장되는 데이터는 4kb를 초과할 수 없습니다. 쿠키 문자열의 길이가 4kb를 초과하면 이 속성은 빈 문자열을 반환합니다.

쿠키는 궁극적으로 클라이언트 컴퓨터에 파일 형태로 저장되기 때문에 쿠키를 확인하고 수정하는 것이 매우 편리합니다. 그렇기 때문에 쿠키는 중요한 정보를 저장할 수 없다는 말이 자주 나옵니다.

각 쿠키의 형식은 다음과 같습니다. dd6abf10a2c7b604a2a42ef44c716bf9=50171ebd691098eac442f06b99983c66; 이름과 값은 모두 법적 식별자여야 합니다.

쿠키에는 만료일이 있습니다. 기본적으로 쿠키의 수명주기는 브라우저가 닫힐 때 종료됩니다. 브라우저를 닫은 후에도 쿠키를 사용할 수 있도록 하려면 쿠키의 만료 날짜인 쿠키의 유효 기간을 설정해야 합니다.

alert(typeof document.cookie)의 결과는 문자열입니다. 배열인줄 알고 농담까지 한 적이 있습니다...囧


쿠키는 도메인과 경로의 개념을 가지고 있습니다. 도메인은 도메인의 개념입니다. 브라우저는 보안 환경이므로 서로 다른 도메인이 서로 쿠키에 접근할 수 없습니다. (물론 쿠키에 대한 크로스 도메인 접근은 특별한 설정을 통해 가능합니다.) Path는 라우팅의 개념입니다. 웹페이지에서 생성된 쿠키는 이 웹페이지와 동일한 디렉터리나 하위 디렉터리에 있는 모든 웹페이지에서만 접근할 수 있으며, 다른 디렉터리에 있는 웹페이지에서는 접근할 수 없습니다. 나중에) 예를 들어보면 이해하기 더 쉽습니다.


사실 쿠키를 생성하는 방법은 변수를 정의하는 방법과 다소 유사합니다. 둘 다 쿠키 이름과 쿠키 값을 사용해야 합니다. 동일한 웹사이트에서 여러 쿠키를 생성할 수 있으며, 여러 쿠키가 동일한 쿠키 파일에 저장될 수 있습니다.

쿠키 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();
}
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.