検索

キーワード


【Webアプリケーション】Cookieとは?

  • 公開日:2020-10-29 17:57:57
  • 最終更新日:2020-11-13 21:38:14
【Webアプリケーション】Cookieとは?

こんにちは。エンジニアの新田です!

ここでは、システムエンジニアとして働いている私が、システム開発手法や開発言語について紹介していこうと思います。

今回は、Webアプリケーションの勉強をしていると出てくるCookie(クッキー)について、その仕組みと役割について説明します。

Javaについて勉強している方、Webアプリケーションを構築したいと思っている方の参考になれば幸いです!

関連記事:【Java】Webアプリケーションとは? 【Java】サーブレット(Java Servlet)


Cookie(クッキー)とは?

Cookie(クッキー)とは、ホームページを訪問したユーザーの情報を一時的に保存する仕組み、またはそのデータを指します。

ID、パスワード、メールアドレス、訪問回数などがユーザー情報として保存されます。

これによって再度訪問したときにユーザーを特定することができるため、再度情報を入力する手間を省くことができます。

ショッピングサイトに訪問したとき、すでにログイン状態になっていたり、以前カートに入れた商品がそのまま残っていたりするのは、Cookieに保存された情報が使われているからです。

このように、Cookieは、Webのアクセスや操作を便利にしたり、さまざまなサービスの提供を可能にすることに役立っています。実際、Cookieを有効にしていないと、うまくWebサイトが表示されなかったり、買い物ができなかったりという不便が生じることもあります。


【キャッシュとの違いは?】
キャッシュは、閲覧したWebページの情報(テキストや画像など)を一時的に保存する機能です。
キャッシュデータが保存されていると、同じWebページに再訪問したときに対象のWebページ情報をダウンロードする必要がないため、表示するスピードが速くなります。



Cookieの利用目的(どのように使われているのか)

ユーザー情報を保存し、利便性を向上させるため

先ほども紹介した通り、CookieにはユーザーのIDなどを一時的に保存することができます。ユーザーが初めてWebウェブサイトを訪問した時、Cookieに単一のユーザーIDのようなものが割り振られ、情報がWebブラウザに保存されます。

ユーザーが2回目にサイト訪問した時に、その情報が取り出されますので、ID・パスワードが必要なWebページでも、Cookieを利用していれば再入力する必要がなく、ログインが簡単になります。

ただし、Cookieはブラウザごとに保存されるため、初回はChromeでログインしたWebサイトに、Internet Explorerなど初回と異なるWebブラウザで2回目のアクセスをしても、IDやパスワードは保存されていません。また、デバイスをまたいでCookieを使うこともできません。PC/タブレットなど複数の端末でWebサイトを使う場合には、それぞれ別々のCookieが発行されることになります。



ユーザー情報を取得し、ユーザーごとに適した広告配信を行うため

広告配信のターゲティングなどにも利用されています。

ショッピングサイトでスニーカーを検索していたら、その後訪れた違うページでも同じスニーカーの広告が出てきたりすることがあります。これもCookieが関わっています。

例えばショッピングサイトでは、ユーザーが閲覧した商品の情報をCookieに保存し、別のサイトを訪れた際にCookieから情報を読み出して、関連する商品の広告を出す「リターゲティング」と呼ばれる手法が使われています。

また、Webページで広告をクリックした場合も、どんな広告がクリックされたかがCookieに蓄積され、別のページでも同じ広告を出すというようなことができます。

ユーザーが普段見ているサイトの情報がCookieに保存されていれば、ユーザーの年齢や性別を推測して、それをターゲットに広告を配信することができるようになります。



Cookieを使う上での注意点(危険性)

Cookieの使用については、気を付けなければいけない点もあります。


共用パソコンで個人情報を流出してしまう

Cookieは利用者のIDやパスワードを保存します。学校のパソコンやネットカフェなど他の人も使えるパソコンで自分のショッピングサイトなどにログインする場合、自分のIDやパスワードが他人に知られないようにCookieを無効にするか、削除する必要があります。


プライバシーを侵害されている可能性がある

Cookie(クッキー)はWebサイトだけでなく画像などをクリックした際にも設定が可能なため、バナー広告の画像を使ってユーザーのデバイスにクッキーを保存するとユーザーのアクセス履歴を追跡することができてしまいます。

こういったCookie(クッキー)の利用手法は、ユーザーのアクセス履歴を追跡することから「Tracking Cookie(トラッキングクッキー)」と呼ばれており、プライバシーを侵害しているという風に考える人も一定数存在します。

ヨーロッパでは、プライバシー保護の観点からCookieを利用するサイトはCookie(クッキー)使用の目的やその管理方法などをユーザーへ伝えるように定める法規制が2018年に行われました。




関連記事:【Java】Webアプリケーションとは? 【Java】サーブレット(Java Servlet)



【著者】

新田

JavaメインのWebアプリケーション開発に多く携わっています。
Javaの基本的な部分の紹介や、これまで経験したシステム開発手法、新しい技術についても紹介していこうと思います。

よく読まれている記事
【Java】JSPでタグライブラリを使う(JSTL)

【Java】JSPでタグライブラリを使う(JSTL)

こんにちは。エンジニアの新田です!ここでは、システムエンジニアとして働いている私が、システム開発手法や開発言語について紹介していこうと思います。今回は、JSPの標準タグライブラリ「JSTL」について紹介します。Javaについて勉強している方、Webアプリケーションを構築したいと思っている方の参考になれば幸いです!関連記事リンク: 【Java】JSPの基本的な構文/【Java】JSPのアクションタグ

【Java】Stringクラス文字列を操作するメソッドの使い方まとめ!実例も紹介!

【Java】Stringクラス文字列を操作するメソッドの使い方まとめ!実例も紹介!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!そもそもStringとは何?『 String 』... Java言語において文字列のデータ型を指します。基本デ

【Java】文字列の置き換え(String#format)!エスケープシーケンスのまとめも!!

【Java】文字列の置き換え(String#format)!エスケープシーケンスのまとめも!!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!Stringクラスformatメソッドの文字列整形【java.utilパッケージ】Formatterクラスfo

【Java】文字列格納後に変更可能!?StringBufferクラスとStringBuilderクラス!

【Java】文字列格納後に変更可能!?StringBufferクラスとStringBuilderクラス!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者にも✅、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!文字列を扱う3つのクラス【java.langパッケージ】java.langパッケージの文字列を扱うクラスにはS

【Java】値?変数?型??しっかり解説!『データ型(プリミティブ型と参照型)』

【Java】値?変数?型??しっかり解説!『データ型(プリミティブ型と参照型)』

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!プリミティブ型と参照型プログラム開発では型を持った変数を使ってデータのやり取りをしますが、データ型によって仕様