cookie是用来将使用者资料记录在客户端的技术,这种技术让web服务器能将一些只需存放于客户端,或者可以在客户端进行运算的资料,存放于用户的计算机系统中。
cookie是存放在HTTP标头中的。
cookie优点:
1、简单cookie是一个基于文本的轻量级结构,包括简单的键值对
2、cookie是保存在客户端,所以不会占用服务器资源
3、cookie通常是客户端上持续时间最长的数据保留形式
cookie缺点:
1、大小受限。大多数浏览器限制cookie4096个字节
2、用户可能会禁用cookie
3、cookie可能会被篡改
cookie性能影响:
一旦服务器向客户端设置cookie,除非cookie过期,否则客户端每次请求都会发送这些cookie到客户端,一旦设置的cookie过多,将导致报头较大,且大多数cookie并不是每次都用到,所以会造成带宽浪费。
Cookie与网站关联,而不是与特定的页面关联。因此,无论用户请求站点中的哪一个页面,浏览器和服务器都将交换 Cookie 信息。
cookie的简单操作:
/*
设置、删除cookie
@param $name cookie的识别名称
@param $value cookie的值
@param $expire cookie的生存期限
@param $path cookie在服务器端的指定路径
@param $domain 指定cookie所属服务器的网址名称
@param $secure 指明cookie是否通过安全的HTTPS连接传输
*/
bool setcookie(string $name,string $value,int $expire,string $path,string $domain,bool $secure)
例:
1 <?php 2 function clearcookie() 3 { 4 foreach($_COOKIE as $key=>$value) 5 { 6 setcookie($key,'',time()-60*60); 7 } 8 } 9 if($_GET["action"]=="setcookie") 10 { 11 setcookie($_POST['cookie_name'],$_POST['cookie_value'],time()+60*60*24); 12 }else if($_GET["action"]=="clearcookie"){ 13 clearcookie(); 14 }else if($_GET['action']=="discookie"){ 15 print_r($_COOKIE); 16 } 17 ?> 18 19 <html> 20 <form action="test.php?action=setcookie" method="post"> 21 <input type="text" name="cookie_name"/> 22 <input type="text" name="cookie_value" /><br> 23 <input type="submit" value="setCookie"/> 24 </form> 25 26 <br> 27 <br> 28 <br> 29 30 <form action="test.php?action=discookie" method="post"> 31 <input type="submit" value="display Cookie"/> 32 </form> 33 34 <br> 35 <br> 36 <br> 37 <form action="test.php?action=clearcookie" method="post"> 38 <input type="submit" value="clearCookie"/> 39 </form> 40 </html>