太多人把Cookie当缓存用,我无语了

我做软件开发很多年了,遇到过很多高手程序员,他们通常都是对技术有好奇心,爱钻研,喜欢和别人交流的人。但这种程序员的比例太少了!
有很多程序员的基础知识都掌握得不够牢。概念基本都知道,但是不能较真儿,一较真儿就说不清楚了。
今天我来说一个很多人都会错的概念,那就是Cookie。面试的时候问这个问题,基本上80-90%的人都会说Cookie是客户端的缓存。实际工作中,也有很多人真的把Cookie当作缓存来用。网页界面上需要显示一些内容,又不想重复去服务器端获取,那就先放到Cookie里,既方便又快捷。
那么Cookie到底是不是缓存呢?我们来看一下Cookie的定义。
Cookie 其实也叫 HTTP cookie,它是客户端用来存储会话ID(sessionID)的一种机制。比如我们打开一个网页的时候,浏览器就与服务端建立了一次会话。这里需要注意,不管用户有没有登录,都是有建立会话的。在这次会话当中,浏览器向服务器请求数据,都会在请求头里自动带上这个会话ID。浏览器关闭之后,这个Cookie还存在硬盘上,下次打开的时候还可以继续使用。
看完上面的说明我们知道了,Cookie主要是用来解决HTTP无状态这个问题的,而且Cookie里面的内容会随着HTTP请求头自动发送到服务器上。
那么,什么情况下需要把数据存到Cookie里,什么情况下不应该把存到Cookie里了,使用Cookie有哪些注意事项呢。我总结了几条常用的经验分享给大家。
1. 需要在HTTP请求里自动发送给服务器的数据,可以放到Cookie里。
2. 不需要发给服务器的数组,不应该放到Cookie里。这一点是最容易被大家忽略的,在工作中尤其要注意。
3. Cookie存储在用户的硬盘上,没那么安全,所以需要保密的数据不应该放到Cookie里。我曾经见过有人把用户名和密码存到Cookie里的。
4. Cookie有容量限制,要注意不能放太多东西。
5. 尽量不要让前端js写Cookie,尽量在后端写。

了解了上面这些内容,大家应该对如何使用Cookie有了一个基本的认识了。关于Cookie更底层的理论知识。大家可以到评论区留言探讨。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值