최상위 도메인(TLD)의 이해: 이메일 유효성 검사를 위한 완벽 가이드

oversleep·2025년 2월 28일
0

Web

목록 보기
11/11

목차

최상위 도메인(TLD)이란?

최상위 도메인(Top-Level Domain, TLD)은 인터넷 도메인 이름 시스템의 가장 높은 계층에 있는 도메인으로, 도메인 이름의 가장 마지막 부분입니다.
예를 들어, example.com에서 .com이 TLD입니다.

도메인 구조의 이해:

서브도메인.도메인명.TLD
mail.google.com

여기서:

  • mail은 서브도메인
  • google은 도메인명(SLD, Second-Level Domain)
  • .com은 최상위 도메인(TLD)

주요 TLD 유형

TLD는 크게 다음과 같은 유형으로 나눌 수 있습니다:

1. 일반 최상위 도메인(gTLD)

일반적인 목적으로 사용되는 TLD로, 특정 국가와 관련이 없습니다.

  • .com (상업용)
  • .org (비영리 단체)
  • .net (네트워크 관련)
  • .edu (교육 기관)
  • .gov (정부 기관)
  • .mil (미국 군사 기관)

2. 국가 코드 최상위 도메인(ccTLD)

특정 국가나 지역을 나타내는 TLD입니다. 보통 2글자 국가 코드로 구성됩니다.

  • .kr (대한민국)
  • .jp (일본)
  • .cn (중국)
  • .us (미국)
  • .uk (영국)
  • .de (독일)

3. 새로운 일반 최상위 도메인(New gTLD)

2012년 이후 ICANN에서 추가로 승인한 TLD들입니다.

  • .app
  • .blog
  • .shop
  • .dev
  • .io (원래 영국령 인도양 지역의 ccTLD였으나 기술 회사들이 선호)
  • .ai (원래 앵귈라의 ccTLD였으나 인공지능 관련 기업들이 선호)

많이 사용되는 TLD 목록

비즈니스/상업용

  • .com - 가장 많이 사용되는 상업용 도메인
  • .co - 콜롬비아 국가 코드이지만, 상업용으로도 많이 사용
  • .biz - 비즈니스용
  • .store - 온라인 스토어

기술/개발 관련

  • .io - 개발자와 기술 스타트업에게 인기
  • .tech - 기술 관련 웹사이트
  • .dev - 개발자 및 개발 프로젝트용
  • .app - 애플리케이션 관련

기타 주요 TLD

  • .org - 주로 비영리 단체
  • .net - 원래 네트워크 관련 조직용이었으나 지금은 다양하게 사용
  • .info - 정보 제공 사이트
  • .me - 개인 웹사이트나 블로그

이메일 유효성 검사와 TLD

이메일 주소의 유효성을 검사할 때, TLD는 매우 중요한 부분입니다. 올바른 이메일 주소는 반드시 유효한 TLD를 포함해야 합니다.

예를 들어:

  • user@example.com - 유효 (.com은 인정된 TLD)
  • user@example.co - 유효 (.co는 콜롬비아의 ccTLD이자 상업용으로 사용)
  • user@example.c - 유효하지 않음 (.c는 존재하지 않는 TLD)

중요 포인트

  • 모든 TLD는 최소 2자 이상입니다 (.c와 같은 1자 TLD는 존재하지 않음)
  • 일부 ccTLD는 다른 목적으로도 많이 사용됩니다 (.io, .co, .me 등)
  • 새로운 TLD는 계속 추가되고 있으며, 2012년 이후 많은 신규 TLD가 승인되었습니다

이메일 정규식 패턴 이해하기

이메일 주소의 유효성을 확인하기 위한 기본적인 정규식 패턴:

const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;

이 정규식의 각 부분을 해석하면:

  1. ^[a-zA-Z0-9._%+-]+ - 이메일 사용자명 부분: 알파벳, 숫자, 특수문자(._%+-)를 하나 이상 포함
  2. @ - @ 문자 필수
  3. [a-zA-Z0-9.-]+ - 도메인 이름 부분: 알파벳, 숫자, 하이픈, 점을 하나 이상 포함
  4. \. - 점 문자 필수 (도메인과 TLD 구분)
  5. [a-zA-Z]{2,}$ - TLD 부분: 알파벳만 포함하며 최소 2자 이상 필요

이 정규식은 .c와 같은 1자 TLD를 거부하고 최소 2자 이상의 TLD만 허용하므로, 실제 존재하는 TLD만 유효하게 검증할 수 있습니다.

실제 적용 예시

function validateEmail(email) {
  const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
  return regex.test(email);
}

console.log(validateEmail("user@example.com"));  // true
console.log(validateEmail("user@example.co"));   // true (유효한 TLD)
console.log(validateEmail("user@example.c"));    // false (1자 TLD는 존재하지 않음)

TLD의 종류와 이메일 유효성 검사에 대한 이해는 웹 개발에서 사용자 입력을 검증할 때 매우 중요합니다. 올바른 정규식 패턴을 사용하면 대부분의 유효하지 않은 이메일 주소를 필터링할 수 있습니다.

profile
궁금한 것, 했던 것, 시행착오 그리고 기억하고 싶은 것들을 기록합니다.

0개의 댓글