成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP學(xué)習(xí)記錄(session與cookie)

silenceboy / 823人閱讀

摘要:為應(yīng)用程序啟用會(huì)話狀態(tài)時(shí),將檢查應(yīng)用程序中每個(gè)頁面請求是否有瀏覽器發(fā)送的值。如果未提供任何值,則將啟動(dòng)一個(gè)新會(huì)話,并將該會(huì)話的值隨響應(yīng)一起發(fā)送到瀏覽器。

session

什么是session

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

為什么要使用session?

HTTP協(xié)議是一種無狀態(tài)的協(xié)議,即同一個(gè)客戶端的本次請求和上次請求沒有對應(yīng)關(guān)系,http服務(wù)器并不知道這兩個(gè)請求來自同一個(gè)客戶端;優(yōu)點(diǎn)在于減輕服務(wù)器的壓力,缺點(diǎn)在于每次請求會(huì)傳輸大量重復(fù)的內(nèi)容信息

session提供在PHP腳本中定義全局變量的方法,使得這個(gè)全局變量在同一個(gè)session中對于所有的PHP腳本文本內(nèi)都有效。所以,session是基于HTTP服務(wù)器的用于保持狀態(tài)的方法;

session允許通過將數(shù)據(jù)存儲(chǔ)到HTTP服務(wù)器中,以在整個(gè)用戶會(huì)話過程中保持該數(shù)據(jù);所以,session不僅是一個(gè)時(shí)間概念,還包括了特定的用戶和服務(wù)器;

session的工作原理

會(huì)話由一個(gè)唯一標(biāo)識(shí)符標(biāo)識(shí),可使用session_id函數(shù)讀取此標(biāo)識(shí)符。為PHP應(yīng)用程序啟用會(huì)話狀態(tài)時(shí),將檢查應(yīng)用程序中每個(gè)頁面請求是否有瀏覽器發(fā)送的sessionID值。如果未提供任何sessionID值,則PHP將啟動(dòng)一個(gè)新會(huì)話,并將該會(huì)話的sessionID值隨響應(yīng)一起發(fā)送到瀏覽器。

默認(rèn)情況下,sessionID值存儲(chǔ)在cookie中,也可以實(shí)現(xiàn)在URL中存儲(chǔ)sessionID
只要一直使用相同的sessionID值來發(fā)送請求,會(huì)話就被視為活動(dòng)的,如果特定會(huì)話的請求間隔超過指定的超時(shí)值(以秒為單位),則該會(huì)話被視為已過期。如果使用過期的sessionID值發(fā)送的請求將生成一個(gè)新的會(huì)話

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

/*
 * session_start
 * 描述:啟動(dòng)新會(huì)話或者重用現(xiàn)有會(huì)話
 * 語法:bool session_start([array $options = []])
 * ---在服務(wù)器上創(chuàng)建了一個(gè)sessionID,并創(chuàng)建了一個(gè)存儲(chǔ)session的文件
 * 說明:
 * A. $options參數(shù)是一個(gè)關(guān)聯(lián)數(shù)組,如果提供的話,則會(huì)用其中的項(xiàng)目覆蓋"會(huì)話配置"中的配置選項(xiàng);
 * B. 如果通過GET或者POST方式,或者使用cookie提交了會(huì)話ID,則會(huì)重用現(xiàn)有會(huì)話
 *
 * session_id
 * 描述:獲取/設(shè)置當(dāng)前會(huì)話ID
 * 語法:string session_id([string $id])
 * 說明:
 * A. 如果指定$id參數(shù)的值,則使用指定值作為會(huì)話ID
 * B. 如果設(shè)置$id參數(shù)的值,必須在調(diào)用session_start()函數(shù)之前調(diào)用session_id()函數(shù)
 *
 * session_name
 * 描述:讀取/設(shè)置會(huì)話名稱
 * 語法:string session_name([string $name])
 * 說明:
 * A. 如果指定$name參數(shù),session_name()函數(shù)會(huì)更新會(huì)話名稱,并返回原來的會(huì)話名稱;
 * B. 如果指定$name參數(shù),必須在調(diào)用session_start函數(shù)之前調(diào)用session_name()函數(shù)
 *
 * session_destroy
 * 描述:銷毀一個(gè)會(huì)話中的全部數(shù)據(jù)
 * 語法:bool session_destroy()
 *
 * chrome瀏覽器cookies存儲(chǔ)地:
 * ~/Library/Application Support/Google/Chrome/Default/Cookies
 * 將Cookies加擴(kuò)展名sqlite,然后用sqlite工具打開Cookies
 */

PHP配置中session片段

