SRV record (Service, RFC 2782) advertises the hostname, port, priority, and weight for a specific service on a domain — solving what MX does for mail but for any service.
Record Format
_service._proto.name. TTL IN SRV priority weight port target
Real example — SIP over UDP for example.com:
_sip._udp.example.com. 86400 IN SRV 10 60 5060 sip1.example.com.
_sip._udp.example.com. 86400 IN SRV 10 40 5060 sip2.example.com.
_sip._udp.example.com. 86400 IN SRV 20 0 5060 backup.example.com.
Fields
- priority — lower = tried first
- weight — load balancing within same priority (60% / 40% here)
- port — service port on the target
- target — the hostname to connect to
Who Uses SRV
- XMPP / Matrix — federation server discovery
- SIP — voice / video call routing
- LDAP / Kerberos — Active Directory service discovery
- Minecraft — server discovery for players
- Custom microservices — internal service discovery for on-prem Kubernetes
Common Miss
Publishing SRV records for services whose clients don’t support SRV lookup (like HTTP browsers). Most web clients ignore SRV entirely — they hit A/AAAA + hardcoded ports (80, 443). SRV only helps if the client is coded to query it.
Related
Check the MX record glossary entry, the A record glossary entry, and browse every major DNS record type.