This document gives a short overview of, mostly server-side, technologies used for this web project. Because here are excerpts of the following documents presented the keywords are highlighted. Clicking on the headers directs you to the document about this topic. Details may change in future releases, see the Revision History for more information.
Common server side technologies help you providing a consistent web site layout and navigation. To use this project as example, I use SSI for the whole XHTML skeleton, especially the navigation and the footer. Since many web site hoster do not offer SSI in favour of PHP or Perl you can also use this script languages for including static elements. These programming languages are also necessary for enhanced dynamic content such as gathering information out of databases or computing such data. But a consistent navigation is not the whole secret of a consistent and usable page. Also the layout needs to be consistent. This is the point where CSS help you: You define your style rules only once per project and every page looks like the others! That means that you should use mostly global style “classes” and only very less direct “in place formatting”.
learn more about Consistent web design
Content Negotiation is a common HTTP feature used for serving the “most accepted” content of a resource.
Usually a web browsers request contains several Accept-*
headers such as Accept-Language or Accept (accepted Content Types).
These information tell the web server what kind of content the client (browser), and this means in most cases its user, prefers.
Using the information a web server looks for a resource that fits the conditions best and servers it.
As you can see, this technology makes localizations of your web sites very easy, but you can also provide special ASCII Art variants of your nice pictures for text browsers like lynx.
Another aspect is that it helps you designing your URIs (in this context the W3C published Managing URIs):
Assume your web site currently uses plain HTML files (*.html), but someday you decide using Python CGIs (*.py) reading your articles from a database.
Instead of changing all hyperlinks on your site Content Negotiation makes sure that no links and especially bookmarks get broken.
learn more about the benefits of Content Negotiation