나는 로컬 개발시 도메인을 localhost의 서브도메인으로 만들어 사용한다. wspaper.localhost 같은 식으로 말이다.

localhost는 자기 자신을 가리키는 루프백 도메인으로, 네트워크 상에서는 사용되지 않는다. 그래서 로컬 개발용 도메인으로 사용하기에 안전하다.

안전하다는 것은 중요하다. 예컨대 .dev 도메인은 많은 개발자들이 로컬 개발용 주소로 사용하다가 정식 도메인으로 사용이 되기 시작했고, 구글이 크롬에서 .dev 도메인에 접속할 때 https를 강제하는 바람에 많은 개발자들이 멘붕에 빠진 적이 있다.

다만 유의할 점이 있다. hosts 파일에 반드시 IP주소를 적어 줘야 한다. video.localhost 같은 localhost의 서브도메인은 /etc/hosts 파일에 적어 주지 않아도 접속되는 경우가 있다. localhost는 이미 /etc/hosts 파일에 주소가 매핑돼 있기 때문에 브라우저에서는 localhost의 서브 도메인 주소를 127.0.0.1로 해석해 낸다. (맥에서 그랬는데 리눅스는 기억이 잘 안 난다.)

그런데 이걸 적어 주는 걸 빼먹었다가 라라벨의 npm run watch 브라우저 싱크 기능이 제대로 작동하지 않아 낭패를 본 적이 있다. 생각해 보니 localhost의 서브 도메인이 localhost와 동일한 IP를 사용한다고 보장할 수 없다. 브라우저에서 접속이 된다고 hosts 파일에 도메인 주소를 추가하지 않고 쓰다가 낭패를 본 것이다.

참고