提醒:本文最后更新于 2026-05-24 05:22,文中所关联的信息可能已发生改变,请知悉!
客户端连上 web 服务器后,若想获得 web 服务器中的某个 web 资源,需遵守一定的通讯格式,HTTP 协议用于定义客户端与 web 服务器通迅的格式。
编辑
一、HTTP 协议简介
HTTP 是 hypertext transfer protocol(超文本传输协议)的简写,它是 TCP/IP 协议的一个应用层协议,用于定义 WEB 浏览器与 WEB 服务器之间交换数据的过程。HTTP 协议是学习 JavaWEB 开发的基石,不深入了解 HTTP 协议,就不能说掌握了 WEB 开发,更无法管理和维护一些复杂的 WEB 站点。
二、HTTP/1.0、HTTP/1.1 的区别
HTTP 协议的版本:HTTP/1.0、HTTP/1.1。
1、在 HTTP1.0 协议中,客户端与 web 服务器建立连接后,只能获得一个 web 资源。
2、HTTP1.1 协议,允许客户端与 web 服务器建立连接后,在一个连接上获取多个 web 资源。
三、HTTP 请求的细节
1、请求行
请求行中的请求方式都用于向服务器请求某个 WEB 资源,GET 与 POST 这两种方式的区别主要表现在数据传递上,客户端通过这两种方式都可以带一些数据给服务器。
(一)请求方式为 GET 方式,则可以在请求的 URL 地址后以? 的形式带上交给服务器的数据,多个数据之间以 & 进行分隔。
GET 方式的特点:在 URL 地址后附带的参数是有限制的,其数据容量不能超过 1K。
(二如请求方式为 POST 方式,则可以在请求的实体内容中向服务器发送数据。
Post 方式的特点:传送的数据量无限制。
2、请求头
用于 HTTP 请求中的常用头:Accept: text/html,image/*、Accept-Charset: ISO-8859-1、Accept-Encoding: gzip,compress、Accept-Language: en-us,zh-、Host: www.it315.org:80、11 Jul、2000 18:23:51 GMT、User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)。
四、HTTP 响应
一个 HTTP 响应代表服务器向客户端回送的数据,它包括:一个状态行、若干响应头、以及实体内容,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。
1、状态行
格式:HTTP 版本号 状态码 原因叙述 <CRLF>
举例:HTTP/1.1 200 OK
2、常用响应头
HTTP 请求中的常用响应头:Location: http://www.it315.org/index.jsp、Server:apache tomcat、Content-Encoding: gzip、Content-Length: 80、Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT。
3、通用信息头
通用信息头指既能用于请求,又能用于响应的一些消息头。
常用信息头:Cache-Control: no-cache、Pragma: no-cache、Connection: close/Keep-Alive、Date: Tue, 11 Jul 2000 18:23:51 GMT。
五、HttpServletRequest
1、HttpServletRequest 对象代表客户端的请求,当客户端通过 HTTP 协议访问服务器时,HTTP 请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息。
2、Web 服务器收到客户端的 http 请求,会针对每一次请求,分别创建一个用于代表请求的 request 对象、和代表响应的 response 对象。
3、request 和 response 对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找 request 对象就行了。要向客户机输出数据,只需要找 response 对象就行了。