IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 详解HTTP协议中的Cookie-Session -> 正文阅读

[网络协议]详解HTTP协议中的Cookie-Session

目录

一.为什么要使用Cookie和Session

二.例子理解Cookie和Session

三.Cookie学习

1.Cookie概念

2.查看和学习页面上的Cookie信息

(1)查看当前网页的Cookie信息

?(2)通过Fiddler来查看当前页面的具体Cookie信息

四.会话机制(Session)的学习

1.有关Session的信息

2.服务端对于Session信息是如何处理的

3.servlet开发中session的设置

4.通过Fiddler来查看服务端是如何返回SessionId信息


一.为什么要使用Cookie和Session

Cookie和Session是客户端(网页)与服务端(服务器)进行沟通的一种中间工具,由于HTTP协议自身是无状态的,例如张三访问CSDN首页(网页一般是遵守http协议进行传输),然后登录自己的CSDN,那么之后如果张三写博客时,会从首页跳转到写博客的页面,当张三跳转到写博客页面的时候,服务端是如何知道当前是哪个用户访问写博客这个页面。这时候就需要借助Cookie和Session来实现这样的功能。

二.例子理解Cookie和Session

这里可以将Cookie比作成一个令牌,而服务器端需要通过Session机制来记录令牌信息,以及令牌中的用户信息。

三.Cookie学习

1.Cookie概念

Cookie 中存储了一个字符串, 这个数据可能是客户端(网页)自行通过 JS 写入的, 也可能来自于服务器(服务器在 HTTP 响应的 header 中通过 Set-Cookie 字段给浏览器返回数据)。使用Cookie的目的就是实现身份标识的功能。一般的Cookie存储在我们的内存中,而且Cookie是不可跨域名的,通俗的理解就是不同的服务器之间的Cookie不会发生冲突。

2.查看和学习页面上的Cookie信息

(1)查看当前网页的Cookie信息

?(2)通过Fiddler来查看当前页面的具体Cookie信息

?

可以看到上面不同页面携带的Cookie信息是基本是相同的?(里面的内容很多,只截取了一部分)。可以验证Cookie主要就是携带一些身份信息来帮助服务端来识别用户身份。

四.会话机制(Session)的学习

1.有关Session的信息

服务器同一时刻收到的请求是很多的. 服务器需要区分清楚每个请求是从属于哪个用户, 就需要在服务器这边记录每个用户令牌以及用户的信息的对应关系。

因为会话本质就是就是一个Hash表,其中的key就是SessionId,value就是用户信息。其中的Session是一个标识身份的唯一性字符串,一个用户对应一个SessionId。

2.服务端对于Session信息是如何处理的

当用户登录的时候,服务器,会给该用户创建一个Seeion会话,然后给客户端通过Set-Cookie字段,将SessionId来返回客户端,客户端后续再发送请求的时候,就会在headers中的Cookie字段中携带上SessionId属性,然后服务器根据客户端请求中携带的SessionId来获取到对应的Session信息中的用户信息,接着再实现下一步操作。

3.servlet开发中session的设置

如果在Servlet开发的时候,当用户登录成功后服务端会获取请求中Cookie携带SessionId,无论存在,都将重新设置Seesion会话信息,而且服务端会自动给客户端在响应中携带一个SessionId信息,之后访问其他页面就可以根据请求中携带的Sessionid信息来判断是哪个用户在访问当前页面。

4.通过Fiddler来查看服务端是如何返回SessionId信息

?

可以看到,第一次登录的时候就在Set-Cookie中包含SessinId信息,之后访问其他页面就会携带该信息,通过之后请求中携带的Cookie信息来判断指定用户信息。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-04 15:57:23  更:2022-03-04 15:58:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:42:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码