/*
 * 在/Applications/XAMPP/etc/php.ini文件中可以查看下列片段:
 *
 * session.auto_start(boolean)
 * 描述:session.auto_start指定會(huì)話模塊是否在請求開始時(shí)自動(dòng)啟動(dòng),默認(rèn)為0(不啟動(dòng)),一般不進(jìn)行修改該配置;
 *
 * session.name(string)
 * 描述:指定會(huì)話名以用做cookid的名字,只能由字母數(shù)字組成,默認(rèn)為"PHPSESSID";
 *
 * session.save_handler(string)
 * 描述:定義用來存儲(chǔ)和獲取與會(huì)話關(guān)聯(lián)的數(shù)據(jù)的處理器的名字,默認(rèn)為files,即文件;
 *
 * session.save_path(string)
 * 描述:定義傳遞給存儲(chǔ)處理器的參數(shù),如果選擇默認(rèn)的files文件處理器,則值則是文件的路徑;
 *
 * session.gc_maxlifetime(integer)
 * 描述:指定過了多少秒之后數(shù)據(jù)就會(huì)被視為"垃圾"并被清除;
 *
 * session.gc_probability(integer)、session.gc_divisor(integer)
 * 描述:定義在每個(gè)會(huì)話初始化時(shí)啟動(dòng)gc進(jìn)程的概率,此概率通過gc_probability/gc_divisor計(jì)算,值為1000,表示為千分之一
 *
 */


cookie

什么是cookie

HTTP cookie也叫Web cookie或者瀏覽器cookie,是服務(wù)器發(fā)送到用戶瀏覽器并保存在瀏覽器上的數(shù)據(jù),它會(huì)在瀏覽器下一次發(fā)起請求時(shí)被攜帶并發(fā)送到服務(wù)器上;

HTTP cookieHTTP標(biāo)頭的組成部分;

session是存儲(chǔ)在服務(wù)器端,cookie是存儲(chǔ)在瀏覽器端

cookie的作用

會(huì)話狀態(tài)管理(如用戶登錄狀態(tài)、購物車):如十天自動(dòng)登錄

個(gè)性化設(shè)置(如用戶自定義設(shè)置)

瀏覽器行為跟蹤(如跟蹤分析用戶信息)

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時(shí)間戳);
 * D. $path參數(shù)用于設(shè)置服務(wù)器上可用cookie的路徑;如果設(shè)置為"/",則代表在整個(gè)域名內(nèi)都有效,
 *    如果設(shè)置為"/foo/",則僅代表在域名內(nèi)的/foo目錄及其子目錄內(nèi)有效;
 * E. $domain參數(shù)用于設(shè)置cookie可用的域名范圍(包含子域名);
 *
 * 注意:會(huì)話期cookie是指瀏覽器關(guān)閉之后會(huì)被自動(dòng)刪除,也就是它僅在會(huì)話期間有效;
 *      會(huì)話期cookie不需要指定過期時(shí)間(Expire);
 *
 * 持久cookie:指定一個(gè)特定的過期時(shí)間(Expire);
 *
 */


文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/28732.html

相關(guān)文章

  • JSP 學(xué)習(xí)記錄

    摘要:對象具有請求域,即完成客戶端的請求之前,該對象一直有效。提交的數(shù)據(jù)量最多不超過。安全性較低但效率比方式高。適合提交數(shù)據(jù)量大,安全性高的用戶信息。除非本次會(huì)話的所有頁面都關(guān)閉后再重新訪問某個(gè)或者,將會(huì)創(chuàng)建新的會(huì)話。 JSP 簡介 全名為Java Server Pages,其根本是一個(gè)簡化的Servlet設(shè)計(jì),實(shí)現(xiàn)了在Java當(dāng)中使用HTML標(biāo)簽。JSP是一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),也是Java...

    BearyChat 評論0 收藏0
  • session保存數(shù)據(jù)庫中以及禁用cookie情況下的處理

    摘要:保存這個(gè)的方式可以采用,這樣在交互過程中瀏覽器可以自動(dòng)的按照規(guī)則把這個(gè)標(biāo)識(shí)發(fā)揮給服務(wù)器。存放數(shù)據(jù)到數(shù)據(jù)庫中的默認(rèn)存放是通過建立一個(gè)名為的文件進(jìn)行存放。 什么是session HTTP協(xié)議是無狀態(tài)的,我們在瀏覽一個(gè)網(wǎng)站的時(shí)候 網(wǎng)站并不知道你是誰,為了解決這一點(diǎn)于是有了==會(huì)話管理==會(huì)話管理主要包括cookie和session。cookie可以在客戶端記錄下信息,而session則是記錄...

    keithyau 評論0 收藏0
  • 負(fù)載均衡中使用Redis實(shí)現(xiàn)共享Session

    摘要:最近在研究架構(gòu)方面的知識(shí),包括數(shù)據(jù)庫讀寫分離,緩存和隊(duì)列,集群,以及負(fù)載均衡,今天就來先學(xué)習(xí)下我在負(fù)載均衡中遇到的問題,那就是共享的問題。一負(fù)載均衡負(fù)載均衡把眾多的訪問量分擔(dān)到其他的服務(wù)器上,讓每個(gè)服務(wù)器的壓力減少。 最近在研究Web架構(gòu)方面的知識(shí),包括數(shù)據(jù)庫讀寫分離,Redis緩存和隊(duì)列,集群,以及負(fù)載均衡(LVS),今天就來先學(xué)習(xí)下我在負(fù)載均衡中遇到的問題,那就是session共享...

    tainzhi 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<