session和cookie关系

以前老是对session和cookie这两个概念很模糊,今天就研究下他们的原理和关系前端

在说session和cookie以前,咱们先来讲说session和cookie出现的缘由算法

众所周知,http是无状态的,也就是说在客户端和服务器链接期间,客户端向服务器发送的请求是不带用户信息的,因此咱们是没法辨别出这个请求是哪一个用户发出的。数据库

为了解决这个问题,就得借助其余技术,cookie和session就由此诞生服务器

首先须要阐明的一点:session是一种网络通信的会话机制,而cookie只是实现这种机制的主流方案中的一个,cookie通常是用来保存sessionID的cookie

Cookie原理

Cookie是存储在客户端的一段数据,一般记录一些网站的密码和用户名等,当客户端发送请求的时候,服务端须要记住这个用户的信息,就在返回给前端的数据中设置Cookie,客户端接受到这个请求后,会把Cookie保存起来,当再次访问服务器的时候将会带上这个Cookie,服务器经过这个Cookie来获取用户状态网络

基本过程:session

Cookie有不少的参数,能够根据这些参数设置Cookie的过时时间和是否能被js更改等post

若是客户端禁用了Cookie,一般客户端会采用url重写技术,好比会在url后面加上一个诸如sid=xx的参数网站

Session原理

session是保存在服务端的,当用户登陆系统后,服务端会根据一个算法,生成一个sessionID,这个sessionID惟一标识一个会话,服务端将这个sessionID存储在内存中,数据库或者文件当中,并设定必定的有效期,并将sessionID写入到Cookie当中返回给客户端,当下一次客户端请求的时候会带上sessionID,服务端会将客户端中的Cookie与服务端中记录的进行比较,从而肯定一个会话url

基本过程:

参考连接:

juejin.im/post/5aede2…

juejin.im/post/5bbc47…

相关文章
相关标签/搜索