• 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的形式来存储的。

  • 相关阅读:
    SAX解析XML笔记
    使用 Angular 2 来创建FlexGrid控件
    算法-快速排序(优雅版)
    使用泛型简化动态代理
    Java泛型概述
    POI-PPT官方文档
    Java 利用POI操作PPT
    Java8学习笔记(九)--日期/时间(Date Time)API指南
    Java8学习笔记(八)--方法引入的补充
    Android WebView加载本地html并实现Java与JS交互
  • 原文地址:https://www.cnblogs.com/dong973711/p/10639989.html
Copyright © 2020-2023  润新知