首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP自问自答(9)session和cookie(下)

前言

借助 session 或 cookie,就能解决HTTP协议无状态的问题,那么它是如何解决的?

cookie 如何解决无状态问题

无状态的问题是“服务器记不住客户端是谁”,解决的方法也很简单:“给客户端颁发身份证”。

第一次请求

浏览器:我是张三

服务器:知道了,并给浏览器颁发一个身份证

第 N 次请求

浏览器:这是我的身份证

服务器:身份识别成功,你是张三

身份证里都包含什么?

身份证号码,相关信息数据(其实可以是任何数据)

浏览器如何保存身份证?

生成“cookie”文件,保存在客户端电脑。

浏览器如何携带自己的身份证?

每次请求之前都会检查“是否有身份证”,如果有就自动携带(都是浏览器的活,我们不用操心)

所有的网站都能识别身份证吗?

并非如此,身份证有“域”的概念,baidu.com 颁发的身份证,只在百度的网址中有效。

身份证会过期吗?

会,服务端颁发的时候可设置过期时间。

身份证保存在客户端安全吗?

不安全,可能被读取、被删除,尽量不保存敏感数据,如果必须那就加密(安全永远是相对的)

cookie和session有什么关系?

他们都用于解决同样的问题,开发的时候二选一即可。

最明显的区别

cookie 将所有数据都保存在客户端。

session 是在cookie的基础上做了升级,在cookie中保存“身份证号”,其他内容保存在服务器上。

后记

注意,本系列文章只是帮助你理解知识点,并不涉及具体语法。

如果你已经看晕了,那就是你的http协议基础太弱了,有时间去看看我的另一个课程吧…

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180419B02K3G00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券