I like experimenting with things, and one of the simplest ways to experiment with something online is to edit URL’s. Sometimes changing a URL can give access to new functions or content, or just enhance your bookmarks or how you use a certain site.
It occurred to me that most people probably do not know how URLs work, or how to do experiments with them… So here’s an example: The Marvel Digital Comics Unlimited web interface.
Basic URL format and terminology
Let’s start with the basics. This is the URL for browsing the catalog of the Uncanny X-men comic:
http://marvel.com/comics/series/2258/uncanny_x-men_1963_-_2011
Here’s how to interpret this URL:
- http:// means “use the HTTP protocol”. Http is a way to transport data over the internet. Just don’t worry about it just now =)
- marvel is the name of the domain. This is the name Marvel (the company) registered as its own. It’s a bit like a local street address, possibly including the city name.
- .com is the top-level domain. Formally, “com” means “commercial”, but that’s not always the case. A top-level domain is a bit like specifying the country your address is in.
So http://marvel.com means “marvel, in the top-level domain of .com, using the http protocol”. With me so far? Good. Now we get to the interesting parts.
After .com comes a / and then “comics”, then another /, then “series”… Are you familiar with the concepts of folders+ That is what this is; the / is a divider for folder. So in this case, we have the folder “uncanny_x-men_1963_-_2011” inside the folder “2258” inside the folder “series” inside the folder “comics”. The “comics” folder, then exists on the computer called “marvel”, at the .com top-level domain, and we’re accessing it using the http protocol.
So: Protocol, domain name, top-level domain, folders.
Let’s move on.
The next step: Parameters
Right now, the URL isn’t very helpful. There’s not a lot for us to experiment with, at least not at some beginner level. So let’s click something. Let’s click the checkbox for “Marvel Unlimited”, because we only want to see the comics available through that service. Whoa! The URL expands into this monstrosity:
http://marvel.com/comics/series/2258/uncanny_x-men_1963_-_2011?limit=11&byType=comic_series&byId=2258&byZone=marvel_site_zone&offset=0&imageVariant=portraitFantastic&orderBy=release_date+desc&isDigital=1&totalcount=11
OK, lets’ take it one step at a time. First if all, we already know about everything up until the ?. So let’s focus on the things after the ?.
?limit=11&byType=comic_series&byId=2258&byZone=marvel_site_zone&offset=0&imageVariant=portraitFantastic&orderBy=release_date+desc&isDigital=1&totalcount=11
These are “parameters”. Things our browser sends to the server to specify what kind of information we want, how we want it displayed, etc. The server is configured to understand certain set parameters, so we can’t just enter “let me see these comics as movies” or something: We are limited by what the server is capable of understanding.
Each parameter is consists of a keyword and a value, separated by a =. The parameters are then separated by &, and the parameters are separated from the rest of the URL by a ?.
So, let’s look at the parameters in this URL – we’ll begin by splitting them up. Remember, they are separated by &’s.
- limit=11
- byType=comic_series
- byId=2258
- byZone=marvel_site_zone
- offset=0
- imageVariant=portraitFantastic
- orderBy=release_date+desc
- isDigital=1
- totalcount=11
These, then, are our parameters. Some of them are quite easy to understand without deeper analysis or experimentation: “isDigital”, for instance, probably means only “digital” comics are included. “orderBy” is probably how the list is ordered. I’m guessing “offset” has something to do with which comic is displayed first.
Guessing is the first step of experimentation. So, let’s see what happens if we change offset=0 to offset=1.
Original URL:
http://marvel.com/comics/series/2258/uncanny_x-men_1963_-_2011?limit=11&byType=comic_series&byId=2258&byZone=marvel_site_zone&offset=0&imageVariant=portraitFantastic&orderBy=release_date+desc&isDigital=1&totalcount=11
New URL:
http://marvel.com/comics/series/2258/uncanny_x-men_1963_-_2011?limit=11&byType=comic_series&byId=2258&byZone=marvel_site_zone&offset=1&imageVariant=portraitFantastic&orderBy=release_date+desc&isDigital=1&totalcount=11
Try these URL’s. See the difference? Originally, the list began on issue #544. Now it’s #543. See? Experimentation!
So now we know what offset does. What is “byZone”? Is it even necessary? Let’s see what happens when we remove it.
Original URL:
http://marvel.com/comics/series/2258/uncanny_x-men_1963_-_2011?limit=11&byType=comic_series&byId=2258&byZone=marvel_site_zone&offset=0&imageVariant=portraitFantastic&orderBy=release_date+desc&isDigital=1&totalcount=11
New URL:
http://marvel.com/comics/series/2258/uncanny_x-men_1963_-_2011?limit=11&byType=comic_series&byId=2258&offset=0&imageVariant=portraitFantastic&orderBy=release_date+desc&isDigital=1&totalcount=11
Try them. Spot the difference? No? Me neither. I guess it didn’t do much, then.
The parameter “byId” seems to duplicate data already present in the folder structure: the number 2258. I wonder what happens if I remove it?
Nothing, again. The URL is now:
http://marvel.com/comics/series/2258/uncanny_x-men_1963_-_2011?limit=11&byType=comic_series&offset=0&imageVariant=portraitFantastic&orderBy=release_date+desc&isDigital=1&totalcount=11
I do the same with the other parameters – try changing their values or removing them, one at a time to see what happens. These are my findings:
- limit=11 unknown.
- byType=comic_series Duplication. Just tells us we’re looking at a list of comics.
- byId=2258 Duplication. Also exists in the URL.
- byZone=marvel_site_zone unknown.
- offset=0 Which issue to have as “first”.
- imageVariant=portraitFantastic Probably how the comics are displayed. No idea what other options there might be.
- orderBy=release_date+desc How the comic is sorted. “desc” means “descending”. Can be substituted for “asc” as in “ascending”.
- isDigital=1 Show only digitally available comics on 1, show all comics on 0.
- totalcount=11 The total number of comics to display.
This means we can build our own url! We know the format (? followed by parameters separated by &, each parameter being a keyword=value pair), and we know what most of the parameters are. In this case, they can also all be removed without problems. This means we only need to include the parameters that do things we want to change from the default view.
For instance, I wanted a view of ALL Uncanny X-men issues, ordered by release date in ascending order (oldest first), and only the ones available in digital format.
This URL does just that:
http://marvel.com/comics/series/2258/uncanny_x-men_1963_-_2011?orderBy=release_date+asc&isDigital=1&totalcount=1024
Conclusions
Well, that’s pretty much all there is to it! Protocol, domain, top level domain, folders, parameter-pairs. I might put together a slightly more advanced example later, if you’re interested.
Be First to Comment