Cookie和Session

针对http无状态 的缺点

Cookie (客户端)

  • Cookie实际上是一小段文本信息. 客户端请求服务端, 如果服务端需要记录用户状态, 就先客户端发送一个Cookie
  • 客户端会把Cookie保存起来, 当浏览器再请求该网站时, 浏览器会把该Cookie一同提交给服务器, 服务器会检查该Cookie, 以此来认证用户


    image.png
  • 工作原理


    image.png
  • 有效期

Session (服务端)

  • Session是保存在服务器上的, 客户端访问服务端时, 服务端把客户端信息以某种形式记录在服务器上
  • 客户端再次访问时只需要从该Session 中查找该客户的状态就行了


    image.png
  • 保存Session ID的方式
    • Cookie

    • URL重写

      image.png

      image.png
    • 隐藏表单

  • 有效期
    • Session超时失效
    • 调用HttpSession.invalidate()
    • 服务器进程被停止

比较

  1. 存放位置不同
  2. 安全性(隐私策略)不同
  • Cookie在浏览器中, 对客户端是可见的, 客户端的其他程序会窥探它, 复制甚至修改它
  • 可以加密Cookie
  1. 有效期不同
  • Cookie 可以设置一个很长很长的保存时间
  • Session不行, 服务端会定时清理, 因为它占用服务端资源
  1. 对服务器压力不同
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Se...
    笨蛋小明阅读 4,645评论 1 1
  • cookie机制 当你访问一个支持cookie的网站时,用户把用户名等信息提交到服务器,接着,服务器在向客户端回传...
    戈弋图阅读 4,336评论 0 0
  • 写在前面 cookie和session的区别: 1、cookie数据存放在客户的浏览器上,session数据放在服...
    Pitfalls阅读 5,368评论 0 17
  • 1.为什么需要cookie和session 1.HTTP协议无连接 无连接 HTTP每次连接只处理一个请求,服务端...
    旺旺大仙贝阅读 3,169评论 0 0
  • 少至学前班儿童,老至六旬大爷大妈, 内至脏摊大厨,外至国际友人, 只要有人的地方, 总能看见各种颜色的皮肤、各种颜...
    冰糖红薯阅读 1,878评论 0 1