문자열 형식이 아닌 웹 사이트의 IP를 입력하면 로컬 DNS 서버가 이를 이해하고 DNS 프로세스를 우회하게 됩니까?

문자열 형식이 아닌 웹 사이트의 IP를 입력하면 로컬 DNS 서버가 이를 이해하고 DNS 프로세스를 우회하게 됩니까?

이것은 순전히 호기심에서 나온 것입니다. 그런데 웹사이트의 IP를 입력하면 요청이 계속해서 정방향 조회 프로세스를 거치게 될까요? 그렇지 않은 경우, 이것이 문자열로서의 호스트 이름이 아니라 IP에 의한 위치라는 것을 어떤 시점과 단계에서 인식합니까?

또한 이것이 내 호스트 파일에 어떻게 기록됩니까? 전체 조회 프로세스를 거치면 호스트 파일에 호스트 이름과 IP 문자열이 포함되어 로컬로 채워지나요?

답변1

IP 주소를 사용하는 경우 OS는 그것이 IP 주소임을 즉시 인식하고 정방향 조회를 수행하지 않습니다.

HTTP 요청을 수행할 때 첫 번째 단계는 브라우저가 서버와 통신할 수 있도록 대상의 IP 주소를 얻는 것입니다. 서버와의 통신은 IP 주소부터 IP 주소까지 모든 것이 IP를 통해 이루어지므로 이 통신에는 서버 이름이 필요하지 않습니다. 그러나 Host:여러 사이트를 호스팅하는 경우 웹 서버가 어떤 웹 사이트를 방문하는지 알 수 있도록 HTTP 헤더에 헤더로 전달됩니다 .

IP 주소로 접속하는 경우에는 이런 일이 발생하지 않으며, 기본 사이트가 제시됩니다.

귀하의 hosts파일은 정적 파일이므로 직접 편집하는 경우(또는 이를 수정하는 스크립트나 응용 프로그램이 있는 경우)를 제외하고는 귀하가 수행하는 어떤 작업으로도 변경되지 않습니다.

답변2

다른 사람들이 쓴 것처럼, IP 주소를 사용하면 실제로 호스트 이름 없이 개발 사이트 등에 액세스할 수 있는 DNS를 건너뛰는 것입니다.

/etc/hosts에 IP - 모의 호스트 이름을 추가하는 것은 개발 사이트에서 매우 일반적입니다. IP 주소를 직접 사용하는 것과는 달리 a) 여전히 DNS를 건너뜁니다. b) 브라우저는 Host예를 들어 로컬 서버의 가상 호스트를 허용하는 HTTP 요청에 요청 헤더를 추가합니다.

관련 정보