views:

35

answers:

2

I have a website which hosts web documents & web applications and also acts as an origin server for documents and applications that are served to a client via a proxy web site.

I'm finding it quite difficult to find the correct names to model the players in the http request in my server-side application.

For example, Hypertext Transfer Protocol (RFC 2616) describes the parts of an HTTP URL as:

http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]

Whereas RFC 1738 uses this terminology to define the parts of an URL:

An HTTP URL takes the form:
      http://<host>:<port>/<path>?<searchpart>

Lets say I want show an advert next to some primary content on a web page that is hosted on my origin server.

I would want to tell the complementary content server to find the best advert to suit the primary content and render them both together as the resource which is served up at an URL.

One of my biggest problems finding the correct words to differentiate between:

  • the client-facing-URL (the web address that someone might type into the browser bar - ie. http://example.com/mydocument?page=2) (I am calling this the canonical URL at the moment)
  • the origin-server-URL (the address that the gateway server calls upon to get the page i.e. http://originserver.example.co.uk/version2/mydocument?page=2)
  • the actual content at the canonical URL (which is always changing)
  • the revision of that piece of actual content at that URL
  • the name of the thing that defines the link between the URL and the current content (the semantic placeholder / or praps the semantic specification) - i.e. http://example.com/mydocument means ''a list of books relating to hockey''
  • page 2 of the content at the canonical URL
  • page 2 of the content shown by the application after a filter has been applied
  • etc, etc

I have heard that there are books written to define domain specific languages for various industries.

and there are books like Fowler's Analysis Patterns: Reusable Object Models (which i have not read).

So my question is :

Are there any books/website/published models that summarise all the w3c specs, best practice, SEO termininology and wrap it all up into nice 'n' handy a published object model that can be a truly ubiquitous language for web applications that I can adopt for my web app?

Basically something to cut the ambiguity.

links: RFC 1738 (http://www.ietf.org/rfc/rfc1738.txt) HTTP/1.1 RFC 2616 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.2.2)

A: 

Considering that the web protocols are extensible, no complete language is possible.

John Saunders
Thanks for your answer. Yes, as I wrote the question I did wonder if i was asking for the impossible. However, I believe that surely these things must have been modelled a million times and, after 20 years of the web, someone may have pinned down some of the converging converging concepts. Perhaps i am looking for something that sits at a level just below http://www.welie.com/patterns/
JW
A: 

Unless there's something I'm not seeing in my jet lagged state, I think both definitions you cite actually are the same thing expressed using a different notation. This first is much clearer as it is specific as to which parts are required and which are [optional].

From what I understand of your question, as far as URI's/URL's are concerned, everything past the hostname/port number only has to be syntactically correct. I think you're asking what is semantically correct and the answer unfortunately boils down to "anything goes as long as the syntax is right". When dealing with third party sites, you really have to take what they are giving you unless you have influence with them. For your own site, you may want to look into how URLs are formatted by folks using REST (as a suggestion, others, please chime in on that).

The web has been a wild-wild-west cowboy land for so long that no matter what the specs are, unless it flat out produces an error, you often need to tolerate a lot of loose-ness in terms of semantics. This is just one reason why some folks talk about the dream land of the "semantic web".

Jim Leonardo
Thanks. Yes you are right its the semantics that I'm trying to pin down in order to be able to name my objects with clarity. I found a Google presentation on REST really useful to get a lot of terminology from. See http://www.youtube.com/watch?v=YCcAE2SCQ6k
JW