Anatomy of a URL

Break a URL into its parts: scheme, host, port, path, query, and fragment. A beginner-friendly tour of what every piece of a web link actually does.

Published September 15, 20268 min readBy ACY Partner Indonesia
Anatomy of a URL — every part of a link
300 × 250Ad Space AvailablePlace your ad here

You type a web address, hit Enter, and a page appears. It feels like magic, but that address is actually a tidy little instruction packed with meaning. Every character has a job. Once you can read a URL the way a browser does, the web stops feeling mysterious and starts feeling like something you can reason about.

In this article we’ll take one ordinary link apart, piece by piece. We’ll use friendly examples like example.com and acy-partner.com, and by the end you’ll be able to glance at any address and know exactly what each part is telling the browser to do.

What “URL” actually means

URL stands for Uniform Resource Locator. Strip away the jargon and it simply means “a standard way to point at a thing on the internet.” That “thing” is called a resource — usually a web page, but it can also be an image, a video, a file, or data returned by a program.

The word uniform is the important one. Because everyone agrees on the same format, your browser, a search engine, and a server on the other side of the planet all read an address the same way. No guessing required.

Here is the full shape of a URL, with every optional part included:

scheme://host:port/path?query#fragment

Most everyday links don’t show all of these. Many parts are optional, and browsers quietly fill in sensible defaults when you leave them out. Let’s walk through each one.

The labeled example

Before we dig in, here’s a single address with every part labeled. Keep this picture in mind as we go.

 https://www.acy-partner.com:443/blog/post?id=5#summary
 └─┬─┘   └──────┬─────────┘ └┬┘ └───┬────┘ └─┬──┘ └─┬───┘
 scheme       host          port   path     query  fragment

Read left to right, the browser asks itself: How should I connect (scheme), who do I talk to (host), which door do I knock on (port), what do I want (path), with what extra details (query), and where on the page should I land (fragment).

Scheme: how to connect

The scheme comes first, before the ://. It tells the browser which set of rules — which protocol — to use for the conversation.

https://...
└─┬─┘
scheme

The two you’ll see most are:

Scheme What it means
http Plain HyperText Transfer Protocol — the original way pages are requested. Unencrypted.
https The same, but secure: the connection is encrypted, so others can’t read or tamper with it in transit.

There are other schemes too — mailto: opens an email draft, ftp: is for file transfer, tel: starts a phone call on mobile — but for browsing the web, https is what you want.

Always prefer https

When you build or share links, use https. It protects your visitors’ data and is expected by modern browsers, which may warn people away from plain http pages. The little padlock you see in the address bar comes from https.

Notice the :// right after the scheme. The colon ends the scheme, and the two slashes signal that a host name is coming next. It’s just punctuation that separates one part from another.

Host: who you’re talking to

The host is the address of the machine you want to reach. It usually looks like a domain name you can read, such as www.acy-partner.com.

https://www.acy-partner.com/...
        └────────┬────────┘
              host

A domain name is actually built from smaller pieces, read from right to left:

www  .  acy-partner  .  com
 │          │           │
subdomain   name       top-level domain (TLD)
  • com is the top-level domain (TLD). Others include org, net, and country codes like id for Indonesia.
  • acy-partner is the registered name a person or company owns.
  • www is a subdomain — a label in front that points to a specific area. www is a tradition for the main website, but you can have others, like blog.acy-partner.com for a blog, all under the same registered name.

Behind the scenes, a friendly domain name has to be translated into a numeric IP address (something like 93.184.216.34) before any connection can happen. That translation is handled by DNS, the internet’s phone book — a topic worth exploring on its own once you’re comfortable here.

Domain vs. host

People often use “domain” and “host” loosely. For everyday purposes, treat the host as “the part right after :// and before the next /, :, ?, or #.” That’s the chunk identifying which server to contact.

Port: which door to knock on

A single server can offer many services at once. The port is a number that says which specific service — which “door” — your request is meant for.

https://www.acy-partner.com:443/...
                           └─┬─┘
                           port

Here’s the good news: you almost never type a port. Each scheme has a default, and the browser fills it in for you.

Scheme Default port
http 80
https 443

So https://www.acy-partner.com and https://www.acy-partner.com:443 mean exactly the same thing. You’ll mostly see explicit ports in development, for example http://localhost:3000, where a local server is running on a non-standard door.

Path: what you want

After the host (and optional port) comes the path — everything from the first / onward, up to a ? or #. The path points to a specific resource on that server, much like a folder-and-file location.

https://www.acy-partner.com/blog/post
                           └────┬────┘
                              path

A path of just / means the home page — the root of the site. Deeper paths drill into specific sections or pages:

/                     →  home page
/blog                 →  the blog section
/blog/post            →  one specific post
/images/logo.png      →  an image file

Paths are case-sensitive on many servers, so /Blog and /blog can lead to two different places. When in doubt, match the exact capitalization you were given.

Watch the trailing slash

/blog and /blog/ are technically different paths. Most sites treat them the same and redirect one to the other, but not all do. If a link breaks, a missing or extra trailing slash is a common culprit.

