Network Working Group                                                 
INTERNET-DRAFT                                               Mick O'Doherty 
draft-odoherty-http-display-and-connect-info-00.txt          Nortel Networks        
Oct  2000                                           
 
             HTTP Display and network connection characteristics 
 
Status of this Memo 
 
    
   This document is an Internet-Draft and is in full conformance with all 
   provisions of Section 10 of RFC2026 [1].  
    
   Internet-Drafts are working documents of the Internet Engineering Task Force 
   (IETF), its areas, and its working groups. Note that other groups may also 
   distribute working documents as Internet-Drafts.  
    
   Internet-Drafts are draft documents valid for a maximum of six months and 
   may be updated, replaced, or obsoleted by other documents at any time. It is 
   inappropriate to use Internet- Drafts as reference material or to cite them 
   other than as "work in progress."  
    
   The list of current Internet-Drafts can be accessed at 
   http://www.ietf.org/ietf/1id-abstracts.txt  
    
   The list of Internet-Draft Shadow Directories can be accessed at 
   http://www.ietf.org/shadow.html. 
    
    
1. Abstract 
    
   This document defines an extension to the HTTP [2] protocol to allow a 
   client/user agent describe its display and network connection 
   characteristics to a server when making a request. As HTTP may be used by a 
   client/user agent which does not have a display or does not want to make 
   this information available, providing this information is optional. 
    
2. Introduction 
    
2.1 Overview 
    
   This document defines an extension to the HTTP [2] protocol to allow a 
   client/user agent describe its display and network connection 
   characteristics to a server when making a request. As HTTP may be used by a 
   client/user agent that does not have a display or does not want to make this 
   information available, providing this information is optional. 
    
   More and more devices are being developed to support WWW browser 
   functionality, and many of these devices have display's which are smaller 
   (typically) or larger than the usual computer monitor size and which may 
   have different resolution, color etc characteristics. 
    
   In parallel there are more and more ways to connect to the Internet and the 
   bit rates of the various connection types vary greatly. 
 
Internet Draft     HTTP Display and Connection Characteristics                  

    
   A content provider may want to tailor their content for particular display 
   types and for connections with particular connection rates. 
    
   A HTTP request can indicate the exact device that sent the request (see [2] 
   section 14.43), but this is probably too much information for most content 
   providers and would mean updating the server every time a new device was 
   added. 
    
   In addition the content provider may use Java script to query the screen 
   size and resolution information from the browser and to estimate the 
   connection rate. This is a viable alternative to what is being suggested 
   here - the advantage providing this info in the HTTP request has is that the 
   information is available as soon as the request is received, and, also, some 
   browsers may not support Java script. 
    
   This extension allows a device to indicate its exact display and network 
   connection characteristics and the server then to decide whether they fit 
   into a particular grouping for the content it provides - for instance it may 
   have one set of content for displays which are around mobile phone screen 
   size, another for screens around palmtop computing device size (or perhaps 
   two formats here to allow for the 'portrait' or 'landscape' format of 
   devices typically available) and another for PC monitor size screens. 
    
   Similarly, a content provider may wish to have content targeted specially 
   for large display sizes. 
    
   Looking at the connection, the content provider may want to avoid graphics 
   and formats that are heavy users of bandwidth for user agents connected via 
   low bandwidth connections. For instance it might have one display format for 
   Palm top users connected via low speed 2G wireless links connection and 
   another for those connected via higher speed 3G wireless or connected via a 
   LAN. 
    
   It is assumed that the reader is familiar with the HTTP protocol [2], 
   although the intent of the document should be clear with just an outline 
   understanding of the protocol. 
    
   3. Encoding the display information 
    
   Looking at [2] we can see that the format of a HTTP response is defined by 
   the following (extracted directly from the RFC [2] and all section numbers 
   refer to [2]): 
 
    
   HTTP-message   = Request | Response     ; HTTP/1.1 messages 
    
    
    
   Request       =         Request-Line              ; Section 5.1 
                           *(( general-header        ; Section 4.5 
                            | request-header         ; Section 5.3 
                            | entity-header ) CRLF)  ; Section 7.1 
                           CRLF 
 
