프론트엔드/HTTP - 전

Choosing Between www and non-www URLs

5ub1n 2024. 6. 23. 19:57

 wwwwww가 아닌 URL 중에서 선택


웹 사이트 소유자들 사이에서 반복되는 질문은 'www'인 URL을 선택할 것인지, 'www가 아닌' URL을 선택할 것인지에 대한 여부이다.

이 페이지에서는 최선의 방법에 대한 몇 가지 조언을 제공한다.

 


도메인 이름이란? What are domain names?

HTTP URL에서 처음 http:// 또는 https://를 뒤따라 오는 첫 번째 하위 문자열을 도메인 이름이라고 한다.

이 도메인 이름은 문서가 있는 서버에서 호스팅된다.

 

서버가 반드시 물리적인 기계일 필요는 없다.

여러 서버가 동일한 물리적 기계에 존재할 수 있다.

또는 하나의 서버가 여러 기계에 의해 처리되며, 이러한 경우에 이들은 협력하여 답을 제공하거나 요청의 부하를 분산한다.

핵심은 의미상 하나의 도메인 이름이 하나의 서버를 나타낸다는 점이다.

 


그러면 내 웹 사이트에 대해 둘 중 하나를 선택해야 한다? So, do I have to choose one or the other for my website?

  • 그렇다.
    하나를 선택하고 그것을 고수해야 한다.
    어느 것을 표준 위치로 사용할 것인지는 나의 선택이지만, 하나를 선택한다면 그것을 고수해야 한다.
    그러면 웹 사이트가 사용자와 검색 엔진에게 더욱 일관되게 보일 것이다.
    여기에는 선택한 도메인에 대한 연결(웹 사이트에서 상대 URL을 사용하는 경우, 어렵지 않다)과 동일한 도메인에 대한 링크들을 공유(이메일/소셜 네트워크 등을 통한 공유)하는 것이 항상 포함된다.
상대 URL은 현재 페이지의 위치를 기준으로 하는 경로를 사용한다.
예 : <a href="/page1">Page 1</a>
절대 URL은 전체 경로를 포함하며, 도메인 이름을 명시해야 한다.
예 : <a href="http://example.com/page1">Page 1</a>

상대 URL의 장점은 도메인을 변경해도 상대 URL은 변하지 않는다.
예를 들어, "example.net"에서 "example.com"으로 도메인을 변경해도 상대 URL은 그대로 유지된다.
이렇게 하면 도메인을 변경해도 웹 사이트 내 모든 링크가 자동으로 올바른 도메인으로 연결된다.

하지만 절대 URL을 사용할 경우, 도메인을 변경하면 모든 링크를 일일이 수정해야 한다.
예를 들어, "example.net"에서 "example.com"으로 도메인을 변경할 경우, 모든 링크를 다음과 같이 수정해야 한다.
이전 : <a href="http://example.net/page1">Page 1</a>
이후 : <a href="http://example.come/page1">Page 1</a>

상대 URL을 사용하면 도메인이 바뀌더라도 웹 사이트 내 링크를 수정할 필요가 없다.
따라서, 선택한 도메인에 일관되게 링크를 연결하는 작업이 간단해진다.
이는 웹 사이트의 관리와 유지보수를 용이하게 하며, 일관된 사용자 경험과 검색 엔진 최적화를 도와준다.

이메일/소셜 네트워크 등을 통한 공유에서는 혼란을 방지하기 위해 하나의 일관된 도메인을 사용하는 것이 좋다.
여러 도메인보다 하나의 도메인을 쓴다면 검색 엔진에서도 긍정적인 영향이 나타난다.
예를 들면, 모든 외부 링크가 하나의 도메인으로 집중되면 검색 엔진은 그 도메인을 더 신뢰하게 될 것이다.
그리고 리소스가 분산되지 않아서 웹 사이트를 효율적으로 크롤링 할 수 있다.

 

  • 그렇지 않다.
    두 개를 가질 수 있다.
    중요한 것은 어느 것이 공식 도메인인지 이해하고 일관돼야 하는 것이다.
    이 공식 도메인을 정식 이름이라고 한다.
    모든 절대 링크("http://exapmle.com/files/document.pdf" 처럼 프로토콜, 도메인 이름, 경로, 파일명 등을 포함한 완전한 주소)는 이것을 사용해야 한다.
    그럼에도 불구하고 다른 도메인은 계속 작동할 수 있다.
    HTTP는 두 가지 기술을 허용함으로써 사용자나 검색 엔진이 어느 도메인이 정식 도메인인지 명확하게 알 수 있으면서도 비정규 도메인이 작동하고 예상 페이지를 제공할 수 있도록 허용한다.

