Cookieで保存できる情報量

[上に] [前に] [次に]
T.Morishita [E-Mail] [HomePage] 1998/01/02(金) 21:06:01
はじめまして、T.Morishitaともうします

さて、
Set-Cookie: でCookieを保存させるときに
名前=値;
の形式でデータを保存させますが、このときに複数のデータを保存させようとすると、一番最初のデータしか保存されません。
書式が間違っているのでしょうか?
ex)
Set-Cookie: Name1=1; Name2=2; Name3=3; expires=〜
の時、Name1=1しか保存されない。

片松 祐司 [E-Mail] 1998/01/08(木) 00:28:39
私もCookieは得意じゃないのですが…
複数のキーを保存するには、
Set-Cookie: Name1=value1; expires=〜
Set-Cookie: Name2=value2; expires=〜
Set-Cookie: Name3=value3; expires=〜
というふうにセットするとできます。
ただし、この方法だとcookieを書く警告ダイアログが値のたびに出るので
かなりうっとおしいです。
そこで
Set-Cookie: DuumyName=Name1+Value1+Name2+Value2+Name3+Value3; expires=〜
のように1つだけ書き込み、読み込むときに
%data = split(/+/,…);(perlの場合)
などとして、値と名前の組を作った方が良いと思います。

SHUICHI.T [E-Mail] [HomePage] 1998/01/09(金) 07:57:43
私の場合、Cookie に保存するデータは、
  CookieName=x1:y1,x2:y2,x3:y3
という形式にしています (MiniBBS という簡易 BBS も同じ)。
どちらにしても、特殊な文字 ( : や , など) はあらかじめ、
  $value =~ s/:/%3A/g;
などでエスケープしてから
  CookieName=x1:y1,x2:y2,x3:y3
というような形式にして保存する必要があります (ただし、JIS (ISO-2022-JP) ではこの方法は使えません)。

SHUICHI.T 1998/01/09(金) 14:03:59
すいません。JISでも多分大丈夫です (“&”のエスケープと勘違いした)。

T.Morishita [E-Mail] [HomePage] 1998/02/20(金) 16:14:33
[[解決]]
返事が遅くなってすみません
とりあえず、
Set-Cookie: Name1=value1; expires=〜
Set-Cookie: Name2=value2; expires=〜
Set-Cookie: Name3=value3; expires=〜
の方法で保存させることにしました。
暇があれば他も試してみようと思います。
どうもありがとうございました。

[上に] [前に] [次に]