永続的なCookieと非永続的なCookieを作成する方法がわからないようです。たとえば、返されるHTTPヘッダーの違いは何ですか?
Cookieには、有効期間が暗黙的または明示的に設定されており、その期間が制御されます(実際に強制するユーザーエージェントの影響を受けます)。 Cookieは、セッションの期間(またはさらに短い期間)のみ持続する場合があります。
Cookieが有効な場合、HTTPリクエストとともに、元のドメインに渡されます。 Cookieを設定するドメインのみがCookieを読み取ることができます(ただし、クロスサイトスクリプティングなど、これを悪用する方法はあります)。
Cookieを特定の時間に期限切れにする場合は、選択したクライアントまたはサーバー側の言語を使用して有効期限を設定します。
セッションの終了時にCookieを期限切れにする場合は、有効期限を設定しないでください。
Cookieセッターは削除日を指定できます。その場合、Cookieはその日に削除されます。
Cookieセッターで日付が指定されていない場合、ユーザーがブラウザを終了するとCookieは削除されます。
その結果、日付を指定することは、Cookieをセッション間で存続させる方法です。 このため、有効期限のあるCookieは永続と呼ばれます。
サンプルアプリケーションとして、ショッピングサイトは永続的なCookieを使用して、ユーザーがバスケットに入れたアイテムを保存できます。 (実際には、Cookieはコンピューターではなく、ショッピングサイトに保存されているデータベースのエントリを参照する場合があります。)このように、ユーザーが購入せずにブラウザーを終了して後で戻った場合でも、同じアイテムがこれらのアイテムを再度探す必要がないように、バスケット。これらのCookieに有効期限が与えられていない場合、ブラウザーが閉じられると有効期限が切れ、バスケットコンテンツに関する情報は失われます。
ASP.NETには2種類のCookieがあります
永続的なCookie:
クッキーはコンピューターのハードディスクに保存されます。それらはハードディスク上に残り、削除されるか期限が切れるまでWebサーバーからアクセスできます。
public void SetPersistentCookies(string name, string value)
{
HttpCookie cookie = new HttpCookie(name);
cookie.Value = value;
cookie.Expires = Convert.ToDateTime(“12/12/2008″);
Response.Cookies.Add(cookie);
}
非永続クッキー:
Cookieは、Webブラウザーの実行中にのみ保存されます。ブラウザを閉じるまで、Webサーバーでのみ使用できます。ディスクには保存されません。
public void SetNonPersistentCookies(string name, string value)
{
HttpCookie cookie = new HttpCookie(name);
cookie.Value = value;
Response.Cookies.Add(cookie);
}
セッションクッキー
HttpCookie cookie = new HttpCookie("myCookieName", "myCookieValue");
Response.Cookies.Add(cookie);
特定のタイムスタンプ付きのCookie( 。NET DateTimeライブラリ )
HttpCookie cookie = new HttpCookie("myCookieName", "myCookieValue");
cookie.Expires = DateTime.Today.AddMonths(12); //or AddMinutes, or AddHours...
Response.Cookies.Add(cookie);
永続的なクッキー
HttpCookie cookie = new HttpCookie("myCookieName", "myCookieValue");
cookie.Expires = DateTime.MaxValue;
Response.Cookies.Add(cookie);