Understanding URLS

Usability expert Jakob Nielsen (www.useit.com) urges developers to pay attention to URLs and provides the following guidelines for high-quality URLs. You should provide:

  • A domain name that is easy to remember and easy to spell
  • Short URLs
  • Easy-to-type URLs
  • URLs that reflect the site structure
  • URLs that are hackable to allow users to move to higher levels of the information architecture by hacking off the end of the URL
  • Persistent URLs, which don't change

Traditionally, in many web frameworks such as Classic ASP, JSP, PHP, and ASP.NET, the URL represents a physical file on disk. For example, when you see a request for http://example.com/albums/list.aspx, you can bet your kid's tuition that the website has a directory structure that contains an albums folder and a List.aspx file within that folder.

In this case, there is a direct relationship between the URL and what physically exists on disk. A request for this URL is received by the web server, which executes some code associated with this file to produce a response.

This 1:1 relationship between URLs and the filesystem is not the case with most MVC-based web frameworks, such as ASP.NET MVC. These frameworks generally take a different approach by mapping the URL to a method call on a class, rather than some physical file.

As you saw in Chapter 2, these classes are generally called controllers because their purpose is to control the interaction between the user input and other components of the system. And the methods that serve up the response are generally called actions. These represent the various actions the controller can process in response to user input requests.

This might feel unnatural to those who are accustomed to thinking of URLs as a means of accessing a file, but consider the acronym URL itself, Uniform Resource Locator. In this case, Resource is an abstract concept. It could certainly mean a file, but it can also be the result of a method call or something else entirely.

URI generally stands for Uniform Resource Identifier, whereas URL means Uniform Resource Locator. All URLs are technically URIs. The W3C has said, at www.w3.org/TR/uri-clarification/#contemporary, that a “URL is a useful but informal concept: A URL is a type of URI that identifies a resource via a representation of its primary access mechanism.” One way that Ryan McDonough (www.damnhandy.com) put it is that “a URI is an identifier for some resource, but a URL gives you specific information as to obtain that resource.”

Arguably this is all just semantics, and most people will get your meaning regardless of which name you use. However, this discussion may be useful to you as you learn MVC because it acts as a reminder that a URL doesn't necessarily mean a physical location of a static file on a web server's hard drive somewhere; it most certainly doesn't in the case of ASP.NET MVC. All that said, we'll use the conventional term URL throughout the book.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.22.41.235