The Wayback Machine - https://web.archive.org/web/20081201133650/http://www.webreference.com/html/tutorial29/4.html


spacer

Webref WebRef   Sitemap · Experts · Tools · Services · Newsletters · About i.com

home / experts / html / tutorials / 29 / 4

index1234567

HTTP for HTML Authors, Part II

Developer News
Mandrake Linux Founder Back, Virtually
Amazon: We're a Technology Company
Sun Expands MySQL With Closed Source

Content Negotiation

Up until now, you've been used to the fact that a certain path in your server always corresponds to the same file on your server's hard disk. As I've said before, this is often not the case; the first example of such a situation which we'll examine is server-driven content negotiation.

The term content negotiation means that there exists a system which can be used to select one of several alternative documents for a given request. In this case, server-driven content negotiation is such a system.

The purpose of content negotiation is to automatically select the correct document for a user based on his abilities, preferences and set-up. The most commonly used example of content negotiation is in selecting documents in different languages. As we saw before, a Web server can specify the language of a document via the Content-Language HTTP header. This is useful if the reader doesn't speak the language, but in the end is very similar in functionality to that dumb look on your face when confronted with a language you've never seen before.

Another useful HTTP header is the Accept-Language header. In contrast to Content-Language, this header is sent along by the browser along with a request (instead of being sent by the server along with a response) and indicates which languages the browser would rather receive. Most modern browsers (including the Big Two) allow users to specify their preferred languages, usually in order of preference. These are then sent to Web servers via the Accept-Language header. A typical Accept-Language header might look like this:

Accept-Language: da, en-gb;q=0.8, en;q=0.7

This header specifies that Danish is the preferred language, followed by British English, followed by other English variants. The q=0.8 bits are what are called quality ratings and merely specify the relative preference the user is expressing for each language; the details of how they work are beyond the scope of this tutorial.

A Web server, when confronted with such a header, is expected to look at the various alternatives it has on offer and select the one that can best satisfy the user's lack of linguistic skills. The precise mechanism through which this is accomplished varies from server to server, and once again is a matter of implementation. However, if you're going to offer a Web site in multiple languages, this is an excellent way to make sure the right people get the right version of your documents.

Content negotiation is not only done on the basis of language; the HTTP request headers Accept and Accept-Charset work in similar ways as Accept-Language, and offer means of selecting a version of the correct media type and character set (or encoding, in the case of HTML).

index1234567

Next Page...

http://www.internet.com/

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info

Copyright 2008 Jupitermedia Corporation All Rights Reserved.

Legal Notices, Licensing, Reprints, Permissions, Privacy Policy.
Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Whitepapers and eBooks

Intel Whitepaper: Comparing Two- and Four-Socket Platforms for Server Virtualization
IBM Solutions Brief: Go Green With IBM System xTM And Intel
HP eBook: Simplifying SQL Server Management
IBM Contest: Are You the Next Superstar? Join the "Search for the XML Superstar" Contest to Find Out
Microsoft PDF: Top 10 Reasons to Move to Server Virtualization with Hyper-V
Microsoft PDF: Six Reasons Why Microsoft's Hyper-V Will Overtake Vmware
Microsoft Step-by-Step Guide: Hyper-V and Failover Clustering
Intel PDF: Quad-Core Impacts More Than the Data Center
Intel PDF: Virtualization Delivers Data Center Efficiency
Go Parallel Article: PDC 2008 in Review
Microsoft PDF: Top 11 Reasons to Upgrade to Windows Server 2008
Avaya Article: Communication-Enabled Mashups: Empowering Both Business Owners and IT
Intel Whitepaper: Building a Real-World Model to Assess Virtualization Platforms
  PDF: Intel Centrino Duo Processor Technology with Intel Core2 Duo Processor
Microsoft Article: Build and Run Virtual Machines with Hyper-V Server 2008
Go Parallel Article: Q&A; with a TBB Junkie
IBM Whitepaper: Innovative Collaboration to Advance Your Business
Internet.com eBook: Real Life Rails
IBM eBook: The Pros and Cons of Outsourcing
Internet.com eBook: Best Practices for Developing a Web Site
IBM CXO Whitepaper: The 2008 Global CEO Study "The Enterprise of the Future"
Avaya Article: Call Control XML in Action - A CCXML Auto Attendant
IBM CXO Whitepaper: Unlocking the DNA of the Adaptable Workforce--The Global Human Capital Study 2008
Adobe Acrobat Connect Pro: Web Conferencing and eLearning Whitepapers
HP eBook: Guide to Storage Networking
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
webref The latest from WebReference.com Browse >
Popular JavaScript Framework Libraries: An Overview - Part 3 · Accessing Your MySQL Database from the Web with PHP · Working with the DOM Stylesheets Collection
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
Crucial Triples Up With New Three-Channel DDR3 Kits · Meet the Finalists: Excellence in Technology Awards · Tealeaf Offers Insight to Mobile Customer Behavior

URL: http://www.webreference.com/html/tutorial29/4.html

Produced by Stephanos Piperoglou
Created: January 24, 2001
Revised: February 27, 2001

Morty Proxy This is a proxified and sanitized view of the page, visit original site.