.NET Framework クラス ライブラリ リファレンス |
HttpCookie クラス
アセンブリ: System.Web (system.web.dll 内)
構文
解説HttpCookie クラスは、各 cookie のプロパティを取得または設定します。HttpCookieCollection クラスは、複数の Cookie を格納、取得、および管理するメソッドを提供します。
ASP.NET には 2 つの cookie コレクションが組み込まれています。HttpRequest オブジェクトの Cookies コレクションを使用してアクセスしたコレクションには、クライアントからサーバーに Cookie ヘッダーで送信された Cookie が含まれています。HttpResponse オブジェクトの Cookies コレクションを使用してアクセスしたコレクションには、サーバーで生成されてクライアントに Set-Cookie HTTP 応答ヘッダーで送信された新しい Cookie が含まれています。
使用例HttpRequest オブジェクト内の DateCookieExample という名前の Cookie を確認する方法を次のコード例に示します。この Cookie は、見つからない場合には作成され、HttpResponse オブジェクトに追加されます。この Cookie の有効期限は 10 分に設定されています。
<%@ Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Dim sb As New StringBuilder() ' Get cookie from current request. Dim cookie As HttpCookie cookie = Request.Cookies.Get("DateCookieExample") ' Check if cookie exists in the current request If (cookie Is Nothing) Then sb.Append("Cookie was not received from the client. ") sb.Append("Creating cookie to add to the response. <br/>") ' Create cookie. cookie = New HttpCookie("DateCookieExample") ' Set value of cookie to current date time. cookie.Value = DateTime.Now.ToString() ' Set cookie to expire in 10 minutes. cookie.Expires = DateTime.Now.AddMinutes(10D) ' Insert the cookie in the current HttpResponse. Response.Cookies.Add(cookie) Else sb.Append("Cookie retrieved from client. <br/>") sb.Append("Cookie Name: " + cookie.Name + "<br/>") sb.Append("Cookie Value: " + cookie.Value + "<br/>") sb.Append("Cookie Expiration Date: " & _ cookie.Expires.ToString() & "<br/>") End If Label1.Text = sb.ToString() End Sub </script> <html > <head runat="server"> <title>HttpCookie Example</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label id="Label1" runat="server"></asp:Label> </div> </form> </body> </html>
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { StringBuilder sb = new StringBuilder(); // Get cookie from the current request. HttpCookie cookie = Request.Cookies.Get("DateCookieExample"); // Check if cookie exists in the current request. if (cookie == null) { sb.Append("Cookie was not received from the client. "); sb.Append("Creating cookie to add to the response. <br/>"); // Create cookie. cookie = new HttpCookie("DateCookieExample"); // Set value of cookie to current date time. cookie.Value = DateTime.Now.ToString(); // Set cookie to expire in 10 minutes. cookie.Expires = DateTime.Now.AddMinutes(10d); // Insert the cookie in the current HttpResponse. Response.Cookies.Add(cookie); } else { sb.Append("Cookie retrieved from client. <br/>"); sb.Append("Cookie Name: " + cookie.Name + "<br/>"); sb.Append("Cookie Value: " + cookie.Value + "<br/>"); sb.Append("Cookie Expiration Date: " + cookie.Expires.ToString() + "<br/>"); } Label1.Text = sb.ToString(); } </script> <html > <head runat="server"> <title>HttpCookie Example</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label id="Label1" runat="server"></asp:Label> </div> </form> </body> </html>
.NET Framework のセキュリティ
継承階層System.Web.HttpCookie
スレッド セーフ
プラットフォームWindows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照HttpCookie コンストラクタ (String)
アセンブリ: System.Web (system.web.dll 内)
構文
使用例
プラットフォームWindows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照HttpCookie コンストラクタ
オーバーロードの一覧| 名前 | 説明 |
|---|---|
| HttpCookie (String) | 新しい cookie を作成し、名前を付けます。 |
| HttpCookie (String, String) | 新しい cookie を作成し、名前を付け、値を割り当てます。 |
参照HttpCookie コンストラクタ (String, String)
アセンブリ: System.Web (system.web.dll 内)
構文Dim name As String Dim value As String Dim instance As New HttpCookie(name, value)
使用例新しい Cookie を作成し、名前を付け、値を設定するコード例を次に示します。
Dim MyCookie As New HttpCookie("LastVisit", CStr(DateTime.Now()))
var myCookie : HttpCookie = new HttpCookie("LastVisit", String(DateTime.Now))
プラットフォームWindows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照HttpCookie プロパティ
パブリック プロパティ| 名前 | 説明 | |
|---|---|---|
| Domain | cookie を関連付けるドメインを取得または設定します。 |
| Expires | cookie の有効期限の日時を取得または設定します。 |
| HasKeys | cookie にサブキーがあるかどうかを示す値を取得します。 |
| HttpOnly | クライアント側のスクリプトで Cookie にアクセスできるかどうかを示す値を取得または設定します。 |
| Item | HttpCookie.Values プロパティへのショートカットを取得します。このプロパティは、Active Server Pages (ASP) の旧バージョンとの互換性のために用意されています。 |
| Name | cookie の名前を取得または設定します。 |
| Path | 現在の cookie を使用して送信する仮想パスを取得または設定します。 |
| Secure | SSL (Secure Sockets Layer) を使用して (つまり、HTTPS 経由だけで) Cookie を送信するかどうかを示す値を取得または設定します。 |
| Value | 各 cookie の値を取得または設定します。 |
| Values | 1 つの Cookie オブジェクト内に格納されているキー/値ペアのコレクションを取得します。 |
参照HttpCookie メソッド
パブリック メソッド| 名前 | 説明 | |
|---|---|---|
| Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
| GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
| GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
| ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
| ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |
プロテクト メソッド| 名前 | 説明 | |
|---|---|---|
| Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
| MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
参照HttpCookie メンバ
HTTP cookie のそれぞれをタイプ セーフな方法で作成および操作できるようにします。
HttpCookie データ型で公開されるメンバを以下の表に示します。
パブリック コンストラクタ
パブリック プロパティ| 名前 | 説明 | |
|---|---|---|
| Domain | cookie を関連付けるドメインを取得または設定します。 |
| Expires | cookie の有効期限の日時を取得または設定します。 |
| HasKeys | cookie にサブキーがあるかどうかを示す値を取得します。 |
| HttpOnly | クライアント側のスクリプトで Cookie にアクセスできるかどうかを示す値を取得または設定します。 |
| Item | HttpCookie.Values プロパティへのショートカットを取得します。このプロパティは、Active Server Pages (ASP) の旧バージョンとの互換性のために用意されています。 |
| Name | cookie の名前を取得または設定します。 |
| Path | 現在の cookie を使用して送信する仮想パスを取得または設定します。 |
| Secure | SSL (Secure Sockets Layer) を使用して (つまり、HTTPS 経由だけで) Cookie を送信するかどうかを示す値を取得または設定します。 |
| Value | 各 cookie の値を取得または設定します。 |
| Values | 1 つの Cookie オブジェクト内に格納されているキー/値ペアのコレクションを取得します。 |
パブリック メソッド| 名前 | 説明 | |
|---|---|---|
| Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
| GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
| GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
| ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
| ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |
プロテクト メソッド| 名前 | 説明 | |
|---|---|---|
| Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
| MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
参照ウィキペディア |
HTTP cookie
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2012/02/07 17:08 UTC 版)
HTTP cookie(エイチティーティーピークッキー、単にCookieとも表記される)は、RFC 6265などで定義されたHTTPにおけるWebサーバとウェブブラウザ間で状態を管理するプロトコル、またそこで用いられるWebブラウザに保存された情報のことを指す。ユーザ識別やセッション管理を実現する目的などに利用される。
- ^ ここで言う資源とは、HTML文書や画像、音声、などのコンテンツ全般を指す。
- ^ ウィキペディアを例に挙げると、同じURLでもログインしていない場合はページの一番上が「ログインまたはアカウント作成」、している場合は「(ユーザ名) 自分の会話 個人設定 ウォッチリスト 自分の投稿記録 ログアウト」と表示が変化する。
- ^ Netscape Communications Corporation. “PERSISTENT CLIENT STATE HTTP COOKIES” (英語). 2011年9月29日閲覧。
- ^ Dan Winship. “2009-08-05-Dan-Winship.txt” (英語). 2011年9月29日閲覧。
- ^ Dan Winship. “2009-08-11-Dan-Winship.txt” (英語). 2011年9月29日閲覧。
- ^ Microsoft. “[IIS]2038 年 1 月 19 日以降の有効期限のクッキーにおける ASP 200 エラー” (日本語). 2008年6月16日閲覧。
- ^ 情報処理推進機構. “経路のセキュリティと同時にセキュアなセッション管理を” (日本語). 2008年5月24日閲覧。
- ^ Symantec Corporation. “システムの完全スキャンを実行すると Tracking Cookie のリスクが表示される” (日本語). 2008年6月15日閲覧。
- ^ Trend Micro Incorporated. “スパイウェア検索をすると「COOKIE_・・・・」が多量に検出されるのですが、大丈夫ですか?” (日本語). 2008年6月15日閲覧。
- ^ “アドネットワークは、常にあなたを監視している”. japan.internet.com. (2011年10月25日) 2011年10月26日閲覧。
- 1 HTTP cookieとは
- 2 HTTP cookieの概要
- 3 用途
- 4 JavaScriptによるcookieの操作
- 5 類似のトラッキング技術
HTTP cookieに関係した商品