美文网首页
cookies & session

cookies & session

作者: 天渊hyominnLover | 来源:发表于2018-08-15 11:04 被阅读10次

    cookie和session的联系和区别

    cookie存放于用户浏览器,session存放于服务器内存,两者通常是协调工作

    session

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

    • session会话时长据服务器设置,一般在二三十分钟左右

    cookie

    • cookie是客户端保存用户信息的机制,用来记录用户相关的信息(uid等),也是实现session的一种方式

    • cookie是存储key-value对的一个文件,是由服务器将cookie添加到response里一并返回给客户端,然后客户端会自动把response里的cookie接收下来,并且保存到本地,下次发出请求的时候,就会把cookie附加在request里,服务器在根据request里的cookie遍历搜索是否有与之符合的信息

    • 大多数应用是用cookie来实现session跟踪

    • cookie安全性不如session,如果能够截获某个用户的cookie变量,然后伪造一个数据包发送过去,那么服务器还是认为你是合法的,所以使用 cookie被攻击的可能性比较大

    • 可人为设置 cookie有效时长

    使用cookie的前提

    • 不要保存私人信息
    • 任何重要数据,最好通过加密形式来保存数据(最简单的可以用URLEncode,当然也可以用完善的可逆加密方式,最好不要用md5来加密)
    • 是否保存登陆信息,需有用户自行选择
    • 长于10K的数据,不要用到Cookies
    • 不要用Cookies来玩点让客户惊喜的小游戏

    cookie和session如何协作?

    • 服务器第一次创建session时,会在cookie里面记录一个jssesionid,以此来为每个用户进行标记

    • 每次HTTP请求,客户端都会发送相应的cookie信息到服务端,由服务器识别用户信息

    • session是用户在服务器配置的单独的储物柜,cookie就是打开这个储物柜的钥匙

    • 新开一个窗口,等于是新开启一个对话,服务器需要通过浏览器的jsessionid来确认是否是之前同一个对话(session)

    浏览器禁用cookie咋办?

    利用URL重写技术:每次HTTP交互,URL后面都会附加一个sid=XXXXX格式的参数,服务器以此来识别用户(详见jsp章节)

    相关文章

      网友评论

          本文标题:cookies & session

          本文链接:https://www.haomeiwen.com/subject/wbmibftx.html