Hostname
technology.internet.hostnameFully qualified domain name or simple hostname. Does not include protocol or path. Allows alphanumeric characters, hyphens, and dots. Subdomains supported.
Shape
^(?:(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)$| Value | Length | Shape |
|---|---|---|
| example.com | 11 | matches |
| www.google.com | 14 | matches |
| subdomain.example.org | 21 | matches |
| localhost | 9 | matches |
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]
Sources
- [1]DOD Internet Host Table Specificationstandard
- [2]Domain Names - Implementation and Specificationstandard
- [3]Requirements for Internet Hosts -- Application and Supportstandard
- [4]Clarifications to the DNS Specificationstandard
- [5]Application Techniques for Checking and Transformation of Namesstandard
- [6]Internationalized Domain Names for Applications (IDNA): Definitions and Document Frameworkstandard
- [7]Special-Use Domain Namesstandard
- [8]A research-oriented top sites ranking hardened against manipulation - Trancodataset
Detection notes
v1 migration: Was internet.hostname. Pattern requires lowercase (use LOWER() to normalize). Does not validate DNS resolution.
Use it
$ finetype infer -i "example.com" --mode column
→ technology.internet.hostname
SELECT ft_infer('example.com');
-- → 'technology.internet.hostname'CAST({col} AS VARCHAR)Schema
https://meridian.online/schemas/technology.internet.hostname · Frictionless type string
finetype taxonomy technology.internet.hostname -o json-schema