Session與Cookie

什么是SESSION

SESSION在計算機(jī)中,尤其是在網(wǎng)絡(luò)應(yīng)用中,稱為"會話控制"
具體到Web中的SESSION指的就是用戶在瀏覽某個網(wǎng)站時,從進(jìn)入網(wǎng)站到瀏覽器關(guān)閉所經(jīng)歷的這段時間, 也就是用戶瀏覽這個網(wǎng)站所花費(fèi)的時間.因此從上述的定義中可以看到,SESSION是一個特定的時間概念.

為什么使用Session?

1.HTTP協(xié)議是一種無狀態(tài)的協(xié)議;即同一個客戶端的本次請求和上次請求沒有對應(yīng)關(guān)系,HTTP服務(wù)器并不知道這兩個請求來自同一個客戶端
2.SESSION提供在PHP腳本中定義全局變量的方法,使得這個全局變量在同一個SESSION中對于所有的PHP腳本文件內(nèi)都有效,所以,SESSION是基于HTTP服務(wù)器的用于保持狀態(tài)的方法
3.SESSION允許通過將數(shù)據(jù)存儲在HTTP服務(wù)器中,以在整個用戶會話過程中保持該數(shù)據(jù);所以,SESSION不僅是一個時間概念,還包括了特定的用戶和服務(wù)器.

session_start();
$_SESSION["username"]="zhangsan";

session_start();
echo $username;

SESSION的工作原理

session_id

與SESSION相關(guān)的函數(shù)

session_start
描述:啟動新會話或者重用現(xiàn)有會話
語法: bool session_start([array $options = []])
說明:A:$options參數(shù)是一個關(guān)聯(lián)數(shù)組,如果提供的話,則會用其中的項目覆蓋"會話配置"中的配置選項
B:如果提供GET或者POST方式,或者使用cookie提交了會話ID,則會重用現(xiàn)有會話.

<? php
header('content-type:text/html;charset:utf-8');
session_start();  //開啟session會話
$_SESSION["username"]="zhangsan"; //存儲session數(shù)據(jù)

session_id
描述:獲取/設(shè)置當(dāng)前會話id
語法:string session_id([string $id])
說明:
A:如果指定$id參數(shù)的值,則使用指定值作為會話id
B:必須在調(diào)用session_start()函數(shù)之前調(diào)用session_id()函數(shù)
<? php
header('content-type:text/html;charset=utf-8');
session_start(); //開啟session會話
$_SESSION["username"]="zhangsan"; //存儲session數(shù)據(jù)
echo "sessionId是:",session_Id();

