PHP中会话与饼干是什么

  介绍

这篇文章主要介绍PHP中会话与饼干是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

<强>会话与饼干是什么?

会话与饼干属于一种会话控制技术。常用在身份识别,登录验证,数据传输等。举个例子,就像我们去超市买东西结账的时候,我们要拿出我们的会员卡才会获取优惠。这时候,我们怎么识别这个会员卡真实有效的呢?当我们将会员号给到收银员,收银员根据我们提供的会员号,输入到系统中,系统根据这个会员号去查询,如果查询到了就证明这个会员号是真实存在的。这里的会员号就好比饼干与会话。会员系统就好比服务器端,收银员就好比客户端。

<>强为什么会用到会话与饼干呢?

根据上述的例子,我们知道会话与饼干是可以干什么的了,那为什么必须用这个来实现呢?这里就有必要了解一下http应用传输协议的特点了。由于http协议是无状态的,即浏览器去请求了一个网页,这时候就是一个http请求,当服务端接收到请求之后,返回客户端需要的数据,在这过程中浏览器与服务器是建立了一个连接的。但是当服务端返回数据,客户端收到数据之后,他们的这种连接关系就断开了。下次浏览器再去发送请求的时候,又是重新建立一个连接,这两个链接没有任何关系。试想一下,当我们登录一个商场系统的时候,进入首页做了登录操作,但是我们下单或者加入购物车的时候,还需要登录,每访问一个页面就要登录,是不是很繁琐同时也是很不科学的,万一我们加入购物车的商品,我们点击下单了,下单页面要登录而且还无法正确的反馈出你下单时的那些商品。

<强> Http特点

1。http协议支持客户端/服务端模式,也是一种请求/响应模式的协议。

2。无连接。所谓的无连接就是服务器收到了客户端的请求之后,响应完成并收到客户端的应答之后,即断开连接。限制每次的连接只处理一次请求。从而节省传输时间。

3。无状态.北京协议对事务的处理没有记忆能力。也就意味着如果需要前面的信息,只能重传,这无形之中增加数据的传输量。这种方式某种方面上讲解放了服务器,但是却不利于客户端与服务器的连接。为了弥补这种不足,产生了两项记录http状态的技术,一个叫做饼干,一个叫做会话,后面我们再细讲它们。

4。简单快捷:所谓的简单快捷是指客户端向服务器请求服务时,一般来说只需要传输请求方法和路径,就能进行访问

5。灵活:这里主要指的是客户端可以通过http协议传输任意类型的数据,比如传输jpg文件,。ppt文件等等,只需要设定内容类型就可以进行传输。

<强>饼干

饼干的基本概念

饼干是远程浏览器存储数据以此追踪用户和识别用户的的机制,从实现来说,饼干是存储在客户端上的一个数据片段。

饼干的运行原理与存储机制

<强>。运行原理

1。客户端向服务端发起一个http请求。

2。服务端设置一个创建饼干的指令,响应给客户端。

3。客户端收到服务端响应的指令,根据指令在客户端创建一个饼干。

4。挡下一次请求时,客户端携带这个饼干向服务端发送请求。

<强>。存储机制

总的来说,饼干在客户端存储的形式有三种,不同的浏览器的存储机制不同,存的饼干也不同。

1。文件存储。浏览器会针对不同的域,在磁盘的对应目录创建一个单独的文件,来存储该域下面的cookie值。

2。内存存储。当浏览器关闭时,该饼干随之消失。根据下面的创建语法,当我们未设置过期时间时则会出现这种情况。

3。flash存储。这种存储方式是永久存储在磁盘中,即使通过浏览器删除一些数据都是无法删除该方式存储的饼干,如果需要删除,可能通过磁盘的方式。

<>强饼干的设置

Bool setcookie美元(字符串名称(字符串值美元,美元到期=0(字符串$路径[,字符串$域[Bool美元安全=false [, Bool httpOnly美元=false]]]]]);

名称:美元饼干存储的名称,必填选项。

美元价值:饼干存储的值。这里需要注意的是,当把该值设置为假时,客户端会尝试删除这个cookie值,因此在要将值这是为真正的或者错误的时候,我们用另外的值来代替,例如真正的用1代替,假用0来代替。

$到期:饼干的过期时间,秒为单位,当该值被设置时,定时删除;当该值没有设置时,该值是永久有效的。该值设置为小于当前时间时,会出发浏览器的删除机制,会自动删除饼干。

PHP中会话与饼干是什么