2016-08-08 65 views
7

Nie rozumiem różnicy między tymi terminami i ich połączeniem.Czym różnią się 127.0.0.1, 0.0.0.0 i localhost?

Zajrzałem do pliku hosts na moim komputerze i widziałem, że 127.0.0.1 i localhost są połączone, ale nie jestem pewien jak i nie wiem gdzie 0.0.0.0 pasuje do tego wszystkiego.

Widziałem inne odpowiedzi na to pytanie, ale jestem początkującym, a inne odpowiedzi na temat pętli zwrotnych i meta-adresów nie były łatwe do naśladowania.

+0

Dlaczego zostało to odrzucone? –

Odpowiedz

8

Tak, w Twoim lokalnym systemie localhost przetłumaczono na 127.0.0.1, który zawsze będzie adresem IP urządzenia, z którego aktualnie korzystasz. Na przykład na komputerze uzyskującym dostęp do 127.0.0.1 (lub lokalnego hosta) zostanie po prostu podjęta próba otwarcia połączenia z własnym komputerem (przydatne, jeśli hostujesz lokalny serwer WWW).

Tymczasem, 0.0.0.0 ma inne zastosowanie. Na serwerze lub dowolnej maszynie z więcej niż jednym adresem IP można go wykorzystać do określenia wszystkich adresów IP, z których korzysta maszyna. Na przykład, jeśli utworzysz prostą aplikację java z serverSocket, możesz chcieć, aby gniazdo serwera nasłuchiwało połączeń przychodzących na wszystkich adresach IP serwerów. Następnie należy ustawić gniazdo serwera do nasłuchu na 0.0.0.0. Mam nadzieję że to pomoże!

+0

Dzięki, że pomaga, myślę, że najczęstszym powodem, dla którego używa się tych osób, jest rozwijanie i testowanie stron internetowych i aplikacji na ich komputerze? –

+0

najlepsza odpowiedź !!! – zavr

2

Dowolny adres w całym bloku 127.0.0.0/8 spowoduje wysłanie w pętlę ruchu z powrotem do komputera.

Localhost jest zwykle ustawiony na 127.0.0.1, ale można go ustawić na dowolnym adresie w bloku 127.0.0.0/8.

Adres 0.0.0.0 tak naprawdę oznacza dowolny adres IPv4.

+0

localhost można ustawić na dowolny adres. Jest zdefiniowany w hostach plików, które są najpierw wyszukiwane przez program rozpoznawania nazw DNS. – rodolk

+0

To prawda, ale to nie będzie rzeczywisty host lokalny. spróbuje wysłać ruch w innym miejscu niż host lokalny. –