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

  • 相关阅读:
    SQL Server 的事务和锁(一)
    Sql server脏读、更新丢失、不可重复读、幻象读问题及解决方案
    Sql server锁机制
    Windows系统变量列表
    windows运行命令大全
    C# 捕获数据库自定义异常
    sql日期函数
    C# ado.net 操作存储过程(二)
    C# ado.net 操作(一)
    url传参特殊字符问题(+、%、#等)
  • 原文地址:https://www.cnblogs.com/dong973711/p/10639989.html
Copyright © 2011-2022 走看看