1 什么是會話
web中的會話實際上是指瀏覽器和web服務器之間的會話,形象一點:就好比兩個人進行一段對話。
2 php會話機制工作原理
當瀏覽器向服務器發送URL請求,服務器會生成一個會話ID,并將瀏覽器端的一些信息保存在服務器端,然后將會話ID送到瀏覽器端保存到cookie里,當瀏覽器再次向服務器發送請求時會將cookie里的會話ID一并發送給服務器,服務器會將接收到的會話ID和服務器里的ID比較,如果相同服務器就認定是一次會話,就可以找到本次會話中保存的信息。
2.1 會話的啟動和終結
啟動會話在服務器端進行,需要在php腳本的開始處進行session_start(),也可以在php.ini里進行配置session.auto_start=1,但是不推薦此種做法。銷毀會話有兩種方法,一種是在瀏覽器端,一種是在服務器端。在瀏覽器端銷毀會話就是將瀏覽器端的會話ID信息清除,一般來說關閉瀏覽器后cookie里的信息會消失,當然不同的瀏覽器都會有默認的設置,可以手動修改也可以通過js來清除cookie信息。在服務器端銷毀會話有兩種方案,一種是調用unset(session變量)清除保存在服務器端的信息,當所有的session信息都清除后調用session_destroy()銷毀會話ID。另外一種是通過設置session超時來實現的。
3 會話機制中需要注意的幾點
3.1 啟動會話
在腳本執行結束后,session信息會被凍結,需要重新啟動才能繼續使用session信息。
新聞熱點
疑難解答