1.1原理: Cookie是保存在客戶端的信息包(一個文件) 1.客戶端向伺服器發送請求 2.伺服器將值放到響應頭中發送到客戶端 3.瀏覽器自動的將信息放到請求投資帶到伺服器 1.2設置Cookie 客戶端有cookei信息後,每次請求伺服器,cookie的信息都會自動的放到請求頭中帶到伺服器。 1 ...
1.1原理:
Cookie是保存在客戶端的信息包(一個文件)
1.客戶端向伺服器發送請求
2.伺服器將值放到響應頭中發送到客戶端
3.瀏覽器自動的將信息放到請求投資帶到伺服器
1.2設置Cookie
<?php setcookie('name','tom'); //將name=tom放到響應頭中
客戶端有cookei信息後,每次請求伺服器,cookie的信息都會自動的放到請求頭中帶到伺服器。
1.3獲取Cookie的值
<?php echo $_COOKIE['name']; //從請求頭中獲取名字是name的cookie
註意:
2、cookie的信息不可以在不同的瀏覽器中共用,不可以跨瀏覽器。
1.4永久性Cookie
說明:關閉瀏覽器後cookie的值不消失
語法:給cookie添加過期時間就形成了永久性cookie,過期時間是時間類型是時間戳
$time=time()+3600; setcookie('name','tom',$time); //cookie的有效時間是3600秒
1.5Cookie的有效目錄
cookie一般要設置在整站有效
setcookie('name','tom',0,'/'); // /表示根目錄
1.6支持子功能變數名稱
<?php setcookie('name','tom',0,'/','baidu.com'); //在baidu.com功能變數名稱下都有效 ?> <a href="http://www.bb.baidu.com/bb.php">跳轉</a>
1.7是否安全傳輸
預設情況下https和http都可以傳輸cookie
setcookie('name','tom',0,'/','',true); // true表示只能是https傳輸
1.8是否安全訪問
安全訪問:PHP可以訪問,JS不可以 預設是false
<?php setcookie('name','tom',0,'/','',false,true); ?> <a href="/5-demo2.php">跳轉</a>
1.9刪除Cookie
<?php
//setcookie('name',false); //刪除cookie方法一
//setcookie('name'); //刪除cookie方法二
setcookie('name','tom',time()-1); //刪除cookie方法三
註意:cookie中只能保存數字和字元串。
1.10
2、因為只能保存字元串和數字,所以可控性差
3、因為數據放在請求頭中傳輸,增加了請求時候的數據負載。
4、因為數據存儲在瀏覽器中,但瀏覽器存儲空間是有吸限制的,一般是4K。