服务端Http请求Request和response原理解析篇(1)

本文深入解析了Servlet以及HTTP协议的基础概念。Servlet是Sun(Oracle)公司制定的一种Web服务器扩展组件规范,而HTTP协议是W3C定义的应用层通信协议。文章详细介绍了Request Message和Response Message的组成部分,包括请求行、消息头和实体内容。同时,阐述了HttpServletRequest和HttpServletResponse对象在处理HTTP通信数据中的作用,如读取请求数据、设置响应内容和状态码等。最后,提及了web工程的目录结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是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























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值