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。