Query: the extra details

Sometimes a path alone isn’t enough — you need to pass extra information along with your request, like a search term or which item to show. That’s the job of the query string, which begins with a ?.

https://www.acy-partner.com/blog/post?id=5
                                      └─┬─┘
                                     query

A query is a list of key/value pairs. Each pair is key=value, and multiple pairs are joined with &:

?id=5
?search=dns&page=2
?category=web&sort=newest&page=3

Reading that last one: search within category equal to web, sort by newest, and show page number 3. The server reads these values and decides what to send back. This is how the same page address can show different content — a search results page, for instance, changes entirely based on its query.

Because some characters (spaces, &, =, and others) have special meaning inside a query, they get encoded when they appear as data. A space, for example, often becomes %20 or +. If you ever see odd % codes in a link, that’s just safe encoding at work, not a mistake.

Fragment: where to land on the page

The last optional part is the fragment, introduced by a #. It points to a specific spot within the page that’s already loaded.

https://www.acy-partner.com/blog/post#summary
                                      └───┬───┘
                                     fragment

When a page has a section marked with the id summary, adding #summary tells the browser to scroll straight to it. Those “jump to section” links in a table of contents work exactly this way.

The key thing to understand: the fragment is handled entirely by your browser and is never sent to the server. The server delivers the whole page; the # just decides where you start reading. That’s why changing only the fragment can move you around a page without reloading it.

Putting it all together

Let’s read our full example one more time, now that you know every part:

https://www.acy-partner.com:443/blog/post?id=5#summary
  • https — connect securely.
  • www.acy-partner.com — to this server.
  • :443 — on the standard secure-web door (usually hidden).
  • /blog/post — fetch the blog post resource.
  • ?id=5 — specifically the one identified by id 5.
  • #summary — and scroll me to the summary section once it loads.

That single line is a complete, precise instruction. Read this way, it’s not a string of random characters — it’s a sentence the browser knows how to follow.

Quick reference

Part Starts with Example What it does
Scheme (first) https Which protocol to use
Host :// www.acy-partner.com Which server to reach
Port : :443 Which service on that server
Path / /blog/post Which resource you want
Query ? ?id=5 Extra details for the request
Fragment # #summary Where to land on the page

Recap and what’s next

A URL only looks intimidating until you know the grammar. There’s a fixed order — scheme, host, port, path, query, fragment — and each part answers one clear question. Most of the time you’ll only see a few of them, because browsers supply sensible defaults for the rest.

The next time an address misbehaves, you’ll have a checklist: Is the scheme https? Is the host spelled correctly? Did a trailing slash sneak in? Is a query value encoded oddly? Reading URLs slowly and on purpose is a small skill that pays off constantly.

A natural next step is to follow the host part deeper — how a name like acy-partner.com gets turned into a real server address through DNS. That’s where the journey from “a link” to “a loaded page” truly begins.

Tags:urlweb-fundamentalshttpdnsbeginners
728 × 90Ad Space AvailablePlace your ad here

Related Articles

See All Articles

You Might Also Like

Browser compatibility and polyfills cover with code chip if not supported, polyfill
Web Fundamentals / Browsers

Browser Compatibility and Polyfills

Why the same web page can look or behave differently across browsers, and how feature support, progressive enhancement, polyfills, and transpilers help your site work everywhere.

Sep 15, 20269 min read
An Intro to Browser Developer Tools — ACY Partner Indonesia Blog
Web Fundamentals / Browsers

An Intro to Browser Developer Tools

Every browser hides a powerful toolkit behind one key. Meet DevTools and its main panels, and learn how they let you see the DOM, styles, network requests, and storage for yourself.

Sep 15, 202610 min read
Browser Security Basics cover with a same-origin shield code chip
Web Fundamentals / Browsers

Browser Security Basics: How Your Browser Quietly Protects You

A friendly, beginner-first tour of how your browser keeps you safe: the same-origin policy, tab sandboxing, the HTTPS padlock, mixed content, and a gentle intro to why input can be dangerous.

Sep 15, 202611 min read
Browser storage options shown on a dark ACY Partner blog cover
Web Fundamentals / Browsers

Browser Storage: Cookies, localStorage, and More

A beginner-friendly tour of where the browser keeps data: cookies, localStorage, sessionStorage, and IndexedDB. Learn what each one does and when to reach for it.

Sep 15, 20269 min read
Illustration of a browser engine running scripts through an event loop
Web Fundamentals / Browsers

How Browsers Handle JavaScript

A beginner-friendly look at how the browser parses, compiles, and runs JavaScript, why it has one main thread, and how script loading affects what you see on screen.

Sep 15, 20269 min read
Dark blue cover with the title How Browsers Work and a parse to layout to paint code chip
Web Fundamentals / Browsers

How Browsers Work: An Overview

A beginner-friendly tour of what your browser does between typing a URL and seeing a page: networking, parsing, the render tree, layout, paint, compositing, and the JavaScript engine.

Sep 15, 20269 min read