VFPCGI Day14

出自VFP Wiki

跳轉到: 導航, 搜尋
VFPCGI的第十四天

Session 根基於 cookie 之上,但跟 cookie 剛好相反,Cookie 是保存於 client(browser),Session 則是保存於 server 端。

在 Client 第一次連上 server 時,server 會產生一組 session key,然後把這組 key 紀錄到 cookie 裡面,所以之後 client (browser) 每次往 server 送的時候,都會包含這組 key,而 server 也就知道是哪個 client(browser) 送的 request。

session 內容則是由 server 用 memory / database 來保存 (這也就是為甚麼 asp.net 有提供 asp.net 狀態服務,或是可以在 web.config 指定 session state 要保存的 database 的原因)。

session 是一個好技術,但是有潛在一個問題,那就是 session state 要保存多久?保存太久,存儲空間有可能不足(memory有限);而且真的需要保存那麼久嗎?所以除了要在 cookie 加上 expiration 之外,server 也要定期以 timestamp 去檢查清理。(這也就是 iis "工作階段逾時時間"這個設定的由來)