服务端Http请求Request和response原理解析篇(1)
2017-09-03 11:21
344 查看
什么是servlet?
.Sun(oracle)公司制定的一种用来扩展Web服务器功能的组件规范.
组件:在软件开发行业,符合一定规范,实现部分功能,并且需要部署到容器中才能运行的软件模块
容器:符合一定规范,提供组件运行环境的一个程序
什么是HTTP协议?
HyperText Transfer Protocol
是由w3c(万维网联盟)制定的一种应用层协议,用来定义浏览器与web服务器之间
如何通信以及通信的数据格式.
Request Message
GET /sayHi HTTP/1.1 请求行 :请求方式+请求资源路径+协议版本
Host :localhost
Connection:Keep-Alive消息头:是一些键值对,一般由W3C定义.通信双方通过消息头传递一些特定的含义
User-Agent:Mozilla/4.0如:浏览器发送User-Agent消息头告诉Web服务器,浏览器类型和版本 ,大部分是自动生成,有时也需自己添加消息头
Accept:image/gif,image/jpeg
-----------blank line-------------------
(Empty body)实体内容,请求方式为POST时才有内容,即请求参数
Response Message
HTTP/1.1 200 OK状态行(status line)协议类型+版本+状态码+状态描述
Date:...
Server:Apache/2.0.45消息头(header):web服务器返回一些消息头给浏览器,如Content-Type消息头,告诉浏览器服务器返回的数据类型和字符集
Last-Modified:...
Content-Type:text/html
---------blank line-----------
<html><head><title>say实体内容:程序处理的结果
hi</title></head>
<body><h1>Hello World</h1>
</body></html>
如何控制通信数据
当Web容器收到一个Http请求时,通信数据由Web容器赋值封装和提供
这些信息被解释成两个对象,请求数据对应的HttpServletRequest和响应对应的HttpServletResponse类型对象
HttpServletRequest对象代表客户端的请求,客户端通过HTTP协议访问服务器时,请求中所有消息都封装在这个
对象中,通过这个对象的相关方法可以获取请求数据
作用:-读取和写入HTTP请求数据
-取得和设置Cookies
-去的路径信息
-标识HTTP会话
-实现请求转发
HttpServletResponse对象代表提供给客户端的响应,封装了HTTP的响应数据。通过这个对象可设置
状态行、消息头、实体内容。
作用:
-设置对客户端的输出内容
-设置响应的状态吗
-设置浏览器解码方式
-设置Cookies
-实现重定向
web工程的目录结构:
appName
WEB-INFO
classes,web.xml
.Sun(oracle)公司制定的一种用来扩展Web服务器功能的组件规范.
组件:在软件开发行业,符合一定规范,实现部分功能,并且需要部署到容器中才能运行的软件模块
容器:符合一定规范,提供组件运行环境的一个程序
什么是HTTP协议?
HyperText Transfer Protocol
是由w3c(万维网联盟)制定的一种应用层协议,用来定义浏览器与web服务器之间
如何通信以及通信的数据格式.
Request Message
GET /sayHi HTTP/1.1 请求行 :请求方式+请求资源路径+协议版本
Host :localhost
Connection:Keep-Alive消息头:是一些键值对,一般由W3C定义.通信双方通过消息头传递一些特定的含义
User-Agent:Mozilla/4.0如:浏览器发送User-Agent消息头告诉Web服务器,浏览器类型和版本 ,大部分是自动生成,有时也需自己添加消息头
Accept:image/gif,image/jpeg
-----------blank line-------------------
(Empty body)实体内容,请求方式为POST时才有内容,即请求参数
Response Message
HTTP/1.1 200 OK状态行(status line)协议类型+版本+状态码+状态描述
Date:...
Server:Apache/2.0.45消息头(header):web服务器返回一些消息头给浏览器,如Content-Type消息头,告诉浏览器服务器返回的数据类型和字符集
Last-Modified:...
Content-Type:text/html
---------blank line-----------
<html><head><title>say实体内容:程序处理的结果
hi</title></head>
<body><h1>Hello World</h1>
</body></html>
如何控制通信数据
当Web容器收到一个Http请求时,通信数据由Web容器赋值封装和提供
这些信息被解释成两个对象,请求数据对应的HttpServletRequest和响应对应的HttpServletResponse类型对象
HttpServletRequest对象代表客户端的请求,客户端通过HTTP协议访问服务器时,请求中所有消息都封装在这个
对象中,通过这个对象的相关方法可以获取请求数据
作用:-读取和写入HTTP请求数据
-取得和设置Cookies
-去的路径信息
-标识HTTP会话
-实现请求转发
HttpServletResponse对象代表提供给客户端的响应,封装了HTTP的响应数据。通过这个对象可设置
状态行、消息头、实体内容。
作用:
-设置对客户端的输出内容
-设置响应的状态吗
-设置浏览器解码方式
-设置Cookies
-实现重定向
web工程的目录结构:
appName
WEB-INFO
classes,web.xml
相关文章推荐
- 在线聊天项目1.4版 使用Gson方法解析Json字符串以便重构request和response的各种请求和响应 解决聊天不畅问题 Gson包下载地址
- 在线聊天项目1.4版 使用Gson方法解析Json字符串以便重构request和response的各种请求和响应 解决聊天不畅问题 Gson包下载地址
- C# HttpWebRequest\HttpWebResponse\WebClient发送请求解析json数据
- 微信 request请求解析验证 与 response 返回消息组装 工具类
- responseXML 属性 如果来自服务器的响应是 XML,而且需要作为 XML 对象进行解析,请使用 responseXML 属性: 请求 books.xml 文件,并解析响应:
- Request 接收参数乱码原理解析
- ASIHTTPRequest和libxml结合,实现边请求边解析 .
- Servlet中的Request和Response的请求和响应概述
- 浏览器与服务器的交互原理解析(五)-------使用axios进行异步请求
- WebRequest请求错误(服务器提交了协议冲突. Section=ResponseHeader Detail=CR 后面必须是 LF)
- ASIHTTPRequest和libxml结合,实现边请求边解析
- Request Response 请求在此上下文中不可用
- Request 接收参数乱码原理解析一:服务器端解码原理
- Android 发送request请求在服务器端解析时乱码
- 请求重定向与请求转发的比较(HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法)
- Servlet源码解析:Session、Request以及Response
- asp.net 中请求-响应(request-response)的几种方法
- 利用ASIHTTPRequest请求java服务和JSONKit解析返回的json串
- ASIHTTPRequest和libxml结合,实现边请求边解析
- JAVA学习笔记_request请求转发_response重定向