カテゴリ: ASP.NET 更新日: 2026/04/02

ASP.NETで学ぶCookieを使った状態管理の基礎を完全解説!初心者でもわかる仕組みと使い方

Cookieを使った状態管理の基礎
Cookieを使った状態管理の基礎

先生と生徒の会話形式で理解しよう

生徒

「Webサイトって、ページを移動したら前の情報は全部消えちゃうんですか?」

先生

「基本的には消えます。ただし、Cookieを使うことで、情報を覚えさせることができます。」

生徒

「Cookieって、お菓子のクッキーとは違うんですよね?」

先生

「名前は似ていますが、Webブラウザに情報を保存する仕組みのことです。ASP.NETでもよく使われます。」

1. Webアプリでいう「状態管理」とは?

1. Webアプリでいう「状態管理」とは?
1. Webアプリでいう「状態管理」とは?

ASP.NETでWebアプリケーションを作るときに重要なのが状態管理です。 状態管理とは、「ユーザーがどんな操作をしたか」「前のページで何を入力したか」といった情報を覚えておくことです。 Webページは画面を開くたびに新しく作り直されるため、何もしなければ過去の情報はすべて忘れてしまいます。

例えるなら、毎回会うたびに記憶がリセットされる店員さんのようなものです。 そこで「このお客さんは常連です」とメモを残しておくことで、前回の情報を思い出せるようにします。 そのメモの一つがCookieです。

2. Cookieとは何かを超かんたんに説明

2. Cookieとは何かを超かんたんに説明
2. Cookieとは何かを超かんたんに説明

Cookieとは、Webブラウザに小さな情報を保存する仕組みです。 保存される場所はサーバーではなく、ユーザーのパソコンやスマートフォンのブラウザです。

よくある例としては、ログイン状態の保持や、前回選んだ言語設定の保存などがあります。 「このサイト、前に見たとき日本語だったな」と覚えているのは、Cookieのおかげです。

保存できる情報量は少なく、文字列が中心です。 そのため、大きなデータを入れる用途には向いていません。

3. ASP.NETでCookieを使う基本の考え方

3. ASP.NETでCookieを使う基本の考え方
3. ASP.NETでCookieを使う基本の考え方

ASP.NETでは、レスポンスでCookieを送信し、リクエストで受け取るという流れで動きます。 サーバーが「この情報をCookieとして保存してください」とブラウザに渡し、 次にアクセスしたときにブラウザがそのCookieを送り返します。

難しく聞こえますが、やっていることは「付せんを渡して、次回来たときに見せてもらう」だけです。

4. Cookieを書き込むサンプルコード

4. Cookieを書き込むサンプルコード
4. Cookieを書き込むサンプルコード

ここではASP.NET Core MVCでCookieを保存する基本例を見てみましょう。 初心者でも読めるよう、シンプルな例にしています。


Response.Cookies.Append("UserName", "Taro");

このコードは「UserName」という名前のCookieに「Taro」という文字を保存しています。 Appendは「追加する」という意味です。

5. Cookieを読み取るサンプルコード

5. Cookieを読み取るサンプルコード
5. Cookieを読み取るサンプルコード

保存したCookieは、次のリクエストで読み取ることができます。


string userName = Request.Cookies["UserName"];

このコードで、ブラウザに保存されているUserNameの値を取得できます。 もしCookieが存在しない場合は、何も入っていない状態になります。

6. 有効期限付きCookieの考え方

6. 有効期限付きCookieの考え方
6. 有効期限付きCookieの考え方

Cookieには有効期限を設定できます。 期限を設定しない場合は、ブラウザを閉じたときに消える一時的なCookieになります。

「一週間だけ覚えておく」「一日で消す」といった設定ができるため、 ログイン状態や簡単な設定情報に使われます。


var options = new CookieOptions
{
    Expires = DateTime.Now.AddDays(7)
};
Response.Cookies.Append("Theme", "Dark", options);

7. Cookieを使うときの注意点

7. Cookieを使うときの注意点
7. Cookieを使うときの注意点

Cookieは便利ですが、重要な情報をそのまま保存してはいけません。 パスワードや個人情報を平文で入れるのは危険です。

また、ユーザーがブラウザ設定でCookieを無効にしている場合、保存できないこともあります。 そのため、Cookieは「補助的な記憶」として使うのが基本です。

8. Cookieとセッションの違いをざっくり理解

8. Cookieとセッションの違いをざっくり理解
8. Cookieとセッションの違いをざっくり理解

Cookieはブラウザ側に保存されますが、セッションはサーバー側に保存されます。 Cookieは軽くて簡単、セッションは安全だけど管理が必要、という違いがあります。

ASP.NETの状態管理では、用途に応じてCookieとセッションを使い分けます。 まずはCookieの基本を理解することが、Web開発の第一歩です。

カテゴリの一覧へ
新着記事
New1
ASP.NET
ASP.NET MVCで学ぶセッションと認証の仕組みをやさしく解説!初心者でも安心して理解できる入門ガイド
New2
VB.NET
VB.NETで名前空間を整理する方法を完全ガイド!初心者でもわかるNamespaceの基本
New3
ASP.NET
ASP.NET CoreのCookie認証を完全ガイド!初心者でもわかるログインの仕組み
New4
VB.NET
VB.NETでStaticクラスを作る方法を完全ガイド!初心者でもわかるクラスとオブジェクト指向入門
人気記事
No.1
Java&Spring記事人気No1
VB.NET
VB.NETのインストール方法まとめ!Visual Studioを使った環境構築手順
No.2
Java&Spring記事人気No2
VB.NET
VB.NETプログラムの書き方を基礎から学ぼう!初心者が覚えるべき文法とは?
No.3
Java&Spring記事人気No3
VB.NET
VB.NETのDateTime型を完全マスター!日付と時間の操作を初心者向けに解説
No.4
Java&Spring記事人気No4
ASP.NET
ASP.NETを安定稼働させるためのIISアプリケーションプール設定完全ガイド【初心者向け】
No.5
Java&Spring記事人気No5
VB.NET
VB.NETで日付を文字列に変換!ToStringやFormatの使い方を徹底解説
No.6
Java&Spring記事人気No6
VB.NET
VB.NETの構文ルールまとめ!インデント・改行・予約語など初心者が最初に覚えるべきポイント
No.7
Java&Spring記事人気No7
ASP.NET
ASP.NET WebFormsとは?基本概念と仕組みを初心者向けにやさしく解説
No.8
Java&Spring記事人気No8
VB.NET
VB.NETのコンストラクタと初期化処理の書き方を初心者向けに解説