왜 localhost가 Windows 8.1에서는 작동하지 않지만 127.0.0.1에서는 작동합니까?


1

포트 9876에서 실행되는 HTTP 서버가 있습니다.

나는 넣는다. http://127.0.0.1:9876/ Chrome에 페이지가 즉시로드됩니다.

나는 넣는다. http://localhost:9876/ Chrome에 삽입하면 페이지가로드되지 않습니다.

C : \ Windows \ System32 \ drivers \ etc \ hosts를 수정 한 적이 없습니다.

hosts 파일의 모든 행은 주석 처리됩니다.

다음 줄이 파일에 있으며 관련있을 수 있습니다.

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost

내가 말했듯이, 나는이 라인들을 직접 추가하지 않았다. hosts 파일을 편집하지 않았습니다.

분명히 localhost 작업을하기 위해 두 번째 줄의 주석 처리를 제거 할 수 있습니다. 그러나 첫 번째 라인이 맞으면 왜 이것이 필요한가? Microsoft가 첫 번째 줄을 작성 했습니까? 그들은 localhost가 정의되지 않고 작동 할 것이라고 내게 말하고있는 것처럼 보입니다.


HTTP 서버에서도 듣고 있습니까? ::1 또는 IPv4 만?
jscott

1
그냥 ipv4. . .
cja

주석 처리를 제거하면 localhost 뒤로)
alexus

첫 번째 줄은 여러분이 상자에서 DNS를 실행 중이며 localhost가 로컬 IP를 확인한다고 가정합니다.
Steve Butler

@SteveButler 좋아, 대답에 넣으면 받아 들일거야. 또한 MS가 기본적으로 localhost를 사용하지 않기로 결정한 이유를 설명 할 수 있습니까?
cja

답변:


0

나는 신뢰할 수있는 문서를 찾을 수 없지만 Windows 7 이후 그들은 localhost 해상도를 DNS로 변경 한 이후로 나타납니다. DNS 클라이언트 서비스가 실제로 당신이 작업을 수행 할 때 localhost를 돌려 주었다고 생각합니다. 왜냐하면 DNS 서버가 어디에 있든, 아마 localhost를 해결하지 못하기 때문입니다. 호스트 파일은 항상 설정할 수 있으며 DNS 클라이언트가 제공하는 것을 무시해야합니다.

적어도 그것이 창 7부터 바뀌 었다는 증거가 있습니다.

http://support.microsoft.com/kb/972034

내 Win8 상자에 그 줄을 주석으로 표시되어 있지만 localhost 다시 :: 1 해결하고 물론 내 DNS IPv6 구성되어 있지 않은 경우에도 해당 DNS 서비스를 가정 해요, 그리고 경우에도 그것은 않을 것이다. localhost를 해결하십시오.


1

두 번째 '#'을 제거하면 localhost도 잘 작동합니다.

...에서

# 127.0.0.1     localhost

127.0.0.1     localhost

죄송합니다 - 제 이해를 설명하지 않았다는 것을 알고 있습니다. 문제의 새로운 마지막 단락을 참조하십시오.
cja

'127.0.0.1'은 (하드) TCP / IP 스택으로 코딩되었지만 'localhost'
Poliquin

의견은 무엇을 의미합니까? localhost는 hosts 파일에 항목이 없어도 작동 함을 의미합니다.
cja

@cja 예, localhost 파일에 해당 항목이 없으면 작동합니다. 그것이 왜 당신에게 적합하지 않은지 잘 모르겠습니다.
Michael

0

이 논평은 Chrome 자체의 DNS 구현이 아니라 Windows 자체의 DNS 구현에 대해 설명합니다.


그것이 내가 생각했던 거죠
cja

0

그렇습니다. Microsoft는 그러한 변화를 만들었습니다. 외관상으로 이것은 IP6 유일한 기계 (장래에 일반적 일 것입니다) 때문에 localhost를 IP4 주소로 해석하는 기본 항목이 작동하지 않을 것이기 때문입니다. 그래서 그들은 그 논리를 독립적으로 사용할 수없는 DNS 분석기로 옮겼습니다.

출처: https://serverfault.com/a/9665/104049


-1

Windows 8.1로 업그레이드하면 일부 추가되거나 일부 추가 된 서비스, 즉 Apache, MySQL이 삭제됩니다. 컴퓨터에서 실행중인 서비스를 살펴보면 모든 웹 관련 서비스가 종료되었음을 알 수 있습니다.


슈퍼 유저에 오신 것을 환영합니다! 이는 OP의 질문에 대한 답변이 아니므로 업그레이드의 일부로 변경된 것은 아닙니다.
bertieb

또한이 질문은 명시 적으로 http://127.0.0.1:9876/ 작동하므로 로컬 서비스가 여전히 실행 중입니다.
Scott
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.