免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
【6月H5博文】理解Cookie

從用戶進(jìn)入一個網(wǎng)站瀏覽到退出這個網(wǎng)站或者關(guān)閉瀏覽器稱為一次會話。會話跟蹤指在這個過程中瀏覽器與服務(wù)器的多次請求保持?jǐn)?shù)據(jù)共享的狀態(tài)的技術(shù)。從而管理著瀏覽器客戶端和服務(wù)端之間會話過程中產(chǎn)生的數(shù)據(jù)。常用的會話跟蹤技術(shù)是Cookie與Session。


   cookie技術(shù):會話數(shù)據(jù)保存在客戶端

session技術(shù):會話數(shù)據(jù)保存在服務(wù)端


Session 與 Cookie 的作用都是為了保持訪問用戶與后端服務(wù)器的交互狀態(tài)。它們有各自的優(yōu)點(diǎn),也有各自的缺陷,然而具有諷刺意味的是它們的優(yōu)點(diǎn)和它們的使用場景又是矛盾的。例如,使用 Cookie 來傳遞信息時,隨著 Cookie 個數(shù)的增多和訪問量的增加,它占用的網(wǎng)絡(luò)帶寬也很大,試想假如 Cookie 占用 200 個字節(jié),如果一天的 PV 有幾億,它要占用多少帶寬?所以有大訪問量的時候希望用 Session,但是 Session 的致命弱點(diǎn)是不容易在多臺服務(wù)器之間共享,所以這也限制了 Session的使用。


Cookie 的作用我想大家都知道,通俗地說就是當(dāng)一個用戶通過 HTTP 協(xié)議訪問一個服務(wù)器的時候,這個服務(wù)器會將一些 Key/Value 鍵值對返回給客戶端瀏覽器,并給這些數(shù)據(jù)加上一些限制條件,在條件符合時這個用戶下次訪問這個服務(wù)器的時候,數(shù)據(jù)又被完整地帶回給服務(wù)器。


這個作用就像您去超市購物時,第一次給您辦張購物卡,這個購物卡里存放了一些您的個人信息,下次您再來這個連鎖超市時,超市會識別您的購物卡,下次直接購物就好了。


當(dāng)初 W3C 在設(shè)計(jì) Cookie 時實(shí)際上考慮的是為了記錄用戶在一段時間內(nèi)訪問 Web 應(yīng)用的行為路徑。由于 HTTP 協(xié)議是一種無狀態(tài)協(xié)議,當(dāng)用戶的一次訪問請求結(jié)束后,后端服務(wù)器就無法知道下一次來訪問的還是不是上次訪問的用戶,在設(shè)計(jì)應(yīng)用程序時,我們很容易想到兩次訪問是同一人訪問與不同的兩個人訪問對程序設(shè)計(jì)和性能來說有很大的不同。例如,在一個很短的時間內(nèi),如果與用戶相關(guān)的數(shù)據(jù)被頻繁訪問,可以針對這個數(shù)據(jù)做緩存,這樣可以大大提高數(shù)據(jù)的訪問性能。Cookie 的作用正是在此,由于是同一個客戶端發(fā)出的請求,每次發(fā)出的請求都會帶有第一次訪問時服務(wù)端設(shè)置的信息,這樣服務(wù)端就可以根據(jù) Cookie 值來劃分訪問的用戶了。


PHP通過 setcookie 函數(shù)進(jìn)行Cookie的設(shè)置,任何從瀏覽器發(fā)回的Cookie,php都會自動的將他存儲在 $_COOKIE 的全局變量之中,因此我們可以通過 $_COOKIE[‘key’] 的形式來讀取某個Cookie值。


PHP中的Cookie具有非常廣泛的使用,經(jīng)常用來存儲用戶的登錄信息,購物車等,且在使用會話Session時通常使用Cookie來存儲會話id來識別用戶,Cookie具備有效期,當(dāng)有效期結(jié)束之后,Cookie會自動的從客戶端刪除。同時為了進(jìn)行安全控制,Cookie還可以設(shè)置域跟路徑。


setcookie() 函數(shù)向客戶端發(fā)送一個 HTTPcookie。cookie 是由服務(wù)器發(fā)送到瀏覽器的變量。


PHP中還有一個設(shè)置Cookie的函數(shù)setrawcookie,setrawcookie跟setcookie基本一樣,唯一的不同就是value的值不會自動進(jìn)行 URL 編碼,因此在需要的時候要手動的進(jìn)行urlencode。setrawcookie('cookie_name', rawurlencode($value), time()+60*60*24*365);


因?yàn)镃ookie是通過HTTP標(biāo)頭進(jìn)行設(shè)置的,所以也可以直接使用header方法進(jìn)行設(shè)置。header('Set-Cookie:cookie_name=value');


在PHP中刪除cookie也是采用 setcookie 函數(shù)來實(shí)現(xiàn)。原理:將cookie的過期時間設(shè)置到當(dāng)前時間之前,則該cookie會自動失效,也就達(dá)到了刪除cookie的目的。setcookie('test', '', time()-1); 也可以直接通過header來刪除cookie。header('Set-Cookie:test=1393832059;expires='.gmdate('D, d M Y H:i:s \G\M\T', time()-1));


cookie 中的路徑用來控制設(shè)置的cookie在哪個路徑下有效,默認(rèn)為’/’,在所有路徑下都有。setcookie('CookieName','CookieValue', time() + 3600, '/path');


本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
PHP5薄荷教程[12]對頭信息、表單、cookie和session的處理 - 薄荷腦的專...
php 中cookie和session的用法比較
任務(wù)6 網(wǎng)上購物系統(tǒng)用戶管理模塊開發(fā)
PHP
詳解 Cookie 紀(jì)要
PHP教程(21)會話技術(shù)+cookie操作使用 +session配置使用
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服