简介Cookie和Session的关系及区别(以PHP为例)

Cookie和Session的关系

其实将Cookie和Session的关系做一个简单的例子。
比如说,我今天在某某地方遇到一个漂亮的美女,非常漂亮我就想去搭讪,当然我们需要先走过去,哎,看见姑娘我们当然要先打招呼对吧,告诉她我叫什么名字,今年多大了对不对,当然最后最重要的是我们需要一个对方的手机号或者其他的一个联系方式,这样方面我们以后方便联系,你介绍完自己以后,姑娘就会对你有个初级印象,这样的话下次见面就会对你有一个眼熟的效果。

那么Cookie和Session其实差不多也是一个这样的关系。
当某用户第一次访问服务器的时候是没有该服务器发放的Cookie的,那么当我们第一次进站进行注册登陆的时候,我们输入的信息,例如账号、密码等一些比较隐私的东西,本地站点等信息会被http放在请求体中,发送至服务器后台,以PHP为例我们后台获取到数据以后,可以通过$_SESSION来将信息设置到本地或者保存到数据库当中,然后生成一个对应的session_id的东西,然后使用setcookie为当前发送请求的客户机设置对应的cookie,当然是在服务器响应请求的时候进行客服机的设置。

那么当我们第二次见面的时候,也就是客服机第二次访问的时候,客户机会对该网站发送对应映射的cookie,cookie一般小于4k,一般保存的是session_id的值,那么我们在后台服务器使用$_cookie访问到对应的值,查找到服务器本地或者对应数据库中有相对应的session,然后读取session中的信息就可以进行一个用户不重复登陆的这样一个操作。

Cookie和Session的区别

这个区别其实就这几点,我就直接引用别人的文章了,点击文字可查看

PHP对Session的简单设置

还是引用大佬的文章吧,讲的挺细的。

前端js设置Cookie

那么除了服务器后端设置cookie以外,我们前端也可以自行设置cookie,其实后端设置cookie也是设置在请求头上面的,前端自行设置cookie倒是不怎么常见。
这边就给大家介绍一个简单设置cookie的方法,有这样一个扩展库叫做js-cookie,它是使用原生js设置cookie的,从下面的图片我们就可看到star 有15.6k,说明这个扩展库的兼容性是相当好的,我们可以直接使用。

简介Cookie和Session的关系及区别(以PHP为例)

还有一个jq的版本,也是挺不错的。链接给大家放在这里了,有这方面需求的同志可以了解一下。
简介Cookie和Session的关系及区别(以PHP为例)