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

포트 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가 정의되지 않고 작동 할 것이라고 내게 말하고있는 것처럼 보입니다.



답변

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

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

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

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


답변

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

…에서

# 127.0.0.1     localhost

127.0.0.1     localhost

답변

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


답변

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

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


답변

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