session_name
描述:讀取/設(shè)置會話名稱
語法:string session_name([string $name])
說明:
A:如果指定$name參數(shù),session_name()函數(shù)會更新會話名稱,并返回原來的會話名稱;
B:必須在調(diào)用session_start()函數(shù)之前調(diào)用session_name()函數(shù);
<? php
header('content-type:text/html;charset=utf-8');
session_name(''hello_");
session_start();  

session_destory()
描述:銷毀一個會話中的全部數(shù)據(jù)
語法:bool session_destory(void)
測試發(fā)現(xiàn)并不會馬上銷毀文件,其實跟瀏覽器的配置有關(guān).

PHP配置中的SESSION片段

session.auto_start(boolean)
描述:session.auto_start指定會話模塊是否在請求開始時自動啟動.默認(rèn)為0(不啟動)
session_name(string)
描述:指定會話名以用做cookie的名字,只能由字母數(shù)字組成,默認(rèn)為PHPSESSIONID;
session.save_handler(string)
描述:定義用來存儲和獲取與會話關(guān)聯(lián)的數(shù)據(jù)的處理器的名字,默認(rèn)為files;
session.save_path(string)
描述:定義傳遞給存儲處理器的參數(shù),如果選擇默認(rèn)的files文件處理器,則值是文件的路徑
session.gc_maxlifetime(integer)
描述:指定過了多少秒之后數(shù)據(jù)就會被視為"垃圾"并被清除
session.gc_probability(integer)| session.gc_divisor(integer)
描述:定義在每個會話初始化時啟動gc(garbage collection ,垃圾回收)進(jìn)程的概率,此概率通過gc_probability/gc_divisor計算;

Cookies

什么是Cookie

HTTP Cookie(也叫Web cookie或者瀏覽器cookie)是服務(wù)器發(fā)送到用戶瀏覽器并保存在瀏覽器上的數(shù)據(jù),它會在瀏覽器下一次發(fā)起請求時被攜帶并發(fā)送到服務(wù)器上;HTTP Cookie是HTTP標(biāo)頭的組成部分.

Cookie有什么用

1.會話狀態(tài)管理(如用戶登錄狀態(tài)\購物車)
2.個性化設(shè)置(如用戶自定義設(shè)置)
3.瀏覽器行為跟蹤(如跟蹤分析用戶行為)

與cookie相關(guān)的函數(shù)

setcookie函數(shù)
描述:設(shè)置cookie
語法:bool setcookie(string $name[,string $value = ''' [, int $expire = 0 [, string $path = '''' [, string $domain = ""]]]])
說明:
A:$name參數(shù)用于指定cookie名稱
B:$value參數(shù)用于設(shè)置cookie值
C:$expire參數(shù)用于設(shè)置cookie的聲明周期(Unix時間戳)
D:$path參數(shù)用于設(shè)置服務(wù)器上可用cookie的路徑;如果設(shè)置為"/",則代表在整個域名內(nèi)部有效;如果設(shè)置為"/foo/",則代表在域名內(nèi)的/foo目錄及其子目錄內(nèi)有效;
E:$domain參數(shù)用于設(shè)置cookie可用的域名范圍(包含子域名);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末奋蔚,一起剝皮案震驚了整個濱河市肛宋,隨后出現(xiàn)的幾起案子冬念,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件畸写,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)鹤啡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來挺邀,“玉大人揉忘,你說我怎么就攤上這事《祟酰” “怎么了泣矛?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長禾蚕。 經(jīng)常有香客問我您朽,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任哗总,我火速辦了婚禮几颜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘讯屈。我一直安慰自己蛋哭,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布涮母。 她就那樣靜靜地躺著谆趾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪叛本。 梳的紋絲不亂的頭發(fā)上沪蓬,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機(jī)與錄音来候,去河邊找鬼跷叉。 笑死,一個胖子當(dāng)著我的面吹牛营搅,可吹牛的內(nèi)容都是我干的云挟。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼剧防,長吁一口氣:“原來是場噩夢啊……” “哼植锉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起峭拘,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤俊庇,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鸡挠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辉饱,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年拣展,在試婚紗的時候發(fā)現(xiàn)自己被綠了彭沼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡备埃,死狀恐怖姓惑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情按脚,我是刑警寧澤于毙,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站辅搬,受9級特大地震影響唯沮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一介蛉、第九天 我趴在偏房一處隱蔽的房頂上張望萌庆。 院中可真熱鬧,春花似錦币旧、人聲如沸践险。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捏境。三九已至于游,卻和暖如春毁葱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背贰剥。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工倾剿, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蚌成。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓前痘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親担忧。 傳聞我的和親對象是個殘疾皇子芹缔,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 這篇文章的出發(fā)點是為了整理Session與Cookie相關(guān)知識點,以免在相關(guān)概念混淆或分不清的時候到處查閱資料瓶盛,這...
    maxwellyue閱讀 505評論 0 6
  • 此文知識來自于:《深入分析Java_Web技術(shù)》第十章現(xiàn)代session與cookie的應(yīng)用 本章概要:當(dāng)我們的一...
    李文文丶閱讀 1,338評論 0 4
  • cookie簡介 Cookie是存儲在客戶端瀏覽器中的數(shù)據(jù)最欠,我們通過Cookie來跟蹤與存儲用戶數(shù)據(jù)。一般情況下惩猫,...
    深沉的簡單閱讀 430評論 0 0
  • “嗯芝硬,這個設(shè)計的好,凳子是個長條凳轧房,與課桌完全匹配拌阴,而且敦實,不會輕易挪動奶镶!”我看著自習(xí)室里的凳子迟赃,心下想起上大學(xué)...
    吉每廿閱讀 455評論 0 0
  • 遠(yuǎn)看山無色,浮云向晚丘厂镇。 斜陽三嶂外纤壁,客棹兩江頭。 月渡他鄉(xiāng)水剪撬,星輝彼岸樓摄乒。 風(fēng)光一路好,近野更催舟。
    初渡閱讀 602評論 0 3