zoukankan      html  css  js  c++  java
  • cookie session sessionStorage localStorage

    什么是会话?

      会话指的是浏览器与服务器之间的数据交互。所白了就是 浏览器和服务器进行的请求和响应。

      http协议是无状态的,多次请求之间没有关联性

      

    cookie和session的作用?干啥的?

      利用cookie和session可以进行会话保持, 会话保持就是指: 保持用户的登录状态,服务器记录了用户的登录信息,下一次访问服务器就认识该用户了

    关于cookie

        cookie是浏览器中储存数据的容器,大小为 4k

        cookie中的数据会在请求时,进行携带

        cookie默认是会话级别的,一旦关闭浏览器cookie就会被销毁

        cookie里面可以存储sessionid

        多页面共享(在同一个浏览器中)

        

    常见的一些面试问题

     1 cookie是浏览器中存储数据的容器,为什么服务器中可以获取cookie中的数据?

        因为cookie在向服务器请求时,会将cookie中的数据携带在请求头中;服务器可以读取请求头中的内容,从而间接的获取cookie中的数据。(cookie中的数据被放在请求头中,发送到服务器)

        2   cookie是浏览器中存储数据的容器,为什么服务器可以设置cookie中的数据? 

        服务器是无法直接修改cookie的,但是可以通过响应头来设置;setcookie设置的是响应头;set-cookie:'值' ,将来通知浏览器进行设置cookie.

    关于session

        session是服务器端储存数据的容器,每个用户都有自己的session空间

    session机制

        01 如果用户是第一次访问服务器,会自动生成一个sessionid,这个sessionid是一个随机字符串;

        02 根据sessionid,服务器就会为该用户开启一块session存储空间(会真的创建一个session文件,这个文件的名字就是sessionid,可以用来存储数据)

        03 通过响应头,将sessionid传递回浏览器,设置在cookie中

        04 第二次访问,cookie里面存储的数据会在请求时携带在请求头中,把sessionid携带着

        05 服务器根据sessionid就可以找到对应的session的文件,就认识这个用户了。

    sessionStorage

        浏览器中存储数据的容器, 5M

        会话级别的,一关闭浏览器就销毁

        多窗口之间不能共享

        不携带

    localStorage

        浏览器中存储数据的容器,5M       IE只有1M左右

        永久存储,只要用户不手动删除,一直存在

        多窗口可以共享

        不携带

      <script>
            1.  localStorage的api
    (1) 设置:localStorage.setItem(key , value)
    (2) 获取:localStorage.getItem( key )
    (3) 删除:localStorage.removeItem( key )
    (4) 清空所有:localStorage.clear()  慎用,会将所有清除
    注意:
        01 localStorage只能存储 字符串类型 的数据,读出来的数据 都是字符串
        02 localStorage储存复杂数据类型 
            (1)储存, obj=> jsonStr  将对象转换成有格式的json字符串
               JSON.stringify( obj/arry)  将复杂数据类型转成json格式的字符串    
               localStorage.setItem(key , value)存储
               
            (2)获取, jsonStr=> obj  
              localStorage.getItem( key )
              获取到的是json字符串,需要转换成js中的数组或对象
               JSON.parse( jsonStr )
      </script>

        

     

        

  • 相关阅读:
    很老的一篇文章:李翱(伊秀女性网):从程序员到精英站长的跨度
    推荐一款很好用的CSS下拉菜单框架
    网站推广之软文写作与发布技巧
    SEO网站外链接分析工具
    图解几大浏览器的区别(搞笑)
    好文摘抄:极简生活:一来,一去
    南通搜索引擎优化:浅谈国内SEO的发展趋势
    关注程序员健康之——程序员最有效的十大戒烟方法
    [你必须知道的css系列]第一回:丰富的利器:CSS选择符之通配符、类选择符、包含选择符、ID选择符
    [你必须知道的css系列]第一回:冠冕堂皇:CSS的作用及其基本结构
  • 原文地址:https://www.cnblogs.com/javascript9527/p/11329110.html
Copyright © 2011-2022 走看看