1.クッキーとは何ですか?
A:Cookieは、クライアントにセッション情報を保存するために使用されます。
2。クッキーのコンポーネント?
①名前:クッキーのユニークな名前。ケースに敏感であることをお勧めします。 Cookieの名前はURLエンコードする必要があります。
②値:Cookieに保存されている文字列値。値はURLエンコードする必要があります。
Domain:どのドメインが有効ですか。このドメインに送信されたすべての要求には、このCookie情報が含まれます。この値には、サブドメイン(www.wrox.comなどのサブドメイン)またはnot(wrox.comのすべてのサブドメインに有効な.wrox.comなどのサブドメイン)を含めることができます。明示的に設定されていない場合、このドメインはCookieが設定されているドメインから考慮されます。
Path:指定されたドメイン内のそのパスについては、Cookieをサーバーに送信する必要があります。たとえば、Cookieはhttp://www.wrox.com/books/からのみアクセス可能であることを指定できます。そのため、リクエストが同じドメインからであっても、ページhttp://www.wrox.comはCookie情報を送信しません。
expiration時間:クッキーをいつ削除するかを示すタイムスタンプ。デフォルトでは、すべてのCookieはブラウザセッションの最後に削除されます。ただし、削除時間を自分で設定することもできます。この値は、GMT形式(WDY、DD-Mon-Yyy HH:MM:SS GMT)の日付であり、Cookieを削除する正確な時間を指定します。したがって、クッキー
ブラウザが閉じた後も、ユーザーのマシンに保存できます。設定した有効期限が前の時間である場合、Cookieはすぐに削除されます。
⑥セキュリティフラグ:指定した後、SSL接続を使用する場合にのみ、Cookieがサーバーに送信されます。たとえば、Cookie情報はhttps://www.wrox.comにのみ送信できますが、http://www.wrox.comからのリクエストはCookieを送信できません。
3.クッキーの例をリストしますか?
ここに完全なCookieの例があります。
セットクッキー:name = value;期限切れ=月、22-Jan-07 07:10:24 GMT; domain = .wrox.com; path =/;安全な
①ネーム:名前文字列表現
②値:値文字列表現
expiration Time:Mon、22-Jan-07 07:10:24 GMT
domain名:.wrox.com
path:現在のディレクトリ/
⑥安全サイン:セキュア
4.クッキーの操作方法は?
var cookieutil = {// set cookie set:function(name、value、expires、domain、path、secure){var cookietext = ""; cookietext + = encodeuricomponent(name) + "=" + encodeuricomponent(value); if(expires instanceof date){cookietext + = "; expires =" + expires.togmtstring(); } if(path){cookietext + = "; path =" + path; } if(domain){cookietext + = "; domain =" + domain; } if(secure){cookietext += "; secure"; } document.cookie = cookietext; }、// name = value; expires = expiration_time; path = domain_path; domain = domain_name; secure // get cookie get:function(name){var cookiename = encodeuricomponent(name) + "="、cookiestart = document.cookie.indexof(cookiename)、cookievalue = ""; if(cookiestart> -1){var cookieend = document.cookie.indexof( ";"、cositiestart); if(cookieend = -1){cookieend = document.cookie.length; } cookievalue = decodeuricomponent(document.cookie.substring(cookiestart + cookiename.length、cookieend)); } return cookievalue; }、//削除Cookie unset:function(name、domain、path、secure){this.set(name、 ""、date(0)、domain、path、secure); }}; // test cookieutil.set( "name"、 "zhang"); var name = cookieutil.get( "name");アラート(名前); // Zhang Cookieutil.unset( "name"); alert(cookieutil.get( "name")); // 空の5.cookieの制限
strawed保存されたデータの数は限られています
Cookieに保存されている情報は、承認された受信者によってのみアクセスできますが、他のドメインではアクセスできません。
slimitedセキュリティ
6.少量のCookieデータストレージの問題に応じて、サブクーキーの概念を提案しました。つまり、複数のデータが各Cookieの値に保存され、「&」で区切られています。
var subcookieutil = { /**完全なCookie *パラメーション名を設定します *パラメーション名:クッキーの名前を示します。必要な *パラメーションサブ料理:クッキーの値を示します。 Cookieのセキュリティフラグを示します。たとえば、subcookieutil.setall( "info"、{name: "zhang"、age:23})を記入できません。 **/ setall:function(name、subcookies、expires、domain、path、secure){var cookietext = ""、subname、cookieparts = []; cookietext + = encodeuricomponent(name) + "="; for(subcookies in subname){cookieparts.push(encodeuricomponent(subname) + "=" + encodeuricomponent(subcookies [subname])); } if(cookieparts.length> 0){cookietext += cookieparts.join( "&"); if(expires instanceof date){cookietext + = "; expires =" + expires.togmtstring(); } if(path){cookietext + = "; path =" + path; } if(domain){cookietext + = "; domain =" + domain; } if(secure){cookietext += "; secure"; }} else {cookietext + = "; expires =" + date(0).togmtstring(); } document.cookie = cookietext; }、 /** subcookie * param name:cookieの名前を示し、クッキーの名前を示します。必須 * param subname:子クッキーの名前を示し、必須 *パラメージ値:子供クッキーの値を示します *パラメージの有効期限を示します:クッキーの有効期限を示します。 *パラブセキュア:Cookieのセキュリティフラグを示します。記入できません *例:subcookieutil.set( "info"、 "sex"、 "boy"); **/ set:function(name、subname、value、expires、domain、path、secure){var cookies = this.getall(name)|| {}; Cookie [subname] = value; this.setall(名前、Cookie、有効期限、ドメイン、パス、セキュア); }、 /**完全なCookie *を読む *パラメーション名:Cookieの名前を示します。 **/ 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( ";"、cositiestart); 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( "="); result [decodeuricomponent(parts [0])] = decodeuricomponent(parts [1]); } return result; }} nullを返します。 }、 /**子供のクッキーの値を取得*パラメーション名:cookieの名前を表します。 **/ get:function(name、subname){var cookies = this.getall(name); if(cookies){return cookies [subname]; } else {return null; }}、 /**完全なクッキーの削除 *パラメーション名:クッキーの名前を示します。必須 *パラメイン領ドメイン:クッキーのドメイン名を示します。 **/ unsetall:function(name、domain、path、secure){this.setall(name、 ""、date(0).togmtstring()、domain、path、secure); }、 /** Subcookie * Param Name:Cookieの名前を示します。必要な *パラメーションサブ名:子クッキーの名前を示します。 subcookieutil.unset( "info"、 "name"); **/ unset:function(name、subname、domain、path、secure){var cookies = this.getall(name); if(cookies){delete cookies [subname]; this.setall(名前、cookie、null、domain、path、secure); }}}}; // var Zhang = {name: "Zhang"、age:23、height: "178cm"、weight: "66kg"} //完全なCookie subcookieutil.setall( "Zhang"、Zhang)を設定します。 //完全なCookie var zhang = subcookieutil.getall( "Zhang");アラート(Zhang.Weight); // 66kg //チャンクッキーをZhang subcookieutil.set( "Zhang"、 "Sport"、 "Basketball")に追加します。 // subcookie alert(subcookieutil.get( "zhang"、 "sport"))を取得します。 //バスケットボール// delete subcookie subcookieutil.unset( "zhang"、 "age");アラート(subcookieutil.get( "zhang"、 "age")); //未定義//完全なCookie subcookieutil.unsetall( "zhang")を削除します。アラート(subcookieutil.getall( "zhang")); //エラーが削除されました上記はこの記事に関するものです。すべての人の学習に役立つことを願っています。