node15---cookie session

二、Cookie和Session
2.1 Cookie
● HTTP是无状态协议。简单地说,当你浏览了一个页面,然后转到同一个网站的另一个页面,服务器无法认识到,这是同一个浏览器在访问同一个网站。每一次的访问,都是没有任何关系的。
那么世界就乱套了,比如我上一次访问,登陆了,下一次访问,又让我登陆,不存在登陆这事儿了。
● Cookie是一个简单到爆的想法:当访问一个页面的时候,服务器在回复HTTP报文中发送cookie(cookie是服务器端生成的),命令浏览器存储一个字符串;浏览器再访问同一个域的时候,将把这个字符串携带到上行HTTP请求中。

第一次访问一个服务器,不可能携带cookie。 必须是服务器生成cookie,在响应报头中,携带cookie信息返回给浏览器,此后每一次浏览器往这个服务器发出的请求,都会携带这个cookie。

特点
● cookie是不加密的,用户可以自由看到;
● 用户可以删除cookie,或者禁用它
● cookie可以被篡改
● cookie可以用于攻击
● cookie存储量很小。未来实际上要被localStorage替代,但是后者IE9兼容。

express中的cookie(键值对),你肯定能想到。 res负责设置cookie, req负责读取cookie。

4.2 Session
会话。 Session不是一个天生就有的技术,而是依赖cookie。
session依赖cookie,当一个浏览器禁用cookie的时候,登陆效果消失; 或者用户清除了cookie,登陆也消失。

session比cookie不一样在哪里呢?  session下发的是乱码(sessionid,保持在cookie中,下次通过cookie中的sessionid获取服务端保存的信息),并且服务器自己缓存一些东西,下次浏览器的请求带着乱码上来,此时与缓存进行比较,看看是谁。

所以,一个乱码,可以对应无限大的数据。
任何语言中,session的使用,是“机理透明”的。他是帮你设置cookie的,但是足够方便,让你感觉不到这事儿和cookie有关。
4.3 session

加密使用的是MD5加密(麻省理工开发出来的)。
1  C4CA4238A0B923820DCC509A6F75849B
2  C81E728D9D4C2F636F067F89CC14862C
我爱北京天安没和陈伟:
97AFBA2EE71DE6A78B61149A391A378F
我爱北京天安没与陈伟:
CCB721C1E26067BBF4BB49DFDBFA0C9E
我爱北京天安没和陈猥:
C3D110D2441EF9323D3F1E6082E708F8

不管你加密多大的东西,哪怕10M文字,都会加密为32位的字符串,就是密码。并且神奇的,数学上能够保证,哪怕你更改1个文字,都能大变。所以MD5也能用于比对版本。

MD5是数学上,不能破解的。  不能反向破解。
也就是说,C4CA4238A0B923820DCC509A6F75849B 没有一个函数,能够翻译成为1的。
但是,有的人做数据库,就是把1~999999所有数字都用MD5加密了,然后进行了列表,所以有破解的可能。

时间: 2024-10-07 05:52:04

node15---cookie session的相关文章

【转】学习总结--Cookie & Session总结

转载地址:http://www.phperzone.cn/portal.php?aid=718&mod=view 一.状态管理1)什么是状态管理?   将浏览器与web服务器之间多次交互过程当做一个整体来处理,并且将多次交互所涉及的数据进行管理.2)状态管理技术cookie:    a,什么是cookie?   是一种客户端(浏览器)的状态管理技术.   浏览器在访问web服务器的时候,服务器会将少量的数据以set-cookie消息头的方式发送给浏览器,浏览器会将这结数据保存下来:当浏览器再次访

Cookie&&Session会话技术之再体验

1.转发与重定向[****]    * 重定向:重新确定请求方向        * 发送者:服务器 --> 响应(response)浏览器        * 执行者:浏览器 --> 重新请求        * 跳转        * response.sendRedirect("/day04/1.html");        * //完全等价,隐藏了HTTP协议的具体要求        * response.setStatus(302);        * response

cookie,session,sessionid

http协议是无状态的,意思是每次请求的状态不会保存.因此,产生了cookie,session之类保存会话状态的机制.1.什么是cookiecookie将信息存储在客户端浏览器中.cookie的内容主要包括:key,value,expire_time,path(路径),domain(域)浏览器发送请求是会查找对应的path,domain,把符合的cookie自动发送给服务器. 2.什么是sessionsession在服务器端生成,然后会将对应的sessionid在浏览器端使用cookie保存起来

Cookie & Session & CSRF

新blog地址:http://hengyunabc.github.io/cookie-and-session-and-csrf/ 在线幻灯片地址:Cookie & Session & CSRF

cookie,session,token的定义及区别

参考了很多文章总结的. 1.cookie(储存在用户本地终端上的数据) 服务器生成,发送给浏览器,浏览器保存,下次请求同一网站再发送给服务器. 2.session(会话) a.代表服务器与浏览器的一次会话过程,这个过程是连续的,也可以时断时续的. b.cookie中存放着一个sessionID.请求时会发送这个ID. c.session因为请求(request对象)而产生. d.session是一个容器,可以存放会话过程中的任何对象. e.session的创建和使用总在服务端,而浏览器从来都没得

Django9 Cookie&Session

Cookie 获取Cookie request.COOKIES["key"] request.get_signed_cookie(key, default=RAISE_ERROR, salt="", max_age=None) # 参数 # default:默认值 # salt:加密盐 # max_age:后台控制过期时间 设置Cookie rep = HttpResponse(...) 或 rep = render(request, ...) rep.set_co

cookie session token 之间的区别

cookie 和session的区别 1.cookie数据存放在客户的浏览器上,session数据放在服务器上. 2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session. 3.session会在一定时间内保存在服务器上.当访问增多,会比较占用你服务器的性能 考虑到减轻服务器性能方面,应当使用COOKIE. 4.单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie. token 和session

cookie&session的比较

* ---------------------cookie&session的比较(1)--------------------------- * 1.存储地点: * cookie存储于客户端 * session存储于服务器端 * 2.安全性 * cookie安全性低,易伪造篡改(因存储于客户端) * session安全性较高(存储于服务器端) * 3.可存储类型 * cookie只能存储字符串/数字等标量类型,不能存数组对象等 * session可以存储数组/对象(资源除外) * -------

express使用cookie,session

cookie 存在浏览器,4k,不安全 签名,加密,(提高一点点安全性) session 存在服务器,安全, 不能独立存在,基于cookie, cookie 使用 var cookieParser = require('cookie-parser'); server.use(cookieParser('签名字符串')) server.use(function(req,res){ res.cookie(名字,值,{signed:true})//设置cookie res.clearCookie('名

会话Cookie及session的关系(Cookie & Session)

会话Cookie及session的关系(Cookie & Session) 在通常的使用中,我们只知道session信息是存放在服务器端,而cookie是存放在客户端.但服务器如何使用session和客户端之间进行通信,以及jsessionId是怎么回事,这并没有一个完整和正确的认识,因此这里将这类信息汇总. session中的jsessionId是在session创建好之后,发送给客户端.然后在每一次请求中,客户端即会将这个信息传递给服务器端,服务器端使用这个信息来维护和客户端之间的会话通信,