Jika mengikat socket dengan Python ke localhost, 8200 ini dapat diakses melalui http: // localhost: 8200 / . tetapi tidak http: // xxxx: 8200 /
Jika mengikat socket dengan Python ke xxxx, 8200, machinename, 8200 ini dapat diakses melalui http: // xxxx: 8200 / dan http: // machinename: 8200 / , tetapi tidak http: // localhost: 8200 /
Saya pikir localhost berarti 'mesin ini', dan menggunakannya akan 'loop kembali' ke alamat ip mesin, tetapi tampaknya ips berbeda.
Apakah 127.0.0.1 selalu merupakan alamat ip yang berbeda dengan alamat ip mesin?
memperbarui:
Saya mengerti bahwa angka sebenarnya berbeda, tetapi apa yang dilakukan loopback?
Misalnya, wikepedia mengatakan bahwa
'mengarahkan browser web ke URL http://127.0.0.1/ atau http: // localhost / akan mengakses situs web komputer itu sendiri'
tetapi situs web itu juga akan dapat diakses di xxxx, dan mungkin diatur dengan soket tunggal pada xxxx Jadi bagaimana kedua referensi bekerja?
kesimpulan:
Saya pikir saya akhirnya mengerti bahwa 127.0.0.1 dan xxxx bekerja seperti ini
--127.0.0.1 ==\
>- Computer
--x.x.x.x ==/
dan tidak
--127.0.0.1 ==\
--------------- x.x.x.x >- Computer
atau
--x.x.x.x ==\
--------------- 127.0.0.1 >- Computer
Terima kasih atas bantuannya
Jawaban:
Untuk menjawab pertanyaan Anda.
127.0.0.1 bukan hanya alamat ip yang berbeda dengan alamat ip mesin, tetapi juga antarmuka yang berbeda. 127.0.0.1 seharusnya tidak terlihat di jaringan lokal. Ini adalah alamat IP internal khusus untuk adaptor loopback.
xxxx akan menjadi kartu ethernet Anda.
omong-omong 'localhost' hanyalah sebuah entri dalam file host Anda yang menunjuk ke 127.0.0.1
Jika Anda mengikat soket ke 127.0.0.1:8200 maka hanya klien yang menjalankan secara lokal yang dapat mengaksesnya dan hanya dengan http://127.0.0.1:8200 atau http: // localhost: 8200 (atau entri file dns atau host host) yang menunjuk ke 127.0.0.1).
Soket terikat ke xxxx: 8200 hanya akan tersedia melalui http: // xxxx: 8200 atau entri file dns atau host yang menunjuk ke sana.
Mengikat soket ke 127.0.0.1 tidak secara otomatis membuatnya tersedia pada antarmuka ethernet juga.
Itulah mengapa Anda tidak dapat terhubung ke xxxx: 8200
Anda dapat mengikat port 8200 ke semua antarmuka yang tersedia (0.0.0.0) kemudian akan berfungsi.
sumber
Agak tidak akurat. Itu mungkin melakukannya. Sama baiknya, itu mungkin tidak memunculkan situs web apa pun dan bahkan mungkin untuk menampilkan situs web internal yang berbeda dari apa yang Anda dapatkan ketika Anda menggunakan alamat xxxx Anda.
127.0.0.1 menunjuk ke mesin Anda sendiri, tetapi itu tidak berarti itu akan berperilaku dengan cara yang sama setelah mencapai mesin Anda
Jika Anda menginginkan analogi non-teknis, Anda dapat menganggapnya pintu yang berbeda ke rumah Anda.
Keduanya menunjuk ke rumah yang sama tetapi mereka tidak sama. Dimungkinkan untuk setiap pintu untuk membawa Anda ke ruangan yang sama atau mereka dapat membawa Anda ke ruangan yang berbeda. Dimungkinkan juga untuk mengunci satu pintu dan bukan yang lain.
Saat Anda mengonfigurasi situs web, Anda menentukan alamat mana yang akan diikat dan seringkali jawabannya adalah semua alamat. (Itu setara dengan memiliki semua pintu membawa Anda ke satu ruangan)
Anda juga dapat menentukan situs web untuk mengikat satu alamat saja. (Itu sama dengan mengunci semua pintu kecuali satu.)
Jika Anda memiliki dua (atau lebih) situs web, Anda dapat mengikatnya ke alamat yang terpisah. (Itu setara dengan memiliki setiap pintu masuk ke kamar yang terpisah).
Contoh cara kerja kedua referensi, komputer Windows 7 saya telah menginstal IIS, ketika saya masuk ke IIS Manager dan klik kanan pada Situs Web Default, itu memberi saya pilihan menu 'Edit Bindings'. Memilih yang memunculkan daftar binding. Saya hanya punya satu, tetapi untuk Alamat IP memiliki * yang berarti IIS mendengarkan semua alamat ip saya.
sumber
127.0.0.1:5000
ke situs web dan diikat192.168.1.104:5000
ke situs lain. Kuncinya adalah ituaddress:port
berarti ruangan (layanan) berbeda di rumah (komputer).Setiap alamat IP pada sistem bersifat independen dan dapat diikat oleh soket secara terpisah, dengan pengecualian alamat khusus 0.0.0.0 yang menunjukkan ke OS untuk mengikat soket ke semua antarmuka.
sumber