清除Cookie?告诉你什么叫Cookie

问题1:「Cookie是什么?」

答:Cookie是服务器给客户端发的一个「通信证」。

无论谁访问服务器时都必须携带自己的「通行证」,这样服务器就可以通过「通行证」确定用户身份了。

注:Cookie有不可跨域名性。即浏览器不会将baidu.com的cookie发送给google.com


问题2:「Cookie有属性吗?都是什么?」

答:Cookie有属性,它们是:

1. String「name」 :该Cookie的「名称」。Cookie一旦创建,名称便不可更改。

2. Object「value」:该Cookie的「值」

3. Int「maxAge」:该Cookie的「失效时间」,单位秒

注:如果为正数,则该Cookie在maxAge秒后失效。如果为负数,则该Cookie为临时Cookie,关闭浏览器即失效。如果为0,表示删除该Cookie。默认为-1,即关闭浏览器即失效

4. Boolean「secure」:「是否仅使用安全协议传输」,默认为false

5. String「path」:该Cookie的「使用路径」

注:如果设置为“/shit/”,则只有“http:xxx.xxx.xxx/shit”的程序可以访问该Cookie。如果设置为“/”,则本域名下的程序都可以访问Cookie,注意最后一个字符必须为“/”。

6. String「domain」:「可以访问该Cookie的域名」。

注:如果设置为".google.com",则所有以"google.com"结尾的域名都可以访问该Cookie。注意第一个字符必须为“.”。

7. String「comment」:该Cookie的「用处说明」,用来再浏览器显示Cookie信息的时候显示该说明。

8. Int「version」:该Cookie的「版本号」。0表示遵循Netspace的Cookie规范,1表示遵循W3C的RFC2109规范。


问题3:「怎么修改Cookie?怎么删除Cookie?」

答:

  • 修改:创建同名Cookie,覆盖原来的Cookie
  • 删除:创建同名Cookie,并将maxAge属性设置为0


问题4:「Cookie有什么用?」

答:挺多的,列举几个。

  • 自动登陆:第一次登陆成功后,给你的电脑发送一个存有你用户名的Cookie。于是,在Cookie失效之前,你每一次登陆服务器,服务器都会直接读取你的Cookie中的用户名,然后返回给你一个登陆成功的页面。挺危险的是吧,所以通常会有一些加密手段以及借助Session的帮助。
  • 京东未登录时的购物车:意思差不多,诸位应该明白。


问题5:「Session是什么?」

答:Session是「你去理发店办卡后,店家记录你剩余次数的那个大本子」。它保存在服务器端,不负责记录你还能剪几次,但是它会把客户端的某种信息保存在服务器上。当客户端下一次来访问时,根据信息确定客户身份即可。


问题6:「Session保存在哪?」

答:Session保存在服务器端的内存中。


问题7:「Session的有效期?」

答:由「最后访问时刻」和「超时时段」构成。当「当前时刻」 - 「超时时段」>「最后访问时刻」时,Session就失效了。

在Tomcat中的「超时时段」为20分钟。


总结:喜欢要点赞哦,别光收藏。

编辑于 2017-10-05

文章被以下专栏收录