왜 www인가?

이 페이지는 표준(canonical) 웹사이트 URL에 www를 쓸 지에 대한 정보를 찾는 웹마스터를 위한 것이다.

먼저, 용어를 짚고 넘어가자. www 없는 도메인은 네이키드 도메인(naked domain)이라고 불리는데, 여기에서도 이 용어를 사용할 것이다.

왜 www를 사용해야 하는가?

www를 사용해야 하는 이유는 여러분이 오늘 가진 웹사이트는 작지만, 내일 갖게 될 웹사이트는 커지기를, 정말로 커지기를 바라기 때문이다.

기술적인 이유에서 www의 사용은 주로 하루에 수백만 (혹은 그 이상의) 페이지뷰를 처리하거나, 여러 하위 도메인에 걸쳐서 많은 수의 서비스를 처리하는 대규모 웹사이트, 그리고 애플리케이션 서비스 제공자에 의해 “클라우드”에 호스팅되는 거의 모든 웹사이트를 위한 것이다.

예를 들어, Heroku는 네이키드 도메인의 사용을 강하게 지양한다. 웹사이트를 호스팅하기 위하여 Heroku나 Akamai같은 프로바이더를 사용할 때, 프로바이더는 문제가 있는 서버로부터 건강한 서버로 트래픽을 리디렉트할 수 있도록 DNS 레코드를 필요에 따라 갱신할 수 있기를 원한다. 이는 DNS CNAME 레코드를 사용하여 설정되는데, 네이키드 도메인은 CNAME 레코드를 가질 수 없다. 이것은 사이트가 고도로 중복된 호스팅을 필요로 할 만큼 커지게 될 경우 문제가 된다. 하지만 누가 사이트가 그만큼 커지기를 원하지 않겠는가? www를 사용하지 않으려면, 여러분은 자체 서버 팜을 가져야 하며 이러한 서비스들을 최대한 활용할 수 없다.(참고 : 왜 Heroku는 “네이키드” 도메인에 주의하는가?)

다른 이유는 쿠키에 관한 것이다. 일반적인 웹사이트 최적화 방법 중 하나는 static.example.com과 같이 하위 도메인으로 정적 콘텐츠를 제공하는 것이다. 만약 www를 사용하고 있다면, 문제가 될 것은 없다. 여러분 사이트의 쿠키는 (명시적인 설정이 있지 않는 한) 정적 서브도메인으로 보내지지 않을테니까. 하지만 네이키드 도메인을 사용하고 있다면, 쿠키는 (RFC 6265를 구현한 최신 브라우저에 의해) 모든 하위 도메인으로 보내질 것이고, 정적 콘텐츠에 대한 접근을 느리게 할 것이며, 캐시가 제대로 작동하지 못하게 될 수도 있다. 네이키드 도메인을 유지하면서 이를 해결하는 방법은 정적 콘텐츠용으로 사용할 두번째 도메인을 구입하는 것이다. www를 사용하지 않는 트위터의 경우, 정적 콘텐츠를 위해 다른 도메인을 구입해야 했다. 물론, 사이트의 서브도메인의 여러 서비스에 걸친 싱글 사인 온을 구현하는 것과 같이(구글이 이렇게 한다) 명시적으로 쿠키를 모든 서브도메인끼리 공유해야 하는 경우, 마찬가지로 두번째 도메인을 구입해야 한다.(참고: URL에 “www”를 쓰는 이유는 무엇인가?)

쿠키에 대해 조금 더 이야기해 보자면, 네이키드 도메인을 사용하기로 결정하면서도, 서비스를 서브도메인에 두거나 서브도메인들끼리 쿠키를 공유하기를 원한다면, 여러분은 서브도메인에 쿠키를 설정하지 않는 한 – 게다가 네이키드 도메인에서도 제대로 작동하지 않는다는 걸 알게 될 것이다. 이를 해결하는 방법은 네이키드 도메인과 서브도메인들 사이에 공유될 수 있는 RFC 6265(前 RFC 2965) 쿠키를 사용하는 것이지만, 일부 인기 있는 웹 애플리케이션 패키지는 여전히 RFC 6265는 고사하고 RFC 2965조차 제대로 혹은 전혀 구현하지 않고 있다.(참고: subdomain.example.com은 example.com이 읽을 수 있는 쿠키를 설정할 수 있는가?)

오늘 이런 문제에 부딪히지는 않더라도, 웹사이트가 커짐에 따라 결국 문제가 발생할 것이다. 오늘 www를 사용하는 것은 장래에 단일 서버를 넘어 웹사이트를 확장하는 과제를 더 잘 대처할 수 있게 해 준다. 많은 경우 www 없이도 해결할 수 있지만, 쓰면 더 쉬울 것이다.

www가 아닌 것을 www로 리디렉트해야 하는가?

그렇다.

리디렉션을 통해 URL을 입력하는 사용자는 어떤 형식을 사용하는지에 관계 없이 여러분의 웹사이트에 도달할 수 있을 뿐만 아니라, 검색 엔진이 여러분의 표준 URL을 적절하게 색인하도록 할 수 있게 된다.


원문: www. is not deprecated. Why is www?

같은 사이트의 다른 글에서는, 기술 외적인 측면에서 www를 쓰는 것이 해당 URL이 다른 것들과(FTP, DNS, 이메일) 혼동되지 않고 웹이라는 것을 제대로 가리킬 수 있어서라고 한다. 원문의 필자는 Heroku를 언급했는데, Netlify에서도 공식 문서블로그 글을 통해 www의 사용을 강하게 권장하고 있다.