会话技术之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)
会话技术 什么是会话技术 基本概念: 指用户开一个浏览器,访问一个网站,只要不关闭该浏览器,不管该用户点击多少个超链接,访问多少资源,直到用户关闭浏览器,整个这个过程我们称为一次会话. 为什么我们要使 ...
随机推荐
- IDEA更换背景颜色与字体
打开IDEA 选择左上角的File -> Setting -> Editor -> Color Scheme 就可以设置 黑白背景 默认为白色 可以选择 Darcul ...
- PHP程序员应该如何提升
PHP程序员应该如何提升 尤其不认可W3school之类的东西,不够深度,理解不深,比起这个更建议看官方文档,中文不清楚,看英文的. 入门视频:入门视频推荐:哈佛大学公开课:构建动态网站Beginne ...
- 如何在Word中排出漂亮的代码,去除回车符,去除拼写检查
这位博主写到很到位,这里补充一下在VBA里用模块的部分. https://blog.csdn.net/code4101/article/details/41802715 1.放代码的方式是贴纯文本. ...
- linq和匿名方法、委托、匿名委托、lambda
委托相当于JavaScript中的闭包,c++中的函数指针. c#为了引进这个函数指针,将其进行包装成“委托”,同时将非托管的变成托管的. 1.最初的委托该怎么用 弊端:写的代码量过多,还要写一个显示 ...
- js学习(精华帖)
js获取当前域名.Url.相对路径和参数以及指定参数 js获取当前url组成部分 jquery操作select(增加,删除,清空)
- (转)数据库分片Shard操作
2.1.1什么是数据切分 "Shard" 这个词英文的意思是"碎片",而作为数据库相关的技术用语,似乎最早见于大型多人在线角色扮演游戏中."Shard ...
- 简单的xss注入和防御
什么是xss注入: xss通常就是通过巧妙的方法注入指令到指定页面,使用户加载执行的恶意的js(或者其他类型)的代码,攻击者会获取用户的一系列信息,如cookie等,从而进行其他用户信息的盗取 为什么 ...
- 第五十二篇 Linux相关——数据库服务MySQL
No.1. MySQL基本操作 CentOS7默认安装mariadb数据库,先将其移除 移除命令:sudo yum -y remove mariadb-libs.x86_64 下载MySQL源 ...
- 微信或QQ屏蔽了我的域名,已经被微信屏蔽的域名如何在微信打开,如何进行微信域名防封?
微信域名完全防封是绝对不可能的,这是必须明确的,曾经有人打折<不死域名>的概念,它不是不死,是稍微命长一点,在推广上成本更低一下,效果更好一些, 主要的技术原理是利用了腾讯云的域名安全联盟 ...
- Django_模型
1. ORM 2. 简单使用 3. 外键 2.0以上的版本要这样写s_grade = models.ForeignKey(Grade,on_delete=models.CASCADE) 3. 修改表名 ...