0

私は、ナビゲートするためにCookieを有効にする必要があるjspベースのWebサイトで作業しています(これは内部サイトであり、インターネットに公開されません)。

ユーザーが最初にアクセスすると、要求されたのと同じ URL に 302 が返され、Cookie が 1 時間設定されます。

Cookie.setMaxAge(60*60);有効期限を設定するために使用しています。

一部のブラウザの一部のバージョンでは、リダイレクトが永遠に続くという、非常に奇妙な動作が発生しています。(機能するものもあれば、機能しないものもあります)。

多くの調査の結果、サーバーの時刻が正しい時刻に設定されておらず、時刻が過去 2 時間半に設定されていることが判明しました。それが設定されています。(ここが私の疑問です)

残念ながら、これは運用サーバーであり、簡単に変更することはできません (要求されていますが、時間がかかります)。

これが問題であることを確認するために、クライアント マシンの時刻を過去 2 時間半に変更したところ、そのマシンで正常に動作するようになりました。

私の質問は次のとおりです。

  1. どのような情報がブラウザに送信されますか (Cookie の有効期限に関して
    )、それは絶対的な日付ですか、それとも現在の時刻に関連していますか?
  2. 有効期限とともに期限切れになった場合、ブラウザーは Cookie を送信しますか、それとも期限切れの場合、ブラウザーはそれらを送信しませんか? (私は2番目のオプションだと思います)。
  3. 一部のブラウザで問題が発生し、他のブラウザでは機能したため、アプリサーバーまたはブラウザで問題が発生していることを正確に知りませんか?

[編集]

Arham が示唆するように RFC 6265 を読んだ後、サーバーは有効期限を絶対的または相対的に設定できます。両方が存在する場合は、親族が優先されます。私が使用しているアプリケーションサーバーは、Cookie に絶対値を設定しているため (これはおそらく間違っています)、一部のブラウザーでの動作がわかりません。

[/編集]

前もって感謝します。

4

2 に答える 2

2
  1. RFC 1123 に従って、日付は「Wdy, DD Mon YYYY HH:MM:SS GMT」の形式で指定されます。
  2. RFC 6265 によると、Cookie の有効期限は、ブラウザーが Cookie を受信した時点を基準としています。
  3. ブラウザは、有効期限が切れると Cookie を削除するため、同じ Cookie をサーバーに送信できません。
于 2012-10-18T15:29:32.437 に答える
1

JavaScript クッキーはどうですか?

http://www.w3schools.com/js/js_cookies.asp

于 2012-10-18T16:20:39.943 に答える