资讯专栏INFORMATION COLUMN

cookie和session同与异

Barrior / 2967人阅读

摘要:是明文,不安全,别人利用可以被篡改和攻击而存放服务器缓存中并且加密的,其他用户看不到。当用户访问增多,会比较占用你服务器内存,考虑到减轻服务器性能方面,使用。

面试和工作中有时候碰到cookie和session的同异,现在小结如下:
首先看cookie
cookie增删改查:http://www.w3school.com.cn/js...

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.node使用
//使用cookie必须要使用cookie-parser中间件
var cookieParser = require("cookie-parser");
app.use(cookieParser()); 
express中的cookie: res负责设置cookie, req负责识别cookie。
cookie用来制作记录用户的一些信息,如购买历史、猜你喜欢、访问量等

现在看session

4.session产生

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

5.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.cookie和session不同

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

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

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

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/87086.html

相关文章

  • setTimeoutsetInterval的区别

    摘要:和函数的同与异同都接受两个参数,一个是将要执行的代码块,一个是以毫秒为单位的时间间隔,当过了设定的时间间隔就执行代码块部分。 setTimeout()和setInterval()函数的同与异:同:都接受两个参数,一个是将要执行的代码块,一个是以毫秒为单位的时间间隔,当过了设定的时间间隔就执行代码块部分。异:setTimeout(codeblock, millisec)函数只执行一次代码...

    Scorpion 评论0 收藏0
  • sessioncookie

    摘要:的作用就是为了解决协议无状态的缺陷所作的努力。的内容主要包括名字,值,过期时间,路径和域。这种生命期为浏览器会话期的被称为会话。而机制采用的是一种在服务器端保持状态的解决方案。中的有效期默认分钟,也就是说,客户端超过分钟,当前就会失效。 会话控制是什么? cookie和session都是跟踪整个会话过程的技术手段。而会话,就是用户通过浏览器和服务器的一次通话。 为什么要有会话控制? 因...

    ruicbAndroid 评论0 收藏0
  • sessioncookie机制及laravel框架下相关应用

    摘要:服务器检查该,以此来辨认用户状态。五下的相关应用应用在中配置如下配置项用于设置存储方式,默认是,即存储在文件中,该文件位于配置项配置的路径,即。配置项用于设置有效期,默认为分钟。配置项用于配置数据是否加密。 一、cookie的由来   当用户访问某网站时,web服务器会将部分信息保存到本地计算机上,当用户再次关顾该网站时,服务器会去查看用户是否登录过该网站,如果登录过,就会将这些记录在...

    NicolasHe 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<