一、Session
為邵原等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及邵原網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、成都做網(wǎng)站、邵原網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
(1)Session的由來以及介紹
Session:在計算機中,尤其是在網(wǎng)絡(luò)應(yīng)用中,稱為“會話控制”,生存時間為用戶在瀏覽某個網(wǎng)站時,從進(jìn)入網(wǎng)站到關(guān)閉這個網(wǎng)站所經(jīng)過的這段時間,也就是用戶瀏覽這個網(wǎng)站所花費的時間。
由于Http是一種無狀態(tài)的的協(xié)議,只負(fù)責(zé)請求服務(wù)器,當(dāng)它在服務(wù)器相應(yīng)之后,就與瀏覽器失去了聯(lián)系。不能保存用戶的個人信息,就像一個商場和一個自動售貨機或者普通的人之間的關(guān)系,所以為了彌補這個缺點Session才應(yīng)聲而出,Session需要在4.1版本以上
(2)Session的機制
session機制采用的是在服務(wù)器端保持狀態(tài)的方案,并且有自己對應(yīng)的唯一標(biāo)識session_id,區(qū)分不同用戶之前的信息
就比如:我們?nèi)ヒ患也蛷d吃飯,我們有一張會員卡,上面有我的個人信息,以及有效時間,當(dāng)我每次來的時候餐廳都能找到我的個人信息
(3)session的工作原理
1>當(dāng)一個session第一次被啟用時,一個唯一的標(biāo)識被存儲于本地的cookie中。
2>首先使用session_start()函數(shù),PHP從session倉庫中加載已經(jīng)存儲的session變量。
3>當(dāng)執(zhí)行PHP腳本時,通過使用session_register()函數(shù)注冊session變量。
4>當(dāng)PHP腳本執(zhí)行結(jié)束時,未被銷毀的session變量會被自動保存在本地一定路徑下的session庫中,這個路徑可以通過php.ini文件中的session.save_path指定,下次瀏覽網(wǎng)頁時可以加載使用。
保存的文件:
詳細(xì)信息:
(4)Session項目實戰(zhàn)中都有哪些應(yīng)用
1>記錄用戶登陸信息,全局使用
2>制作驗證碼,驗證對比操作
3>將session保存到數(shù)據(jù)庫可以實現(xiàn):a.控制一個帳號只能一個人登錄
(5)Session的優(yōu)缺點
1>session的優(yōu)點:唯一性、方便調(diào)用、不會過多占用資源,是存儲在服務(wù)器的一組臨時數(shù)據(jù)。一般情況下,我們在做用戶登錄時,會將用戶數(shù)據(jù)存入session。這樣,在任何頁面都可以方便調(diào)用,而且 每個客戶端會產(chǎn)生唯一的session_id,不會混肴。并且在關(guān)閉瀏覽器后,服務(wù)器會有session回收機制,自動刪除過期session
2>缺點:在客戶端是以cookie方式保存的,禁用cookie就沒用了。
(6)Session和Cookie的聯(lián)系以及區(qū)別
1>聯(lián)系:Session在客戶端也需要保存一個標(biāo)識,所以就要借助Cookie,session是通過cookie來工作的session和cookie之間是通過$_COOKIE['PHPSESSID']來聯(lián)系的,通過$_COOKIE['PHPSESSID']可以知道session的id,從而獲取到其他的信息。
2>區(qū)別:Cookie機制采用的是在客戶端(瀏覽器)保持狀態(tài)的方案,而session機制采用的是在服務(wù)器端保持狀態(tài)的方案
(7)Session的使用
sesstion_start(); // 首先開啟session
$_SESSION['user'] = 'username'; // 把username存在里面
echo $_SESSION['user']; // 直接輸出 username
session_destroy(); // 銷毀session
二、Cookie
(1)Cookie的由來以及介紹
Cookie是作為互聯(lián)網(wǎng)的產(chǎn)物隨之產(chǎn)生的,也是為了保存用戶的一些基本的信息,也可以理解為服務(wù)器在你計算機上暫時保存的一些信息,下次來的時候先看看這些信息資料,然后直接加載這些資料,送出特定的信息。
(2)Cookie的機制
Cookie是Session的機制原理類似,都是會為每一個用戶生成一個特定的值,這次是在客戶端保存,當(dāng)我們打開cookie里面保存了我們個人信息的網(wǎng)站,他會將我們的個人信息提交到服務(wù)器,之后請求服務(wù)器相應(yīng)資料信息
(3)Cookie的原理
當(dāng)你訪問一個網(wǎng)站的時候,可以將服務(wù)器的一些少量的數(shù)據(jù)保存到硬盤上,比如說用戶名,id等,等你下次訪問的時候,服務(wù)器會首先尋找這個文件然后讀取你的相關(guān)信息,這樣可以讓你在不輸入用戶名密碼的情況下直接登陸網(wǎng)站
(4)Cookie在項目實戰(zhàn)中都有哪些應(yīng)用
1>記住用戶名密碼
(5)Cookie的優(yōu)缺點
1>優(yōu)點:a.不需要服務(wù)器資源空間 b.持久時間更長
2>缺點:a.客戶端大小受限制 b.用戶禁用Cookie那么就廢用了 c.不安全
(6)Cookie和Session的區(qū)別和聯(lián)系
1>聯(lián)系:Cookie可以在客戶端為session保存唯一標(biāo)識
2>區(qū)別:Cookie機制采用的是在客戶端(瀏覽器)保持狀態(tài)的方案,而session機制采用的是在服務(wù)器端保持狀態(tài)的方案
(7)Cookie的使用
1>創(chuàng)建和更新:setCookie($cookieName,$value,time()+秒數(shù));
實例:setcookie("UserName","imooc",time()+2*7*24*3600);
取值:$uName=$_COOKIE['UserName'];
2>刪除Cookie
setcookie($cookieName,value,time()-秒數(shù));
//或者
setcookie($cookiename, '');
//或者
setcookie($cookiename, NULL);
實例:setcookie("UserName","imooc",time()-3600);