MeridianMERIDIAN

Hostname

technology.internet.hostname

Fully qualified domain name or simple hostname. Does not include protocol or path. Allows alphanumeric characters, hyphens, and dots. Subdomains supported.

Shape

Pattern
^(?:(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)$
ValueLengthShape
example.com11matches
www.google.com14matches
subdomain.example.org21matches
localhost9matches

Told apart

Going the other way, this type's own rule accepts 1 of 3 samples of HTTP Method, 4 of 4 samples of IPv4 Address, 1 of 3 samples of MAC Address and 5 of 5 samples of Top-Level Domain (TLD).

Background

Origin

RFC 952, the DoD Internet Host Table Specification, was published in October 1985 by K. Harrenstien, M. Stahl and E. Feinler of SRI.[1] RFC 952 describes itself as the official specification of the format of the Internet Host Table.[1] Under RFC 952, a name is a text string of up to 24 characters drawn from the letters A to Z, the digits 0 to 9, the minus sign and the period.[1] RFC 952 required the first character of a name to be a letter and the last character not to be a minus sign or a period.[1] RFC 952 makes no distinction between upper and lower case in a name.[1]

RFC 1035 says domain name labels must follow the rules for ARPANET host names: start with a letter, end with a letter or digit, and have only letters, digits and hyphens inside.[2] RFC 1035 limits labels to 63 octets or less and names to 255 octets or less.[2] RFC 1035 says that two names with the same spelling but different case are to be treated as if identical.[2]

RFC 1123 requires host software to handle host names of up to 63 characters and says it should handle host names of up to 255 characters.[3]

Use

RFC 2181 states that the DNS itself places only one restriction on labels, which relates to the length of the label and of the full name.[4] RFC 3696 notes that a trailing period denotes the root, so that a.b.c and a.b.c. are equivalent.[5] Strip a single trailing dot before comparing or validating hostnames, so that the two spellings of one name land together. (Meridian's view)

Lower-case hostnames before joining or deduplicating them, since the same host can arrive as WWW.Example.COM in one file and www.example.com in another. (Meridian's view)

RFC 1123 warns that, because a host name segment may begin with a digit, a segment could legally be entirely numeric.[3] RFC 1123 says host software should check a string syntactically for a dotted-decimal number before looking it up in the DNS.[3] RFC 3696 says there is an additional rule that essentially requires top-level domain names not to be all-numeric.[5]

RFC 5890 defines the A-label as the ASCII-Compatible Encoding form of an internationalised label.[6] RFC 5890 says every A-label begins with the prefix xn--.[6]

RFC 6761 reserves the name localhost and names under .localhost as special.[7] RFC 6761 says users may assume that address queries for localhost names will always resolve to the loopback address.[7]

Where you'll meet it

The Tranco research ranking publishes a standard list of one million domains.[8] Tranco also offers a version of its list with subdomains.[8] Tranco says its file uses the same format as the Alexa and Cisco Umbrella lists.[8]

Detection notes

v1 migration: Was internet.hostname. Pattern requires lowercase (use LOWER() to normalize). Does not validate DNS resolution.

Use it

CLI · DuckDB
$ finetype infer -i "example.com" --mode column
→ technology.internet.hostname

SELECT ft_infer('example.com');
-- → 'technology.internet.hostname'
Cast expression
CAST({col} AS VARCHAR)

Schema

https://meridian.online/schemas/technology.internet.hostname · Frictionless type string

finetype taxonomy technology.internet.hostname -o json-schema

Aliases

domain_name

Type Registry