따라서 도메인들 중 하나를 정식 도메인으로 선택해야 한다.

비표준 도메인이 계속 작동하도록 허용하는 두 가지 기술이 아래에 있다.

 


표준 URL을 위한 기술 Techniques for canonical URLs

어떤것이 표준 웹 사이트인지 선택하는 방법에는 여러 가지가 있다.

 


HTTP 301 리디렉션 사용 Using HTTP 301 redirects

이 경우, 비정규 도메인의 요청에 대해 적절한 HTTP 301 응답을 할 수 있도록 HTTP 요청('www' 와 'www가 아닌' URL이 동일할 가능성이 높은 요청)을 수신하는 서버를 구성해야 한다.

이렇게 하면 비정규화 URL에 접근하려는 브라우저가 정규화된 URL로 리디렉션된다.

예를 들어, 'www가 없는' URL을 정규화 유형으로 선택한 경우, 모든 'www' URL을 'www가 없는' 해당 URL로 리디렉션해야 한다.

 

예시

  1. 서버는 http://www.example.org/whaddup에 대한 요청을 받는다.(정규 도메인이 example.org인 경우)
  2. 서버는 Location 헤더가 포함된 코드 301로 응답한다.
    Location: http://example.org/whaddup
  3. 클라이언트는 정식 도메인 아래 위치에 요청을 보낸다.
    http://example.org/whaddup

HTML5 상용구 프로젝트 한 도메인을 다른 도메인으로 리디렉션하도록 Apache 서버를 구성하는 방법에 대한 예시가 있다.

 


<link rel="canonical"> 사용 Using <link rel="canonical">

페이지의 표준 주소가 무엇인지 나타내기 위해 특별한 HTML <link> 요소를 페이지에 추가하는 것이 가능하다.

이는 페이지를 읽는 사람에게는 영향을 미치지 않지만 검색 엔진 크롤러에게 페이지가 실제로 어디에 있는지 알려준다.

이렇게 하면 검색 엔진이 동일한 페이지를 여러 번 색인화하지 않아, 잠재적으로 중복된 콘텐츠나 스팸으로 간주되어 검색 엔진 결과 페이지에서 페이지를 제거하거나 순위가 낮아지는 것을 방지할 수 있다.

 

이러한 태그를 추가하면 두 도메인 모두에 동일한 콘텐츠를 제공하여 어떤 URL이 표준인지 검색 엔진에 알려준다.

이전 예에서 http://www.example.org/whaddup은 http://example.org/whaddup과 동일한 콘텐츠를 제공하지만 헤드에 <link> 요소가 추가된다.

<link href="http://example.org/whaddup" rel="canonical" />

 

이전 사례(검색 엔진)와 달리 브라우저 기록은 www URL과 www가 아닌 URL을 독립적인 항목으로 간주한다.

 


페이지가 두 가지 모두에 적합하도록 만들어야 한다 Make your page work for both

이러한 기술들을 사용하면 www 접두사가 붙은 도메인과 www가 붙지 않은 도메인 모두에 대해 올바르게 응답하도록 서버를 구성할 수 있다.

사용자가 브라우저의 URL 표시줄에 어떤 URL을 입력할지 예측할 수 없으므로 이렇게 하는 것이 좋다.

표준 위치로 사용할 유형을 선택한 다음, 다른 유형을 해당 위치로 리디렉션한다.

 


사건을 결정 Deciding the case

이것은 사소한 문제로 간주될 수 있는 매우 주관적인 주제다.

다음은 더 자세히 읽을 수 있는 자료다.

 

netlify.com의 베어 도메인 옵션 (2020)

wpbeginner.com의 WWW와 WWW가 아닌 것 중, wordPress SEO에서 더 나은 것은 무엇일까? (2023)

사람들이 URL 표시줄에 입력하는 내용에 대한 통계 (2011)

 


 

Choosing between www and non-www URLs - HTTP | MDN

A recurring question among website owners is whether to choose 'www' (www.example.com) or 'non-www' (example.com) URLs. This page provides some advice on what's best.

developer.mozilla.org