www와 비-www URL 중에서 선택하기
요구사항
sara-mara.com 프로젝트를 진행하면서 sara-mara.com 도메인은 작동하지만, www.sara-mara.com로 웹 사이트 접속 시 사이트가 작동하지 않는 것을 알았다.
물론 그 이유는, NCP Global DNS 서비스를 활용하면서 호스트 www를 등록하지 않았기 때문에 생겨난 문제지만 이 문제를 해결하면서 www URL을 사용할 것인지, 비-www URL을 사용할 것인지 고를 필요가 있었다.
왜 둘 중 하나만 사용해야 할까?
간단하게 말해서 하나의 도메인은 하나의 서버를 의미하기 때문이다. mozila에 따르면 표준 url을 선택한 경우에 서버에 일관성이 생긴다고 설명한다. 실제로 검색엔진은 www IRL와 non-www URL을 별개의 웹사이트로 판단하기 때문에 절대 링크를 사용하는 경우 하나의 표준 url을 바탕으로 사용하는 것이 더욱 유리할 것이다.
그렇다면 www vs non-www
결론은 여러개의 하위 도메인을 가진 경우를 제외하고는 취향차이!로 결론내고 끝내긴 아쉬우니 두 url의 차이에 대해 조금 더 알아보았다.
우선 www 도메인은 Wordl Wide Web을 의미하며 웹 사이트 주소의 시작 부분에 있는 문자열이다. 처음에는 모든 웹사이트에서 이를 사용했었는데 사람들은 시간이 지날수록 www를 붙이지 않고 naver.com으로 사이트를 검색하기 시작했다. 결국에는 www를 제외하고 도메인을 사용하는 경우가 생기기 시작했고, Google과 같은 웹사이트는 URL에 www 표시를 숨기고 보여주기 시작했다.
그렇다면 'www'를 사용할 때 장점은 무엇인가? 첫 번째로, 사이트 URL 앞에 www를추가하면 호스트 이름 역할을 한다. 이는 DNS의 유연성과 하위 도메인의 쿠키를 제한할 수 있다.
예를 들어, www.abc.com 도메인에서 쿠키를 설정했을 경우 쿠키는 모든 하위 도메인인 x.www.abc.com, y.www.abc.com으로 전달된다. www를 사용하면, 쿠키를 루트 도메인으로 제한하여 하위 도메인으로 전송되는 것을 방지할 수 있다는 것이다.
기술적인 차이는 이 정도이다. 물론 www를 사용한다면 쿠키를 제한하고 CDN을 활용한 DNS의 유연성이 있다는 기술적 차이가 존재하지만, 이는 많은 하위도메인을 가지는 큰 웹사이트의 경우라는 것을 한번 더 확인할 수 있었다.
결국 다양한 관련 글에서 공통적으로 말하는 중요한 내용은 www와 네이키드(non-www)의 일관성이다.
www로 선택하기
이러한 내용을 팀원들과 상의했고, 팀원들의 취향을 반영하여 www를 추가한 웹 사이트를 우리의 표준 사이트로 결정하고, 관련 설정을 진행했다.
www 호스트를 가진 domain 등록
Naver Cloud Platform을 Global DNS 서비스를 이용하고 있기 때문에 여기서 이러한 설정을 해주었다. 호스트를 'www'를 추가해 주었고, 레코드 값은 기존과 동일하게 하며 쉽게 할 수 있었다.
sara-mara.com으로 오는 요청은 어떡하죠?
그렇다면 www.sara-mara.com 사이트를 표준 url로 사용하기로 했으니, sara-mara.com으로 오는 요청은 버려야 하는가? 표준 url을 www.sara-mara.com으로 활용한다 하더라도 sara-mara.com 도메인을 버릴 필요는 없다. 나는 naver에 접속하기 위해 브라우저에 naver.com을 입력해도, www.naver.com으로 들어가기 때문이다.
이처럼 표준 URL로 오지 않는 요청을 표준 URL로 redirect 해주는 방법이 있다.
나는 nginx를 활용하는 나는 default.conf
파일에서 sara-mara.com으로 오는 요청을 들은 경우에 301 코드와 함께 www.sara-mara.com으로 redirect 해주는 코드를 작성해주었다.
server {
listen 80;
server_name sara-mara.com;
return 301 http://www.sara-mara.com;
}
server {
listen 80;
server_name www.sara-mara.com;
...
}
클라이언트가 sara-mara.com 웹 서버에 요청하게 된다면 301(Moved Permanently) 코드를 받게 되고 그다음 페이지로 리다이렉트 된다.
이 과정에서 검색 엔진은 리소스로 연결되는 링크를 갱신하게 된다.
완성
이제, 웹 브라우저에서 확인하는 우리 사이트는 모두 www.sara-mara.com 이 되었고, sara-mara.com으로 접속하게 된다면 자동으로 리다이렉트 할 수 있도록 설정하였다.
무지에서 시작된 실수에서 www non-www 차이와 일관성에 중요성, 그리고 nginx를 활용한 redirect까지 공부할 수 있는 기회가 되는 경험이었다.
참고자료
https://codewatchers.com/ko/blog/www-vs-non-www-which-one-should-you-get-for-better-seo-ko
https://www.wpbeginner.com/beginners-guide/www-vs-non-www-which-is-better-for-wordpress-seo/
내 사이트
'개발' 카테고리의 다른 글
[SaraMara] 아토믹 디자인 패턴 도입하기 (0) | 2023.11.20 |
---|---|
Github Action + NCP + Nginx로 간단 CI / CD 구성하기 (0) | 2023.07.11 |
React 성능 개선 (LazyLoading, 이미지 최적화) (0) | 2023.07.06 |
원할한 협업을 위한 노력 (2) 협업 환경 구성하기 (0) | 2023.07.04 |
원할한 협업을 위한 노력 (1) 코드 리팩토링 (0) | 2023.07.03 |