인터넷

도메인 이름 (Domain Name)

Lulung 2024. 12. 24. 19:12

도메인 이름은 사용자가 인터넷에서 웹사이트에 접근하기 위해 입력하는 주소다. (예: www.google.com)  우리가 사용하는 도메인은 서버의 위치를 나타내는 숫자인 인터넷상의 IP 주소(예: 172.217.3.110)를 사람이 읽기 쉽게 변환한 문자열이다. 도메인 이름은 DNS(Domain Name System)를 통해 IP 주소와 연결된다.

 

구조

도메인은 점(.)으로 구분된 여러 부분으로 구성되며, 계층적 구조를 가진다.

a. 최상위 도메인 (TLD, Top-Level Domain) : 도메인의 가장 마지막 부분이다.

  • 예: .com, .org, .net, .kr
  • 종류:
    1. gTLD (Generic Top-Level Domain)
      • 일반 도메인: .com, .org, .net
      • 특정 목적: .edu(교육), .gov(정부), .mil(군대)
    2. ccTLD (Country Code Top-Level Domain)
      • 국가 코드 기반 도메인: .kr(한국), .jp(일본), .us(미국)

b. 2차 도메인 (Second-Level Domain) : TLD 바로 앞의 부분으로, 주로 기업이나 기관의 이름을 포함한다.

  • 예: google.com에서 google

c. 하위 도메인 (Subdomain) : 2차 도메인 앞에 추가로 붙는 부분이다.

  • 예: mail.google.com에서 mail

 

DNS의 작동 원리

1. 사용자가 도메인 이름 입력 : 예시 - 브라우저에서 www.google.com 입력.

2. DNS 요청 : 브라우저가 DNS 서버에 요청을 보냄

3. DNS 서버 응답 : DNS 서버가 해당 도메인의 IP 주소를 응답.

4. IP 주소로 서버 연결 : 브라우저가 받은 IP 주소로 서버에 연결해 웹 페이지를 요청.

 

도메인과 프론트엔드의 관계

a. 도메인과 환경 구분 : 웹 애플리케이션은 환경에 따라 다른 도메인을 사용할 수 있다.

    1. 스테이징 환경: staging.example.com, 출시 전 테스트를 위해 준비된 중간 단계
    2. 프로덕션 환경: www.example.com
    3. 로컬 개발 환경: localhost , 컴퓨터에서 개발할 때 사용하는 임시 주소

b. 도메인과 CORS (Cross-Origin Resource Sharing) :도메인이 다르면 CORS 정책에 따라 리소스 접근이 제한될 수 있다.

  • 예:
    • 클라이언트: www.example.com
    • API 서버: api.example.com
      • 해결 방법: 서버에서 CORS 정책 설정.
  •  

c. 도메인과 HTTPS : 도메인이 HTTPS를 지원하지 않으면 브라우저에서 보안 경고를 표시합니다. 개발자는 HTTPS 인증서가 제대로 설정되었는지 확인해야 한다.

d. SEO와 도메인 : 도메인은 검색 엔진 최적화(SEO)에 중요한 영향을 미친다. 키워드가 포함된 도메인 이름은 SEO에 유리하다. 하위 도메인을 사용하는 경우, 검색 엔진에 독립적으로 크롤링될 수 있다.

  • 도메인 이름의 SEO 및 사용자 경험 향상
    1. 도메인 간소화 : 짧고 기억하기 쉬운 도메인을 사용. 하이픈(-)이나 숫자는 피하는 것이 좋음.
    2. 브랜드 이름 포함 : 브랜드 이름을 도메인에 포함하여 사용자를 신뢰하게 만듦.
    3. 모바일 및 다국어 지원 : 언어별로 도메인을 구분하거나, 지역 코드(TLD)를 활용.
      • 예: example.kr, example.jp
    4. HTTPS 적용 보안이 강화된 도메인은 사용자 신뢰를 높이고 SEO에도 유리.

 

관련 용어

a. 도메인 등록 : 도메인은 ICANN(국제인터넷주소관리기구)의 승인 하에 도메인 등록 기관(예: GoDaddy, Namecheap)을 통해 등록된다.

b. 네임 서버 (Name Server) : 도메인 이름을 관리하고 IP 주소로 매핑하는 서버다. 도메인 구매 후, 호스팅 서비스의 네임 서버 정보를 설정해야 한다.

c. A 레코드 : 도메인 이름을 IPv4 주소에 매핑한다.

d. CNAME 레코드 : 도메인 이름을 다른 도메인 이름에 매핑한다.

예: www.example.com → example.com

e. MX 레코드 : 이메일을 처리하는 서버를 지정.

예: mail.example.com

 

고려사항

a. 여러 도메인과 하위 도메인 처리 : 프론트엔드에서 도메인을 기준으로 리소스를 로드하거나 API를 호출해야 할 때, 정확한 도메인을 설정해야 한다. 하위 도메인을 사용하는 경우, 쿠키 설정에서 SameSiteDomain 속성을 주의해야 한다.

b. 도메인 리다이렉션 : example.com → www.example.com으로 리다이렉션 설정이 필요.  이는 리다이렉션을 통해 통일된 URL 구조를 유지하고 SEO 점수를 보호한다.

c. SPA (Single Page Application)와 도메인 : SPA는 주로 클라이언트 측 라우팅을 사용하며, 서버에서 올바르게 라우팅 설정이 필요하다. www.example.com/dashboard로 접속하면 서버가 기본 HTML 파일을 반환해야 한다.

d. 도메인 이름과 API  : API 호출 시, 도메인이 다르면 CORS 문제 발생 가능.

  • 해결 방법:
    • 프록시 서버 사용.
    • API 서버에서 CORS 허용 헤더 설정.

'인터넷' 카테고리의 다른 글

브라우저와 브라우저의 작동 방식  (0) 2024.12.25
호스팅 (Hosting)  (0) 2024.12.24
HTTP / HTTPS  (0) 2024.12.24
인터넷의 동작 방식  (2) 2024.12.23