Pertanyaan mencoba mengakses server Google pada port yang berbeda


Mengapa demikian

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

gagal hampir seketika, sementara

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

butuh lebih banyak waktu sebelum gagal?

Jika tidak ada server di port ini, kedua permintaan harus melalui proses yang sama dan harus mengambil jumlah waktu yang sama untuk gagal. Apa bedanya?


2
2017-08-08 18:29


asal




Jawaban:


Google tidak menjaga server berjalan pada port 443. Jika Anda menjelajah ke https://www.google.com atau https://www.google.com:443, Anda akan mendapatkan halaman pencarian Google normal melalui SSL.

Saat Anda menggunakan URL http://www.google.com:443, Anda memberi tahu browser untuk membuat permintaan melalui port 443, tetapi untuk menggunakan HTTP yang tidak terenkripsi. Google memiliki server mereka yang dikonfigurasi untuk menolak ini dan menutup sambungan karena hanya mengharapkan HTTPS melalui port itu.

Namun, server Google adalah tidak mendengarkan pada port 8080. Ketika Anda membuat permintaan ke port 8080, browser Anda harus menunggu batas waktu sebelum memutuskan bahwa permintaan gagal.


Anda dapat membuktikan semua ini kepada diri sendiri dengan membuka sesi telnet ke www.google.com:443 dan mencoba untuk mengucapkan HTTP yang tidak terenkripsi kepadanya:

[~]$ 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.

Jika Anda mencoba perintah berikut, Anda akan melihat bahwa Anda tidak dapat terhubung ke port 8080 sama sekali dan butuh waktu lama untuk timeout:

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

6
2017-08-08 18:37