When you prepare a website for the first time, one of the earliest tasks is understanding what a web address actually contains and how its parts relate to each other. This article uses a single hypothetical address to show how domain names and full URLs differ, and how each part of the string contributes to locating a specific resource.
What Domain Names and Full URLs Each Answer
Suppose you are planning a small personal project and you write down the address https://example.org/notes/first-page?view=compact#intro. This is a hypothetical string used only for practice in reading address components. No such page is claimed to exist or to be live anywhere. The point is to have one concrete example that we can take apart piece by piece, so the structural ideas become visible rather than abstract.
A domain name answers the question “which server?” Domain names are a key part of the Internet infrastructure because they provide a human-readable address for any web server available on the Internet. Computers reach each other through numeric IP addresses, but people find those sequences difficult to remember and they may change over time. A domain name like example.org gives a stable, readable label that identifies a particular server without requiring anyone to memorize numbers.1
A full URL answers a more specific question: “which resource on that server?” A URL is the address of a unique resource on the internet and is one of the key mechanisms used by browsers to retrieve published resources such as HTML pages, CSS documents, or images. While the domain name portion tells the browser where to connect, the remaining parts of the URL narrow the request down to one particular item. That is why a single domain can be associated with many different URLs, each pointing to a different page, image, or file.2
Labeling Each Part of the Example Address
The first segment of our example is https, which is the scheme. The scheme indicates the protocol that the browser must use to request the resource. For websites the protocol is usually HTTPS or its unsecured version HTTP. Immediately after the scheme separator comes the host, which in this example is example.org. The host indicates which web server is being requested. In our hypothetical string, example.org is the domain name portion that identifies the server, while everything that follows it narrows the request further.2
After the host comes the path, which in our example is /notes/first-page. The path represents the location of a resource on the web server. In the early days of the web, a path like this represented a physical file location, but nowadays it is mostly an abstraction handled by web servers without any physical reality. The slashes separate segments of the path, and together they form a route that the server can use to decide what to return. For our reading exercise, the important observation is simply that the path is a distinct part of the string, set apart from the host by its position after the domain and before any question mark.2
The question mark in our example introduces the query string: ?view=compact. Parameters are extra key-and-value pairs provided to the web server, and the question mark is the character that signals where the query begins. After the query comes the hash sign, which introduces the fragment: #intro. The fragment represents a sort of bookmark inside the resource, giving the browser directions to show the content located at that bookmarked spot. To summarize the punctuation rules for this example: the question mark always introduces the query portion, and the hash sign always introduces the fragment portion.2
Same Host, Different Paths and Queries
Now keep the host portion exactly the same and change only the path. Instead of /notes/first-page, imagine the address reads https://example.org/notes/second-page. The scheme, host, and overall structure are identical. Only the path segment has changed. This shows that the host portion and the path portion are independent pieces of the string: one identifies the server, and the other identifies a route on that server. You can swap path segments without altering the domain name at all.
Next, keep both the host and the path the same but change the query string. Instead of ?view=compact, suppose the address reads https://example.org/notes/first-page?view=full. Again the domain name has not moved. The only difference is the value paired with the key view. This demonstrates that query parameters are a separate layer of the address. They sit after the question mark and before any hash sign, and they can vary independently of both the host and the path.
Throughout these comparisons we are only observing how the string changes. We are not claiming anything about what a server would actually return for these addresses, because the example is hypothetical and no real server is involved. The purpose is purely structural: to see that each part of the URL occupies a fixed position and can be changed independently of the others. This kind of observation is useful when you later need to construct or debug addresses for your own project.
Making an Address Description Card
Write a short description card for any address you plan to use in a project. The card does not need to be elaborate. A plain text file or a note in your preferred tool is enough. The goal is to have one place where you record the purpose of the address, the full string, and a label for each part. For a first-time site builder, this habit helps catch typos and clarifies which portion of the address you actually control versus which portion depends on your hosting setup.
For our hypothetical example, the card might read as follows. Purpose: practice reading a web address. Full address: https://example.org/notes/first-page?view=compact#intro. Scheme: https. Host: example.org. Path: /notes/first-page. Query: view=compact. Fragment: intro. Each line corresponds to one structural component. If you later add a real address for your own site, you would fill in the same fields with your actual values.
The card also gives you a reference point when you communicate with collaborators or consult documentation. Instead of pasting a long string and asking a vague question, you can point to a specific part and say, for example, “I am unsure whether the path should include the trailing segment or not.” This precision saves time and reduces confusion, especially when multiple people are working on the same site and need to agree on address conventions.
Verifying the Card by Hand
Once your description card is written, a quick manual check can catch mistakes that are easy to overlook when you composed the address from memory. The process is simple and requires no special tools, just your own attention to each character in sequence.
This verification routine is especially helpful before you share an address publicly or embed it in navigation links. A single misplaced slash or a missing question mark can change the meaning of the entire string, and catching the error at the card stage is far easier than debugging it after launch.
If you find a mismatch during verification, correct the card immediately and re-run the labeling from the beginning. Repeating the process once or twice builds familiarity with the structure, and after a few rounds the positions of the question mark and hash sign become second nature.
Step 1
Copy the full address from your card into a blank line, character by character. Do not paste it. Typing it manually forces you to notice every slash, question mark, and hash sign. If you discover that you cannot reproduce the string without looking, that is a signal to review the card again.
Step 2
Label each segment directly beneath the copied string. Write “scheme” under https, “host” under example.org, “path” under /notes/first-page, “query” under view=compact, and “fragment” under intro. Compare your labels against the card. If any label does not match, identify which character caused the discrepancy and correct it before moving on.
Keeping the Record for Future Use
Record your address cards in a location you will actually revisit. A folder in your project notes, a dedicated page in a wiki, or even a bookmarked text file all work. The format matters less than the habit of returning to the record when you add new pages, change paths, or update query parameters. Over time the collection of cards becomes a lightweight map of your site's address structure.
When you write documentation, draft emails to collaborators, or prepare content that links to your pages, the card gives you a verified reference. Instead of reconstructing the address from memory each time, you can copy it from a source you have already checked. This reduces the chance of introducing subtle errors like a doubled slash or a missing parameter.
The choice of how detailed to make each card is yours. Some people record only the full address and a one-line purpose. Others add notes about why a particular path was chosen or what the query parameter controls. Either approach is valid. The important thing is that the record exists, that it matches the actual address you intend to use, and that you can find it quickly when you need it.
Frequently asked questions
Is example.org a real website I can visit?
No. In this article, example.org is used purely as a hypothetical placeholder to demonstrate how to read the parts of a URL. The full address https://example.org/notes/first-page?view=compact#intro is not claimed to exist or to be live. It serves only as a practice string for labeling.
What is the difference between the query and the fragment in a URL?
The query begins with a question mark and provides key-and-value pairs to the web server. The fragment begins with a hash sign and acts as a bookmark inside the resource itself, directing the browser to a specific spot. In our example, view=compact is the query and intro is the fragment.2
Do I need to understand every URL part before launching my site?
No. For a basic launch, knowing the difference between the domain name and the full URL is the most useful starting point. The path, query, and fragment become more relevant as your site grows and you add multiple pages or parameters. The card method described in this article lets you learn those parts gradually.
What is a Domain Name? - Learn web development | MDN. Retrieved 2026-11-01. ↩︎
What is a URL? - Learn web development | MDN. Retrieved 2026-11-01. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