When you prepare a small website project, you will eventually need to write down page addresses for yourself or share them with a collaborator. Knowing what each part of an address means and how to record it reduces confusion later.

What a Domain Name and a Full URL Each Tell You

Suppose you are planning a personal notes site and you want to record the address of one specific page. The full address you write down might look like https://example.org/notes/first-page?view=compact#intro. This is a hypothetical example used only to practice reading an address string; it does not point to a real page. Before breaking it apart, it helps to understand what question each level of the address answers.

A domain name identifies which web server you are asking. Domain names provide a human-readable address for any web server available on the internet, solving the problem that numeric IP addresses are hard to remember and may change over time. In our example, example.org is the domain name portion. It tells the browser which machine to contact, but it says nothing about which page or resource on that machine you want.1

A full URL goes further. A URL 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. The full string in our example specifies not only the server but also the exact path, an optional query, and a fragment within the document. That is the difference a handoff checklist needs to capture: the domain answers “where is the server” and the complete URL answers “which resource on that server, with what options.”2

Labeling Each Part of the Example Address

Write out the full string https://example.org/notes/first-page?view=compact#intro on a blank line and draw a boundary between each segment. The scheme is https, which tells the browser which protocol to use when requesting the resource. The authority section follows the pattern :// and here contains only the domain example.org with no explicit port, because standard HTTPS uses a default port that browsers handle automatically.2

After the domain comes the path /notes/first-page. The path identifies which resource on the server is being requested. In our example it suggests a page called first-page located inside a section called notes. Following the path, the question mark introduces the query string view=compact. Query parameters are extra key-and-value pairs provided to the web server, and the question mark is the delimiter that signals their start. Finally, the hash sign introduces the fragment intro. The fragment acts as a bookmark inside the resource itself, giving the browser directions to show content at that specific spot. The fragment identifier is never sent to the server with the request.2

Record these five labels in a simple list: scheme (https), domain (example.org), path (/notes/first-page), query (view=compact), and fragment (intro). Keeping the delimiters visible in your notes—the colon-slash-slash after the scheme, the question mark before the query, and the hash before the fragment—makes it easier to spot mistakes when you later copy the address into another document or message.

Comparing Paths and Queries While the Host Stays the Same

Now keep the scheme and domain fixed at https://example.org and change only the path. If you replace /notes/first-page with /notes/second-page, you get a different address string that points to a different resource location on the same server. The domain has not changed, so the browser still contacts the same machine. Only the part after the domain differs. This observation is purely about the string structure; it does not tell you whether the server actually has a page at that path or what it would return.

Next, keep the path at /notes/first-page but change the query from view=compact to view=full. The resulting string is https://example.org/notes/first-page?view=full. The path is identical, so the resource being requested is the same one, but the query parameter now carries a different value. You can also remove the query entirely, producing https://example.org/notes/first-page, or remove the fragment to get https://example.org/notes/first-page?view=compact. Each variation is a distinct URL string even though the host and path may overlap.

Use these comparisons to build a mental model: the domain stays constant across all pages of one site, the path changes when you move to a different page or section, the query adds optional instructions, and the fragment points to a position within a single document. When you record addresses for your project, noting which part changed between two links helps you describe the difference to a collaborator without pasting both full strings every time.

Building an Address Description Card for the Hypothetical Project

Record a short description card for each page address you plan to use. For our hypothetical notes site, the card for the example page might include four fields: purpose (the landing section of the notes area, shown in a compact layout, scrolled to the introduction), full address (https://example.org/notes/first-page?view=compact#intro), page name you will use internally (First Page – Compact Intro), and any notes about why you chose that particular query or fragment.

The purpose field is where you explain in plain language what a visitor should see or do at that address. Writing it down forces you to decide whether the query and fragment are intentional choices or leftovers from testing. If you included view=compact because you want a simplified layout for handoff demonstrations, say so. If the fragment #intro exists only because you were testing scroll position, you might note that it could be removed before sharing the address publicly.

Keep the card format simple enough that you can duplicate it for every page in the project. A plain text file, a spreadsheet row, or a note in a wiki all work. The important point is consistency: every card uses the same fields in the same order, so when you or a collaborator scans the list, the information is always in the same place. This is an author suggestion based on general note-taking practice, not a requirement from any specification.

Verifying the Card by Hand

Check the full address on your card against the actual string character by character before you share it. Copy the address from your card into a plain text editor, then place a space or a marker before each delimiter: one before the colon-slash-slash, one before the first slash of the path, one before the question mark, and one before the hash. This visual separation makes typos and missing characters easier to spot.

Compare each marked segment against the labels you wrote in section two. The scheme should read https. The domain should read example.org with no trailing slash accidentally included. The path should begin with a slash and contain the segments you expect. The query should start with a question mark and contain only key-equals-value pairs joined by ampersands if there is more than one. The fragment should start with a hash and contain no additional question marks or slashes unless your specific case requires them.

Record any discrepancy you find, even a small one like a missing slash or a capital letter where you expected lowercase. Domain labels are case-insensitive according to the domain name structure rules, but path segments and query values may be treated differently depending on the server. Since you are building a checklist for your own reference, noting these details now saves time when you troubleshoot later.1

Step 1

Copy the full address from your description card into a plain text editor.

Step 2

Insert a visible marker (such as a space or a vertical bar) before each delimiter: the :// after the scheme, the first / of the path, the ? before the query, and the # before the fragment.

Step 3

Read each segment between markers and compare it to the label on your card.

Step 4

Write down any mismatch, no matter how small, and correct the card before moving on.

Keeping the Record for Future Writing and Communication

Store your finished set of description cards in a location you will actually revisit. If you are the only person working on the project, a single text file in your project folder is sufficient. If you expect to hand the list to a collaborator, consider a shared document where both of you can add notes. The format matters less than the habit of updating it whenever you add, rename, or remove a page.

When you later write content that links to these pages—whether in a site navigation menu, an email to a reviewer, or a README file—you can copy the full address directly from your card instead of reconstructing it from memory. This reduces the chance of introducing a typo at the moment you are focused on wording rather than string accuracy. It also gives you a single place to update if a path changes during development.

Decide for yourself how much detail to keep beyond the minimum fields. Some people add a date stamp showing when the card was last verified. Others add a short note about who requested the page or which design mockup it corresponds to. These choices are personal workflow preferences. The core value of the checklist is that every address you share or publish has been written down, labeled, and checked at least once before it leaves your hands.

Frequently asked questions

Do I need to include the fragment every time I record an address?

No. The fragment points to a position within a document and is never sent to the server. If the position does not matter for your purpose, you can leave it off the card and note that it was optional.2

What happens if I change only the query parameter but keep everything else the same?

You get a different URL string that requests the same path but passes different instructions to the server. Whether the server actually responds differently depends on how it is configured, which you cannot determine from the string alone.

Is the domain part of the URL case-sensitive?

Domain labels are case-insensitive, so Example.ORG and example.org refer to the same domain. However, path segments and query values may be handled differently by individual servers, so it is safest to record them exactly as you intend.1