状态保持

ps:为了加深自己对cookie和session的理解,所以准备记录一下,加深一下自己的记忆。 大神勿喷,有错的话还希望大神们能过指出来谢谢

首先说一下为什么要实现状态保持?
  • 因为浏览器请求服务器是无状态的
  • 无状态

    • 就比如说当你去使用浏览器去访问一个网站的时候,浏览器,网站无法知道你之前做过什么无法记住你是一个什么样的身份,每一此请求都是一个新的请求。
  • 无状态的原因

    • 浏览器和服务器使用的插座套接字进行通信的,使用的是TCP / IP协议,你的每一次请求都会三次握手,四次挥手。也就是说当浏览器和服务器建立连接后,服务器再把信息给你返回之后,会关闭当前的插座连接,并且服务器会在处理页面完毕之后会销毁页面对象
      -
  • 有些时候需要去保持用户浏览的状态,比如最经典的就是用户是否登陆过,如果没有实现状态保持,当你在这个页面登录过后,再去跳转到这个网站的另外一个页面,你还需要再次登录。

  • 实现状态保持的两种方式

    • 在客户端存储会话信息使用的cookie
    • 在服务器端存储会话信息使用会话
  • 他们两者的区别

    • 饼干直接把用户的信息写入到浏览器的cookie的当中,以键值对的形式来存储,并且不会加密
    • 会议是把用户的信息保存到服务器端,服务器可以指定会话的存储位置也是键值的形式,并且是加密存储,会给你返回一个叫会话ID的东西,通过这个SESSION_ID就可以找到所对应的信息,而不是向饼干一样直接暴露出来,但是会需要依赖于饼干,因为会议只是存储在服务器当中,如果不给用户的浏览器返回一个信息,那么也就相当于白搭,浏览器和服务器还是记不住用户,因为找不到对应的信息此时就需要向用户的浏览器的cookie的中写入一个叫会话ID的东西,通过传递会话ID服务器就能找到这个用户所对应的信息
      -
  • 为什么通过向浏览器写入cookie的就可以实现状态保持

    • 因为浏览器在向服务器发送请求的时候在请求报文中会自动的携带者服务器向它设置的饼干一起发送给浏览器,在服务器端只需要获取的cookie,就能够查询到对应的用户信息可以知道当前访问的用户是哪个用户,以此来记住用户
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值