我在学习Nginx的时候认识的cookie和session,有什么不同?

简介: 我在学习Nginx的时候认识的cookie和session,有什么不同?

cookie是一种面向客户端存储机制

session是一种面向编程面向服务器的存储

首先要知道,他们两个机制不是两连的,他们都是分开的机制,不是使用cookic就必须有session,这是初学者的一个误区。

大家接触过http协议相关服务的应该会有更深入的理解

1.什么是cookie?

cookie它的核心功能就是存储,当我们浏览器去访问服务器的时候,会产生一定cookie来存储到本地,当我们再次去访问服务器的时候,就会带上我们的请求网站和cookie一同去发送给我们的服务器,并且在返回请求的时候,会告诉浏览器增加或者删除某些cookie内容


这里我们需要注意cookic的几点特性:

1.安全问题:浏览器存储cookie时是使用的明文来进行保存的,如果我们保存的一些重要信息,需要格外注意。
2.cookie的失效时间:如果没有设置Cookie失效日期,它们仅保存到关闭浏览器程序为止,如果将Cookie对象的Expires属性设置为Minvalue,则表示Cookie永远不会过期.
3.cookie的存储空间:Cookie存储的数据量很受限制,大多数浏览器支持最大容量为4K,因此不要用来保存数据集及其他大量数据.

2.什么是session?

session呢是一种基于服务器和客户端都要存储的一个唯一标志,也叫做session_id,当我们使用session机制时,会将信息来保存到服务器端同时也会生成一个session_id,也会在浏览器中生成一个session_id,它的作用时当浏览器再次访问服务器时会将客户端session_id发往服务器端,然后进行比对,这样浏览器就对拿到相对应的信息

专业来说就是我们客户端app是如何实现session的,这里一般没有cookie。app用户登陆后,服务器返回一个唯一ID,app储存起来,在每次请求服务器的时候,都带上这个ID,这样服务器接收到,就知道你是谁,然后做一些逻辑处理。

在我们生活中的例子:

比如我们在访问京东网页时,这时我们要登录才可以购买东西,我现在输入账号密码登录到京东后,此时我们的浏览器就会保存缓存和唯一标识符,服务器端也会保存缓存信息,叫做session,但是目前互联网人流较大,网络运营商都会采用多台服务器来进行做负载均衡,所以需要一个唯一标识符来作为标记,这样当一台具有session_id的浏览器来可以对应上它所保存的session缓存信息,这个唯一标识符叫做session-ID,这个就可以实现缓存功


3.相同点

1.cookie和session都是用来跟踪浏览器用户身份的会话方式。

2.都是为了缓存存储来提高网站速率


4.不同点(重点 面试中会遇到)

存储:cookie数据保存在客户端,session数据保存在服务端。

安全:cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。

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

数据存储空间:单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

信息重要程度:可以考虑将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中。


目录
相关文章
|
19天前
|
负载均衡 应用服务中间件 数据处理
Nginx学习使用
Nginx学习使用
38 0
|
1月前
|
存储 自然语言处理 API
Session、cookie、token有什么区别?
Session、cookie、token有什么区别?
24 1
|
2月前
|
存储 开发框架 NoSQL
ASP.NET WEB——项目中Cookie与Session的用法
ASP.NET WEB——项目中Cookie与Session的用法
36 0
|
2月前
|
存储 安全 API
Cookie,Session和Token
Cookie,Session和Token
|
11天前
|
存储 JSON 安全
|
1月前
|
数据采集 存储 安全
登录态数据抓取:Python爬虫携带Cookie与Session的应用技巧
登录态数据抓取:Python爬虫携带Cookie与Session的应用技巧
|
1月前
|
存储 安全 搜索推荐
Django中Cookie和Session的使用
Django中Cookie和Session的使用
21 0
|
1月前
|
存储 安全 对象存储
Cookie和Session的区别:从原理到应用
【2月更文挑战第18天】
56 6
|
1月前
|
存储 搜索推荐 安全
【Web开发】cookie和session
【Web开发】cookie和session
|
2月前
|
存储 搜索推荐 安全
Java Web开发中的会话管理:Cookie与Session对比
Java Web开发中的会话管理:Cookie与Session对比