日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
PHP會(huì)話控制簡述
會(huì)話控制是一種面向連接的可靠通信方式,通常根據(jù)會(huì)話控制記錄判斷用戶登錄的行為。例如,當(dāng)我們登錄某個(gè)郵箱系統(tǒng)以后,可以在其中完成查看郵件、收信、發(fā)信等操作,這些操作有可能需要訪問多個(gè)頁面來完成。

在同一個(gè)系統(tǒng)上,多個(gè)頁面之間互相切換時(shí),還能保持用戶的登錄狀態(tài),并且訪問的都是用戶自己的信息。這種能夠在網(wǎng)站中跟蹤一個(gè)用戶,并且可以處理在同一個(gè)網(wǎng)站中同一個(gè)用戶在多個(gè)頁面共享數(shù)據(jù)的機(jī)制,都需要使用會(huì)話控制的思想完成。

為什么要使用會(huì)話控制

我們?cè)跒g覽網(wǎng)頁時(shí),訪問每一個(gè) Web 頁面都需要使用到“http 協(xié)議”,而 HTTP 協(xié)議是無狀態(tài)協(xié)議,也就是說 HTTP 協(xié)議沒有一個(gè)內(nèi)建機(jī)制來維護(hù)兩個(gè)事務(wù)之間的狀態(tài)。當(dāng)一個(gè)用戶請(qǐng)求一個(gè)頁面以后,再請(qǐng)求同一個(gè)網(wǎng)站上的另外一個(gè)頁面時(shí),HTTP 協(xié)議不能告訴我們這兩個(gè)請(qǐng)求是來自同一個(gè)用戶,會(huì)被當(dāng)做獨(dú)立的請(qǐng)求,而并不會(huì)將這兩次訪問聯(lián)系在一起,如下圖所示。



圖:用戶連續(xù)請(qǐng)求 Web 服務(wù)器中的多個(gè)頁面

上圖中,如果某網(wǎng)站的用戶通過瀏覽器請(qǐng)求 Web 服務(wù)器中的“網(wǎng)頁一”時(shí),該頁面會(huì)經(jīng)由服務(wù)器處理以后動(dòng)態(tài)地將內(nèi)容響應(yīng)到瀏覽器。由于 HTTP 協(xié)議的無狀態(tài)性,當(dāng)用戶通過“網(wǎng)頁一”中的鏈接,或直接在地址欄中輸入 Web 服務(wù)器 URL 來請(qǐng)求本站的其他網(wǎng)頁時(shí),會(huì)被看做是和前一次毫無關(guān)系的連接,和使用者相關(guān)的資料并不會(huì)自動(dòng)傳遞到新請(qǐng)求的頁面中。例如,在第一個(gè)頁面中登錄了一次,再轉(zhuǎn)到同一個(gè)網(wǎng)站的其他頁面時(shí),如果還想使用該用戶的身份訪問,則必須再重復(fù)執(zhí)行登入的動(dòng)作,因?yàn)?HTTP 協(xié)議是無狀態(tài)的,不能在不同頁面之間跟蹤用戶。

會(huì)話控制的思想就是允許服務(wù)器跟蹤同一個(gè)客戶端做出的連續(xù)請(qǐng)求。這樣,我們就可以很容易地做到用戶登錄的支持,而不是在每瀏覽一個(gè)網(wǎng)頁都去重復(fù)執(zhí)行登入的動(dòng)作。當(dāng)然,使用會(huì)話控制除了可以在同一個(gè)網(wǎng)站中跟蹤 Web 用戶之外,對(duì)同一個(gè)訪問者的請(qǐng)求還可以在多個(gè)頁面之間為其共享數(shù)據(jù)。

會(huì)話控制的方式

由于 HTTP 是無狀態(tài)的協(xié)議,所以不能維護(hù)兩個(gè)事務(wù)之間的狀態(tài)。PHP 系統(tǒng)為了防止這種情況的發(fā)生,提供了如下三種網(wǎng)頁之間傳遞數(shù)據(jù)的方法。

  • 使用超鏈接或者 header() 函數(shù),并在 URL 的 GET 請(qǐng)求中附加參數(shù)的形式,將數(shù)據(jù)從一個(gè)頁面轉(zhuǎn)向另一個(gè) PHP 腳本中。也可以通過網(wǎng)頁中的各種隱藏表單來儲(chǔ)存使用者的資料,并將這些信息在提交表單時(shí)傳遞給服務(wù)器中的 PHP 腳本;
  • 使用 Cookie 將用戶的狀態(tài)信息存放在瀏覽器中,并通過瀏覽器來存取 Cookie 中的信息;
  • 相對(duì)于 Cookie 還可以使用 Session,將訪問者的狀態(tài)信息存放于服務(wù)器之中,讓其他程序能透過服務(wù)器中的文件或數(shù)據(jù)庫,來存取使用者的信息。

在上面三種網(wǎng)頁間數(shù)據(jù)的傳遞方式之中,使用 URL 或表單的方式主要是用來處理參數(shù)的傳遞或是多條信息的輸入,適合于兩個(gè)腳本之間的簡單數(shù)據(jù)傳遞。例如,通過表單修改或刪除數(shù)據(jù)時(shí),可以將數(shù)據(jù)對(duì)應(yīng)的 ID 傳遞給其他腳本。

如果需要傳遞的數(shù)據(jù)比較多,頁面?zhèn)鬟f的次數(shù)比較頻繁,或者是需要傳遞數(shù)組時(shí),使用 URL 或表單就有些煩瑣了。特別是在項(xiàng)目中跟蹤一個(gè)用戶時(shí),要為不同權(quán)限的用戶提供不同的動(dòng)態(tài)頁面,需要每個(gè)頁面都知道現(xiàn)在的用戶是誰,對(duì)于這種情況我們通常選用 Cookie 和 Session 技術(shù)。


當(dāng)前文章:PHP會(huì)話控制簡述
分享路徑:http://m.5511xx.com/article/dhdiooe.html