【渗透测试】(番外1)初识session与cookie

1.初识session与cookie:

  • 具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到关闭浏览器所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。
  • 一个Session的概念需要包括特定的客户端,特定的服务器端以及不中断的操作时间。A用户和C服务器建立连接时所处的Session同B用户和C服务器建立连接时所处的Session是两个不同的Session。
  • 典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态,它并不知道是哪个用户操作的,所以服务端为特定的用户创建了特定的Session,用用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书。这个Session是保存在服务端的,有一个唯一标识。

  • session创建于服务器端,保存于服务器,维护于服务器端,  每创建一个新的Session,  服务器端都会分配一个唯一的ID,并且把这个ID保存到客户端的Cookie中,保存形式是以JSESSIONID来保存的。
  • 思考一下服务端是如何识别特定的客户的?
    这个时候Cookie就登场了。每次HTTP请求的时候,客户端都会发送相应的Cookie信息到服务端。实际上大多数的应用都是用 Cookie 来实现Session跟踪的,第一次创建Session的时候,服务端会在HTTP协议中告诉客户端,需要在 Cookie 里面记录一个Session ID,以后每次请求把这个会话ID发送到服务器,我就知道你是谁了。
  • 有人问,如果客户端的浏览器禁用了 Cookie 怎么办?一般这种情况下,会使用一种叫做URL重写的技术来进行会话跟踪,即每次HTTP交互,URL后面都会被附加上一个诸如 sid=xxxxx 这样的参数,服务端据此来识别用户。

Cookie是浏览器保存信息的一种方式,可以理解为一个文件,保存到客户端,服务器可以通过响应浏览器的set-cookie的标头,设置Cookie的信息,保存在客户端。你可以给这个文件设置一个期限,这个期限,不会因为浏览器的关闭而消失啊。其实大家应该对这个效果不陌生,很多购物网站都是这个做的,即使你没有买东西,他也记住了你的喜好,会优先推荐你喜欢的东西啊,他们也真是煞费苦心了啊。


总结
Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中;

Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式


参考:

  1. 测试百晓生公众号:https://mp.weixin.qq.com/s/qcuWo0agOf9Zmz3YXpzzug?
  2. session百度百科:https://baike.baidu.com/item/session/479100?fr=aladdin
  3. cookie百度百科:https://baike.baidu.com/item/cookie/1119












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值