Localhost
IP 주소 가운데에는 특별한 목적으로 미리 정해 둔 주소가 있습니다. 이사를 간 뒤 공유기 설정이나 Wi-Fi 비밀번호를 바꾸어 본 사람이라면 192.168.0.1 또는 192.168.1.1에 접속해 본 적이 있을 것입니다.
이 때 192.168.x.x는 집이나 회사처럼 내부 네트워크에서 사용하는 사설 IP 주소입니다. 이 주소는 특정 컴퓨터를 가리키는 주소가 아니기 때문에 이사를 가거나 다른 곳의 Wi-Fi에 연결해도, 그곳의 공유기가 다시 192.168.0.1 같은 주소를 사용하는 모습을 볼 수 있습니다.
공유기 주소가 항상 192.168.x.x인 것은 아닙니다. 10.x.x.x나 172.16.x.x부터 172.31.x.x까지의 주소도 사설 IP 주소로 사용할 수 있습니다. 중요한 점은 사설 IP 주소가 인터넷 상의 어떤 컴퓨터가 아니라, 내가 연결된 내부 네트워크 안의 장치를 나타낸다는 것입니다.
127.0.0.1
127.0.0.1도 특별한 IP 주소입니다. 이 주소는 로컬 호스트(localhost)라고 부르며 언제나 지금 사용 중인 내 컴퓨터를 뜻합니다. 원래 IP 주소는 다른 컴퓨터를 찾아 통신하기 위해 사용한다고 배웠지만, 수신자 주소로 127.0.0.1을 입력하면 내가 보낸 요청이 내 컴퓨터로 다시 들어옵니다.
따라서 localhost를 사용하면 내 컴퓨터 안에서 실행 중인 서로 다른 프로그램끼리 통신할 수 있습니다. localhost라는 이름은 보통 127.0.0.1을 가리키므로, 두 주소는 같은 뜻으로 사용할 수 있습니다.
Host란?
Host에는 손님을 맞이하는 집주인이라는 뜻이 있습니다. 그래서 웹 개발에서 host는 보통 요청을 받아 서비스를 제공하는 서버 컴퓨터를 뜻합니다. localhost는 서버가 내 컴퓨터에서 실행되고 있다는 의미로 볼 수 있습니다.
웹 개발에서 localhost
Localhost는 웹 개발할 때 특히 많이 사용합니다. 실제 서비스를 운영할 때는 클라이언트와 서버가 서로 다른 컴퓨터에서 실행될 수 있지만, 웹 서비스를 개발할 때 굳이 두 대의 컴퓨터를 준비할 필요는 없습니다.
대신 내 컴퓨터에서 클라이언트 프로그램과 서버 프로그램을 함께 실행하고, 클라이언트가 http://localhost:8000처럼 localhost 주소로 서버에 요청을 보냅니다. 여기서 8000은 IP와 Port에서 배운 포트 번호이며, 개발 서버의 포트 번호로 자주 사용됩니다. 이렇게 하면 한 대의 컴퓨터만으로도 실제 웹 서비스와 비슷하게 클라이언트와 서버의 통신을 개발하고 확인할 수 있습니다.
실습 과제
다음 문장이 맞으면 O, 틀리면 X를 선택하세요.
192.168.x.x로 시작하는 IP 주소는 인터넷 전체에서 하나의 컴퓨터만 가리킨다.127.0.0.1은 현재 사용 중인 내 컴퓨터를 가리키는 localhost 주소다.- localhost를 사용하면 한 컴퓨터에서 실행 중인 클라이언트 프로그램과 서버 프로그램이 통신할 수 있다.
정답·해설
- X —
192.168.x.x는 집이나 회사의 내부 네트워크에서 다시 사용할 수 있는 사설 IP 주소입니다. - O —
127.0.0.1은 내 컴퓨터를 가리키는 대표적인 localhost 주소입니다. - O — localhost를 사용하면 한 대의 컴퓨터 안에서 서로 다른 프로그램이 네트워크 통신을 할 수 있습니다.