Before a website goes live, its address is usually just a string you plan on paper or in a notes file. Understanding what each piece of that string represents helps you communicate clearly with collaborators, fill in configuration fields correctly, and avoid confusion between the domain name itself and the longer addresses that point to individual pages. This article walks through one hypothetical address step by step.
What Question Does Each Part of the Address Answer?
Suppose you are planning a small personal project and you sketch out the address https://example.org/notes/first-page?view=compact#intro on a sticky note. This is a hypothetical string used purely for practice; the page does not need to exist anywhere. Looking at it, you can already ask two different questions. The first question is: which server on the Internet should handle my request? The answer lives in the domain name portion, example.org. Domain names exist because computers communicate through numeric IP addresses, which are difficult for people to remember and may change over time, so human-readable names were introduced as a friendlier layer on top of that numbering system.12
The second question is: once I reach that server, which specific resource do I want? The full URL answers this. A URL is the address of a unique resource on the Internet, and it is one of the key mechanisms browsers use to retrieve published resources such as HTML pages, images, or stylesheets. In our example the URL does more than name the server; it also specifies a path, a query, and a fragment that together narrow down exactly what the browser should request and where on the resulting page it should look.3
Keeping these two questions separate is useful before launch because configuration tasks often touch only one of them. When you set up hosting you work with the domain name. When you write a link inside a page or share a specific article with a friend, you work with the full URL. Mixing them up leads to confusion, so the rest of this article treats them as distinct objects and labels every piece.
Labeling Every Piece of the Example Address
Write the full string https://example.org/notes/first-page?view=compact#intro on a fresh line and mark each segment with a label. The scheme is https, which tells the browser which protocol to use when requesting the resource; for ordinary websites the protocol is HTTPS or its unsecured predecessor HTTP. The authority follows the separator :// and in this case consists of the domain example.org. No port number appears, which is normal because standard HTTPS connections use a well-known default port that browsers assume automatically.3
After the authority comes the path /notes/first-page. The path points to a resource on the web server. In earlier versions of the web a path often corresponded to a physical file location, but today it is mostly an abstraction handled by server software. The question mark ? introduces the query string view=compact. Query parameters are key-value pairs that provide extra information to the server before it returns the resource. Finally, the hash symbol # introduces the fragment intro. A fragment acts like a bookmark inside the resource itself, directing the browser to a particular spot on the page rather than asking the server for different content.3
Record these labels next to the string in your notes: scheme = https, host = example.org, path = /notes/first-page, query = view=compact, fragment = intro. Having the labels written down makes the next comparisons much easier because you can point to exactly which piece changed and which stayed the same.
Comparing Strings While Keeping the Host Fixed
Now keep the host example.org unchanged and imagine two alternative addresses for the same project. The first might be https://example.org/notes/second-page?view=compact#intro and the second might be https://example.org/notes/first-page?view=full#intro. In the first alternative only the path differs: second-page replaces first-page. In the second alternative only the query value differs: full replaces compact. The scheme, host, and fragment remain identical in all three strings.
Observing these differences at the string level is all we can do without actually sending requests to a live server. The path, query, and fragment are text that the browser includes in its request or uses locally after receiving a response. What the server does with a particular path or query value depends entirely on how that server is configured, and two servers could handle the same string in completely different ways. For the purpose of planning and documentation, what matters is that you can identify which part of the string you are changing and describe that change precisely.
This distinction becomes practical when you discuss your site with someone else. Saying “I changed the query parameter” is more specific than saying “I changed the address.” It tells your collaborator that the host, scheme, and path are untouched, narrowing the scope of the conversation to one key-value pair. The same logic applies when you compare two URLs in a bug report or a support request: naming the exact segment that differs saves time for everyone involved.
Building an Address Description Card
Use a simple card format to capture everything you know about your planned address in one place. The card should contain at least four fields: the purpose of the page in plain language, the full URL string, a list of labeled parts, and any notes about what each part is expected to do. For our hypothetical project the purpose might read “a compact reading view of the first note in the collection.” The full URL is the string we have been examining. The labeled parts are the five segments identified earlier. The notes column can hold brief reminders such as “view=compact is intended to load a simplified layout” or “#intro should scroll to the opening section.”
The value of this card is not in its format but in the habit of writing things down before you need them. When you later configure a content management system, write navigation links, or share a preview address with a friend, you can refer back to the card instead of reconstructing the address from memory. If the project grows and you add more pages, each new address gets its own card, and the collection of cards becomes a lightweight map of your site structure.
Choose whatever tool feels natural for storing these cards. A plain text file works well because it is easy to copy from and diff against previous versions. A spreadsheet gives you columns for each field automatically. Even a paper notebook is fine as long as you can read your own handwriting later. The important decision is to pick one place and keep it consistent so that future-you can find the information without searching through scattered notes.
Verifying the Card by Copying and Labeling
Check the card against the actual string before you rely on it in any configuration or communication. A small typo in a path segment or a missing question mark can produce an address that looks almost right but points somewhere unintended. The verification process below is a set of author-suggested habits, not a technical requirement imposed by any standard.
After completing these checks, compare your labeled version with the original card entry. If every label matches and no character was missed during copying, the card is reliable enough to use in your next step, whether that step is writing an HTML link element, pasting the address into a configuration field, or sharing it in a message to a collaborator.
Repeat this verification any time you edit the address. Even a single character change, such as adding a trailing slash or renaming a path segment, deserves a fresh pass through the same steps. The cost is a few seconds of attention; the benefit is catching mistakes while they are still easy to fix.
Step 1
Copy the full URL from your card into a blank text line, character by character, without using paste. This forces you to look at every symbol.
Step 2
Mark the position of each structural character: the colon and double slashes after the scheme, the first slash that begins the path, the question mark that begins the query, and the hash that begins the fragment.
Step 3
Write the label for each segment directly above or below the copied string, aligning labels with their corresponding text.
Keeping the Record for Future Use
Store the finished card somewhere you will naturally look when working on the project. If you keep project notes in a particular folder or application, the address card belongs there alongside your content drafts and configuration notes. The goal is to reduce the number of places you have to search when you need to recall what a specific URL was supposed to do.
Over time you may find that some cards become outdated as pages are renamed, query parameters are added, or fragments are moved to different sections. When that happens, update the card rather than creating a duplicate. A single maintained record is more trustworthy than several partial versions scattered across different files. If you prefer version history, keeping the file in a location that tracks changes lets you see what the address looked like at earlier stages without losing the current state.
This practice scales naturally. A personal blog with a handful of pages might only need a few cards, while a larger documentation project could accumulate dozens. In either case the underlying habit is the same: write down what each address means, label its parts, verify the labels against the string, and keep the record in one consistent place. The few minutes spent on this routine before launch pay off every time you or a collaborator needs to reference, troubleshoot, or explain a specific page location.
Frequently asked questions
Is the domain name the same thing as the URL?
No. A domain name identifies the server, while a URL is the complete address that also includes the scheme, path, and optionally a query and fragment. The domain name is one component within the URL.13
Does the fragment part after the hash symbol get sent to the server?
No. The fragment identifier is used by the browser locally to navigate to a specific spot within the already-loaded resource; it is not included in the request sent to the server.3
Do I need to include a port number in my URL?
Usually not. If the web server uses the standard ports for HTTP or HTTPS, the port is omitted from the URL and the browser assumes the default automatically. A port number is only written explicitly when the server uses a non-standard port.3
What is a Domain Name? - Learn web development | MDN. Retrieved 2026-11-01. ↩︎ ↩︎
IP Address - Glossary | MDN. Retrieved 2026-11-01. ↩︎
What is a URL? - Learn web development | MDN. Retrieved 2026-11-01. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