叫兽和学生的故事,这尺度也太尼玛大了吧(狗头)

Posted 新网工李白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了叫兽和学生的故事,这尺度也太尼玛大了吧(狗头)相关的知识,希望对你有一定的参考价值。

今天给大家带来一个叫兽和学生的故事😱
在这里插入图片描述故事情节请看换个姿势😍

Cookie、Session常在HTTP中被提到

Cookie是什么?

在这里插入图片描述
Cookie:
n. 饼干;小甜点

Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息。如何识别特定的客户呢?cookie就可以做到。每次HTTP请求时,客户端都会发送相应的Cookie信息到服务端。它的过期时间可以任意设置,如果你不主动清除它,在很长一段时间里面都可以保留着,即便这之间你把电脑关机了。

在这里插入图片描述

既然它是存储在客户端的,换句话说通过某些手法我就可以篡改本地存储的信息来欺骗服务端的某些策略,那该怎么办呢?

Session是什么?

Session:
n. 会话

Session是在无状态的HTTP协议下,服务端记录用户状态时用于标识具体用户的机制。它是在服务端保存的用来跟踪用户的状态的数据结构,可以保存在文件、数据库或者集群中。在浏览器关闭后这次的Session就消失了,下次打开就不再拥有这个Session。其实并不是Session消失了,而是Session ID变了,服务器端可能还是存着你上次的Session ID及其Session 信息,只是他们是无主状态,也许一段时间后会被删除。

Cookie与Session都是会话的一种方式。它们的典型使用场景比如“购物车”,当你点击下单按钮时,服务端并不清楚具体用户的具体操作,为了标识并跟踪该用户,了解购物车中有几样物品,服务端通过为该用户创建Cookie/Session来获取这些信息。

在这里插入图片描述
在这里插入图片描述

目前大多数的应用都是用 Cookie 实现Session跟踪的。第一次创建Session时,服务端会通过在HTTP协议中反馈到客户端,需要在 Cookie 中记录一个Session ID,以便今后每次请求时都可分辨你是谁。

有人问,如果客户端的浏览器禁用了 Cookie 怎么办?

阻止所有Cookie,点击逼站看效果
在这里插入图片描述
在这里插入图片描述
阻止所有Cookie,点击页面直接无法访问

使用URL重写技术进行会话跟踪,即每次HTTP交互,URL后面都被附加上诸如 sid=xxxxx 的参数,以便服务端依此识别用户。

换个姿势~

客户端和服务端之间的通信交流,可以这样简单理解:

在某个会上叫兽讲得很好,在会后问了他几个问题,他对你这些问题进行了回答,这就是一个会话。但这个叫兽太受欢迎,于是工作人员收集问题,并给每个提问者一个号码牌,叫兽按照号码牌依次给出相应解答并告诉相应的人。这就是Session。一段时间后,当你再次遇见这位叫兽,他发现你身上有上次回复你的答案,知晓你是那个好学的学生。于是你欣喜若狂,哇塞,叫兽居然认出我了,这就是Cookie,你的小甜点。客户端好比听课的学生,服务端就是这位叫兽。

在这里插入图片描述

Cookie的使用场景
比如你某次登陆过一个网站,下次登录的时候不想再次输入账号了,怎么办?这个信息可以被写到Cookie里面,当访问网站时,网站页面的脚本可以读取这个信息,自动填写用户名,方便用户使用,给用户一点甜头。

登录淘宝,点击保存账号密码,下次直接自己登录。
在这里插入图片描述

总结

1、Cookie 在客户端(浏览器),Session 在服务器端。

2、Cookie的安全性一般,他人可通过分析存放在本地的Cookie并进行Cookie欺骗。在安全性第一的前提下,选择Session更优。重要交互信息比如权限等就要放在Session中,一般的信息记录放Cookie就好了。

3、单个Cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个Cookie。

4、Session 可以放在 文件、数据库或内存中,比如在使用Node时将Session保存在redis中。由于一定时间内它是保存在服务器上的,当访问增多时,会较大地占用服务器的性能。考虑到减轻服务器性能方面,应当适时使用Cookie。

5、Session 的运行依赖Session ID,而 Session ID 是存在 Cookie 中的,也就是说,如果浏览器禁用了 Cookie,Session 也会失效(但是可以通过其它方式实现,比如在 url 中传递 Session ID)。

6、用户验证这种场合一般会用 Session。因此,维持一个会话的核心就是客户端的唯一标识,即Session ID。

Session Cookie能被篡改么?
理论上可以,只要改变了连接时的Session ID 就可以了~

有没有被惊讶到😁
在这里插入图片描述

以上是关于叫兽和学生的故事,这尺度也太尼玛大了吧(狗头)的主要内容,如果未能解决你的问题,请参考以下文章

刚刚发布的iOS14,是苹果7年来最大更新,这变化也太大了吧

一个 程序员 的水平能差到什么程度?尼玛,都是人才呀... ...

算法设计与分析 4.3 洪尼玛与芒果篮

python之 栈与队列

react从0到0(再尼玛学不会自己就去吃屎吧(我不是针对看到这篇文章的人,我只针对自己))

POJ 2195 Going Home 最小费用最大流 尼玛,心累