1.cookie产生

识别用户:用来客户端和服务器端进行会话

  • HTTP是无状态协议,这就回出现这种现象:当你登录一个页面,然后转到登录网站的另一个页面,服务器无法认识到。或者说两次的访问,服务器不能认识到是同一个客户端的访问,这就让你重复登录,所以产生了cookie。

  • cookie:第一次访问一个服务器,不携带cookie,这时服务器在响应(response)下行HTTP报文中,命令浏览器携带cookie信息;浏览器再访问同一个域的时候,将把cookie信息携带到请求(request)上行HTTP请求中,从而实现了HTTP模拟有了状态。

  • 每个特定域名下面的cookie数量是有限制的,fixfox是50个,Opera是30个,chrome和safari是没有限制的

2.cookie的特点

  • cookie是不加密的

  • cookie是可以被篡改和攻击

  • cookie大小受到限制

3.Cookie的分类

  • 会话级别Cookie:所谓会话级别Cookie,就是在浏览器关闭之后Cookie就会失效。

  • 持久级别Cookie:保存在硬盘的Cookie,只要设置了过期时间就是硬盘级别Cookie。

4.session的产生

由于cookie明文等一些不足所以产生了session session依赖cookie,就是利用cookie,实现的“会话”,因此当cookie被禁用,session也无法使用。 session比cookie不一样在哪里呢? session会下发一个秘钥(cookie)(乱码),客户端每次访问都携带这个秘钥,那么服务器如果发现这个秘钥吻合,就能够显示这个用户曾经保存的信息。 任何语言中,session的使用,是“机理透明”的,也就是让你感觉不到这事儿和cookie有关

4.session特点和使用

session是加密的

var session = reqiure("express-session");
app.use(session({..一些配置
}));
app.get("/",function(req,res){console.log(req.sission.login);
});
app.get("/login",function(req,res){req.session.login = "1";
});
都是req对象

Session存在于服务器的内存中,如果服务器重启就会丢失session同时需要重新登录

6.session的工作方式

  • 通过URL传递SessionID

  • 通过Cookie传递SessionID

  • 通过SSL传递SessionID

  • 通过隐藏表单传递SessionID

7.cookie和session不同

  1. cookie数据存放在客户的浏览器上;session数据放在服务器缓存中。

  2. cookie是明文,不安全,别人利用cookie可以被篡改和攻击;而session存放服务器缓存中并且加密的,其他用户看不到。

  3. session会在一定时间内保存在服务器上。当用户访问增多,会比较占用你服务器内存,考虑到减轻服务器性能方面,使用cookie。

  4. 单个cookie保存的数据不能超过4K,如果cookie的内容超过4K的话,那么调用的时候就会返回一个空的字符串;session的密钥(cookie),可以对应无限大的数据

一文读懂什么是cookie和session。相关推荐

  1. 一文读懂HTTP/2及HTTP/3特性

    前言 HTTP/2 相比于 HTTP/1,可以说是大幅度提高了网页的性能,只需要升级到该协议就可以减少很多之前需要做的性能优化工作,当然兼容问题以及如何优雅降级应该是国内还不普遍使用的原因之一. 虽然 ...

  2. 一文读懂浏览器存储与缓存机制

    浏览器存储 Cookie Cookie 是 HTTP 协议的一种无状态协议.当请求服务器时,HTTP 请求都需要携带 Cookie,用来验证用户身份.Cookie 由服务端生成,存储在客户端,用来维持 ...

  3. 腾讯资深架构师干货总结:一文读懂大型分布式系统设计的方方面面

    1.引言 我们常常会听说,某个互联网应用的服务器端系统多么牛逼,比如QQ.微信.淘宝.那么,一个大型互联网应用的服务器端系统,到底牛逼在什么地方?为什么海量的用户访问,会让一个服务器端系统变得更复杂? ...

  4. 一文读懂阿里云网络 2020 云栖大会新品发布

    凌云时刻 · 极鲜速递 导读:阿里云网络新品来袭! 来源 | 洛神云网络技术 前言 企业上云,网络先行.在 2020 云栖大会上,阿里云基础产品事业部网络产品团队负责人祝顺民宣布了云网络一系列新品发布 ...

  5. 即时通讯新手入门:一文读懂什么是Nginx?它能否实现IM的负载均衡?

    本文引用了"蔷薇Nina"的"Nginx 相关介绍(Nginx是什么?能干嘛?)"一文部分内容,感谢作者的无私分享. 1.引言 Nginx(及其衍生产品)是目前 ...

  6. 从实验室走向大众,一文读懂Nanopore测序技术的发展及应用

    关键词/Nanopore测序技术    文/基因慧 随着基因测序技术不断突破,二代测序的发展也将基因检测成本大幅降低.理想的测序方法,是对原始DNA模板进行直接.准确的测序,消除PCR扩增带来的偏差, ...

  7. 一文读懂Faster RCNN

    来源:信息网络工程研究中心本文约7500字,建议阅读10+分钟 本文从四个切入点为你介绍Faster R-CNN网络. 经过R-CNN和Fast RCNN的积淀,Ross B. Girshick在20 ...

  8. 福利 | 一文读懂系列文章精选集发布啦!

    大数据时代已经悄然到来,越来越多的人希望学习一定的数据思维和技能来武装自己,虽然各种介绍大数据技术的文章每天都扑面而来,但纷繁又零散的知识常常让我们不知该从何入手:同时,为了感谢和回馈读者朋友对数据派 ...

  9. ​一文读懂EfficientDet

    一文读懂EfficientDet. 今年年初Google Brain团队在 CVPR 2020 上发布了 EfficientDet目标检测模型, EfficientDet是一系列可扩展的高效的目标检测 ...

最新文章

  1. 揭秘天猫双十一背后的那位贤内助
  2. new vue 方法参数_vue源码解析 lt;1gt; 数据驱动
  3. Python学习教程(Python学习路线):Python3之递归函数简单示例
  4. 音视频工程师(初步)(一)音视频的基本概念
  5. openwrt 网关烧写程序
  6. 基于Jquery的图片自动分组且自适应页面的缩略图展示特效
  7. Codeforces 1043F(容斥+dp)
  8. 面试常考:Java中synchronized和volatile有什么区别?
  9. Sign in - CodeProject
  10. Axure RP9新手教程
  11. QTreeView节点拖放
  12. MATLAB求余运算
  13. 勒索软件频繁升级,了解常见勒索软件很有必要
  14. C++多线程,线程函数传参显示没有重载函数接受4个参数
  15. C++记录程序运行时间5大方法
  16. 类加载器+反射+Properties
  17. https://blog.csdn.net/codezjx/article/details/8872090
  18. EOS系列六:wallet钱包、key公私钥对、account帐号的关系
  19. ftp文件盘服务器回档,企业网盘和FTP服务器对比
  20. 图文详解 新版VMware Workstation 7.0的最大特色

热门文章

  1. 手机网站支付(公钥证书方式)
  2. 搜集整理的一些博客导航
  3. 编译原理 C-Minus词法分析(FLEX)
  4. 做玫瑰花的方法 用纸_用纸折玫瑰花的方法简单又快速
  5. 广东省韶关市谷歌卫星地图下载
  6. 马士兵教你如何面试(记录原话)
  7. 如何用UE4制作2D游戏文档(二)——资源篇
  8. GIS的polygon和multipolygon
  9. uva 1471 Defense Lines
  10. 妈蛋的,写篇博客~~