1. 쿠키 란 무엇입니까?
A : 쿠키는 고객에게 세션 정보를 저장하는 데 사용됩니다.
2. 쿠키의 구성 요소?
① 이름 : 쿠키의 독특한 이름. 사례에 민감한 것이 좋습니다. 쿠키의 이름은 URL 인코딩해야합니다.
값 값 : 쿠키에 저장된 문자열 값. 값은 URL 인코딩해야합니다.
③ 도메인 : 쿠키가 유효한 도메인. 이 도메인에 전송 된 모든 요청에는이 쿠키 정보가 포함됩니다. 이 값에는 하위 도메인 (www.wrox.com과 같은 하위 도메인)이 포함될 수 있습니다 (wrox.com의 모든 하위 도메인에 유효한 .wrox.com과 같은 하위 도메인). 명시 적으로 설정되지 않으면이 도메인은 쿠키가 설정된 도메인에서 고려됩니다.
path : 지정된 도메인의 해당 경로의 경우 쿠키를 서버로 보내야합니다. 예를 들어, 쿠키는 http://www.wrox.com/books/에서만 액세스 할 수 있음을 지정할 수 있으므로 요청이 동일한 도메인에서 나오더라도 페이지 http://www.wrox.com 페이지는 쿠키 정보를 보내지 않습니다.
heexpiration time : 쿠키를 삭제 해야하는시기를 나타내는 타임 스탬프. 기본적으로 모든 쿠키는 브라우저 세션이 끝날 때 삭제됩니다. 그러나 삭제 시간을 직접 설정할 수도 있습니다. 이 값은 쿠키를 삭제 해야하는 정확한 시간을 지정하는 GMT 형식 (WDY, DD-MONYYY HH : MM : SS GMT)의 날짜입니다. 따라서 쿠키
브라우저가 닫힌 후에도 사용자의 컴퓨터에 여전히 저장할 수 있습니다. 설정 한 만료 날짜가 이전 시간 인 경우 쿠키는 즉시 삭제됩니다.
⑥ 보안 플래그 : 지정된 후 쿠키는 SSL 연결을 사용할 때만 서버로 전송됩니다. 예를 들어, 쿠키 정보는 https://www.wrox.com으로 만 보낼 수 있으며 http://www.wrox.com의 요청은 쿠키를 보낼 수 없습니다.
3. 쿠키의 예를 나열 하시겠습니까?
다음은 우리가 그것을 분류 할 완전한 쿠키 예입니다.
set-cookie : name = value; 만료 = 월, 22-Jan-07 07:10:24 GMT; 도메인 = .wrox.com; 경로 =/; 안전한
① 이름 : 이름 문자열 표현
② 값 : 값 문자열 표현
③ expiration time : Mon, 22-Jan-07 07:10:24 GMT
④ 도메인 이름 : .wrox.com
path : 현재 디렉토리/
⑥ 안전 부호 : 보안
4. 쿠키를 운영하는 방법?
var cookieutil = {// 쿠키 세트 세트 : 함수 (이름, 값, 만료, 도메인, 경로, 보안) {var cookietext = ""; cookietext + = encodeUricomponent (name) + "=" + encodeUricomponent (value); if (instance of instance of instance) {cookietext + = "; expires =" + frolles.togmtstring (); } if (path) {cookietext + = "; path =" + path; } if (domain) {cookietext + = "; domain =" + 도메인; } if (secure) {cookietext += "; secure"; } document.cookie = cookietext; }, // name = value; 만료 = Expiration_Time; 경로 = domain_path; domain = domain_name; 보안 // 쿠키 get get : function (name) {var cookiename = encodeUricomponent (name) + "=", cookiestart = document.cookie.indexof (Cookiename), CookieValue = ""; if (cookiestart> -1) {var cookieend = document.cookie.indexof ( ";", cookiestart); if (cookieend = -1) {cookieend = document.cookie.length; } cookievalue = decodeUricomponent (Document.Cookie.SubString (CookiestArt + Cookiename.Length, Cookieend)); } return cookievalue; }, // 쿠키 삭제 삭제 : 함수 (이름, 도메인, 경로, 보안) {this.set (이름, "", 날짜 (0), 도메인, 경로, 보안); }}; // test cookieutil.set ( "name", "zhang"); var name = cookieutil.get ( "이름"); 경고 (이름); // Zhang Cookieutil.unset ( "name"); alert (cookieutil.get ( "name")); // 비어 있는5. 쿠키 제한
저장된 데이터의 수는 제한적입니다
쿠키에 저장된 정보는 승인 된 수신자 만 액세스 할 수 있지만 다른 도메인에서는 액세스 할 수 없습니다.
보안
6. 소량의 쿠키 데이터 저장 문제에 대한 응답으로, 우리는 하위 쿠키의 개념을 제안했습니다. 즉, 여러 데이터 조각이 "&"로 분리 된 각 쿠키의 값으로 저장됩니다.
var subcookieutil = { /** 완전한 쿠키 * param 이름 설정 : 쿠키 이름, 필수 * 쿠키의 값을 나타냅니다. : 쿠키의 보안 플래그를 나타내면 * 예 : subcookieutil.setall ( "info", {name : "zhang", age : 23}); **/ setAll : 함수 (이름, 하위 쿠키, 만료, 도메인, 경로, 보안) {var cookietext = "", subname, cookieparts = []; cookietext + = encodeUricomponent (name) + "="; for (subcookies의 서브 이름) {cookieparts.push (encodeUricomponent (subname) + "=" + encodeUricomponent (subcookies [subname]); } if (cookyeparts.length> 0) {Cookietext += CookieParts.join ( "&"); if (instance of instance of instance) {cookietext + = "; expires =" + frolles.togmtstring (); } if (path) {cookietext + = "; path =" + path; } if (domain) {cookietext + = "; domain =" + 도메인; } if (secure) {cookietext += "; secure"; }} else {cookietext + = "; expires =" + date (0) .togmtstring (); } document.cookie = cookietext; }, /** subcookie * param name : 쿠키의 이름을 나타냅니다. 필수 * param subname : 어린이 쿠키의 이름을 표시, 필수 쿠키의 값을 나타냅니다. 채우기 * Param Secure : 쿠키의 보안 플래그를 표시하면 * 예 : SubCookieUtil.set ( "Info", "Sex", "Boy"); **/ set : 함수 (이름, 서브 이름, 값, 만료, 도메인, 경로, 보안) {var 쿠키 = this.getall (name) || {}; 쿠키 [서브 이름] = 값; this.setall (이름, 쿠키, 만료, 도메인, 경로, 보안); }, /** 완전한 쿠키 읽기 * param 이름 : 쿠키의 이름을 나타냅니다. 필요한 * 반환 : 쿠키 개체 * 예 : subcookieutil.getall ( "info"); **/ getAll : function (name) {var cookiename = encodeUricomponent (name) + "=", cookiestart = document.cookie.indexof (cookiename), cookievalue = "", i, len, subcookies, parts, result = {}; if (cookiestart> -1) {var cookieend = document.cookie.indexof ( ";", cookiestart); if (cookieend == -1) {cookieend = document.cookie.length; } cookievalue = decodeUricomponent (Document.Cookie.SubString (CookiestArt + Cookiename.Length, Cookieend)); if (cookievalue.length> 0) {subcookies = cookievalue.split ( "&"); for (i = 0, len = subcookies.length; i <len; i ++) {parts = subcookies [i] .split ( "="); 결과 [decodeUricomponent (part [0]) = decodeUricomponent (part [1]); } 반환 결과; }} return null; }, /** child 쿠키의 값을 가져옵니다. **/ get : 함수 (이름, 서브 이름) {var 쿠키 = this.getall (이름); if (쿠키) {return 쿠키 [서브 이름]; } else {return null; }}, /** 완전한 쿠키 삭제 * param 이름 : 쿠키의 이름을 나타냅니다. 필요한 * param 도메인 : 쿠키의 도메인 이름을 표시 할 수 없습니다. **/ unsetall : 함수 (이름, 도메인, 경로, 보안) {this.setall (name, "", date (0) .togmtstring (), 도메인, 경로, 보안); }, /** 삭제 하위 쿠키 * param 이름 : 쿠키의 이름을 나타냅니다. 필수 * Param 서브 이름 : 하위 쿠키의 이름, 필수 * Param 도메인 : 쿠키의 도메인 이름을 표시하십시오. subcookieutil.unset ( "Info", "name"); **/ unset : 함수 (이름, 서브 이름, 도메인, 경로, 보안) {var 쿠키 = this.getall (name); if (쿠키) {쿠키 삭제 [서브 이름]; this.setall (이름, 쿠키, 널, 도메인, 경로, 보안); }}}}; // 테스트 : var Zhang = {이름 : "Zhang", Age : 23, 높이 : "178cm", 무게 : "66kg"} // 전체 쿠키 subcookieutil.setall ( "Zhang", Zhang); // 완전한 쿠키 var zhang = subcookieutil.getall ( "Zhang"); 경고 (Zhang.weight); // 66kg // Zhang subcookieutil.set에 어린이 쿠키를 추가합니다 ( "Zhang", "Sport", "Basketball"); // SubCookie Alert를 가져옵니다 (subCookieUtil.get ( "Zhang", "Sport")); // Basketball // SubCookie SubCookieUtil.unset ( "Zhang", "Age")을 삭제합니다. Alert (subcookieutil.get ( "Zhang", "Age")); // undefined // 완전한 쿠키 SubCookieUtil.unsetall ( "Zhang")을 삭제합니다. Alert (subcookieutil.getall ( "Zhang")); // 오류가 삭제되었습니다위의 내용은이 기사에 관한 모든 것입니다. 모든 사람의 학습에 도움이되기를 바랍니다.