Internet Draft     HTTP Display and Connection Characteristics                  

                           [ message-body ]          ; Section 4.3 
    
    
   and that a request header in turn is defined by: 
    
   request-header =        Accept                   ; Section 14.1 
                         | Accept-Charset           ; Section 14.2 
                         | Accept-Encoding          ; Section 14.3 
                         | Accept-Language          ; Section 14.4 
                         | Authorization            ; Section 14.8 
                         | Expect                   ; Section 14.20 
                         | From                     ; Section 14.22 
                         | Host                     ; Section 14.23 
                         | If-Match                 ; Section 14.24 
                         | If-Modified-Since        ; Section 14.25 
                         | If-None-Match            ; Section 14.26 
                         | If-Range                 ; Section 14.27 
                         | If-Unmodified-Since      ; Section 14.28 
                         | Max-Forwards             ; Section 14.31 
                         | Proxy-Authorization      ; Section 14.34 
                         | Range                    ; Section 14.35 
                         | Referer                  ; Section 14.36 
                         | TE                       ; Section 14.39 
                         | User-Agent               ; Section 14.43 
    
    
    
   To add the display and network connection characteristics information 
   proposed here to this definition the following new request headers are 
   added: 
    
    
                         Display-Characteristics : *NEW 
                         Network-Connection      ; *NEW    
    
    
   These are then defined as: 
    
    
        Display-Characteristics     = 1*( Display-Characteristic-Field) 
    
        Display-Characteristic-Field =    Display-Type  
                                        | Display-Diagonal-Size  
                                        | Display-Height 
                                        | Display-Width 
                                        | Display_colors 
                                        | Display-Resolution 
         
    
    
        Display-type = "TEXT-ONLY" | "LINE PRINTER" | "BRAIL" | "VDU" | 1*ALPHA 
        Display-diagonal-size = "Display-Diagonal-Size" ":" 1*DIGIT 
        Display-height = "Display-Height" ":" 1*DIGIT 
        Display-width = "Display-Width" ":" 1*DIGIT 
 
Internet Draft     HTTP Display and Connection Characteristics                  

        Display-Colours = "Display-Colours" ":" 1*DIGIT 
        Display-resolution = "Display-Resolution" ":" 1*DIGIT 
         
        Network-Connection = "Network-Connection" ":" 1*DIGIT 
         
   The value Display-Diagonal-size will be the diagonal measurement of the 
   display in millimetres. Display-Height and Display-Width will be the number 
   of pixels high and wide that the display is. Display resolution will be the 
   number of pixels per inch and Display-Colours will be the number of Colours 
   in the Colour Pallet. 
    
   The value for network connection will be the bandwidth of the connection to 
   the network in kilo bits per second (k bps). Sometimes the bottleneck in a 
   system may not be in the direct connection but in some other point of the 
   network (for instance a PC may be connected directly to a Gigabit LAN but 
   it's external connection to the Internet may be via a 28k bps link) so the 
   user agent may choose to give the figure for the bottleneck as this is the 
   more useful information. 
    
   An example of how this might be used is: 
    
          Display-Type : VDU 
          Display-Diagonal-Size : 320 
          Display-Height : 768 
          Display-Width : 1024 
          Display-Colours : 256 
          Display-Resolution : 96 
          Network-Connection : 58 
    
    
4 Defaults 
    
   No default values will be specified - a server/content provider can decide 
   for themselves what to imply by the lack of one or more of the fields (or a 
   lack of all the fields). For instance one fairly logical assumption, for the 
   time being at least, would be to assume a PC type display as the default for 
   the display information. 
 
    
5. Security 
    
   As with other similar optional information presented by a user agent/client 
   to a server using HTTP, the client can choose not to make this information 
   available if they do not wish to divulge these details. 
    
    
6. Examples 
    
   Sports Information web site 
   --------------------------- 
   As an example lets imagine a Sports Information website, www.Z2ZSports.com.  
    


 
Internet Draft     HTTP Display and Connection Characteristics                  

   They would like users to simply have to type in their URL on their browsers 
   no matter what device they are using and for their content to be optimised 
   for the users display. 
    
   This means that a user accessing it from an internet enabled mobile phone 
   with the typical small screens available today, will probably get just text 
   and very simply text like graphics.  
    
   A user accessing from a Palm type computing platform will get something that 
   looks much more like a Mini web site, with the layout optimised for that 
   screen size and shape. 
    
   And users using a browser on a PC will get the usual PC Browser web display, 
   which may also be the default if no information is supplied in the HTTP 
   request. 
    
   In addition they may have a service to sports bars that have very large 
   displays and they may want to offer a specialised format for these customers 
   that takes advantage of the big screen and the different audience type. 
    
    
    
   News Service web site 
   -------------------- 
   Another example might be a News service, say www.z2zNews.com. This might 
   provide simple text based news to users who have a low bandwidth connection 
   (regardless of screen size) and graphics and video and sound clips to users 
   who have a higher bandwidth connection. 
    
 
7. Acknowledgements 
    
   The author would like to thank all the people in Nortel Networks who 
   provided input and feedback. 
    
8. References 
    
   1  Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 
      2026, October 1996. 
    
   2  R. Fielding, et al., "RFC 2616 Hypertext Transfer Protocol -- HTTP/1.1" 
    
   Author's Address 
    
   Mick O'Doherty     
   Nortel Networks                  
   Concorde Road 
   Maidenhead 
   Berkshire 
   SL6 4AG 
   England 
   mdoherty@nortelnetworks.com 


 
Internet Draft     HTTP Display and Connection Characteristics