04.22 cookie session 重定向 请求派发

在这里插入图片描述

======================================================================

http协议的内容

规范了各种浏览器和服务器的通信标准。可以避免服务器解析不了浏览器传来的请求的问题

协议的特点:
(1)遵循请求响应模型 --------客户端发送请求之后,服务器必定给你响应
(2)http是无状态的协议--------客户端发送请求完了,接受响应完了,关闭连接 scoket。close
(3)http端口是80 ftp 21
(4)http属于应用层协议,应用层的数据封装在http里面进行传输的

http结构
(1)http请求
请求行:请求地址、请求方式、http版本
请求头:包含元数据(告诉服务器浏览器类型,客户端要接受的数据格式、压缩方式等等)
空行:将请求头和消息 体分割开
消息体:存放用户传输数据
(2)http响应
状态行:http版本、状态码、状态描述
响应头:包含元数据(服务器告诉客户端发送回来的数据格式、content-type)
空行
消息体:服务器响应的数据

content-type:表示服务器传递回客户端的数据格式、数据类型

===============================================

get、post请求都是service来进行处理

Tomcat既是服务器又是容器,Tomcat默认就支持servlet和jsp运行
Tomcat负责创建servlet以及servlet里面数据的封装、以及servlet方法的调用

servlet和容器(Tomcat)的关系:
1、通信支持 Tomcat会调用servlet api方法来进行通信,service方法Tomcat默认调用
2、多线程支持 Tomcat默认已经实现了多线程,每次请求都会默认创建新的线程来处理(servlet效率比较高)
3、jsp支持 Tomcat也支持jsp
4、生命周期管理 servlet或者jsp生与死由容器来进行控制
5、安全信息管理 Tomcat做了一些安全验证,比如web-inf(用户无法访问)

线程不安全的

jsp是 servlet

jsp重在数据的拼接
servlet重在业务的处理

下图表示jsp的数据拼接
jsp技术自动将数据进行拼接
在这里插入图片描述
get.write()

==========================================

状态的跟踪
有状态的会话:客户端第一次访问服务器完了后,再次访问服务器,服务器能够识别到这两次请求是同一个用户的行为

无状态的会话:多次访问服务器 ,对于服务器来说每次访问都是一个新的用户

会话:打开浏览器访问吴服务器,关闭浏览器
请求:打开 浏览器输入地址回车。刷新。

http是无状态的协议,每次访问服务器完了后,客户端和服务器断开连接。
为了模拟多用户,一个浏览器就是一个用户对象。

引入一些列新的技术,保存用户会话状态
hidden隐藏
cookie
session
url重写

cookie:是客户端的技术,程序把每个用户的数据以cookie的形式保存在浏览器里面。当用户使用浏览器访问服务器的时候,将cookie传递给服务器,服务器就能获取cookie数据。

请求行 http协议中的信息
//获取请求行的信息
req。getRequestURI();
req。getRequestURL().tostring();

获取请求头信息
req.getHeader(“User-Agent”);
在这里插入图片描述
在这里插入图片描述

获取到cookie
Cookie【】 cookies =req . getCookies();

在这里插入图片描述

//将这两句代码放在最上面
在这里插入图片描述

//设置服务器传回来的数据格式 图片形式
在这里插入图片描述

==========================================

获取产生cookie的时间
在这里插入图片描述

cookie默认不支持中文

cookie:安全性不高,一般不会将重要的信息保存cookie。保存时间,保存一些id
相当于存折,所有数据都是公开的

============================================

session :
银行卡–卡号。所有数据都在服务器
session保存会话技术的一种,保存在服务器,一个浏览器独占一个session对象。可以将一些隐私数据保存到session对象中,来达到会话状态管理

1.怎么创建session
2.session用法
3.销毁session

访问服务器,从服务器获取带session对象,如果获取不到创建一个session,将session的id保存到cookie,将cookie发送回客户端,下次再访问的时候,将cookie发给服务器,取出sessionid匹配session对象

在这里插入图片描述

一个浏览器对应一个session对象
在这里插入图片描述

================================================

使用场景 欢迎…登录
在这里插入图片描述
在这里插入图片描述

============================================================

重定向和内部派发
在这里插入图片描述

请求派发是在服务器内部完成的,不能跨服务器访问,只能派发到本服务器的其他资源
重定向是客户端发起的多次请求,可以跨服务器,第一次访问百度,第二次访问其他服务器

请求派发,整个流程只有一个请求,经过多个资源
内部派发发起了两次请求,产生两个请求对象和两个响应对象

请求派发可以传递数据
重定向不好传递数据

请求派发浏览器地址栏不变
重定向浏览器地址栏发生变化

Tomcat服务器默认session对象生命周期为30分钟
更改:
1 在自己的项目下web。xml文件 默认最小时间单位分钟
2.session。setMaxInactiveInterval();
3.立即销毁 用于注销
在这里插入图片描述
在这里插入图片描述

================================================
注销
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

===============================================
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Theniceday_99/article/details/89459128