web

エンジニア

ASP.NET(C#)を活用してCookieを理解しよう

Webアプリの開発に従事したことがある方でしたら、Cookieなんてもうバッチリ理解されていると思います。ですので、この記事ではこれからWebアプリ(特にASP.NET)を開発していこうとされている方向きに執筆します。

Cookieって何?

cookie

スマホとかでサイトを閲覧していると、「Cookie(クッキー)を有効にしてください」なんて警告文を見たことが一度はあるはずです。ITリテラシーの低い方でしたら、あまり気にせず、はいはいと有効化してしまうでしょうが、ここは少しでもITリテラシーを高めて、Cookieについて改めて理解を深めておきましょう。

Cookieを一言で言うと、履歴を残す仕組みとなります。Webページを閲覧した履歴やユーザーの情報(IDやパスワード)などを一時保存します。皆さんもよくご存じだと思いますが、会員制のサイトなどで一度ログインすると、次回から再度IDやパスワードを入力しなくても、前回入力した情報が残っていて簡単に再閲覧できるようになっているかと思います。それがCookieそのものですね。

Cookie

出典:初心者でもわかる『キャッシュ』講座 Cookie(クッキー)との違いや削除方法など解説

Cookieの名前と値と属性について

基本的にはCookieは名前と値と属性の3点セットでできています。Webアプリケーションを開発するならば、最低限Cookieの仕様は理解しておきましょうね。

Google Chromeを活用してのCookie確認事例です。

cookie

出典:HTTP Cookieとは

Cookieデータの例
WebブラウザによってはCookieデータを表示したり編集したりできる。これはGoogle Chromeの例。設定画面で[詳細設定を表示]を実行し、[プライバシー]グループにある[コンテンツの設定]ボタンをクリック後、[すべてのCookieとサイトデータ]をクリックするとこの場面が表示される。Internet Explorerの場合は、[ファイル]メニューの[インポートとエクスポート]でCookieデータを書き出すと内容を確認できる。
(1)Cookieのデータはドメインごとに管理されている。
(2)このドメインに対しては、全部で13個のCookieが保存されている。このように、1つのドメインで複数のCookieが使われているのは普通である。
(3)特定のCookieの値を見るには、いずれかのボタンをクリックする。
(4)Cookieの名前。
(5)Cookieの値。
(6)Cookieの属性。ドメイン/パスの有効範囲やセキュリティなどの属性情報。
(7)Cookieの受信/作成時間と有効期限。
(8)これをクリックするとCookieを削除できる。

以下の一覧表は、Cookieの属性をまとめたものです。Web開発者はこれらの属性を考慮してコーディングしているのですね。

属性 意味
Domain Cookieが有効なドメイン範囲を指定します。例えば、「Domain = example.com」と指定すると、そのサブドメインへアクセスする場合にも送信されます。指定なしの場合は、現在のホストでのみ有効となります。
Path Cookieが有効なパス範囲を指定します。例えば、「Path = /」と指定すると、取得したCookieはサイト全体で有効となります。指定なしの場合は、現在のURLでのみ有効となります。
Expires Cookieの有効期限です。指定なしの場合は、ブラウザの終了まで有効です。
Secure Trueの場合、SSLの場合のみCookieを送信します。
HttpOnly Trueの場合、JavaScriptからアクセスできません。

ASP.NETを活用してCookieをコーディングしよう

コーディング

上記で説明したCookieの属性を考慮して、ASP.NETを活用してコーディングしました。もう何番煎じかわかりませんが、コーディング例を記載しましたので、ご参考にどうぞ。

サードパーティーCookieって何?

まずはファーストパーティCookieから。これはアクセスしたドメインから発行されたCookieのことです。当サイト「https://www.engineer-walk.com/」にアクセスした時に取得した「domain = engineer-walk.com」という属性を持つCookieはファーストパーティCookieとなります。

それに対して、アクセスしたドメインとは別のドメインから発行されたCookieのことをサードパーティCookieと呼びます。広告配信Webサーバーが代表的な存在ですね。「https://www.engineer-walk.com/」内に広告が表示されているとします。この広告を配信しているWebサーバーが発行したCookieが、サードパーティCookieに該当します。

サードパーティCookie

出典:広告配信事業者はCookieをいかに利用しているか

このサードパーティCookieは、各々のWebブラウザの設定で禁止に設定することも可能です。また、GoogleはこのサードパーティCookieの提供を将来的(2022年頃)に終了すると発表しています。

まとめ

Cookieについてはいかがでしたでしょうか。

サードパーティCookieは規制されますが、ファーストパーティCookieはまだまだ利用できますので、上手にCookieを使いこなして、ユーザー管理していきましょうね。

最後までお読みいただきありがとうございました。

-エンジニア
-, ,

© 2020 秀凛堂