こんにちは松田です。
telnetコマンドを使ってWebアクセスをしてみます。
各バージョン
- CentOS 7.4
- telnet 0.17-64
telnetでHTTP通信
以下のようにtelnetコマンドでサーバに接続します。
telnet [FQDN] [ポート番号]
1
2
3
4
|
[root@srv ~]# telnet example.com 80
Trying 127.0.0.1...
Connected to example.com.
Escape character is '^]'.
|
接続できたらHTTPのGETリクエストを送ります。
GETリクエストは以下のような書式になります。
1
2
|
GET / HTTP/1.1
HOST: example.com
|
1行目がリクエストライン、2行目がリクエストヘッダといいます。(ヘッダは複数行書けます。)
GETリクエスト入力後にエンターを2回押すとWebサーバからのレスポンスが表示されます。(空行で区切られるということ。)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 19 Aug 2019 08:32:56 GMT
Content-Type: text/html
Content-Length: 126
Last-Modified: Mon, 19 Aug 2019 08:11:42 GMT
Connection: close
ETag: "5d5a59be-7e"
Accept-Ranges: bytes
<html>
<head><title>テストサイト</title></head>
<body>
<h1>このサイトはサンプルです。</h1>
</body>
</html>
Connection closed by foreign host.
|
レスポンスはステータスライン、レスポンスヘッダ、レスポンスボディで構成され、HTMLはボディに書かれています。
終わり
無事にtelnetでWebアクセスできました。
最近はhttps化しているサイトが多く、telnetでは残念ながらhttpsにはアクセスできません。
http限定になりますが、Webサーバへの疎通確認や、httpの仕組みを学ぶ際に活用してみてください。