이미지를 서브 도메인 형식의 cdn으로 돌리는 경우가 있는데 말입니다.
현재 사이트의 도메인과 cdn의 서브 도메인과 비교할 수 있는 방법이 있는지 자문을 구하고자 합니다.
가령 현재 자기 사이트의 도메인이 dev.xetown.co.kr일 수도 있고 xetown.com일 수 있는데, 이때 cdn의 서브 도메인이 img.xetown.co.kr이라면 img.xetown.co.kr이 현재 사이트와 같은 계열의 도메인이라는 것을 확인할 수 있는 방법이 있을까요?
하나의 사이트에서만 확인하는 경우라면 막코딩을 해서 어떻게든 비교를 해볼 수는 있을 것 같은데,
범용 자료(사실은 링크 프리뷰 모듈입니다ㅎ)에서 주어진 url을 확인하는 과정은 이런저런 돌발상황들이 있기 마련이어서 좀 더 체계적인 접근이 있을지 궁금합니다.
자문자답입니다.
처음에는 라이믹스에 내장된 isSameHost 메소드를 써볼까 했는데, 이건 서브도메인 비교는 안 되는 것 같더라구요.
https://xetown.com/tips/1555592 의 댓글 참조
그래서 새로 함수를 짜봤습니다.
일단 url에서 hostname을 추출한 뒤 다음과 같이 재귀함수(getDomainFromSubdomain)를 돌려서 도메인을 추출하고, 두 도메인을 비교해주는 함수 isSameDomain으로 ture/false를 반환받으면 되는 듯합니다.
(과연 잘 될 것인지...)
이렇게 했을 때 dev.xetown.co.kr과 img.xetown.com, 그리고 xetown.com과 img.xetown.co.kr의 경우는 서로 다른 도메인으로 판정하네요.
이건 뭐 어쩔 수 없는 듯;;;