详谈HTTP协议中的cookie与session功能

Posted You are my ghost

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详谈HTTP协议中的cookie与session功能相关的知识,希望对你有一定的参考价值。

cookie&&session

相信大家都有过在网页上登录某一账号的经历,比如CSDN、知乎、B站等等;在一次登陆过后,即使关掉浏览器,在下一次访问该网页时,上次登陆过的账号会自动登录。

我们知道,http协议本身是无连接、无状态的;它是由TCP协议建立连接,http只负责发送请求(request);并且本身并不会记录任何用户信息,也就是说在使用账号登陆网站时,http本身只是发起请求,其他什么都不做,那么上述现象是如何发生的呢?答案是叫做cookie和上session的功能。

1.概念

(1)cookie

是一种储存在用户本地终端上的数据

Cookie,有时也用其复数形式 Cookies。类型为“小型文本文件(.exe)”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。

(2)session

在网络应用中,称为“会话控制”

Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。

2.图解cookie运作流程

张三同学在电脑上打开浏览器,想要在某网页访问资源,这些资源都需要登录才能进行访问。

在第一次登录成功后,浏览器会将 用户名 密码以及http request一同发给服务器server

之后服务器进行响应,将张三想要访问的文件以及封装好的cookie文件(包含用户名 密码)发送给浏览器,浏览器会自动保存cookie文件。

在下一次访问该网页时,http request会自动包含cookie文件发送给服务器server,服务器会自动对cookie进行认证。

在这里插入图片描述

但时cookie并不是一种安全的解决方案,它本质时浏览器中的一个文件,若时计算机被入侵,入侵者很容易访问cookie文件,对用户隐私构成威胁;

这时,session便是一种更佳的1解决方案。

3.图cookie++session运作流程

cookie+session的运作流程与cookie基本相同;只是在server服务器端将用户名+密码生成一个唯一的session id并返回client客户端,不再是直接将用户名与密码返回client端。
在这里插入图片描述
使用cookie+session的方式,即便客户端被入侵,入侵者也只能拿到一个sid,和cookie方式相比相对安全。

以上是关于详谈HTTP协议中的cookie与session功能的主要内容,如果未能解决你的问题,请参考以下文章

详谈HTTP协议中的cookie与session功能

详谈session和cookie的区别

java网络通信:HTTP协议 之 Sessions与Cookies

session 与 cookie 区别

07.会话跟踪技术cookie与session

Cookie与Session是如何联动的?