Cookies与Session小结

Cookies

Cookie 是服务器保存在浏览器的一小段文本信息,一般大小不能超过4KB。浏览器每次向服务器发出请求,就会自动附上这段信息。

  • cookie中的数据是以域名的形式进行区分的。
  • cookie中的数据是有过期- 时间的,超过时间数据会被浏览器自动删除。
  • cookie中的数据会随着请求被自动发送到服务器端。

Cookie 主要保存状态信息,以下是一些主要用途。

  • 对话(session)管理:保存登录、购物车等需要记录的信息。
  • 个性化信息:保存用户的偏好,比如网页的字体大小、背景色等等。
  • 追踪用户:记录和分析用户行为。

每个 Cookie 都有以下几方面的元数据。

  • Cookie 的名字
  • Cookie 的值(真正的数据写在这里面)
  • 到期时间(超过这个时间会失效)
  • 所属域名(默认为当前域名)
  • 生效的路径(默认为当前网址)

Cookies与Session小结
存储在客户端
存储数据量小
不安全

Session

实际上就是一个对象,存储在服务器端的内存中,在session对象中也可以存储多条数据,每一条数据都 有一个sessionid做为唯一标识。

  • 存在服务器的一种用来存放用户数据的类HashTable结构。
  • 浏览器第一次发送请求时,服务器自动生成了一HashTable和一Session ID来唯一标识这个HashTable,并将其通过响应发送到浏览器。
  • 浏览器第二次发送请求会将前一次服务器响应中的Session ID放在请求中一并发送到服务器上,服务器从请求中提取出Session ID,并和保存的所有Session ID进行对比,找到这个用户对应的HashTable。
  • 一般这个值会有个时间限制,超时后毁掉这个值,默认30分钟。
  • 当用户在应用程序的 Web页间跳转时,存储在 Session 对象中的变量不会丢失而是在整个用户会话中一直存在下去。
  • Session的实现方式和Cookie有一定关系。建立一个连接就生成一session id,打开几个页面就好几个了,这里就用到了Cookie,把session id存在Cookie中,每次访问的时候将Session id带过去就可以识别了.

存储在服务端
存储数量大
安全性高
Cookies与Session小结
Cookies与Session小结
Cookies与Session小结