前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Cookie的理解

Cookie的理解

作者头像
Java编程指南
发布2019-08-02 15:28:53
7320
发布2019-08-02 15:28:53
举报
文章被收录于专栏:Java编程指南Java编程指南

理解Cookie和Session(会话技术):

其实Cookie和Session就是会话技术的两种,他们各自有各自的作用。会话技术的介绍

为什么需要会话技术?

由于http协议是无状态的,也就是说每个用户访问服务器的时候,服务器并不知道是谁在访问它。 所以这个时候我们就需要利用会话技术来帮助服务器来记住客户端。

举个例子: 我们的web购物系统,我们用户将将准备买的物品信息存储在哪里呢?

会话技术到底是什么?

一次会话:从打开一个浏览器访问一个服务器站点,到关闭这个浏览器的整个过程称。 会话技术分为两种,Cookie和Session: + Cookie: 将数据存储在本地磁盘,可以减少服务器的存储压力,但是安全性能不好,客户端用户可以自发的清楚掉Cookie信息。 + Session:将数据存储在服务器中,安全性能好,但是服务器压力会比较大。

Cookie介绍

我用一个简单的例子来介绍Cookie是什么: 在我们日常生活中,比如我们是一个健身房的会员,健身房就会给你发一张VIP卡,这张VIP卡上面记录有你的姓名,联系方式,会员有效时间等等记录,每次你到健身房去健身,只要你拿出了这张健身卡别人就知道是你了。

这个例子就类似于我们用户第一次访问服务器,服务器也会像健身房一样给我们用户发送一些信息,用来记录用户信息。

一些Cookie的API

  • 创建一个cookie:
代码语言:javascript
复制
Cookie cookie = new Cookie(String cookieName,String cookieValue);
/* 注意:cookie不能存储中文信息*/
  • 设置Cookie的持久化时间:
代码语言:javascript
复制
cookie.setMaxAge(int seconds); /* 时间秒 */

注意:如果不设置持久化时间cookie会存储在浏览器的内存中,浏览器关闭的话Cookie的信息就销毁了,如果设置了持久化时间的话那么cookie将会被存储到磁盘文件中。

示例:

代码语言:javascript
复制
cookie.setMaxAge(10*60);

*设置cookie信息在浏览器的磁盘文件中存储的时间是10分钟,过期浏览器 自动删除该cookie信息*

  • 删除客户端的cookie: 如果想删除客户端的已经存储的cookie信息,那么就使用同名同路径的持久化时 间为0的cookie进行覆盖即可
代码语言:javascript
复制
代码语言:javascript
复制
cookie.setMaxAge(0);
  • 向客户端发送cookie:
代码语言:javascript
复制
response.addCookie(Cookie cookie);

服务器接受客户端的信息

代码语言:javascript
复制
//获得客户端携带的Cookie的数据
/*获得信息并且输出*/
Cookie[] cookie = request.getCookies();
//通过cookie名称获得想要的cookie
for (Cookie cookie1 : cookie) {
    String cookieName = cookie1.getName();
    if (cookieName.equals("name")) {
        String cookieValue = cookie1.getValue();
        System.out.println(cookieValue);
    }
}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java编程指南 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 其实Cookie和Session就是会话技术的两种,他们各自有各自的作用。会话技术的介绍
    • 一些Cookie的API
      • 服务器接受客户端的信息
      相关产品与服务
      对象存储
      对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档