A records are used for pointing to an IP address. If you need to point a DNS record to an IPv4 address, you’ll use an A record to do it.
Need to point to IPv6? See AAAA records.
CNAME records point one alias to another. They’re especially useful for pointing multiple records to the same place.
For example, if you had support.example.com pointing to an IP address and needed to have other records pointing to that same location, you can use CNAME records, pointing them to support.example.com.
If you had multiple A records pointing to an IP address, you’d have to change each record if the IP address changed. By using CNAME records to point to the main A record, you would only have to change the single A record.
MX records determine where email will be delivered for the domain. If you’re receiving email on your domain, this is where the email will be sent.
For example, if you’re using Google Apps to handle your email, your MX records are what tells other mail servers to deliver your email there.
TXT records are additional information for your domain that can be read when needed. Most notably, they’re used for things like:
- Verifying ownership of a domain.
- Setting SPF records to validate outbound mail servers.
- DKIM records to signing/validation of outbound email.
AAAA records are similar to A records, but they are used for IPv6 addresses.
PTR records are essentially the opposite of A records. They provide information on an IP address and the hostname that it should resolve to.
Most commonly, PTR records are used for the validation of mail servers.
NAPTR records provide information on the location of a specific service, including the protocol and port to use.
These are typically used for things like VoIP where the protocol and port can vary.
SPF records are a type of TXT record which validate that an email is coming from the correct server.
Because email addresses can easily be spoofed, SPF records ensure that the sender is actually who they say they are.
SRV records are used as an alternative to creating protocol-specific records. They allow things like service names, protocols, and ports.