注意このページは、Cookieセットだけを確認するだけの目的で、WebブラウザにCookieをセットします。 ブラウザ設定を「クッキーを受け付ける」(知らないサイトや広告のみをブロック)、および「Javascriptを有効にする」よう設定して下さい。 気になる方は演習が終わったら、該当するCookieを削除して下さい。

Cookieをブラウザに送る(1)

Cookieの書き込み

クッキーは、直接的には次のようにHTMLファイルを閲覧するだけでCookieを設定することが可能だ。

HTMLの<head>内で次のようにCookie内容を記述する。

<meta http-equiv="Set-Cookie" content="cookieの内容を記述">

HTMLファイルに記述された(または読み込ませた)Javascriptで次のように記述する。

document.cookie = "cookieの内容を記述";

または、Webサーバ側においたスクリプト(CGIスクリプト)によって、上のHTMLの<head>部と同等な記述を発生させてCookieを書き込むことができる。 以下の例は、CookieをセットするPerlスクリプトの場合である。

#!/usr/bin/perl
...
...
print "Content-type: text/html\n";
print "Set-Cookie: cookieの内容を記述\n";
print "\n";

cookieの内容の主要な書式は次のようである。

NAME=値; expires=値; domain=値; path=値; secure

「NAME=値」は必須(Cookie名である NAME の与え方は自由)で、他のパラメータとその値のセットは任意。 expires はCookieの有効期限(省略すると、ブラウザを 終了させるまで)。 無期限することはできない(2038年問題を抱えているシステムがあるので最大限この期日が利用されることがある)。 domainはCookieを発行するドメイン名(省略すると、Webサーバーの名前になる)。 pathで指定したパス名にマッチするページを参照したときブラウザは保存しているCookie情報をサーバーに送信(省略すると、Cookieを設定したページのパス名)。 secureを指定するとサーバーとの接続がセキュアである時のみCookie情報が送信される。

Cookieの削除

Cookie内容のexpires値を過去の時刻を指定すると、(ファイルとして保存されていても)Cookieは無効化される。

演習:Cookie動作を確認する

クッキーの動作を確かめてみよう。 このページにアクセスすると、Cookieが2つセットされているはずだ。 2つのブラウザ(FireFoxなどCooki-内容が確認できるブラウザがよい)のクッキー設定で、その存在と詳細を確認してほしい。

1つ目のCookieはCookie名 DaitoKey で、HTMLの<head>部に次のように記述してセットされたものだ。

<meta http-equiv="Set-Cookie" content="DaitoKey=your_id;">

2つ目のCookieはCookie名 DaitoJavascriptで、次のJavascriptによってセットされたものだ。

<script type="text/javascript">
  document.cookie = "DaitoJavascript=On;";
</script>

演習

演習1: これら2つのCookieを、まずドメイン(ホスト)「ic.daito.ac.jp」で検索し、Cookie名称とその内容(値)、パス、そして有効期限を確認してほしい。

演習1: これらのクッキーを削除し、再びこのページにアクセス(または再読み込み)したときにクッキーが再度記録されることを確認せよ。