Cookie简介 

  • 简介       
        工程师 针对 http协议是无连接、无状态特性,设计的 一种技术。 可以在浏览器端 存储用户的信息。 
  • 特性    
  1.  cookie 用于存储 用户临时的不敏感信息。 
  2.  cookie 位于浏览器(客户端)端。
  3.   默认大小 4k(可以调整) cookie 中的数据,可以随意被访问,没有安全性可言。
  4.  cookie 中存储的数据类型, 受浏览器限制。 

为什么使用Cookie

           由于http协议是一种无状态的协议(客户端和服务端互相不认识)
            Cookies是一些存储在用户电脑上的小文件。它是被设计用来保存一些站点的用户数据,这样能够让服务器为这样的用户定制内容。页面代码能够获取到Cookie值然后发送给服务器,
    比如Cookie中存储了所在地理位置,以后每次进入地图就可以默认定位到改地点。

Cookie的原理 


  1. 浏览器第一次发送请求(验证码请求)给服务器,服务器会生成一个Session-id 与Session对象。并将Session-id 回传给浏览器,此时Cookie会保存Session-id。
  2. 当浏览器第二次请求(登录请求)会发送账号、密码、验证码,同时携带Cookie给服务器,服务器会校验账号、密码,如果正确,会生成一个用户凭证(user_id)保存在Session对象中,表示用户登录成功。       
  3. 当浏览器第三次发送请求时,只携带cookie(session-id ),服务器会查找 session-id对应的session对象是否有user-id。有则以登录,无则未登录。 

面试题 Cookie 和 Session 区别   

1. 数据存储位置: cookie存储在浏览器;session存储在服务器。 
2. 安全性: cookie中的数据可以随意获取,没有安全性可言。Session的数据多为加密存储,安全较高! 
3. 数据类型: cookie支持的数据类型受浏览器限制,较少;Session直接使用服务器存储,支持所有数据类型
4. 大小: cookie大小默认 4k; Session 大小约为服务器存储空间大小。