会话技术之Cookie
在无状态的客户端(未登录)下,张三想买手机然后把手机加入购物车,服务器发出添加成功的响应,然后把手机加入ServletContext域里,然后张三想在逛逛别的,
再无状态的客户端(未登录)下,李四想买车。然后把汽车加入购物车,服务器发出添加成功的响应,然后把汽车加入ServletContext域里然后李四想在逛逛
但是这个时候张三想结算,但是结算的时候发现多了辆汽车,这就是ServetContext的问题点 它无法区别客户端,因为它的资源是共享的
我们还学了个域是request域,但是在这个域里除非张三加入购物车后直接结算 不然request会清楚消失 因为requset是在一次请求中的,所以以我们现在所学的无法解决这矛盾点
所以
这种就是无状态(未登录)客户端张三,想买手机和酱油,把手机,酱油加入购物车,然后有两种方法一种是session方法,直接在服务器里开一块属于张三的内存然后把手机和酱油存在服务器里
还有一种方法是cookie方法直接在张三的客户端里开一块内存 把手机和酱油存在客户端里,要结算的时候直接把客户端里的手机和酱油带到服务器端里去结算
会话技术简介
存储客户端的状态
由一个问题引出今天的内容,例如网站的购物系统,用户将购买的商品信息存储到哪 里?因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并 不知道该客户端是谁,所以需要会话技术识别客户端的状态。会话技术是帮助服务器 记住客户端状态(区分客户端)
会话技术
从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话。会 话技术就是记录这次会话中客户端态的状与数据的。
会话技术分为Cookie和Session:
Cookie:数据存储在客户端本地,减少服务器端的存储的压力,安全性不好,客户端 可以清除cookie
Session:将数据存储到服务器端,安全性相对好,增加服务器的压力
注:在无状态情况下(未登录)一个游览器就是一个客户端,只有关闭了游览器才是会话结束,只关闭网站但不关闭游览器的话是不算会话结束的,
开两个游览器算是两个客户端。
Cookie技术
Cookie技术是将用户的数据存储到客户端的技术,我们分为两方面学习:
第一,服务器端怎样将一个Cookie发送到客户端
第二,服务器端怎样接受客户端携带的Cookie
cookie流程图
张三发出请求,我要买个手机,然后服务器得把你这个数据响应回给客户端,响应回去后 把手机给存在本地客户端上,然后结算的时候再把你这个手机带到
服务器结算上,然后服务器给你结算。
然后我们只需要关心的就是服务器怎么把这个手机数据发送到客户端和怎么把已经存在本地客户端的手机数据带到结算servlet上
然后把服务器里的数据带到本地服务器是响应头的set-cookie头
然后本地客户端把手机带到服务器结算的时候是请求头的cookie
cookie都是都是键值对,而且不能存中文,
服务器端向客户端发送一个Cookie
第一次访问:
是没有cookie头的。
第二次:
第二次才会有cookie头
在默认情况(不设置持久化时间的情况下)下,存在客户端的信息的生命周期是一次会话(关闭游览器就消失了)中。
设置Cookie在客户端的持久化时间:
设置Cookie的携带路径:
概念:
如果不设置携带路径,那么该cookie信息会在访问产生该cookie的 web资源所在的路径都携带cookie信息
服务器端怎么接受客户端携带的Cookie
在遍历的时候要先访问上面的SendcookieStervlet,然后在访问Getcookie不然会出现空指针错误
会话技术之Cookie的更多相关文章
- 会话技术( Cookie ,Session)
会话技术: 会话:浏览器访问服务器端,发送多次请求,接受多次响应.直到有一方断开连接.会话结束. 解决问题:可以使用会话技术,在一次会话的多次请求之间共享数据. ...
- JavaWeb学习之转发和重定向、会话技术:cookie、session、验证码实例、URLConnection使用(下载网页)(4)
1.转发和重定向 HttpServletResponse response 转发: RequestDispatcher dispatcher = request.getRequestDispatche ...
- 会话技术、Cookie技术与Session技术
一.会话技术 1. 存储客户端状态 会话技术是帮助服务器记住客户端状态(区分客户端)的. 2. 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,称为一次会话.会话技术就是记录这 ...
- Java第三阶段学习(十三、会话技术、Cookie技术与Session技术)
一.会话技术 1. 存储客户端状态 会话技术是帮助服务器记住客户端状态(区分客户端)的. 2. 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,称为一次会话.会话技术就是记录这 ...
- [转]【会话技术】Cookie技术
建立时间:6.29 & 6.30 一.会话技术简介 1.存储客户端的状态 由一个问题引出今天的内容,例如网站的购物系统,用户将购买的商品信息存储到哪 里?因为Http协议是无状态的,也就是说 ...
- servlet会话技术:Cookie
什么是会话会话可以简单理解为:用户开一个浏览器访问某个网站,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话.会话过程中需要解决的一些问题每个用户在使用浏览器与服务器进 ...
- 会话技术之Cookie 和 Session
为什么要使用会话技术 会话从字面上来说就是,就是两个人说话,也就是两个人交流,那么这里说的是计算机web端的交流,因为互联网是基于HTTP传输信息的,而http传输是无状态协议,缺少状态,意味着如果后 ...
- Servlet第五篇【介绍会话技术、Cookie的API、详解、应用】
什么是会话技术 基本概念: 指用户开一个浏览器,访问一个网站,只要不关闭该浏览器,不管该用户点击多少个超链接,访问多少资源,直到用户关闭浏览器,整个这个过程我们称为一次会话. 为什么我们要使用会话技术 ...
- Servle第四篇(会话技术之cookie)
会话技术 什么是会话技术 基本概念: 指用户开一个浏览器,访问一个网站,只要不关闭该浏览器,不管该用户点击多少个超链接,访问多少资源,直到用户关闭浏览器,整个这个过程我们称为一次会话. 为什么我们要使 ...
随机推荐
- TensorFlow 2.0高效开发指南
Effective TensorFlow 2.0 为使TensorFLow用户更高效,TensorFlow 2.0中进行了多出更改.TensorFlow 2.0删除了篇冗余API,使API更加一致(统 ...
- 洛谷P2158 [SDOI2008]仪仗队 欧拉函数的应用
https://www.luogu.org/problem/P2158 #include<bits/stdc++.h> #define int long long using namesp ...
- sql查询 —— 分组
-- 分组 -- group by -- 分组只有与聚合函数一起使用才能发挥作用 -- 分组只限于字段分明 例如 性别 ,部门, --列出所有性别 select gender from student ...
- c数据结构 -- 链表的理解
链表是结构体变量与结构体变量链接在一起,怎么链接在一起?通过指针 #include <stdio.h> struct Node{ int data; struct Node* next; ...
- Java中的Collections类
转载:https://blog.csdn.net/yangxingpa/article/details/80515963 从[Java]Java中的Collections类——Java中升级版的数据结 ...
- String类中的equals方法总结(转载)
转载:https://blog.csdn.net/qq_25827845/article/details/53868815 1.String源码中equals大致写法: public boolean ...
- beego登录退出与检查登录过滤器
// ShowLogin 登陆显示 func (c *UserController) ShowLogin() { username := c.Ctx.GetCookie("username& ...
- 这里有一份热乎乎的git相关操作
文件操作 git init (添加文件): git status (查看文件状态): git diff (查看修改内容): git rm (删除文件): git add (把文件保存在暂存区): gi ...
- html5 游戏源码下载网站,你值得拥有!
在游戏开发的学习或工作中,利用完好的游戏源码可以事半功倍,不仅可以逆向学习开拓思维,也可以大大减少设计周期. HTML5是构建Web内容的一种语言描述方式. HTML5是Web中核心语言HTML的规范 ...
- 对已经存在的没有唯一标识的表添加一个自增的id字段(利用序列sequence)操作过程
1.原始的数据表 2.操作 -- 创建序列 test_data_file_Id_Seq -- create sequence Test_data_file_Id_Seq increment by 1 ...