質問

私は最近、Cookielessセッションについて掘り下げていましたが、セッションがサーバーに作成されるたびに、IDがCookieに保存され、クライアントマシンに保存されると、私は大学でセッションが保存されていると考えていました。サーバー、およびSessionIDがCookieに含まれ、Cookieがクライアントマシンにローカルに保存されている場合、セッションがサーバーに保存されていると言うことができますが、セッションはサーバーに保存されますか?はいの場合、Cookielessセッションの概念は何ですか、誰も私を説明できますか

役に立ちましたか?

解決

セッション状態は(ほとんど常に)サーバーに保存され、乱数であるセッショントークンによって識別されます。

そのトークンはクライアントによって保存され、HTTPリクエストとともにサーバーに送信される必要があります(サーバーは、彼が前に彼を見たことを覚えていて、セッションをリクエストに関連付けることができます)。

セッションがサーバーに保存されていると言うことができますが、セッションはサーバーに保存されているのですか?

セッショントークンのみがクライアントに保存され、乱数であるため、それ自体に有用な情報は含まれていません。サーバーに保存されているデータと一緒にのみ価値があります。

はいの場合、Cookielessセッションの概念は何ですか

トークンを保存する最も簡単な方法は、Cookieを使用することです。それがクッキーが発明されたものです。代替品は、非表示のフォーム変数を使用して、またはURLの一部としてCookieを前後に渡しています。

他のヒント

セッションはサーバーに保存されます。 IDに関連付けられた各セッション(ASP.NETの最も単純なセッションステートプロバイダーは、キーとしてIDSを備えたメモリの辞書にすぎません)。このIDはクライアントのCookieにも保存されますが、Cookielessセッションの場合、IDはURLに保存されます().

セッションIDをテーブル内のキーと考え、セッションは値として述べてください。キーのみが価値ではなく、クライアントに送信されます。

ASP.NETの場合、セッション状態自体は、キー /値のペアを含む辞書です。

標準のSQL Serverセッションプロバイダーを使用している場合、上記のテーブルは呼び出されます ASPStateTempSessions. SessionId PKであり、シリアル化されています Dictionary どちらにも保存されます SessionItemShort また SessionItemLong 桁。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top