Please Whitelist This Site?

I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)

If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.

If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on tcpipguide.com". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||tcpipguide.com^$document". Then just click OK.

Thanks for your understanding!

Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide


NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.

The Book is Here... and Now On Sale!

Get The TCP/IP Guide for your own computer.
The TCP/IP Guide

Custom Search







Table Of Contents  The TCP/IP Guide
 9  TCP/IP Application Layer Protocols, Services and Applications (OSI Layers 5, 6 and 7)
      9  TCP/IP Key Applications and Application Protocols
           9  TCP/IP File and Message Transfer Applications and Protocols (FTP, TFTP, Electronic Mail, USENET, HTTP/WWW, Gopher)
                9  TCP/IP World Wide Web (WWW, "The Web") and the Hypertext Transfer Protocol (HTTP)
                     9  TCP/IP Hypertext Transfer Protocol (HTTP)
                          9  HTTP Entities, Transfers, Coding Methods and Content Management

Previous Topic/Section
HTTP Data Length Issues, "Chunked" Transfers and Message Trailers
Previous Page
Pages in Current Topic/Section
1
23
Next Page
HTTP Features, Capabilities and Issues
Next Topic/Section

HTTP Content Negotiation and "Quality Values"
(Page 1 of 3)

Many Internet resources have only one representation, meaning a single way in which they are stored or made available. In this situation, a client request to a server is an “all or nothing” proposition. The client may specify conditions under which it would like the server to send the resource, using the “If-” series of request headers. If the condition is met, the resource will be sent in the server’s response in the one form in which it exists; if the condition is not met, no entity will be returned.

Other resources, however, may have multiple representations. The most common example would be a document that is available in multiple languages, or that is stored using more than one character set. Similarly, a graphical image might exist in two different formats: one a Tagged Image File Format (TIFF) file for those wanting maximum image quality despite the large size of TIFF images; and a more compact JPEG file for those who need to see the image quickly and don’t care as much about its quality level.

Content Negotiation Techniques

To provide flexibility in allowing clients to obtain the best version of resources that exist in multiple forms, HTTP/1.1 defines a set of features that are collectively called content negotiation. The standard defines two basic methods by which this negotiation may be performed:

  • Server-Driven Negotiation: In this technique, the client includes headers in its request that provide guidance to the server about its desired representation for the resource. The server uses an algorithm that processes this information and provides the version of the resource that it feels best matches the client’s preferences.

  • Agent-Driven Negotiation: This method puts the client in charge of the negotiation process. It first sends a preliminary request for the resource to the server. If the resource is available in multiple forms, the server typically sends back a 300 (“Multiple Choices”) response, which contains a list of the various representations in which the resource is available. The client then sends a second request for the one that it prefers.

Previous Topic/Section
HTTP Data Length Issues, "Chunked" Transfers and Message Trailers
Previous Page
Pages in Current Topic/Section
1
23
Next Page
HTTP Features, Capabilities and Issues
Next Topic/Section

If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!
Donate $2
Donate $5
Donate $10
Donate $20
Donate $30
Donate: $



Home - Table Of Contents - Contact Us

The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005

© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.