使用 Telnet 手動傳送最小 HTTP 請求

此示例演示 HTTP 是基於文字的 Internet 通訊協議,並顯示基本 HTTP 請求和相應的 HTTP 響應。

你可以使用 Telnet 從命令列手動傳送最小 HTTP 請求,如下所示。

  1. 在埠 80 上啟動到 Web 伺服器 www.example.org 的 Telnet 會話:

    telnet www.example.org 80
    

    Telnet 報告你已連線到伺服器:

    Connected to www.example.org.
    Escape character is '^]'.
    
  2. 輸入請求行以使用 HTTP 1.1 傳送 GET 請求 URL 路徑/

    GET / HTTP/1.1
    
  3. 輸入 HTTP 標頭欄位行以標識所需 URL 的主機名部分,這在 HTTP 1.1 中是必需的

    Host: www.example.org
    
  4. 輸入空行以完成請求。

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