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