Before you share a project site with anyone, you need to know what you are actually handing them. A domain name and a full URL look similar but answer different questions, and mixing them up can cause confusion when you write documentation, share links, or troubleshoot a page that will not load. This article uses one hypothetical address to walk through the distinction step by step.
What Question Does Each Part of an Address Answer?
Suppose you are preparing a small personal project site and you want to send a colleague the exact page where your latest notes live. You type something into a message and hit send. The string you just typed might have been example.org, or it might have been a much longer address with slashes, a question mark, and a hash symbol at the end. These two things are not the same. A domain name identifies a web server on the Internet. As MDN explains, domain names provide a human-readable address for any web server available on the Internet, because IP addresses are hard to remember and might change over time.1
A full URL goes further. It is the address of a unique resource on the internet, and it is one of the key mechanisms used by browsers to retrieve published resources such as HTML pages, CSS documents, and images. In other words, the domain name tells the browser which server to contact, while the complete URL tells the browser exactly which resource to request from that server. For this exercise we will use the hypothetical address https://example.org/notes/first-page?view=compact#intro. This page does not need to exist anywhere; we are using it purely as a string to take apart and label.2
Think of it this way: if someone asks you where your project lives, you might say the domain name. If someone asks you which specific page to open and how to display it, you need the full URL. The rest of this article breaks that single string into its named pieces so you can build the same understanding for your own addresses.
Labeling Each Part of the Hypothetical Address
Starting from the left of https://example.org/notes/first-page?view=compact#intro, the first segment is https. MDN describes this as the scheme, which indicates the protocol that the browser must use to request the resource. For websites the protocol is usually HTTPS or its unsecured version HTTP. In our example, https tells the browser to use a secure connection when fetching whatever comes next.2
After the :// separator comes example.org. This is the domain name, also called the host in URL terminology. According to MDN, the domain indicates which web server is being requested. The .org portion is the top-level domain, which MDN describes as the final component of a domain name that often serves as a clue to the purpose of a website. The label example sits to the left of the TLD and forms the second-level domain name.13
Following the domain is /notes/first-page. MDN calls this the path to the resource on the web server. In the early days of the web a path represented a physical file location, but nowadays it is mostly an abstraction handled by web servers. For our purposes, the path simply names which resource we are asking for within the example.org host. The question mark that follows introduces the query string. In our case, view=compact is a key-value pair that provides extra parameters to the web server. MDN notes that the web server can use those parameters to do extra processing before returning the resource. Finally, the hash sign introduces the fragment identifier intro. MDN points out that the part after the hash is never sent to the server with the request; it acts as a bookmark inside the resource itself, telling the browser where to scroll once the page loads.2
Same Host, Different Paths and Queries
Now keep the host portion exactly the same and change only the path. Compare https://example.org/notes/first-page with https://example.org/notes/second-page and https://example.org/about. All three strings share the same scheme and the same domain, so they all point at the same server. What differs is the resource being requested. The path is the part that distinguishes one page from another within the same site.
Next, keep the path fixed and vary the query string. Compare ?view=compact with ?view=full and with no query at all. Each of these is a different URL string, even though the scheme, host, and path are identical. The query parameters give the server additional instructions about how to present or filter the resource. We are not claiming here that example.org actually processes these parameters in any particular way; we are only observing that the strings are different and that, structurally, the query portion is where such instructions would go.
Finally, change only the fragment. Compare #intro with #summary or with no fragment at all. Because the fragment is never sent to the server, swapping it does not change which resource the server returns. It only changes where the browser positions the view within that resource. This distinction matters when you are debugging: if two URLs differ only in the fragment, the server sees the same request, and any difference in what you see on screen comes from the browser scrolling to a different spot in the same document.2
Building an Address Description Card
Record the following information on a simple card or note for your hypothetical project. Write down the purpose of the address in one sentence, such as “This is where my latest project notes are displayed in a compact layout.” Then write the full URL on the next line: https://example.org/notes/first-page?view=compact#intro. Below that, list each part with its label. Scheme: https. Host: example.org. Path: /notes/first-page. Query: view=compact. Fragment: intro. This card becomes your quick reference whenever you need to explain the address to someone else or check whether you typed it correctly.
The value of this exercise is not in the specific example but in the habit it builds. When you later work with your real project address, you will already know which segments to look at and what each one is called. If your actual address has no query string or no fragment, simply note that those parts are absent. The card format stays the same; you just leave those lines blank or write “none.”
Choose whatever format suits your workflow. Some people prefer a plain text file kept alongside their project notes. Others paste the card into a task tracker or a shared document. The important thing is that all five labels appear together in one place so that you can scan them quickly without reconstructing the logic from scratch each time.
Verifying the Card by Hand
Copy the full URL from your description card into a blank text editor. Do not rely on your browser address bar for this check, because browsers sometimes hide or rearrange parts of the display. Once the string is pasted in plain text, work through it from left to right. Mark the scheme by finding the colon-slash-slash separator. Everything before that separator is the scheme. Everything between the separator and the next single slash is the host. Write each label next to the segment you just identified.
Check the path by locating the first single slash after the host. The path runs from that slash up to either a question mark or a hash sign, whichever comes first. If neither symbol appears, the path extends to the end of the string. Next, look for the question mark. If one exists, everything between it and the hash sign (or the end of the string) is the query. Finally, look for the hash sign. Everything after it is the fragment. Compare each labeled segment against your card. If any segment is missing or misspelled, correct the card before you share the address with anyone.
Use this same manual check whenever you receive a URL from someone else and need to understand what it points to. Breaking the string into labeled parts takes less than a minute once you have practiced it a few times, and it prevents the common mistake of confusing a path segment with a query parameter or overlooking a fragment that changes where the page scrolls.
Keeping Your Description for Future Use
Store the completed card somewhere you will naturally look when writing documentation, drafting emails, or setting up links in your project. The exact storage location is a personal choice. What matters is that the card exists as a single, self-contained reference so you do not have to re-derive the structure every time you need to explain or verify the address.
When your project grows and you add more pages, consider making one card per distinct address you share externally. Each card follows the same format: purpose sentence, full URL, and labeled parts. Over time this collection becomes a lightweight map of your public-facing addresses, which is useful when you need to update a link or explain to a collaborator why two addresses that look similar actually point to different resources.
This practice is deliberately simple. It does not require any tooling beyond a text editor, and it does not depend on any particular hosting setup. The goal is to build a habit of reading addresses carefully before you use them, so that the distinction between a domain name and a full URL becomes second nature rather than something you have to look up each time.
Frequently asked questions
Is the domain name the same thing as the URL?
No. The domain name identifies the web server, while the full URL includes the domain plus additional parts such as the scheme, path, query, and fragment that together specify a particular resource on that server.12
Does changing the fragment in a URL send a different request to the server?
No. The fragment identifier, which comes after the hash sign, is never sent to the server with the request. It only tells the browser where to scroll within the already-loaded resource.2
Do I need a query string in every URL?
No. The query string is optional. Many URLs contain only a scheme, host, and path. You only include a query when the resource you are requesting needs extra parameters to be processed or displayed in a specific way.2
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. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
TLD - Glossary | MDN. Retrieved 2026-11-01. ↩︎