locked
IIS6.0のアプリケーションプールと、クッキーの関係について教えてください RRS feed

  • 質問

  • IISのアプリケーションプールの設定を何度か変更したところ、以前のプール時に発行されていたクッキーの情報が、「読めるけど上書きできない」状態になってしまいました。
    (ブラウザ側でクッキーを削除すると、正常に戻ります。)
    サーバサイドでの設定等により、ブラウザ側で何もしなくても正常に戻す事は可能でしょうか。
    2013年11月26日 9:16

回答

  • > プログラムはレガシーASPで組んでいて、クッキーの読み書きはサーバ
    > サイド(IIS)で行っております。

    Cookie の基本を理解されているでしょうか?

    上記の質問者さんの回答の「クッキーの読み書きはサーバサイド(IIS)で行っております」というところを、具体的にどうやっているか説明できますか?

    一旦サーバーからの発行を受けてブラウザが保持している Cookie を、サーバー側から直接書き換えたり消去したりすることはできません。サーバーができるのは、応答ヘッダーの Set-Cookie: を使ってクッキーを送信するだけで、後はブラウザ任せになります。

    ブラウザが保持している既存の Cookie と同名の Cookie がサーバーからの応答ヘッダーの Set-Cookie: に含まれていれば、通常ブラウザはその内容で既存の Cookie を書き換えるという仕組みになってます。

    ただし、同名でもスコープが違うと、スコープが違う Cookie は書き換えられません。スコープについては以下のページの「Cookie のスコープの制御」のセクションを見てください。

    ASP.NET の Cookie の概要
    http://msdn.microsoft.com/ja-jp/library/ms178194.aspx

    ありそうなのがパス設定の違いで、具体例としては、以前、以下のようなことがありました。

    クッキーのパス設定
    http://surferonwww.info/BlogEngine/post/2012/01/21/Path-setting-for-Cookie.aspx

    上記のページにも書いてありますが、IE の開発者ツールを起動して、[キャッシュ(C)]⇒[Cookie 情報を表示する(I)]で調べると何かわかるかもしれません。


    • 編集済み SurferOnWww 2013年11月27日 2:16 誤記訂正:I9 ⇒ IE
    • 回答の候補に設定 佐伯玲 2013年11月28日 1:03
    • 回答としてマーク 佐伯玲 2013年12月10日 6:12
    2013年11月27日 2:15
  • SurferOnWwwさんも答えられていますがHTTP Cookieの基本がわかっていないので原因究明もままならないのではありませんか?

    CookieはWebサーバーからWebブラウザーに書き込みの命令が送られ、反対にWebブラウザーでは過去に書き込まれた内容がWebサーバーに送信される仕組みです。
    それを踏まえて、質問者さんの「読めるけど上書きできない」という表現を読み解きますと、

    「読めるけど」→ つまりWebブラウザーからASPへ送信されている。この部分は正常。

    「上書きできない」(書こうとしても書けない)→ ASPから送信したがWebブラウザー上で書き込まれていない。この原因は

    • 通信経路、すなわちネットワークに異常がありデータが破損する
    • Webブラウザーに問題があり書き込みが正常動作しない

    のいずれかとなります。…となると質問文にあります「アプリケーションプール」は全くの無関係ということになり、では質問者さんはなぜアプリケーションプールという話題を持ち出したのかということになります。ここから想像できる原因は1つだけです。

    • プログラムがバグっていてそもそもCookieの書き込みが行われていない

    IIS6.0 アプリケーションプールのメモリ増加についてのスレッドとも合わせますと、質問者さんのプログラムがバグっているのではありませんか? 本当に書き込みの処理が動作していることは確認できていますか?

    • 回答の候補に設定 佐伯玲 2013年11月28日 1:03
    • 回答としてマーク 佐伯玲 2013年12月10日 6:12
    2013年11月27日 3:58

