📅  最后修改于: 2023-12-03 14:42:01.364000             🧑  作者: Mango
HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的媒体协议。它是应用层协议,建立在TCP(Transmission Control Protocol)之上,常用于Web应用,可用于传输HTML、图片、视频等多种类型的数据。HTTP通常使用80端口。
HTTP功能强大,支持多种请求方法(GET、POST、PUT、DELETE等),支持多种数据格式(JSON、XML等),并且在可扩展性和互操作性方面表现良好。
在这篇文章中,我们将介绍HTTP的完整格式,包括请求报文、响应报文等。
HTTP请求报文由三部分组成:请求行、请求头部和请求主体。
以下是请求报文的完整格式:
HTTP/1.1 请求方法 URL HTTP/协议版本
Host: 主机名
头部字段1: 头部字段1值
头部字段2: 头部字段2值
...
请求主体
请求头部由多个键值对组成,用冒号分隔。HTTP协议规定了一些常用的头部字段,例如:
请求主体通常包含请求所需的数据,如GET请求通常没有请求主体。
以下是一个请求报文的例子:
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36
以上请求报文表示客户端向服务器请求www.example.com
域名下的/index.html
资源,采用HTTP/1.1协议。
HTTP响应报文由三部分组成:状态行、响应头部和响应主体。
以下是响应报文的完整格式:
HTTP/协议版本 状态码 状态短语
响应头部字段1: 响应头部字段1值
响应头部字段2: 响应头部字段2值
...
响应主体
响应头部包含多个键值对,用冒号分隔。HTTP协议也规定了一些常用的响应头部字段,例如:
响应主体通常包含服务器返回的数据,如HTML页面、图片、视频等。
以下是一个响应报文的例子:
HTTP/1.1 200 OK
Content-Type: text/html;charset=utf-8
Content-Length: 1381
<!DOCTYPE html>
<html>
<head>
<title>示例网页</title>
</head>
<body>
<h1>Hello, World!</h1>
<p>这是一个示例网页。</p>
</body>
</html>
以上响应报文表示服务器成功响应请求,返回类型为text/html,长度为1381字节的内容。
HTTP是一个功能强大、使用广泛的应用层协议。我们学习了HTTP的完整格式,包括请求报文、响应报文等。了解HTTP的完整格式可以帮助我们更好地理解HTTP协议的工作原理,为编写Web应用提供基础。