URL Languages of Web Sites

I will spend most of this chapter analyzing a web site’s functionality by explaining the way its URLs relate to its various entities and resources. In other words, I decipher the web site’s URL language. At the beginning of the chapter, I already made an argument for the usefulness of having URLs that give you direct access to a resource. Before analyzing Flickr, Google Maps, Amazon, and del.icio.us for their URL languages, I’ll make some general comments about URL languages. Each web site has its own URL language, but URL languages vary in terms of addressability, granularity, transparency, and persistence.[30]

Leonard Richardson and Sam Ruby present a helpful definition of addressability: “Addressability means that every interesting aspect of your service is immediately accessible from outside. Every interesting aspect of your service has a URI: a unique identifier in a format that’s familiar to every computer-­literate person.... Addressability makes it possible for others to make mashups of your service: to use it in ways you never imagined.”

Some URL languages are highly expressive, making resources and their associated data addressable at high granularity. Others expose relatively little of the functionality of the web site or only at a very course-­grained level. Some URL languages are relatively transparent; their meaning and context are easily apparent to those who did not design the site. Other URL languages tend to the opaque, making it difficult or impossible to refer to web site’s functionality in any detail. Finally, some URL languages have URLs that have high persistence, which means to last, while others do not, making them difficult to link to.

[30] Restful Web Services by Leonard Richardson and Sam Ruby (O’Reilly Media, 2007). The idea of analyzing URls in terms of addressability, granularity, transparency, and persistence comes from Rest ful Web Services.