What do all the characters in a URL mean?

710 viewsEngineeringOther

A URL will be something like YouTube.com/r7@usq=616UUhF

What is all the jargon at the end?

Thanks in advance

In: Engineering

7 Answers

Anonymous 0 Comments

In your example the r7@usq=616UUhF refers to the name of the page that YouTube assigned to the content. These characters can mean different things to different companies, but basically it is used to uniquely identify a sub-page in a domain.

Anonymous 0 Comments

It would have been a lot better if you just copy pasted a real YouTube URL, because that’s not what it looks like.

The first part of the URL, before the `://`, is the protocol, which determines how you are communicating with the server and what the data being sent means. For websites, it’s http (hypertext transfer protocol) or, for most modern sites, the encrypted https. But other protocols exist, like ftp (file transfer protocol), and other types of programs like databases use urls that start with, for example, `mysql://`.

The next parts of the url are `subdomain.domain.tld` where tld stands for top level domain. You kind of read this part backwards, actually, since the tld is the biggest category and the subdomain is the most specific category. This basically says which server you’re communicating with.

After the domain is whatever is after the slash `/` which is the path. It’s essentially the server’s responsibility to decide what to do with the path, but this often specifies the specific page on the server that you want to see. This is optional, and if you omit it, the server will just serve you the “root” page.

Then another optional part comes after a question mark `?`. This is the query, which is a standard way of giving the site specific extra parameters. The parameters are written as `name=value` and separated by ampersands `&`. This is extra information that is processed by the server. Some pages have required query parameters, and will give you an error if any are missing, but that’s all up to the server software.

For YouTube, the most common query parameter is `v` which stands for the video ID. So you might see a query like `?v=3MKpDA56-LivQKhH` which means “show the video with the ID “3MKpDA56-LivQKhH”. The video ID is basically just a random sequence of characters chosen by YouTube to uniquely identify the video (if they just used the title of the video, it could be too long, many videos could have the same title, the title could contain bad words or characters that some users’ computers don’t support etc., so it’s best for the server to choose its own random, unique identifier).

Other parts of the query could tell the server how you got to the site. A link posted to social media might have `referrer=twitter.com` for example, so that when a user clicks that link, the server knows you came there from Twitter. And yes, it’s called Twitter.

And that’s basically it. There’s also the `#` but that’s less commonly used these days.

Anonymous 0 Comments

it varies by site.

a url is structured protocal://username:[email protected]:port/page/on/site?list&of&args&seperated&by&andpersan

the protocal tells how to connect, usernsme:password tells you how to login (but its horrifically insecure and no longer generally used (except username for email)) the website and domain and port (port defaults to the protocal port so it is rarely used) tell where, the path tells you what to get, and the args are just there for the website. youtube uses v= to pick which video, and t=[time] for start time, but often its just tracking data

your particular example is invalid, @ is considered reserved for user selection, so [email protected] it can work in a path, but it usually isnt.

Anonymous 0 Comments

I don’t know what everything means, but here’s a few that I’m aware of:

The first thing after youtube.com/watch?v= is of course the unique identifier of the video, as others have mentioned. As far as I’m aware, it’s just a mix of random numbers and letters.

“?t=44”, tells YouTube to start playing the video 44 seconds in.

“&list=” which links to the video as part of a playlist, so when you finish the video, it’ll go to the next video in the playlist instead of something selected by the algorithm.

I’m not sure what all the extra characters at the end mean when you copy a link from the search page, for example:

The video URL is followed by “&pp=” and a long string of letters; perhaps it tells YouTube that you searched for the video by searching a specific query.

Using the link from the “share” feature adds “&si=” at the end; a quick google search seems to indicate that helps track who shared the video.

Anonymous 0 Comments

I will give an example url and explain what all the parts mean:
`https://example.com/foo/bar?xyz=123`

The first section is `https://`. This specifies the protocol you are using to make the request. For links you open in a browser this will always been either http:// for unsecured webpages, or https:// for webpages that are secured. (Note: don’t enter sensitive information in a web form of the website uses http://. The data you enter can be read by anyone who intercepts the request).

The next section is `example.com`. This is the domain. This is the address of the server you want to talk to. This part tells the browser who it needs to send your request to. Everything between the two slashes for the protocol and the first slash is the domain.

