1. Cookie简介
Cookie是能够让网站服务器把少量文本数据存储到客户端的硬盘、内存,或是从客户端的硬盘、内存读取数据的一种技术。
需要cookiecookie作用流程
-
当你请求某个网站时;
-
该网站可能向你的电脑硬盘里写入一个非常小的文本文件,它可以记录你的用户ID、密码、停留的时间等信息,这个文件就是cookie文件;
-
当你再次来到该网站时,浏览器会自动检测你的硬盘,并将存储在本地的cookie发送给网站,网站通过读取cookie,得知你的相关信息,就可以做出相应的动作,如:直接登录,而无须再次输入账号和密码。
cookie分类:
cookie按照在客户端存储的位置,可以分为内存cookie
和硬盘cookie
。
-
内存cookie:
由浏览器维护,保存在内存中,浏览器关闭后就消失,其存在时间是短暂的。 -
硬盘cookie:
保存在硬盘里,有一个过期时间,除非是用户手动处理或到了过期时间,否则硬盘cookie不会被删除,其存在时间是长期的。
所以,cookie也可分为持久cookie和非持久cookie。
需要清楚:每个网站的cookie互不相关:
-
一个用户的电脑里可能有多个cookie存在,它们分别是不同网站存储的信息;
-
但是,不要担心···;
-
一个网站只能取回该网站本身放在电脑里的cookie,无法得知电脑上的其他网站的cookie信息,也无法取得其他任何数据。
cookie也是有限制的:
- 大多数浏览器支持最大为
4096B
的cookie,这样就限制了cookie的大小最多也只能在4KB
左右。 - 而且,浏览器也限制站点可以在用户计算机上存储cookie的数量,大多数浏览器只允许每个站点存储20个cookie。
- 如果试图存储更多的cookie,则最旧的cookie便会被丢弃。
- 有些浏览器还会对来自所有站点的cookie总数做出绝对限制,通常为300个。
请求数据时,cookie在哪里:
XSS会话劫持:
拿到用户cookie,无需输入用户的账号密码就能够登录用户的账户。
注意:
有些开发者使用cookie时,不会当作身份验证来使用,比如,存储一些临时信息,即使攻击者拿到了cookie也是没有用处的。因此,并不是说只要有cookie,就可以“会话劫持”。
2. session简介
除了cookie外,维持会话状态还有一种形式是session。
知识点:
-
session在计算机中,尤其是在网络应用中,被称为“会话”,Session机制是一种服务器端的机制,服务器使用一种类似散列表的结构来保存信息。
-
web中的session是指用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是一次客户端与服务器端的“对话”,被称为session,当浏览器关闭后,session自动注销。
-
每个用户的会话状态都是不同的session,不同角色登录网站,也是不同的session。
-
为了区分这些用户,服务器依靠的是提供用户唯一的sessionId。当用户第一次连接到服务器时,会自动分配一个sessionId,这个sessionId是唯一的且不会重复的“编号”。如果服务器关闭或者浏览器关闭,session将自动注销,当用户再次连接时,sessionId将会重新分配。
3. 两者的区别
session与cookie最大的区别在于,cookie是将数据存储在客户端
,而session则是保存在服务端,仅仅是在客户端存储一个ID
,相对来说,session比cookie要安全。
网友评论