100% Client-Side Computation • Zero Server Logs • Instant Execution
Curious TechieDev Toolbox
Encodings & FormatsIETF RFC 3986 / WHATWG URL Living Standard✓ Fast Lookup Table (6 Entries)

URL Components & URI Syntax Reference

Standard URI anatomy: scheme, authority, userinfo, host, port, path, query, and fragment (RFC 3986)

CT
Curious-Techie Engineering TeamVerified Author

Web Protocols & Security Architecture Research

Published:
•
Updated:
•6 min read
Authoritative Spec:RFC 9110(IETF)
Reviewed by Curious-Techie Architecture Peer Review Group

Overview & Scope

Uniform Resource Locators (URLs) provide a structured address to locate resources on the World Wide Web. Standardized in RFC 3986, every URL follows strict grammar separating transport scheme, target host, path hierarchy, query parameters, and client document fragments.

Specification Table & Matrix

Instant client-side filter by keyword, status code, or directive name

Key / CodeDefinition & DetailsGEO Semantic HierarchySpec & Notes
scheme
Scheme

Identifies the protocol used to access the resource (e.g. https, http, mailto, ftp, file).

https://
●Scheme
↳URL component
↳transport protocol
↳top-level URI scheme
RFC 3986 §3.1

Case-insensitive; followed by a colon (:). Must begin with a letter.

host
Host

Identifies the network host providing the resource, either as a domain name (FQDN) or an IP address.

api.example.com or [2001:db8::1]
●Host
↳URL component
↳authority
↳network destination hostname or IP
RFC 3986 §3.2.2

IPv6 addresses in URLs must be enclosed within square brackets [].

port
Port

Designates the transport layer port number; defaults to 80 for HTTP and 443 for HTTPS if omitted.

:8080
●Port
↳URL component
↳authority
↳network listening socket port
RFC 3986 §3.2.3

Preceded by a colon (:). Ranges from 0 to 65535.

path
Path

Contains data, usually organized in hierarchical slash-separated segments, identifying the specific resource.

/v1/users/42
●Path
↳URL component
↳hierarchical route
↳resource filesystem path
RFC 3986 §3.3

Preceded by a slash (/). Web servers on Linux treat paths with strict case sensitivity.

query
Query String

Contains non-hierarchical data that, along with path data, serves to identify a resource.

?sort=asc&page=2
●Query
↳URL component
↳parameters
↳key-value search parameters
RFC 3986 §3.4

Preceded by a question mark (?). Delimited by ampersands (&). Transmitted to server.

fragment
Fragment (#)

Provides direction to a secondary resource or anchor offset within the primary resource.

#section-3
●Fragment
↳URL component
↳client anchor
↳browser document scroll target
RFC 3986 §3.5

Preceded by a hash (#). NEVER sent to the web server over the wire; parsed exclusively by the client browser.

Implementation Example

Parsing URL Components with JavaScript URL API

javascriptCopy Code
const url = new URL('https://alex:secret@api.example.com:8443/v1/users?role=admin#profile');

console.log(url.protocol); // 'https:'
console.log(url.username); // 'alex'
console.log(url.hostname); // 'api.example.com'
console.log(url.port);     // '8443'
console.log(url.pathname); // '/v1/users'
console.log(url.search);   // '?role=admin'
console.log(url.searchParams.get('role')); // 'admin'
console.log(url.hash);     // '#profile' (Never sent to backend servers!)

Modern browsers and Node.js provide the standardized WHATWG URL class for safe, deterministic URL parsing.

Frequently Asked Questions

Reference Standards Q&A

Is the URL fragment (#) sent to the web server?↓
No! According to RFC 3986, the fragment is processed exclusively on the client side (e.g. scrolling the viewport to an ID element). Browsers strip the fragment before sending the HTTP request packet.