980926-4

In which ways can an HTTP server have more than one version of a document, and automatically deliver different versions depending on user settings and capabilities. Is the choice of version done by the server or by the client? (Note: I do not mean manual selection, where a user can select between links or with a menu on a web page!)

Answer

This is called "Content Negotiation" and can be either "server-driven" or "agent-driven". With "server-driven" negotiation, the client tells the server its capabilities and preferences, and an algorithm in the server selects what to send. With "agent-driven" negotiation, the server tells the client which versions it has, and the client selects which of them to download.

Examples of HTML commands used in server-driven negotiation are
Accept-Charset, Accept-Language -- commands by which the client tells the server its preferences.

Agent-driven HTML commands i based on the HTML command Alternates, with which the server tells the client which versions it has. Alternates is not much used.

List of exam questions