There are 8 main parts to a URL, though not all the sections are always present. Each piece plays a role in helping clients locate the droids resources they're looking for.

| Part | Required |
|---|---|
| Protocol | Yes |
| Username | No |
| Password | No |
| Domain | Yes |
| Port | No (defaults to 80 or 443) |
| Path | No (defaults to /) |
| Query | No |
| Fragment | No |
Because names for the different sections are often used... sloppily... and because not all the parts of the URL are always present, it can be hard to keep things straight.
Don't worry about memorizing this stuff! Like any good developer, now that you know about URL sections, you can always look up the specifics again in the future when you need them.