Cookie简介

Cookie(复数形态Cookies),中文名称为“小型文本文件”,指某些网站为了辨别用户身份或存储用户相关信息而存储在用户本地终端(Client Side)

上的数据(通常为加密数据)。比如用户ID、密码、浏览过的网页等。

Cookie特点:

  • 保存在客服端,一般由浏览器存储。
  • 通常加密存储,由于存储本地,难保证安全,所以不宜存敏感信息
  • 服务器决定保存的Cookie信息及时间。

说明:响应报文头中,有一个Set-Cookies域,用于指示浏览器或其他客户端,在本地保存Cookie信息

  • Cookie保存在客户端本地的目的是为了下次访问网站时,可以直接调取,上送服务器。

说明:请求报文中,有一个cookies域专门用于存放该信息,以便客户端发送Cookie信息给服务器。如下图所示:

Session简介

1.       为什么会出现session:

Cookies的工作机制是用户识别状态管理(比如保存用户的用户名、邮箱、地址等等),web网站为了管理用户的状态,通过web浏览器把一些数据,作为Cookies信息临时写入用户的计算机内,当用户再次访问web网站时,会将之前保存的Cookies(假如没有过期的话)取出来,发送给web网站,就实现了用户识别和状态管理。

这种机制的缺点:

  • 数据保存在客户端本地,不安全
  • 每次访问都要发送保存的Cookies数据,当网络访问量大的时候,会浪费网络带宽。

与Cookies不同的是,Session数据保存在服务端,一般存在服务器内存中。客户端与服务器通过一个SessionID来进行沟通,为了唯一,这个SessionID是一个32或48字节的随机字符串。

2.       SessionID的传送过程:

当客户端首次登录web系统后,web系统会通过响应报文,返回给客户端一个Key-Value格式的sessionID,当客户端第二次通过对web系统发起请求的时候,只要带上这个SessionID,web系统的服务端就能够通过这个SessionID在内存中找到这个客户端对应的客户信息和状态。

3.       SessionID缺点:

  • 内存消耗大。
  • 当web系统是多个节点的分布式系统时,需要做一些特殊设计和处理才能实现Session内容多节点的共享

Cookie和session的区别:

数据存储方式:

  1. Cookie数据保存在客户端浏览器中。
  2. Session数据保存在服务器内存中。

安全性:

  1. Session存储数据相对Cookie 存储数据更安全。

资源占用:

  1. Cookie 在网路访问量大时对网络带宽消耗较大。
  2. Session内存消耗较大,且在分布式系统中,要实现Session多节点共享比较麻烦。

Cookie和session工作原理示意图:

 

浅谈cookie和session的更多相关文章

  1. 浅谈cookie 和session 的区别

    具体来说 cookie 是保存在“客户端”的,而session是保存在“服务端”的 cookie 是通过扩展http协议实现的 cookie 主要包括 :名字,值,过期时间,路径和域: 如果cooki ...

  2. (进阶篇)浅谈COOKIE和SESSION关系和区别

    COOKIE介绍 cookie 常用于识别用户.cookie 是服务器留在用户计算机中的小文件.每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie.通过 PHP,您能够创建并取回 coo ...

  3. 浅谈cookie与session的区别

    cookie用的是在客户端保持状态的方案(它是在用户端的会话状态的存贮机制),前端也可以来设置他 所有浏览器都识别,并且会缓存在浏览器中. cookie是以key=value这种键值对的形式保存,每个 ...

  4. 浅谈cookie、session

    揭秘Cookie: cookie说的直白点就是保存在用户浏览器端的一个键值对,举个例子,你现在登录了京东商城,你把浏览器关闭之后,你再打开京东,你还是可以对你的账户继续操作,已经购买的商品,订单都是可 ...

  5. 浅谈Cookie、Session与Cache的区别

    以前实现数据的缓存有多种方法,如客户端的Cookie,服务器端的Session.Application. 一.Cookie Cookie是保存客户端的一组数据,主要用来保存用户的个人信息,主要存放浏览 ...

  6. 浅谈cookie 和 session

    一. cookie 定义:保存在浏览器本地上的一组组键值对 特点: 由服务器让浏览器进行设置的 浏览器保存在浏览器本地 下次访问时自动携带 应用: 登录 保存浏览习惯 简单的投票 使用cookie的原 ...

  7. 浅谈 cookie 和 session

    1.关闭浏览器后,session是否还存在? session在服务器和客户端各保留一个副本,关闭浏览器与否和session是否存在没有任何关系. session采取的是服务器端保持状态的方案,它存储在 ...

  8. 浅谈Cookie与Session技术

      一.什么是状态管理 将客户端与服务器之间多次交互当做一个整体来看,并且将多次交互所涉及的数据(状态)保存下来. 会话:当用户打开浏览器,访问多个WEB资源,然后关闭浏览器的过程,称之为一个会话,选 ...

  9. 浅谈cookie测试

    Cookie 提供了一种在Web 应用程序中存储用户特定信息的方法,例如存储用户的上次 访问时间等信息.假如不进行cookie存储一个网站的用户行为,那么可能会造成以下问题:用户进行购买几件商品转到结 ...

