1、為什么使用會(huì)話控制技術(shù)?
web是通過(guò)http協(xié)議實(shí)現(xiàn)的,http是一種無(wú)狀態(tài)協(xié)議(也就是說(shuō)http沒(méi)有一個(gè)內(nèi)建機(jī)制來(lái)維護(hù)兩個(gè)事物之間的狀態(tài)),所以同一個(gè)用戶在請(qǐng)求頁(yè)面兩次的時(shí)候,http協(xié)議不會(huì)認(rèn)為這兩次請(qǐng)求都是來(lái)自同一個(gè)人,所以沒(méi)辦法保持用戶的跟蹤和狀態(tài)的保持。會(huì)話控制就是解決這個(gè)問(wèn)題
會(huì)話控制的思想是:允許服務(wù)器跟蹤同一個(gè)客戶端做出的連續(xù)請(qǐng)求
2、實(shí)現(xiàn)方式
Cookie:存儲(chǔ)在瀏覽器中的一個(gè)文件(客戶端)
Cookie的操作
①、setcookie(value值,
path路徑,
secure時(shí)候安全性進(jìn)行傳遞)
②:$_COOKIE。
③:setcookie($name,'',time()-1000)刪除cookie
cookie優(yōu)點(diǎn):信息存儲(chǔ)在客戶端,不會(huì)占用服務(wù)器資源
cookie缺點(diǎn):信息存儲(chǔ)在客戶端,不建議將一些敏感重要的信息存在cookie中并且用戶可以禁用cookie
Session:將使用者的資料存儲(chǔ)在服務(wù)器當(dāng)中,用戶無(wú)法禁用,但是session基于cookie
Session的操作
①:session_id是存儲(chǔ)在cookie中的,如果cookie被禁用,可以通過(guò)url來(lái)傳遞session_id
②session的信息都存儲(chǔ)在服務(wù)器當(dāng)中的一個(gè)文件里
③:session_start();_SESSION=[]/$_SESSION=null(清空session的內(nèi)容);session_destroy(刪除文件,并且將session_id的cookie刪除掉)
3、配置
session.auto_start(時(shí)候自動(dòng)開(kāi)啟session_start)
session.cookie_domain(存儲(chǔ)session_id的cookie的有效域名是什么)
session.cookie_lifetime
session.cookie_path
session.name(默認(rèn)PHPSESSID)
session.save_path(session文件存儲(chǔ)在服務(wù)端中是什么樣的路徑)
session.use_cookies(時(shí)候使用cookie來(lái)傳遞session_id)
session.use_trans_sid(時(shí)候可以使用傳遞的方式來(lái)傳遞session_id)
垃圾回收機(jī)制:
session.gc_probability=1
session.gc_divisor=100
session.gc_maxlifetime=1440(默認(rèn))
每次開(kāi)啟session都有1/100的幾率清除過(guò)期的session
session.save_handler(session存儲(chǔ)的句柄是什么)
session優(yōu)點(diǎn):信息存儲(chǔ)在服務(wù)器,數(shù)據(jù)比較安全
session缺點(diǎn):占用服務(wù)器的資源,分布式不可用