服务端Http请求Request和response原理解析篇(1)
来源:互联网 发布:交互式动画制作软件 编辑:程序博客网 时间:2024/06/13 05:43
什么是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
- 服务端Http请求Request和response原理解析篇(1)
- HTTP协议学习# (一)request 和response 解析
- HTTP协议学习# (一)request 和response 解析
- #HTTP协议学习# (一)request 和response 解析
- HTTP协议学习# (一)request 和response 解析
- servlet3-客户端请求与服务端响应(request,response)
- HTTP Request 和Response
- Http Request 和 Response
- Django中HTTP请求(Request)和回应(Response)对象
- 请求和响应response&request
- [置顶]Request 和 Response 原理
- 请求内容分析&Request+Response解析
- 使用JAVA发送HTTP请求(Http Request),返回HTTP响应(Http Response)内容,代码程序例子及原理说明
- Scrapy-Request和Response(请求和响应)
- Django-restframework03 请求和响应(request和response)
- Http-Request请求头解析
- http header cache-control (request和response区别)
- JavaEE:response响应和request请求
- leetcode之surrounded-regions
- 当今社会到底更需要专才还是通才
- POJ3617 Best Cow Line(贪心,字典序最小)
- CentOS 7 配置Docker 远程API访问
- windows Qt59.1 MinGW(GCC) 操作levelDB
- 服务端Http请求Request和response原理解析篇(1)
- 关于数组那些事-----持续更新
- 如何过一天,其实就是如何过一生
- 2017/09/03简单搭建SSM框架
- 看透“0”、“1”逻辑,轻松解决Python中文乱码
- ZooKeeper_10_ZooKeeper典型应用场景
- 嵌入式系统的开发-5.1
- 快速排序算法
- [编程题] 最大和