When you prepare a website for the first time, you quickly encounter two related but distinct concepts: the domain name and the full URL. Understanding what each one does and how they fit together helps you communicate clearly about your project and avoid confusion when sharing or documenting addresses.
What Domain Names and Full URLs Each Answer
A domain name answers one specific question: which server or site are we talking about? 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 communicate using IP addresses such as 192.0.2.172, but people find those sequences hard to remember and hard to connect with the purpose of a site. A domain name like example.org solves that problem by giving the server a label that humans can read, type, and recall.1
A full URL answers a broader question: where exactly is the resource I want, and how should the browser reach it? A URL (Uniform Resource Locator) is the address of a unique resource on the internet. It is one of the key mechanisms used by browsers to retrieve published resources, such as HTML pages, CSS documents, and images. While a domain name points to the server, the complete URL adds information about which specific page or file to request, what extra instructions to include, and where within the page to look.2
To make this distinction concrete, consider the following hypothetical address used purely for practice: https://example.org/notes/first-page?view=compact#intro. This address does not need to exist as a live page. We use it only to identify the separate pieces that make up a URL. The domain portion is example.org, and everything else in the string adds further specification about the resource, its parameters, and a position within it. Keeping this example in mind will help in the sections that follow.12
Breaking Down the Example Address
The first part of our example address 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. In our hypothetical string, https tells the browser to use a secure connection when fetching whatever comes next.2
After the scheme and the separator ://, we find the authority section. In this example the authority is simply example.org, which is the domain name identifying the web server. The domain indicates which web server is being requested. A port number could also appear here, separated by a colon, but when standard ports are used the port is usually omitted. Since our example uses HTTPS with its standard port, no port number is visible.2
Following the domain comes the path: /notes/first-page. The path to the resource on the web server tells the browser which specific page or file is being requested. In the early days of the web, a path like this represented a physical file location on the server. Nowadays it is mostly an abstraction handled by web servers without any physical reality, but the string still serves as the identifier for a particular resource.2
Queries, Fragments, and How They Differ
After the path in our example comes the query string, introduced by a question mark: ?view=compact. Parameters are extra parameters provided to the web server, formatted as a list of key/value pairs separated with the ampersand symbol. The web server can use those parameters to do extra processing before returning the resource. In our hypothetical case, view=compact is a single key-value pair. We are not claiming that any real server interprets this parameter in a particular way; we are only identifying the structural role it plays in the string.2
The final part of our example is the fragment, introduced by a hash sign: #intro. An anchor represents a sort of bookmark inside the resource, giving the browser the directions to show the content located at that bookmarked spot. On an HTML document, the browser will scroll to the point where the anchor is defined. It is worth noting that the part after the hash sign, also known as the fragment identifier, is never sent to the server with the request. This means the fragment affects only what the browser displays locally, not what the server returns.2
To summarize the structural markers: the question mark always introduces the query section, and the hash sign always introduces the fragment. These two symbols serve as boundaries within the string. If you see a question mark in an address, everything between it and the next hash sign (or the end of the string) belongs to the query. If you see a hash sign, everything after it is the fragment. Recognizing these boundaries helps you read any URL and understand which part does what.2
Comparing Variations While Keeping the Host the Same
Now let us keep the host part of our example fixed at example.org and change only the path and query. If the path were /notes/second-page instead of /notes/first-page, the string would point to a different resource on the same server. The domain name has not changed, so the browser would still contact the same web server, but it would request a different page. This illustrates how the path narrows down the location within a single site.2
If we changed the query from ?view=compact to ?view=full, the path and domain would remain identical. Only the instruction passed to the server would differ. Each web server has its own rules regarding parameters, and the only reliable way to know if a specific web server is handling parameters is by asking the web server owner. So from the string alone, we can observe that the query is different, but we cannot determine what the server will actually do with that difference.2
If we changed the fragment from #intro to #summary, the server would receive exactly the same request because the fragment is never sent to the server. The only thing that changes is where the browser positions the reader within the page after loading it. This distinction is useful to remember: query parameters can influence what the server returns, while fragments only influence what the browser shows locally. Keeping the host constant and varying the other parts helps you see clearly what each section of the string contributes.2
Building and Verifying an Address Description Card
Record the following information on a simple description card for your hypothetical project. Write down the purpose of the page in one sentence, such as “A compact reading view of the first notes page.” Then write the full address: https://example.org/notes/first-page?view=compact#intro. Below that, list each part with its label: scheme is https, domain is example.org, path is /notes/first-page, query is view=compact, and fragment is intro. This card gives you a single reference point you can share with collaborators or revisit later.
Check each entry on your description card against the original string by copying the address character by character into a plain text editor. Start from the left and identify the scheme up to the :// separator. Then identify the domain up to the first forward slash after the authority. Continue marking the path up to the question mark, the query up to the hash sign, and the fragment from the hash sign to the end. If any part on your card does not match the copied string exactly, correct the card before moving on.
Write a short note next to each part explaining why you chose that value. For instance, next to the path you might write “notes is the section folder and first-page is the article slug.” Next to the query you might write “compact is the display mode I want for testing.” These notes are your own organizational choices, not rules imposed by any specification. They exist to help you remember your reasoning when you return to the project weeks or months later.
Step 1
Copy the full hypothetical address into a plain text document so you have an unformatted reference.
Step 2
Mark the boundary between the scheme and the authority by locating the :// sequence.
Step 3
Mark the boundary between the authority and the path by locating the first forward slash after the domain.
Step 4
Mark the boundary between the path and the query by locating the question mark.
Keeping Your Address Notes for Future Reference
Once your description card is complete and verified, store it somewhere you will naturally revisit. Some people keep a plain text file in their project folder; others prefer a note-taking application or a shared document. The format matters less than the habit of recording the address alongside its purpose and your reasoning for each part. When you later write content, share links with collaborators, or set up redirects, having this record saves you from re-deriving the structure from memory.
Use your description card as a communication tool when discussing the project with others. If a collaborator asks what a particular page address means, you can point to the card rather than explaining the string from scratch. This is especially helpful when your project grows to include multiple pages with similar paths but different queries or fragments. A clear record prevents mix-ups between addresses that look almost identical but point to different resources.
Review and update your card whenever you change the structure of your site. If you rename a path segment, add a new query parameter, or remove a fragment, update the card at the same time. This keeps your documentation accurate and reduces the chance of sharing an outdated address. The effort is minimal, but the payoff is a reliable reference that grows with your project and remains useful long after the initial launch decisions are made.
Frequently asked questions
Is example.org a real website I can visit?
In this article, example.org is used purely as a hypothetical placeholder for practicing how to read URL structure. The exercise does not require the address to exist as a live page. The domain example.org is reserved for documentation purposes, but the specific path, query, and fragment in our example are invented for illustration.
What is the difference between a query parameter and a fragment?
A query parameter is sent to the server as part of the request and can influence what the server returns. A fragment is never sent to the server; it only tells the browser where to position the reader within the already-loaded page. The question mark introduces the query, and the hash sign introduces the fragment.2
Do I need to include the scheme when sharing a URL with someone?
In a browser address bar, you can usually omit the scheme because the browser defaults to HTTP or HTTPS. However, when documenting an address for a project or sharing it in writing, including the full scheme makes the address unambiguous and complete. For your description card, writing the full URL including https is the clearest approach.2