TXT 레코드

TXT 레코드(TXT record) 또는 텍스트 레코드(text record)는 호스트나 기타 이름(예: 서버, 네트워크, 데이터 센터, 기타 계정 정보에 관한 사람이 읽을 수 있는 정보 등)과 임의의 텍스트를 연계하는 기능을 제공하기 위해 도메인 네임에 체계적으로 사용되는 리소스 레코드의 일종이다.

적은 양의 기계가 읽을 수 있는 데이터를 DNS로 기록할 때 더 구조화된 방식으로 사용할 수도 있다.

배경 
도메인은 DNS 서버 구현체가 지원하는 경우 여러 개의 TXT 레코드를 가질 수 있다. 즉, 각 레코드는 하나 이상의 문자열을 보유할 수 있다. 전통적으로 이 문자 필드들은 다양한 비표준 용도로 사용되었다. (예: 회사/단체의 풀네임, 호스트 주소)

1993년, RFC 1464는 이 텍스트 필드에 속성과 값을 저장하는 단순한 접근 방식을 제안하였다.
 도메인 소유권 확인
 센더 폴리시 프레임워크 구현,
 전자우편 메시지의 보낸이를 확인하기 위한 DomainKeys Identified Mail 레코드
 Zero-configuration 네트워킹 DNS 기반 서비스 감지.
 DMARC 정책

포맷 
비정형 텍스트로서 어떠한 방식으로 정의하든 자유로이 TXT를 사용할 수 있다. 예:
example.com.   IN   TXT   "This domain name is reserved for use in documentation"

RFC 1464는 하나의 레코드에 속성과 값을 정의하기 위해 사용할 수 있는 구조화된 포맷을 정의한다. 예:

host.widgets.com.   IN   TXT   "printer=lpr5"
sam.widgets.com.    IN   TXT   "favorite drink=orange juice"

현실적으로 TXT 레코드를 사용하는 서비스들은 이 RFC를 준수하지 않지만 그 대신 자신만의 포맷을 보유하고 있다.

사용 예시 
SPF를 위해 사용되는 TXT 레코드의 문자열:
 "v=spf1 ip4:192.0.2.0/24 ip4:198.51.100.123 ip6:2620:0:860::/46 a -all"
DMARC용으로 사용하기 위한 예:
 "v=DMARC1;p=none;sp=quarantine;pct=100;rua=mailto:dmarcreports@example.com;"
사이트 확인용:
 "google-site-verification=6P08Ow5E-8Q0m6vQ7FMAqAYIDprkVV8fUf_7hZ4Qvc8"
사용자 지정 이메일 서비스용:
 _amazonses.example.com.   IN   TXT   "pmBGN/7MjnfhTKUZ06Enqq1PeGUaOkw8lGhcfwefcHU="

각주 

인터넷 구조
네트워크 주소
인터넷 거버넌스
인터넷 프로토콜
인터넷 표준
전자 우편 인증
스팸 필터
DNS 레코드 타입