루트 도메인과 서브도메인
`emfls.com`처럼 앞에 아무것도 붙지 않은 주소를 루트 도메인 또는 apex 도메인이라고 부릅니다. `www.emfls.com`은 www라는 서브도메인입니다.
GitHub Pages에서 루트 도메인을 쓰려면 GitHub가 안내하는 A 레코드를 등록하고, www 주소는 보통 CNAME으로 GitHub Pages 기본 주소를 가리키게 합니다.
DNS 전파 시간 고려하기
DNS를 수정한 뒤 바로 결과가 바뀌지 않는 경우가 많습니다. 브라우저 캐시, 통신사 DNS 캐시, 기존 레코드의 TTL 때문에 몇 분에서 수 시간까지 차이가 날 수 있습니다.
설정을 바꾼 직후에는 여러 번 수정하기보다 현재 레코드가 정확한지 확인하고 기다리는 편이 좋습니다. 성급하게 값을 바꾸면 어떤 변경이 문제였는지 추적하기 어려워집니다.
GitHub 저장소의 CNAME 파일
GitHub Pages는 저장소 루트 또는 빌드 결과물에 `CNAME` 파일이 있어야 사용자 지정 도메인을 안정적으로 유지합니다. 파일에는 대표 도메인 한 줄만 넣는 것이 일반적입니다.
대표 주소를 `emfls.com`으로 정했다면 CNAME 파일에는 `emfls.com`을 넣습니다. www 주소는 DNS와 GitHub Pages 설정에서 보조적으로 처리합니다.