Http
概念:Hyper Text Transfer Protocol 超文本传输协议
传输协议 : 定义了,客户端和服务器端通信时,发送数据的格式
特点:
基于TCP/IP的高级协议
默认端口号:8080
基于请求/响应模型的;一次请求对应一次响应
Http协议是无状态的,每次请求都是相互独立的,不能交互数据
请求消息数据格式:
请求行
请求方式 请求url 请求协议/版本
请求方式:(Http协议有7中请求方式,常用2中)
get:
请求参数在请求行中,在Url后
请求的url是有限度的
不太安全
post:
请求参数在请求体中
请求参数的url长度没有限制
相对安全
请求头 : 客户端浏览器告诉服务器一些信息
请求头名称 : 请求头值
User-Agent : 浏览器告诉服务器, 我访问你使用的浏览器版本信息
可以在服务器端获取该头的信息,解决浏览器的兼容性问题
Referer: 告诉服务器,当前请求从哪里来?
作用:
防盗链:原理:在下载服务器上,来判断一下上一步提交的网址(来源)是不是我要求的,如果是我要求的,那么可以下载,如果不是,不让下载
统计工作
请求空行
空行,就是用于分割POST请求的请求头,和请求体的
请求体 ( 正文 )
封装post请求消息的请求参数的
Request:(获取请求消息)
Request 与 Response 对象的原理
首先我们的浏览器给我发了请求(请求消息),然后我们的请求带着请求消息找我们的资源,因为我们在服务器端配置了 url-pattern 找到这个类后 Tomcat会自动执行这个方法 也就是:tomcat 服务器会根据请求的URL中的资源路径,创建对应的ServletDemo01的对象
tomcat服务器,会创建request和response对象,request对象中封装请求消息数据
将request和response两个对象 传递给service方法,并且调用了Service方法
我们可以通过request对象来获取请求消息数据,通过response对象设置响应消息数据
(浏览器回复响应消息) 服务器给浏览器做出响应之前,会从response对象中拿出程序员设置的响应消息数据
Request 继承体系结构
ServletRequest接口 继承 HttpServletRequest
HttpServletRequest 接口 实现