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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

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,因此不要用来保存数据集及其他大量数据.
  1. 什么是session

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

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

在我们生活中的例子

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

  1. 相同点

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

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

  1. 不同点重点 面试中会遇到

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

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

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

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

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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: nginx

“我在学习Nginx的时候认识的cookie和session,有什么不同?” 的相关文章