★cookie与session区别

来源:互联网 发布:数组和指针的区别 知乎 编辑:程序博客网 时间:2024/06/05 06:09

一般大型系统使用cookie,而非session。


如果页面输入的参数为:用户名(name),输入值为:rongwenbin。


1、session方式:

当我们在代码中调用session_start();时,PHP会同时往服务器session的存放目录(默认为/tmp/)和客户端的cookie目录各生成一个文件。session文件名称像这样: 

\

格式为sess_{SESSIONID} ,这时session文件中没有任何内容,当我们在session_start(); 后面添加了这两行代码:

$_SESSION['name'] = 'rongwenbin';

这时文件(服务器sess_{SESSIONID})就有内容了:

name|s:10:"rongwenbin";

客户端生成的cookie名称为:"PHPSESSID",cookie内容:是一串字符,其实这串字符就是{SESSIONID}(类似2bd170b3f86523f1b1b60b55ffde0f66)。


2、cookie方式:

服务器PHP代码调用setcookie("name","rongwenbin",time()+24*60*60)(保存一天),则通知客户端生成对应的cookie:

cookie名称为:name,内容为:rongwenbin。

跳转到其他页面后,对应的PHP代码通过$_COOKIE["name"]即可获取cookie值。


3、客户端传递cookie、session

目前浏览器基本上都会在消息头中上传cookie给服务器。


Accepttext/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Encodinggzip, deflateAccept-Languagezh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3Connectionkeep-aliveCookiePHPSESSID=5mhejrudmh3cp8jl37oe47vod4Host127.0.0.1Refererhttp://127.0.0.1/wordpress/User-AgentMozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Firefox/31.0


0 0
原创粉丝点击