WebDescriptionPatterns

From W3C Wiki
Jump to: navigation, search

A description format - inevitably - can't describe everything about an application; by its nature, it's incomplete. Because of this, any description format that gets standardised (or even widespread adoption) will unavoidably encourage some patterns of use and discourage others. Note that this isn't the case with existing prose descriptions of Web APIs; it's only when you try to abstract out a generic description format that you have this problem.

This is a collection of patterns of use (sometimes they'll look like feature sets) by examining existing Web applications, APIs, standards that use HTTP, and tools that implement it, so that we can figure out which patterns are common, which ones give the most benefits within the architecture, and so forth. This will help inform the creation of formats so that they don't needlessly cut off some applications, or encourage bad patterns (for some value of bad).

Please give each pattern a header, then describe what it is and how it might affect description. Feel free to discuss it underneath. As this page grows, we'll refactor it into an index of separate pages.

Pattern: GET / PUT / DELETE

Pattern: POST

Pattern: POST Then Content-Location

Pattern: MOVE and COPY

Pattern: WebDAV Properties

Pattern: HTML Form Encoding

Pattern: HTTP Authentication

Pattern: Cookies

Pattern: Session ID in Query Parameter

Pattern: Dispatcher

Many Web sites have an ASP, JSP or similar page that uses a query parameter to dispatch to a "hidden" resource; e.g., http://www.example.com/home.jsp?page=/over/there. This isn't particularly good use of URIs (it obviates the use of relative URIs and often rules out caching), but is common; should a description format support or accommodate this pattern? If so, what usage scenarios require it, and how should it be done?

Pattern: Post Once Exactly

See POE.