美文网首页
聊聊Cookie的那些事儿

聊聊Cookie的那些事儿

作者: 栀陌笙晨 | 来源:发表于2020-08-13 09:53 被阅读0次

    欢迎关注【笙晨闲谈】微信公众号,闲谈、干货一应俱全,只要你关注,就会有故事~

     PS:前  言 

    前几日,笙晨想用Cookie实现用户可以自动登录的功能。可苦于对其一窍不通,便找度娘帮忙,但还好,最后经过一番苦苦挣扎还是实现了一个简单的用户自动登录操作。

    所以,今天笙晨便想通过这篇文章,跟大家一起简单聊聊Cookie的那些事儿……

    (PS:由于笙晨的口才不佳,说着说着就停不住了,还希望大家可以见谅。笙晨在介绍cookie的时候,大家也可以直接选择部分内容进行阅读哦~~)


    01

    到底啥是Cookie呢 ??

    说到Cookie,或许有很多小伙伴们就会说:“啊,Cookie嘛,我知道啊,甜饼嘛~”如果你这么回答,笙晨也只能是送你一个尴尬而不失礼貌的微笑了……

    笙晨今天讲的不是吃的,OK??

    (吃货们可以出门右转,打扰了……)

    好啦,言归正传,或许现在还有很多小伙伴们都不知道笙晨前面提到的Cookie到底是个啥东西,那么就让我们——上度娘,先来简单的了解一下到底啥是Cookie吧……

    Cookie (储存在用户本地终端上的数据):

    Cookie,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。

    你说啥??

    刚刚的没看懂??

    好吧,度娘还给出了Cookie的简介,

    让我们继续往下看……

    Cookie 并不是它的原意“甜饼”的意思, 而是一个保存在客户机中的简单的文本文件, 这个文件与特定的 Web 文档关联在一起, 保存了该客户机访问这个Web 文档时的信息, 当客户机再次访问这个 Web 文档时这些信息可供该文档使用。由于“Cookie”具有可以保存在客户机上的神奇特性, 因此它可以帮助我们实现记录用户个人信息的功能, 而这一切都不必使用复杂的CGI等程序。

    举例来说, 一个 Web 站点可能会为每一个访问者产生一个唯一的ID, 然后以 Cookie 文件的形式保存在每个用户的机器上。如果使用浏览器访问 Web, 会看到所有保存在硬盘上的 Cookie。在这个文件夹里每一个文件都是一个由“名/值”对组成的文本文件,另外还有一个文件保存有所有对应的 Web 站点的信息。在这里的每个 Cookie 文件都是一个简单而又普通的文本文件。透过文件名, 就可以看到是哪个 Web 站点在机器上放置了Cookie(当然站点信息在文件里也有保存) 。

    你说啥??

    刚刚的简介竟然也还是没看懂??

    下面,就让笙晨来解释一下我所理解的,到底啥是Cookie吧:

    哎呦,人家那个Cookie就是记录一下你登录的信息嘛(够直白了吧),其实这也算是Cookie的主要思想了。

    02

    Cookie能干些啥 ??

    前面介绍了一下Cookie到底是个啥,下面就让我们一起来了解一下Cookie到底能干些啥呢,Cookie到底都有什么用处呢?

    经过笙晨的一些搜寻,让我们来总结一下Cookie到底都能干些啥吧:

    (1)Cookie可以用于记录网站的浏览人数以及登录的次数,并且还能通过Cookie使站点跟踪特定访问者的访问次数、最后访问时间和访问者进入站点的路径等内容;

    (2)可以利用Cookie储存用户的账号密码等一些登录信息,在有效期限未到的情况下,方便用户下次在不键入密码和用户名的情况下,进入曾经浏览过的一些站点,实现直接登录(当然因为Cookie的安全性不够高,所有的Cookie都是以纯文本的形式记录在文件中的,因此如果想要保存密码等重要信息时,最好还是采用加密技术经过加密处理的,但在这里笙晨就不做过多介绍了,毕竟这不是重点,如果有对如何进行加密感兴趣的小伙伴,可以自行百度解决哦~~);

    (3)可以利用Cookie帮助站点统计用户的个人资料信息,跟踪统计用户访问该网站的习惯。比如什么时间访问,访问了哪些页面,在每个网页的停留时间等。

    利用所获得的这些信息,一方面可以按照用户的喜欢去设计网页的外观(也就是具体的网页主题),可以为用户提供个性化的服务;另一方面,也可以作为了解所有用户行为的工具,这个对于一些网站经营策略的改进,会有一定的参考价值;

    (4)Cookie也可以实现购物车功能。毕竟用户可能会在一段时间内,在同一家网站的不同页面中选择不同的商品,因此我们可以将这些信息统统写入Cookies,以便在最后付款时提取信息(你总不能在付款的时候让用户再选择一遍吧,毕竟顾客就是上帝!!);

    (5)Cookie还能告诉在线广告商广告被点击的次数,从而可以使广告商更精确的投放广告。

    嗯,貌似现在大家所能接触到的大部分的Cookie也就是干这些活了吧……

    03

    如何来创建一个Cookie呢 ??

    经过以上的讲述,相信大家都对Cookie有了一个简单的了解。

    那么,我们如何来创建一个Cookie呢?

    我们使用JSP来创建一个Cookie都包含了哪些步骤呢?

    下面就让笙晨来说说吧……

    (有点技术含量喽~~)

    (1)创建一个Cookie对象:

        调用Cookie的构造函数,使用一个cookie名称和值做参数,它们都是字符串。

    Cookie cookie = new Cookie("key","value");

    PS:名称和值中都不能包含空格

    或者[ ] ( ) = , " / ? @ :字符哦~

    (2)设置有效期:

        调用setMaxAge(int s)函数,表明cookie在多长时间(以秒为单位)内有效。

    cookie.setMaxAge(60*60*24);

    (有效期为24小时)

    (3)将cookie发送至HTTP响应头中:

        调用response.addCookie()函数来向HTTP响应头中添加cookie:

    response.addCookie(cookie);

        如此,一个Cookie也就基本上创建完成啦,惊不惊喜,意不意外,哈哈哈哈哈哈~~

    04

    如何来设置一个Cookie呢 ??

    看到这里,相信大家就可以自己创建一个Cookie了,但是我们光知道如何创建Cookie,而不知道怎么使用是不是特别尴尬呢?

    毕竟在JSP中,程序是通过cookie.setXXX设置了各种属性,然后又用cookie.getXXX读出了cookie的各种属性的嘛。

    因此我们只创建一个Cookie是远远不够的,下面笙晨就来介绍一下如何来设置一个Cookie。现在,笙晨将Cookie的主要属性,及其一些方法列于下方,仅供大家参考哦~~

    (图片来源于网络)

    05

    如何修改及删除Cookie呢 ??

    经过以上一系列的苦苦挣扎,相信大家万千可以大展身手创建一个Cookie大干一番了。但是这时候有些小伙伴们可能就会问了,我在建了一个Cookie之后,想要对其进行修改或者是删除操作,那我该怎么办呢?

    别急,下面就让笙晨来告诉大家吧……

    response对象提供的Cookie操作方法只有一个添加操作add(Cookie cookie)。

    如果你要想要修改Cookie,那么只能使用一个同名的Cookie来覆盖原来的Cookie,达到修改的目的。

    同样,如果要想要删除时,也只需要把maxAge修改为0就可以啦 ~~

    其实说白了,无论你是想修改还是想删除,都是按照之前如何创建的方法再来一遍,这样后来的自然而然就会将前面的给覆盖掉了,如此也就可以达到修改或者是删除的目的了。

     你说啥??

    你敢不敢再说一遍??

    竟然忘了之前是怎么创建的??

    哎,那好吧……

    下面,笙晨就直接给你讲讲,我们是如何删除Cookie的,Let`s go!

    (1)首先,需要获取一个之前已经存在的cookie,也就是你之前亲手创建的(这可是你打下的江山,千万不要忘了你之前到底是给他取了个啥奇奇怪怪的名字),然后将获取到的cookie存储在Cookie对象中;

    (2)将cookie的有效期设置为0;

    怎么了??

    你不会告诉我忘了如何设置有效期了吧??

    好人做到底,笙晨再来给你设置一次:

    cookie.setMaxAge(0);

    (3)将这个cookie重新添加进响应头中。

    等等,这次不用你说我也知道,肯定又忘了如何添加进响应头中了,这次可看好啦:

    response.addCookie(cookie);

    至此,笙晨已经带领大家从cookie是啥、干啥,到咋建、咋改甚至是咋删,基本上就向大家介绍完成了。

    或许,这时候有些小伙伴就会说了,我的个人信息凭啥要留给网站??要是真出了什么问题,到底谁来负责??(哎,不知道的时候还好,现在一知道了点啥就要开始担心……)

    额……好吧,既然有些小伙伴不想将自己的cookie留存在浏览器当中,如果在浏览完网站的时候想删除一下cookie,那么我们也可以完全通过手动的方式在浏览器中删除 cookie。

    基本上现在我们都可以在浏览器的设置功能里面,找到一些关于cookie的设置,同时我们也可以按照提示对cookie的一些设置进行修改,如此相信很多小伙伴们就可以开开森森的继续冲浪啦~~

    什么??

    你竟然让我告诉你咋修改??

    哎……

    你不自己百度,那我给你百度好吧……

            (1)据说在浏览器左上角的功能选项中,找到Internet选项或历史记录或清理痕迹,打开后会有cookies清理选项,选择后删除即可;

            (2)据说如果你只需要刷新当前页面,可以使用Ctrl + F5两个按键,同时按下,会强制刷新本页面,相当于删除缓存再刷新;

            (3)据说IE浏览器可以通过点击Tools菜单项,然后选择Internet Options,点击 Delete Cookies,就能删除所有 cookie……

            以上手动进行浏览器中cookie的方法全都是来源于度娘,笙晨并未进行一一验证,即使笙晨验证过了也并不能保证在你的电脑上面就可以,毕竟一台电脑一个样子,各种设置也是五花八门的,但是万变不离其宗,大家如果想要手动删除cookie的话,还是像笙晨之前说的那样,自己去浏览器的设置里面找一下关于cookie的一些设置吧~~


     PS:写 在 最 后  

    至此,在看过了笙晨漫长的介绍之后,相信大家已经对cookie有了一定的理解,同时也都有了些许收获。

    如今,身为互联网时代的一员,说句实在话,大家只要是上网,就会存在信息泄露的风险。但是,笙晨也始终相信一句话“因为平凡,所以安全”,正是我们的平平凡凡,才确保了自己个人信息的安全。

    这次对于cookie的介绍也就告一段落了,如果大家还想继续深入了解,那就自行解决吧,毕竟笙晨也是能力有限(尴尬ing…)。

    下次更新的时候,笙晨会将前几天写的用jsp实现用户登录的一个简易网站与大家分享,记得随时关注哦,谢谢啦~~


    PS:点击“下方链接”查看文章,即可知道Cookie的那些事儿,快来试一试吧——聊聊Cookie的那些事儿

    看完记得关注【笙晨闲谈】微信公众号,不定期更新“计算机”类的相关干货,以及闲谈类的文章。只要你关注,就会有故事哦~

    相关文章

      网友评论

          本文标题:聊聊Cookie的那些事儿

          本文链接:https://www.haomeiwen.com/subject/bufbdktx.html