すべての返信

  • 「読めるけど上書きできない」状態が何を指しているのかわかりませんでした。HTTP Cookieは誰が発行し誰が読むのか理解できていますか? その上でこの質問文、読めるのは誰で上書きしようとする・できないのは誰ですか?
    # 誰、とは、登場人物であるIISもしくはブラウザのどちらかなわけですが。
    2013年11月26日 14:17
  • コメントありがとうございます。

    情報不足で申し訳ありません。

    プログラムはレガシーASPで組んでいて、クッキーの読み書きはサーバサイド(IIS)で行っております。

    2013年11月27日 0:57
  • > プログラムはレガシーASPで組んでいて、クッキーの読み書きはサーバ
    > サイド(IIS)で行っております。

    Cookie の基本を理解されているでしょうか?

    上記の質問者さんの回答の「クッキーの読み書きはサーバサイド(IIS)で行っております」というところを、具体的にどうやっているか説明できますか?

    一旦サーバーからの発行を受けてブラウザが保持している Cookie を、サーバー側から直接書き換えたり消去したりすることはできません。サーバーができるのは、応答ヘッダーの Set-Cookie: を使ってクッキーを送信するだけで、後はブラウザ任せになります。

    ブラウザが保持している既存の Cookie と同名の Cookie がサーバーからの応答ヘッダーの Set-Cookie: に含まれていれば、通常ブラウザはその内容で既存の Cookie を書き換えるという仕組みになってます。

    ただし、同名でもスコープが違うと、スコープが違う Cookie は書き換えられません。スコープについては以下のページの「Cookie のスコープの制御」のセクションを見てください。

    ASP.NET の Cookie の概要
    http://msdn.microsoft.com/ja-jp/library/ms178194.aspx

    ありそうなのがパス設定の違いで、具体例としては、以前、以下のようなことがありました。

    クッキーのパス設定
    http://surferonwww.info/BlogEngine/post/2012/01/21/Path-setting-for-Cookie.aspx

    上記のページにも書いてありますが、IE の開発者ツールを起動して、[キャッシュ(C)]⇒[Cookie 情報を表示する(I)]で調べると何かわかるかもしれません。


    • 編集済み SurferOnWww 2013年11月27日 2:16 誤記訂正:I9 ⇒ IE
    • 回答の候補に設定 佐伯玲 2013年11月28日 1:03
    • 回答としてマーク 佐伯玲 2013年12月10日 6:12
    2013年11月27日 2:15
  • SurferOnWwwさんも答えられていますがHTTP Cookieの基本がわかっていないので原因究明もままならないのではありませんか?

    CookieはWebサーバーからWebブラウザーに書き込みの命令が送られ、反対にWebブラウザーでは過去に書き込まれた内容がWebサーバーに送信される仕組みです。
    それを踏まえて、質問者さんの「読めるけど上書きできない」という表現を読み解きますと、

    「読めるけど」→ つまりWebブラウザーからASPへ送信されている。この部分は正常。

    「上書きできない」(書こうとしても書けない)→ ASPから送信したがWebブラウザー上で書き込まれていない。この原因は

    • 通信経路、すなわちネットワークに異常がありデータが破損する
    • Webブラウザーに問題があり書き込みが正常動作しない

    のいずれかとなります。…となると質問文にあります「アプリケーションプール」は全くの無関係ということになり、では質問者さんはなぜアプリケーションプールという話題を持ち出したのかということになります。ここから想像できる原因は1つだけです。

    • プログラムがバグっていてそもそもCookieの書き込みが行われていない

    IIS6.0 アプリケーションプールのメモリ増加についてのスレッドとも合わせますと、質問者さんのプログラムがバグっているのではありませんか? 本当に書き込みの処理が動作していることは確認できていますか?

    • 回答の候補に設定 佐伯玲 2013年11月28日 1:03
    • 回答としてマーク 佐伯玲 2013年12月10日 6:12
    2013年11月27日 3:58
  • こんにちは、梅埜 顕 さん
    フォーラムオペレータの佐伯 玲 です。

    その後の状況はいかがでしょうか?
    SurferOnWwwさんや佐祐理さんからのアドバイスがご参考になるのではないかと思い私の方で勝手ながら「回答としてマーク」とさせていただきました。

    ご確認いただきうまくいかなかったり不明な点があれば引き続きこちらのスレッドへご返信くださいませ。

    宜しくお願い致します。


    TechNet Community Support 佐伯 玲

    2013年12月10日 6:12