27. cookie和session有什么区别

1.cookie

首先我们从四个方面来简要理解一些cookie:

  • cookie是啥?
    【是一个由程序员自己定义的字符串】

  • cookie从哪来?
    【从服务器中来,程序员会在服务器的header中写入一个Set-Cookie字段,把对应的值会存在浏览器中,这个值可以在响应中看到】

  • cookie存到哪?
    【cookie是按照域名来存的,每个域名都有自己的cookie,浏览器都是用域名来区分的,也就是每个浏览器的cookie都不一样】

  • cookie以什么形式保存?
    【cookie以键值对的形式把用户数据存入客户端中】

  • cookie怎么用?
    【可以用来识别身份信息的,但是通过抓包就能很容易的看到身份信息在cookie字段里呈现出来,这就大大增加的信息泄露问题?
    【session会产生一个随机字符sessionId,可以保证每次生成的字符不一样,给浏览器返回的cookie中包含sessionId就可以了,拿着sessionId就可以找到对应的用户信息】

  • sessionId被别人“拿走”了怎么办?
    【很多人的疑问在于“如果别人能获取到这个sessionId怎么办,不是会照样可以拿走用户的信息吗?” 其实session是有过期机制的,可以在session中保存该用户的session是何时建立的,以及何时要过期,就可以拿一个单独的线程不停的扫描session,只要发现过期就会自动删掉。如果别人拿走了sessionId,短期内是可以使用用户信息的,但是过了期限,session就自动删掉了,那么这个旧的session就失效了,相当于需要重新登陆】

版权声明:玥玥 发表于 2021-03-20 23:04:58。
转载请注明:27. cookie和session有什么区别 | 女黑客导航