webdevqa.jp.net

異なるポートでGoogleサーバーにアクセスしようとしています

何故ですか

http://www.google.com:443/

ほぼ瞬時に失敗しますが

http://www.google.com:8080/

失敗するまでにもう少し時間がかかりますか?

これらのポートにサーバーがない場合は、両方の要求が同じプロセスを通過し、失敗するまでに同じ時間がかかるはずです。 違いは何ですか?

2
Lazer

Googledoesは、サーバーをポート443で実行し続けます。 https://www.google.com または-を参照する場合 https://www.google.com:44 、SSL経由で通常のGoogle検索ページを取得します。

URL http://www.google.com:44 を使用すると、ブラウザにポート443を介してリクエストを送信するように指示しますが、暗号化されていないHTTPを使用します。 Googleは、そのポートを介したHTTPSのみを想定しているため、これを拒否して接続を閉じるようにサーバーを構成しています。

ただし、Googleのサーバーはポート8080でnotをリッスンしていません。ポート8080にリクエストを送信すると、ブラウザはタイムアウトを待ってから、それを決定します。リクエストは失敗しました。


Www.google.com:443へのtelnetセッションを開き、暗号化されていないHTTPをそれに話そうとすると、これらすべてを自分自身に証明できます。

[~]$ telnet www.google.com 443
Trying 66.102.7.104...
Connected to www.l.google.com.
GET / HTTP/1.0
Connection closed by foreign Host.

次のコマンドを試してみると、ポート8080にまったく接続できず、タイムアウトするまでに長い時間がかかることがわかります。

[~]$ telnet www.google.com 8080
Trying 66.102.7.104...
telnet: connect to address 66.102.7.104: Operation timed out
6