The next section is ‘/foo/bar’. This is called the path. This tells the server where the webpage you want to visit is located. If there’s a typo in this part of the url, you will typically get a 404 error from the server, telling you that the web page you’re looking for doesn’t exist. The path is everything starting from the first slash up until the ? if it exists or up until the end of the url if there is no question mark.

The final section is ‘?xyz=123’. These are the request parameters. These are additional pieces of information that the server uses to process your request. In this example the user is sending a parameter named ‘xyz’ with a vlaue of ‘123’ along with the request. If you need to send more than one parameter, you separate those with an & character.

In your example the path has an at-sign and an equals sign in the path. That sequence of characters likely has some special meaning, but you’d have to talk to someone who works at YouTube to find out exactly what they all mean or how they process that request.

Anonymous 0 Comments

What they mean depends on the website in question. In the case of your YouTube example, those letters are just a unique ID tag for a specific video. They don’t mean anything, themselves.

However, for example, reddit organizes things differently. The URL for this post is “https://www.reddit.com/r/explainlikeimfive/comments/1d1dszg/eli5_what_do_all_the_characters_in_a_url_mean/”.

“https://” is “How should your browser talk to this server?”
“www.reddit.com” is “What server do I need to find to talk to?”
And all of the rest is “What should I ask that server for?”

The only meaning that has is what the reddit servers have decided they have, but it’s very common to break these into parts with “/” like folders on your computer. In this case, we have:
– “r”: “I want to look inside a specific subreddit”
– “explainlikeimfive”: The name of the subreddit
– “comments”: I want to look at the comments page for a post
– “1d1dszg”: This is a random, meaningless, unique ID code, just like YouTube’s
– “eli5_what_do_all_the_characters_in_a_url_mean”: This one doesn’t actually mean anything (you can even change it!), but reddit puts it on the end so that humans have a way to get a basic idea of what the post is about, since you and I can’t look up the random ID code “1d1dszg” in our database (brain).

There are other conventions like “after the ‘?’ comes a list of “X=Y” pairs, encoded in a specific way that keeps them from being ambiguous, but ultimately it’s up to the server to decide how it wants to interpret everything before the (optional) ‘#’. Anything after that isn’t sent to the server at all. Your browser (and the page’s javascript) use that for other purposes.

Anonymous 0 Comments

*(disclaimer: this is all simplified and some of the names aren’t fully accurate because URLs are actually really, really complicated)*

Generically speaking a URL looks like this:

`scheme://subdomain.domain.tld/path/file?querystring=value#anchor`

Where the different parts are:

* The **scheme** is the communication protocol being used, a collection of recognized commands and data formats so the two computers talking know how to interpret each other. Generally this will be https or http.
* The **TLD** is the *top-level domain*, the broadest part of the URL’s “name.” Typically it’ll tell you what country the site is in, or if it’s in the US what kind of site it is (commercial, education, government, etc).
* The **domain** is which specific site you’re visiting—Google or Reddit or whatever—within a given TLD.
* The **subdomain** is an organizational structure within a domain, but how they’re used (if at all) changes a lot from domain to domain. Originally this was the name of the computer you were accessing and web sites were typically hosted on a computer called WWW but this is rarely true anymore (even though a lot of sites will recognize the www subdomain).
* The **path** is the folder structure to get from the site’s root to wherever the file is located.
* The **file** is the specific piece of content you’re looking at.
* The **query string** is a list of name-value pairs that convey additional information to the server. Early on this was often used for search queries, hence the name. They’re generally in the format `name1=value1&name2=value2`.
* The **anchor** tells the browser to move automatically to a specific piece of content within the file.

Note that you know all of that, forget it because URLs have become the god damn Wild West, with servers interpreting them in all kinds of weird ways, single-page apps doing silly hackery like hash-bang URLs, load balancers, JS rendering…

It’s difficult anymore to answer your question for anything other than a specific site because they could be using their URLs in a lot of different ways. In the case of YouTube specifically you’ll see URLs that look like this:

`https://m.youtube.com/watch?v=_cUKCLbfK5w&pp=ygUPRGFuY2luZyBnb3BoZXJz`

Which you’ll observe has a scheme of `https`; subdomain of `m`; domain of `youtube`; TLD of `com`; path or file of `watch`; and then you’ll see that the `?` begins a query string with two named values, `v` and `pp`. Most likely the video player application is hosted at the path `/watch` and it uses the query string parameters to pass in the ID of the video you’re watching (v) and any additional settings it needs to be aware of (encoded into an unreadable string as the value of pp).