使用 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
元素和空白行。)