When you prepare a website for the first time, the address bar string can look like one undifferentiated block of characters. Knowing which piece does what helps you describe your site to collaborators, troubleshoot links, and keep your own notes organized. This article uses a single hypothetical address to walk through each component step by step.

What Question Does a Domain Name Answer, and What Question Does a Full URL Answer

Imagine you are setting up a small personal project and someone asks where to find it online. You might reply with a short name like example.org, or you might hand over a longer string such as https://example.org/notes/first-page?view=compact#intro. Both are useful answers, but they respond to different questions. The short name tells a person which server to reach. The longer string tells a browser exactly which resource on that server to retrieve and even which spot within that resource to display.

Domain names exist because computers on the Internet are identified by numeric IP addresses that are difficult for people to remember and that may change over time. A domain name provides a human-readable address for a web server, making it practical for anyone to type or share. The name is structured in parts separated by dots and read from right to left, with the rightmost part being the top-level domain that gives a general clue about the service behind the name.1

A URL goes further. It is the address of a unique resource on the Internet and is one of the key mechanisms browsers use to retrieve published resources such as HTML pages, images, or stylesheets. Where a domain name points to a server, a full URL points to a specific item on that server and can include instructions about how to present it. Understanding this distinction is the foundation for everything else in this article.2

Labeling Every Part of the Example Address

To make the pieces concrete, we will work with one hypothetical string throughout this article: https://example.org/notes/first-page?view=compact#intro. This address is invented purely for the purpose of dissecting its structure. It does not point to a real page, and nothing here assumes it is live or has ever been published.

Reading from left to right, the first part is the scheme. In our example it is https, which tells the browser which protocol to use when requesting the resource. Next comes the authority section, introduced by the characters ://. In this case the authority is simply the domain name example.org, which identifies the web server being requested. The domain itself breaks down further: org is the top-level domain, and example is the label that precedes it, sometimes called the second-level domain.23

After the domain comes the path, which in our example is /notes/first-page. The path identifies which resource on the server the browser should retrieve. Following the path, a question mark introduces the query string. Here the query is view=compact, a key-value pair that provides extra parameters to the server. Finally, a hash symbol introduces the fragment identifier, which is intro in this case. The fragment acts like a bookmark inside the resource itself, directing the browser to a specific spot within the document. It is worth noting that the fragment is never sent to the server with the request; it is handled entirely by the browser.2

Same Host, Different Paths and Queries

Now keep the host portion fixed at example.org and change only the path. If the address becomes https://example.org/gallery/photos, the domain and scheme stay identical, but the path now points to a different location on that server. The browser will request a different resource even though it contacts the same machine. This illustrates how the path acts as a separate layer of specificity on top of the domain.

Next, keep the host and path the same but change the query string. Compare https://example.org/notes/first-page?view=compact with https://example.org/notes/first-page?view=full. Both addresses target the same resource at the same path, but the query parameter differs. The server may use that parameter to adjust how it presents the resource, though the exact behavior depends entirely on how the server is configured. From the address string alone you can only observe that the parameter changed; you cannot determine what the server will actually do with it.

Finally, consider the fragment. If you change #intro to #summary while leaving everything else untouched, the request sent to the server remains exactly the same. Only the browser-side behavior changes, because the fragment tells the browser where to scroll within the received document. This is a useful distinction to keep in mind when you are comparing two addresses that look almost identical: a difference after the hash does not mean the server sees a different request.

Building an Address Description Card for a Hypothetical Project

When you start a new site, it helps to write down a short description card for each address you plan to use. For our hypothetical project, the card might read as follows. Purpose: a personal reading-notes page displayed in a compact layout, scrolled to the introduction section. Full address: https://example.org/notes/first-page?view=compact#intro. Scheme: https. Domain: example.org. Path: /notes/first-page. Query: view=compact. Fragment: intro.

Writing the card forces you to think about what each part contributes. If you later decide the compact view is unnecessary, you can remove the query and update the card. If you add a second page at /notes/second-page, you create a new card with a different path but the same domain. The card format keeps your records consistent and makes it easy to spot which piece changed between two versions of an address.

You do not need any special tool for this. A plain text file, a spreadsheet row, or a note in your preferred writing app all work. The important thing is that each field is labeled separately rather than buried in a single unbroken string. When you later need to explain the address to a collaborator or paste it into a configuration file, having the parts already separated saves time and reduces copy errors.

Verifying the Card by Hand

Copy the full address from your description card into a blank text line. Then, working from left to right, mark each boundary with a space or a bracket. Place a mark after https to separate the scheme. Place another mark after example.org to separate the domain from the path. Place a mark before the question mark and before the hash. You should end up with five clearly labeled segments that match the five fields on your card.

Check each segment against the card one at a time. Confirm that the scheme field on the card says https and that the string starts with exactly that sequence. Confirm that the domain field matches the characters between :// and the next slash. Confirm that the path field includes the leading slash and every directory name up to the page name. Confirm that the query field contains only the text between the question mark and the hash, and that the fragment field contains only the text after the hash.

Record the date you performed this check alongside the card. If you later modify the address, repeat the verification and update the date. This simple habit catches common mistakes such as a missing slash, a misplaced question mark, or a fragment that was accidentally included in the query field. None of these steps require specialized software; they are ordinary carefulness applied to a short string.

Keeping the Record for Future Writing and Communication

Once your description card is verified, store it somewhere you will actually look. If you keep project notes in a single document, add the card near the top. If you use a task board or a wiki, pin it to the relevant page. The goal is not to build an elaborate system but to ensure that the next time you or a collaborator needs the address, the labeled breakdown is immediately available without re-deriving it from memory.

When you write documentation, tutorials, or support messages that reference your site, paste the full address from the card rather than typing it from recall. This reduces the chance of introducing a typo that changes the meaning of the address. If you need to refer to only the domain in a conversation, you can extract that single field from the card without worrying about whether you are accidentally including a trailing slash or a query parameter.

Over time you may accumulate several cards for different pages or different projects. That is fine. The format scales naturally because each card is self-contained. You can choose to keep them in chronological order, grouped by project, or sorted by domain. The only requirement is that each card remains accurate and that you update it whenever the underlying address changes. A small, honest record is more useful than a large, outdated one.

Frequently asked questions

Is the fragment part of the URL sent to the server?

No. The fragment identifier, which is the text after the hash symbol, is handled entirely by the browser and is never included in the request sent to the server. It only tells the browser where to scroll or jump within the already-received document.2

Can I change the query string without changing which resource is requested?

Yes. The query string provides extra parameters alongside the request, but the path is what identifies the resource. Two addresses with the same domain and path but different query values point to the same resource location; the server may use the parameters to adjust its response, but that behavior depends on the server's own configuration.

Do I need to understand every URL rule before launching a site?

No. The URL standard includes additional parts and rules beyond the scheme, domain, path, query, and fragment covered here, but those extras are not relevant for regular users or web developers building functional sites. Knowing the five main parts and how to read them is sufficient for most pre-launch planning.2