| |
|
|
开发:
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 |
|
目录 ?(2)通过Fiddler来查看当前页面的具体Cookie信息 4.通过Fiddler来查看服务端是如何返回SessionId信息 一.为什么要使用Cookie和SessionCookie和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地址范围 |
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/29 22:30:26- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |