使用 Telnet 手动发送最小 HTTP 请求
此示例演示 HTTP 是基于文本的 Internet 通信协议,并显示基本 HTTP 请求和相应的 HTTP 响应。
你可以使用 Telnet 从命令行手动发送最小 HTTP 请求,如下所示。
-
在端口 80 上启动到 Web 服务器
www.example.org
的 Telnet 会话:telnet www.example.org 80
Telnet 报告你已连接到服务器:
Connected to www.example.org. Escape character is '^]'.
-
输入请求行以使用 HTTP 1.1 发送 GET 请求 URL 路径
/
GET / HTTP/1.1
-
输入 HTTP 标头字段行以标识所需 URL 的主机名部分,这在 HTTP 1.1 中是必需的
Host: www.example.org
-
输入空行以完成请求。
Web 服务器发送 HTTP 响应,该响应显示在 Telnet 会话中。
完整的会话如下。响应的第一行是 HTTP 状态行,其中包括状态代码 200 和状态文本 OK ,表示请求已成功处理。接下来是许多 HTTP 标头字段,一个空行和 HTML 响应。
$ telnet www.example.org 80
Trying 2606:2800:220:1:248:1893:25c8:1946...
Connected to www.example.org.
Escape character is '^]'.
GET / HTTP/1.1
Host: www.example.org
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: max-age=604800
Content-Type: text/html
Date: Thu, 21 Jul 2016 15:56:05 GMT
Etag: "359670651"
Expires: Thu, 28 Jul 2016 15:56:05 GMT
Last-Modified: Fri, 09 Aug 2013 23:54:35 GMT
Server: ECS (lga/1318)
Vary: Accept-Encoding
X-Cache: HIT
x-ec-custom-error: 1
Content-Length: 1270
<!doctype html>
<html>
<head>
<title>Example Domain</title>
<meta charset="utf-8" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<div>
<h1>Example Domain</h1>
<p>This domain is established to be used for illustrative examples in documents. You may use this
domain in examples without prior coordination or asking for permission.</p>
<p><a href="http://www.iana.org/domains/example">More information...</a></p>
</div>
</body>
</html>
(为简洁起见,从 HTML 响应中删除了 style
元素和空白行。)