Servlet: HTTP协议

1 HTTP协议的概念

  <1> HTTP协议(HyperText Transfer Protocol,超文本传输协议)是由W3C(万维网联盟)组织制定 的一种应用层协议,是用来规范浏览器与Web服务器之间如何通讯的数据格式,主要涉及浏览器 的发请求格式和服务器的响应格式。

  <2> HTTP协议通常承载于TCP协议之上,而承载于TLS或SSL协议层之上的协议就是常说的HTTPS协议

  <3> HTTP默认的端口号为80,HTTPS默认的端口号为443

    

2 HTTP请求格式

<1> 客户端发送一个HTTP请求到服务器的请求消息,主要包括:

  请求行、请求头、空白行和请求体

1.请求行 - 用来说明请求类型和要访问的资源以及所使用的HTTP版本,格式如下:

请求类型 请求的路径 协议的版本(1.1)

2.请求头是紧接着请求行(即第一行)之后的部分,用来说明服务器要使用的附加信息,

格式(key:value)如下:

主机 请求长度 请求的浏览器相关信息

3.空白行就是请求头部的空行,即使后面的请求数据为空则必须有空行

4.请求体也叫请求数据,可以添加任意的其他数据。

<2> 举例如下:

POST /task01_demo01/demo1.html HTTP/1.1
Host: localhost:8088
Content-Length: 21
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64)

name=scott&pwd=123456

3 HTTP响应格式

<1> 通常情况下服务器接收并处理客户端发过来的请求后会返回一个HTTP的响应消息,主要包括:

  响应行、响应头、空白行和响应体。

响应行用来说明HTTP协议版本号和状态码以及状态消息,格式如下:

协议的版本(1.0 1.1) 状态码 (200 成功 404 路径错误 500 服务错误) 状态信息

响应头用来说明客户端要使用的一些附加信息,格式(key:value)。

空白行就是响应头部的空行,即使后面的请求数据为空则必须有空行。

响应体用来服务器返回给客户端的文本信息。

<2> 举例如下:

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 588
Date: Thu, 08 Sep 2021 12:59:54 GMT

<html><head><title>示例1</title></head>
<body><h1>这是一个HTML页面</h1></body>
</html>
原文地址:https://www.cnblogs.com/JasperZhao/p/15259509.html