网站首页 > 开源技术 正文
我做软件开发很多年了,遇到过很多高手程序员,他们通常都是对技术有好奇心,爱钻研,喜欢和别人交流的人。但这种程序员的比例太少了!
有很多程序员的基础知识都掌握得不够牢。概念基本都知道,但是不能较真儿,一较真儿就说不清楚了。
今天我来说一个很多人都会错的概念,那就是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更底层的理论知识。大家可以到评论区留言探讨。
猜你喜欢
- 2024-12-15 5分钟彻底搞懂Session,Cookie,Token
- 2024-12-15 Http无状态、Cookie、Session、Token三者之间的区别
- 2024-12-15 HTTP状态管理机制之Cookie http的cookie
- 2024-12-15 最全javascript学习指南,快速了解从入门到精通需要掌握哪些知识
- 2024-12-15 实战教程:一小时教你开发Chrome插件
- 2024-12-15 njs V0.7.12发布!JavaScript 与 nginx 强强联合!
- 2024-12-15 写爬虫,免不了要研究JavaScript设置cookies的问题
- 2024-12-15 历代IE浏览器进化简史 ie系列浏览
- 2024-12-15 “JS逆向 | Python爬虫 | 动态cookie如何破~”
- 2024-12-15 cookie是什么?有什么用?cookie详解,一篇文章彻底搞懂cookie
你 发表评论:
欢迎- 03-19基于layui+springcloud的企业级微服务框架
- 03-19开箱即用的前端开发模板,扩展Layui原生UI样式,集成第三方组件
- 03-19SpringMVC +Spring +Mybatis + Layui通用后台管理系统OneManageV2.1
- 03-19SpringBoot+LayUI后台管理系统开发脚手架
- 03-19layui下拉菜单form.render局部刷新方法亲测有效
- 03-19Layui 遇到的坑(记录贴)(layui chm)
- 03-19基于ASP.NET MVC + Layui的通用后台开发框架
- 03-19LayUi自定义模块的定义与使用(layui自定义表格)
- 最近发表
-
- 基于layui+springcloud的企业级微服务框架
- 开箱即用的前端开发模板,扩展Layui原生UI样式,集成第三方组件
- SpringMVC +Spring +Mybatis + Layui通用后台管理系统OneManageV2.1
- SpringBoot+LayUI后台管理系统开发脚手架
- layui下拉菜单form.render局部刷新方法亲测有效
- Layui 遇到的坑(记录贴)(layui chm)
- 基于ASP.NET MVC + Layui的通用后台开发框架
- LayUi自定义模块的定义与使用(layui自定义表格)
- Layui 2.9.11正式发布(layui2.6)
- Layui 2.9.13正式发布(layui2.6)
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)