Sssion与Cookie基本原理

成因

单纯信息展示的web1.0升级为web2.0后,出于对交互的需要。

特征

  • 都是服务器生成的。

  • 他们都是键值对应的,都是用来存储特定的数据。

  • Session是保存在服务器端,Cookie是保存在客户端。

    • 一般来说,SessionID会以Cookie的形式返回给客户端。SessionID相当于信用卡,Cookie类似于饭票/人民币(有防伪措施,发给客户端的)。
  • 都有生命周期

    • 一般来说,Cookie的使用都是由浏览器来自动完成。

    • 浏览器会自动将客户端存活的Cookie封装在请求信息头中发送给服务器,因此Cookie的生命周期一般收到2个因素的影响:1 Cookie本身的生命周期;2 客户端Cookie文件是否存在。

    • Session的生命周期一般来说主要由生命周期和连接是否关闭来决定。(PS:客户端连接关闭其实是客户端自己丢失了,服务器端其实还是可能存在Session的。
    • 都是由其作用域的。(Jmeter的session/cookie管理器的原因)session_destroy销毁(php)
    • 关闭浏览器session存活时间是服务设置的最大值

误区

  • session是随机的

SessionID是随机的,session不是随机的,有一定生成机制。

  • Cookie是安全的

黑客破解了生成机制就可以像盗版人民币一样。可以盗取其他用户的财产。截获SessionID就像盗刷信用卡,只能盗取这个用户的财产。重要信息如用户名,用session,不重要的如皮肤什么的用cookie做来降低服务器的负担。
- qq自动登录是保存的session吗?

流行的做法是oauth第三方认证

  • 任何认证的信息是服务器给的,session是最早的机制,因为会被破解,不够安全才有的第三方认证之类的认证机制。认证可以是任何形式,键值对,表单,第三方均可。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章