zoukankan      html  css  js  c++  java
  • cookie和session

    cookie

    Cookie是一种浏览器和服务器交互数据的方式。

    Cookie是由服务器端创建,但是不会保存在服务器。

    创建好之后,发送给浏览器。浏览器保存在用户本地。

    下一次访问网站的时候,就会把该Cookie发送给服务器。

    创建一个cokkie:

    Cookie c = new Cookie("name", "cookie");//创建一个cookie,名字是name,值是cookie
    c.setMaxAge(24 * 60 * 60);//设置该cookie可以保留一天
    c.setPath("/");//Path表示访问服务器的所有应用都会提交这个cookie
    response.addCookie(c);//把这个cookie保存到浏览器

    获得cookie

    Cookie cookie  = request.getCookies("name");//获得name为name的cookie

    session

    Session对应的中文翻译是会话。 
    会话指的是从用户打开浏览器访问一个网站开始,无论在这个网站中访问了多少页面,点击了多少链接,都属于同一个会话。 直到该用户关闭浏览器为止,都属于同一个会话。

    session存储类似于Map,以键值对形式保存

    session.setAttribute("name", "huhu");
    session.getAttribute("name");

    区别

    存储数据量方面:session 能够存储任意的 java 对象,cookie 只能存储 String 类型的对象
    一个在客户端一个在服务端。因Cookie在客户端所以可以编辑伪造,不是十分安全。
    Session过多时会消耗服务器资源,大型网站会有专门Session服务器,Cookie存在客户端没问题。

    两者间联系与通信

    用户首次与Web服务器建立连接的时候,服务器会给用户分发一个 SessionID作为标识。SessionID是一个由24个字符组成的随机字符串。用户每次提交页面,浏览器都会把这个SessionID包含在 HTTP头中提交给Web服务器,这样Web服务器就能区分当前请求页面的是哪一个客户端。这个SessionID就是保存在客户端的,属于客户端Session。其实客户端Session默认是以cookie的形式来存储的。

  • 相关阅读:
    Spring+SpringMVC+MyBatis+easyUI整合进阶篇(十五)阶段总结
    [Beautifulzzzz的博客目录] 快速索引点这儿O(∩_∩)O~~,红色标记的是不错的(⊙o⊙)哦~
    OpenCV学习记录之摄像头调用
    很不错的python 机器学习博客
    华清远见Linux设备驱动(每章小结)
    Linux 查看服务器开放的端口号
    MySQL简单优化
    数据探索之数据质量分析
    两张图简说代理服务器和反向代理服务器
    集合类中嵌套定义和引用的举例
  • 原文地址:https://www.cnblogs.com/dong973711/p/10639989.html
Copyright © 2011-2022 走看看