Fundamentals 17 min read

The History and Evolution of URLs: Paths, Fragments, Queries, and Authentication

This article traces the origin and development of URLs from Tim Berners‑Lee's 1992 invention of HTTP, HTML and the universal document identifier, through the standardisation of syntax, query strings, fragments and authentication, highlighting key proposals, code examples and the ongoing debates about their purpose.

Qunar Tech Salon
Qunar Tech Salon
Qunar Tech Salon
The History and Evolution of URLs: Paths, Fragments, Queries, and Authentication

In 1992 Tim Berners‑Lee invented three core technologies—HTTP, HTML and the URL—that shaped the modern Internet, aiming to make hypertext practical and universally addressable across different protocols.

URL was never intended for the opaque identification role it now plays; the original vision was a more flexible naming system akin to URNs.

The first Web conference introduced the term "Universal Document Identifier (UDI)" and explored many possible syntaxes, such as:

protocol: aftp host: xxx.yyy.edu path: /pub/doc/README
PR=aftp; H=xx.yy.edu; PA=/pub/doc/README;
PR:aftp/xx.yy.edu/pub/doc/README
/aftp/xx.yy.edu/pub/doc/README

URL syntax was formalised in RFC 1994 as:

scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]

Early browsers automatically prefixed URLs with http:// and www. , a practice that later seemed redundant.

Various proposals for a more permanent identifier (URN) appeared in the mid‑1990s, but the URN format never achieved wide adoption; instead, search engines effectively filled that role.

Query parameters, originally defined by the WHATWG URL spec, use the application/x-www-form-urlencoded format, e.g.:

?name=zack&state=mi

Cookies employ a similar key‑value syntax ( x=1;y=2 ) without conflicting with HTML entity encoding.

Fragments (the part after # ) were introduced to link to specific locations within a document, such as an anchor:

<a name="bio"></a>
http://zack.is/#bio

Fragments are client‑side only and cannot be sent in HTTP requests, making them useful for storing navigation state without server involvement.

Basic authentication can be embedded in a URL ( http://user:pass@host ) and is transmitted as a Base64‑encoded Authorization: Basic … header, offering no real security before widespread SSL adoption.

— Tim Berners‑Lee, 1993

The article also recounts historical debates such as the “httpRange‑14” issue, which questioned whether a URL must identify a document or could point to any resource, and describes how the resolution shaped modern URL usage.

Overall, the piece provides a comprehensive overview of URL evolution, from early design choices and abandoned proposals to the conventions that dominate today’s web development.

AuthenticationHTTPURLhtmlWeb StandardsWeb Historyinternet
Qunar Tech Salon
Written by

Qunar Tech Salon

Qunar Tech Salon is a learning and exchange platform for Qunar engineers and industry peers. We share cutting-edge technology trends and topics, providing a free platform for mid-to-senior technical professionals to exchange and learn.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.