hosts 파일은 도메인의 IP를 찾을 때 컴퓨터가 맨 처음 조사하는 파일이다(그러니깐 DNS 파일인 것이다).

로컬에서 개발을 진행할 때 로컬에서만 사용할 도메인과 IP주소를 연결해 줘야 하는데, 이 때 리눅스와 맥은 /etc/hosts 파일에, 윈도우는 C:\Windows\System32\Drivers\etc\hosts 파일에 내용을 작성해 준다. 내용은 아래와 같다.

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost MytoryMP.local
255.255.255.255 broadcasthost
::1             localhost
127.0.0.1       video.localhost

위 내용을 보면 맨 마지막 줄에 video.localhost라는 도메인이 127.0.0.1에 연결돼 있는 것을 볼 수 있다.

127.0.0.1은 서버 컴퓨터 자신을 가리키는 IP 주소다. video.localhost는 내가 로컬에서 개발하는 사이트고, IP주소를 내 컴퓨터로 설정해 둔 것이다. video.localhost라는 도메인은 내 컴퓨터 외에는 어디에도 없는 도메인이기 때문에 여기 적어 주지 않으면 컴퓨터가 도메인의 IP주소를 찾지 못한다.

localhost가 기본적으로 127.0.0.1에 연결돼 있어서 video.localhost처럼 localhost의 서브도메인을 사용하면 지정해 주지 않아도 알아서 찾는 경우도 있는데, 그래도 부작용이 나타나는 경우가 있으니 꼭 써 주자.

팁1: 주석 뒤 첫 줄을 보면 127.0.0.1 localhost MytoryMP.local이라고 씌어 있다. 127.0.0.1localhostMytoryMP.local이라는 두 도메인을 연결한 것이다. 즉, IP에 연결할 도메인은 띄어쓰기로 구분해서 여러 개 쓸 수 있다.

팁2: 주석 뒤 셋째 줄을 보면 ::1 localhost이라고 돼 있다. ::1은 ipv6에서 내 컴퓨터를 가리키는 IP주소다. ipv6에 대해서는 위키피디아를 참고하라.