随机推荐

  1. linux configure 应用

    linux下configure命令详细介绍 2018年01月11日 15:02:20 冷月霜 阅读数:705 标签: configure 更多 个人分类: 数据库技术   Linux环境下的软件安装, ...

  2. 多阶段构建Docker镜像

    在Docker 17.05及更高的版本中支持支持一种全新的构建镜像模式:多阶段构建: 多阶段构建Docker镜像的最大好处是使构建出来的镜像变得更小: 目前常见的两个构建镜像的方式为: 1.直接使用某 ...

  3. webpack学习最基本的使用方式(一)

    网页中引入的静态资源多了以后会有什么问题.? 1.网页加载速度慢,因为我们要发起很多的二次请求 2.要处理错综复杂的依赖关系 如何解决上面的问题 1.合并,压缩图片,使用精灵图 2.可以使用之前学过的 ...

  4. Mac自动化环境

    1. JDK安装 下载JDK for Mac 我这里使用的是  jdk-7u79-macosx-x64.dmg 验证安装open Terminal  java -version java versio ...

  5. 三、糖醋鲤鱼(Sweet and sour carp)

    糖醋鲤鱼是用鲤鱼制作的一道山东济南传统名菜,为鲁菜的代表菜品之一 ,色泽金黄,外焦内嫩,酸甜可口,香鲜味美. 菜品历史 <诗经>载:岂食其鱼,必河之鲤.<济南府志>上早有&qu ...

  6. 10. vue axios 请求未完成时路由跳转报错问题

    axios 请求未完成时路由跳转报错问题 前两天项目基本功能算是完成了,在公司测试时遇到了遇到了一个问题,那就是在请求未完成时进行路由跳转时会报错,想了几种办法来解决,例如加loading,请求拦截, ...

  7. gdbserver移植到DM368板子上的过程 以及segment fault problem

    问题描述 我在PC机上安装了gdbserver,但是移植到板子上后却出现了问题.运行不了,显示错误:"segment fault". 决定重新在另一台虚拟机上gdbserver. ...

  8. Java 读取excel 文件流

    public static void initType(String path) { try { //1 获取excel文件流 excel xls 文件 暂不支持xlsx if (path.conta ...

  9. 构建一个 预装 pm2 的 node 项目 docker 底包

    Dockerfile: 创建 dockerfile 文件, 命名为 dockerfile-yourProject-node.8.12.0-pm2 # MAGE: yourGroup/yourProje ...

  10. 源码级调试的XNU内核

    i春秋翻译小组-FWorldCodeZ 源码级调试的XNU内核 无论你是在开发内核扩展,进行漏洞研究,还是还有其他需要进入macOS / iOS内核,XNU,有时你需要附加调试器.当你这样做时,使用源 ...