web应用原理之——会话
会话是大家开发Java EE Web应用的常用技术,那么会话是什么,会话的用途还有工作原理又是什么,下面就简单说一说。
什么是会话,在web应用中,作为客户端的浏览器,通过请求/响应这种模式访问同一个web网站的各种web页面,从开始访问这个服务器直到结束整个过程称为一次会话。那么就有一个问题,同时访问这个服务器的客户端有很多,怎么能保证服务器对每个客户端返回相应的响应呢?最简单的办法就是通过持续链接服务保证一一对应的服务,但是web服务器为了提高同时服务很多用户的性能,在客户端和服务器端的请求响应中使用无状态协议HTTP,导致它连鱼的记忆都没有,一但完成一次响应就会把和哪个客户端通信过,及通信的内容忘得一干二净,这样客户端再发来请求的时候服务器就完全没印象了把它当做新的客户端来应对,这显然是不合适的。这就好像你和一个人刚刚各自介绍过对方而且相谈甚欢,转脸再见他就一脸茫然的跟你说“初次见面请多关照”。
解决上面的问题就需要在客户端第一次请求web服务器的时候,web服务器生成一种称为“会话标识符”的ID,然后伴随响应发送给客户端,之后的通信中客户端发来的请求只需要带着这个特定的ID,服务器就可以知道这是哪个客户端了。这就像你救了一个人,他为了日后报答你给你留了个信物,以后你来找他带着信物他就知道你是谁了,这个“信物”就是会话ID。
下图中为http响应头,其中的JSESSIONID是由服务器产生的会话ID,一般以Cookie的形式发送。在随后的客户端发起的每次请求中都以Cookie的形式将会话ID发送给服务器,这样既可以维持会话状态了。
web应用原理之——会话的更多相关文章
- Web服务器原理及简单实现
Web系统由客户端(浏览器)和服务器端两部分组成.Web系统架构也被称为B/S架构.最常见的Web服务器有Apache.IIS等,常用的浏览器有IE.Firefox.chrome等.当你想访问一个网页 ...
- web基础-web工作原理,http协议,浏览器缓存
1,web工作原理 2,http协议 3,浏览器缓存 4,cookie和session -------------------------------------------------------- ...
- C/S B/S 及WEB工作原理
一.C/S B/S区别 (http://wenku.baidu.com/link?url=e8bxaqz_lYCXws6TlDRJEq1qsLumNTBhr3Es6eA1ZuhHhq9FZGbVgo ...
- HTTP协议和web工作原理
本章学完之后能干什么? 要把 知识点学好,那就需要把它相关的周边知识点了解全面 HTTP协议是web学习的核心!!! 学东东切忌只学配置,不学原理:只学会框架有什么用,要会自己写框架!! web学习直 ...
- Web服务器原理
——————————什么是Web服务器 Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档.目前最主流的三个Web服务器是Apache Ngin ...
- 下面哪项技术可以用在WEB开发中实现会话跟踪实现?
下面哪项技术可以用在WEB开发中实现会话跟踪实现? A:session B:Cookie C:地址重写 D:隐藏域 答案:ABCD 会话跟踪是一种灵活.轻便的机制,它使Web上的状态编程变为可能. H ...
- 第一章 Java Web工作原理
一:在本章我们将学到如下的内容 >HTTP协议原理 >服务器端Web编程原理 >Servlet与Web容器 >Java Web应用程序的组成 >Tomcat介绍 一:1. ...
- Spring_day01--注入对象类型属性(重点)_P名称空间注入_注入复杂类型属性_IOC和DI区别_Spring整合web项目原理
注入对象类型属性(重点) Action要new一个service对象,Service中又要new一个Dao对象,现在把new的过程交给spring来操作 1 创建service类和dao类 (1)在s ...
- Java web课程学习之会话(Session)
Session会话 l web应用中的会话是指一个客户端浏览器与web服务器之间连续发生一系列请求和响应过程 l web应用的会话状态是指web服务器与浏览器在会话过程中产生的状态信息,借助会话状 ...
随机推荐
- PHPCMS get SQL 返回单条的办法
{pc:get sql="SELECT * FROM v9_member_detail where userid=1" num="1" return=" ...
- AWK---linux系统三剑客(三)
grep .sed.awk被称为linux中的"三剑客". grep 更适合单纯的查找或匹配文本 sed 更适合编辑匹配到的文本 awk 更适合格式化文本,对文本进行较复杂格式 ...
- Quartz任务调度系统,克隆表达式
Quartz任务调度系统,克隆表达式 (1).克隆表达式可以包括7个字段:秒.分.小时.月内日期.月.周内日期.年(可选字段) (2).特殊字符: 一.反斜线(/)字符表示增量."5/15& ...
- ABC技术落地_成功带动lot物联网行业、金融科技行业、智能人才教育。
ABC技术:AI:Python神经网络和自然语言处理(NLP):C ++ 机器学习和神经网络:Java自然语言处理.搜索算法.神经网络:Lisp归纳逻辑项目和机器学习.Big Date:R.Pytho ...
- c++学习笔记_1
前言:本笔记所对应的课程为中国大学mooc中北京大学的程序设计与算法(三)C++面向对象程序设计,主要供自己复习使用 第一章 从c到c++ 引用 定义引用时一定要将其初始化成某个变量 引用从一而终,引 ...
- layer.msg弹窗后没有自动关闭——问题解决
layer.msg弹窗后没有自动关闭,里面也没有配time: -1 layer.msg("信息体", {time: -1}); 后面发现是jquer和layer版本不对,之前自己用 ...
- zabbix监控mysql主从同步和延迟
https://blog.csdn.net/natmazz/article/details/90581490 https://www.cnblogs.com/01-single/p/10602610. ...
- java获取单张网页中img标签中的src
/** * 得到网页中图片的地址 */ public static List<String> getImgStr(String htmlStr) { List<String> ...
- 大话数据结构(8) 串的模式匹配算法(朴素、KMP、改进算法)
--喜欢记得关注我哟[shoshana]-- 目录 1.朴素的模式匹配算法2.KMP模式匹配算法 2.1 KMP模式匹配算法的主体思路 2.2 next[]的定义与求解 2.3 KMP完整代码 2.4 ...
- 装饰器中functools的用处
定义一个最简单的装饰器 def user_login_data(f): def wrapper(*args, **kwargs): return f(*args, **kwargs) return w ...