java web服务器中的 request和response

转自: how tomcat works

 HTTP 协议是基于请求-响应的协议,客户端请求一个文件,服务器对该请求进行响应。HTTP 使用TCP
协议,默认使用80 端口。

HTTP Request
一个HTTP 请求包含以下三部分:
Method—Uniform Resource Identifier (URI)—Protocol/Version
Request headers
Entity body
举例如下(注意三部分之间要有空行):
POST /examples/default.jsp HTTP/1.1


Accept: text/plain; text/html
Accept-Language: en-gb
Connection: Keep-Alive
Host: localhost
User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
Content-Length: 33
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate


lastName=Franks&firstName=Michael

每个HTTP 请求都会有一个请求方法,HTTP1.1 中支持的方法包括,GET、POST、HEAD、OPTIONS、PUT、
DELETE 和TRACE。互联网应用中最常用的是GET 和POST。

URI 指明了请求资源的地址,通常是从网站更目录开始计算的一个相对路径,因此它总是以斜线“/”
开头的。URL 实际上是URI 的一种类型

请求头(header)中包含了一些关于客户端环境和请求实体(entity)的有用的信息。例如,客户端浏
览器所使用的语言,请求实体信息的长度等。每个请求头使用CRLF(回车换行符,“\r\n”)分隔。注意请求
头的格式:
请求头名+英文空格+请求头值
请求头和请求实体之间有一个空白行(CRLF)。这是HTTP 协议规定的格式。HTTP 服务器,以此确定请
求实体是从哪里开始的。上面的例子中,请求实体是:
lastName=Franks&firstName=Michael

HTTP Response
与HTTP Request 类似,HTTP Response 也由三部分组成:
Protocol—Status code—Description
Response headers
Entity body
举例如下:
HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Date: Mon, 5 Jan 2004 13:13:33 GMT
Content-Type: text/html
Last-Modified: Mon, 5 Jan 2004 13:13:12 GMT
Content-Length: 112
<html>
<head>
<title>HTTP Response Example</title>
</head>
<body>
Welcome to Brainy Software
</body>
</html>
注意响应实体(entity)与响应头(header)之间有一个空白行(CRLF)。

原文地址:https://www.cnblogs.com/mengjianzhou/p/5986871.html