您好,登錄后才能下訂單哦!
一、Session
(1)Session的由來以及介紹
Session:在計算機中,尤其是在網絡應用中,稱為“會話控制”,生存時間為用戶在瀏覽某個網站時,從進入網站到關閉這個網站所經過的這段時間,也就是用戶瀏覽這個網站所花費的時間。
由于Http是一種無狀態的的協議,只負責請求服務器,當它在服務器相應之后,就與瀏覽器失去了聯系。不能保存用戶的個人信息,就像一個商場和一個自動售貨機或者普通的人之間的關系,所以為了彌補這個缺點Session才應聲而出,Session需要在4.1版本以上
(2)Session的機制
session機制采用的是在服務器端保持狀態的方案,并且有自己對應的唯一標識session_id,區分不同用戶之前的信息
就比如:我們去一家餐廳吃飯,我們有一張會員卡,上面有我的個人信息,以及有效時間,當我每次來的時候餐廳都能找到我的個人信息
(3)session的工作原理
1>當一個session第一次被啟用時,一個唯一的標識被存儲于本地的cookie中。
2>首先使用session_start()函數,PHP從session倉庫中加載已經存儲的session變量。
3>當執行PHP腳本時,通過使用session_register()函數注冊session變量。
4>當PHP腳本執行結束時,未被銷毀的session變量會被自動保存在本地一定路徑下的session庫中,這個路徑可以通過php.ini文件中的session.save_path指定,下次瀏覽網頁時可以加載使用。
保存的文件:
詳細信息:
(4)Session項目實戰中都有哪些應用
1>記錄用戶登陸信息,全局使用
2>制作驗證碼,驗證對比操作
3>將session保存到數據庫可以實現:a.控制一個帳號只能一個人登錄
(5)Session的優缺點
1>session的優點:唯一性、方便調用、不會過多占用資源,是存儲在服務器的一組臨時數據。一般情況下,我們在做用戶登錄時,會將用戶數據存入session。這樣,在任何頁面都可以方便調用,而且 每個客戶端會產生唯一的session_id,不會混肴。并且在關閉瀏覽器后,服務器會有session回收機制,自動刪除過期session
2>缺點:在客戶端是以cookie方式保存的,禁用cookie就沒用了。
(6)Session和Cookie的聯系以及區別
1>聯系:Session在客戶端也需要保存一個標識,所以就要借助Cookie,session是通過cookie來工作的session和cookie之間是通過$_COOKIE['PHPSESSID']來聯系的,通過$_COOKIE['PHPSESSID']可以知道session的id,從而獲取到其他的信息。
2>區別:Cookie機制采用的是在客戶端(瀏覽器)保持狀態的方案,而session機制采用的是在服務器端保持狀態的方案
(7)Session的使用
sesstion_start(); // 首先開啟session
$_SESSION['user'] = 'username'; // 把username存在里面
echo $_SESSION['user']; // 直接輸出 username
session_destroy(); // 銷毀session
二、Cookie
(1)Cookie的由來以及介紹
Cookie是作為互聯網的產物隨之產生的,也是為了保存用戶的一些基本的信息,也可以理解為服務器在你計算機上暫時保存的一些信息,下次來的時候先看看這些信息資料,然后直接加載這些資料,送出特定的信息。
(2)Cookie的機制
Cookie是Session的機制原理類似,都是會為每一個用戶生成一個特定的值,這次是在客戶端保存,當我們打開cookie里面保存了我們個人信息的網站,他會將我們的個人信息提交到服務器,之后請求服務器相應資料信息
(3)Cookie的原理
當你訪問一個網站的時候,可以將服務器的一些少量的數據保存到硬盤上,比如說用戶名,id等,等你下次訪問的時候,服務器會首先尋找這個文件然后讀取你的相關信息,這樣可以讓你在不輸入用戶名密碼的情況下直接登陸網站
(4)Cookie在項目實戰中都有哪些應用
1>記住用戶名密碼
(5)Cookie的優缺點
1>優點:a.不需要服務器資源空間 b.持久時間更長
2>缺點:a.客戶端大小受限制 b.用戶禁用Cookie那么就廢用了 c.不安全
(6)Cookie和Session的區別和聯系
1>聯系:Cookie可以在客戶端為session保存唯一標識
2>區別:Cookie機制采用的是在客戶端(瀏覽器)保持狀態的方案,而session機制采用的是在服務器端保持狀態的方案
(7)Cookie的使用
1>創建和更新:setCookie($cookieName,$value,time()+秒數);
實例:setcookie("UserName","imooc",time()+2*7*24*3600);
取值:$uName=$_COOKIE['UserName'];
2>刪除Cookie
setcookie($cookieName,value,time()-秒數);
//或者
setcookie($cookiename, '');
//或者
setcookie($cookiename, NULL);
實例:setcookie("UserName","imooc",time()-3600);
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。