Session的原理
基本原理是服務端為每一個session維護一份會話信息數(shù)據(jù), 而客戶端和服務端依靠一個全局唯一的標識來訪問會話信息數(shù)據(jù)。用戶訪問web應用時,服務端程序決定何時創(chuàng)建session冒签,創(chuàng)建session可以概括為三個步驟:
1. 生成全局唯一標識符(sessionid)宴霸;
2. 開辟數(shù)據(jù)存儲空間拌倍。一般會在內(nèi)存中創(chuàng)建相應的數(shù)據(jù)結(jié)構勋又,但這種情況下,系統(tǒng)一旦掉電八拱,所有的會話數(shù)據(jù)就會丟失阵赠,如果是電子商務網(wǎng)站,這種事故會造成嚴重的后果肌稻。不過也可以寫到文件里甚至存儲在數(shù)據(jù)庫中清蚀,這樣雖然會增加I/O開銷,但session可以實現(xiàn)某種程度的持久化爹谭,而且更有利于session的共享枷邪;
3. 將session的全局唯一標示符發(fā)送給客戶端。