-
"데이터베이스 연결 설정: 127.0.0.1 vs. localhost, 어떤 것을 선택해야 할까?"언어/Node.js 2024. 5. 22. 13:17
const mariadb = require('mysql2'); const connection = mariadb.createConnection({ host: '127.0.0.1', user: '<user이름>', password: '<password>', database: '<db이름>', dateStrings : true }); module.exports = connection
위 코드 처럼 우리는 Node.js로 database를 연결할 수 있다.
그런데
host :
자리에127.0.0.1
을 사용할 수도 있고localhsot
를 사용할 수도 있다.과연 둘의 차이는 뭐가 있을까?
결론부터 말하자면 일반적으로 동일한 것으로 간주된다. 두 가지 모두 로컬 머신을 가리키는 데 사용된다.
- 속도: 127.0.0.1은 IP 주소이고 localhost는 호스트 이름입니다. 일부 운영 체제에서는 localhost를 해석하기 위해 추가적인 DNS 조회가 필요할 수 있으므로 약간의 오버헤드가 발생할 수 있습니다. 하지만 이 차이는 거의 무시될 정도로 작을 것입니다.
- 호스트 파일 설정: 대부분의 경우 두 가지 모두 동일한 IP 주소를 가리키도록 로컬 호스트 파일에 설정됩니다. 하지만 이 호스트 파일 설정은 변경될 수 있습니다. 예를 들어, 개발 환경이나 다른 설정에 따라 localhost가 다른 IP 주소를 가리킬 수 있습니다. 하지만 127.0.0.1은 보통 변경되지 않습니다.
- 보안 설정: localhost와 127.0.0.1은 기본적으로 동일한 것으로 간주되지만, 일부 보안 정책에서는 다를 수 있습니다. 예를 들어, 일부 데이터베이스 서버는 localhost에서의 연결을 허용하고 127.0.0.1에서의 연결을 거부할 수 있습니다. 이러한 정책은 서버의 보안 설정에 따라 다를 수 있습니다.
예시로
우리가
www,google.com
인 도메인을 입력하면 웹브라우저는 DNS 조회를 통해 해당 도메인의 IP 주소를 조회한다.그런 다음 해당 IP 주소로 서버와 통신하여 웹 페이지를 요청하고 표시합니다.
cf. DNS(Domain Name System) 조회는 컴퓨터 네트워크에서 도메인 이름을 IP 주소로 변환하는 프로세스입니다.
인터넷에서 통신할 때, 컴퓨터는 도메인 이름을 사용하여 다른 컴퓨터와 통신합니다. 하지만 컴퓨터는 실제 통신할 때 IP 주소를 사용하므로, 도메인 이름을 IP 주소로 변환해야 합니다. DNS 조회는 이러한 변환을 담당합니다.
그러면 localhost도 DNS 조회를 통해 127.0.0.1로 해석될까?
결론은 아니다. DNS 없이 localhsot와 127.0.0.1 을 사용할 수 있다고 한다.
각 컴퓨터에는 DNS 해결 규칙이 있는 hosts 파일이 있으며, 이 규칙에는 localhost를 127.0.0.1로 해석하는 규칙이 포함되어 있다.
원하는 대로 이름을 지정할 수 있다.
ex) kimhost와 같은 이름으로 사용하여 127.0.0.1로 해석할 수 있게 할 수 있다.127.0.0.1 를 google.com으로 한다면?
> 본인 기기에만 해당되며, 다른 사람에겐 영향을 끼치지 않는다.'언어 > Node.js' 카테고리의 다른 글
[데이터베이스] address already in use ::: (0) 2024.05.22 [Node.js] 돌아가기만 하면 되는 거 아닌가? (1) 2024.04.20 [Node.js] module.exports 와 exports 차이 (0) 2024.04.20 [Node.js] 'TypeError: Invalid URL' 오류 해결하기 (1) 2024.04.18 [Node.js] Node.js 설치 후 일어날 수 있는 오류 (0) 2024.04.18