This document: http://www.w3.org/TR/NOTE-agent-attributes-971230.html
Authors:
Tomihisa Kamada, ACCESS Co.,Ltd., tomy@access.co.jp
Tomohiko Miyazaki, ACCESS Co.,Ltd., miyazaki@access.co.jp
This document is based on the public recommendation proposed by EIA(Easy Internet Association in Japan) in September 1997. EIA promotes the consumer Internet market both from the side of services and from the side of information appliances.
Abstract This document describes a simple framework for realizing client-specific web services. The proposed method uses the client properties such as screen size and colors, available input methods, web page capacity, secondary storage size, product category, CPU type, and etc., which we call "User Agent Attributes". We also describe an implementation of this framework by using the User-Agent header in HTTP. This enables the client-specific services for various Internet information appliances like Internet-TVs, PDAs, and smart phones. ContentsAppendix Table of User-Agent Attributes Specification
1. Introduction The Internet world is rapidly growing, beyond the PC world, into the consumer home market. A variety of Internet information appliances are already put into the market, and seem to be spread very fast. The examples of Internet information appliances are Internet-TVs, set-top-boxes, home word processors, PDAs, smart phones, and car navigation. These devices have unique features respectively. There are various screen sizes from cellular phones to wide TVs, color variations from mono-color to 32-bit colors, different input methods, different CPUs, and different page buffer capacity. This implies that the web pages should be hopefully prepared suitable for these consumer devices respectively. 2. Requirements There are two major advantages of the client-specific web services as follows.(1) Minimize network traffic (High speed communication)
(2) Best fit web pages
For example, when a client like low-cost PDA can display only mono-color texts and images, it is definitely better to send mono-color web pages from the server to the client, which can reduce the bytes of page data through the network. This is, in fact, beneficial to users both in performance and in communication cost, especially in the case of low-band wireless network. When a client has limited display space like 320 x 240(1/4 VGA: normal size of car navigation display), web pages fit for this size would be better. When an Internet-TV has only a remote controller as the input device, web pages designed for easy operation with a remote controller are required.
Several information providers are going to start the services focusing on consumer Internet devices (non-PC devices). The common definition and rule for client-specific services, on which these information providers can rely, is required.
3. A Simple Framework for Realizing Client-Specific Web Services In order to realize such client-specific web services, a general framework for reporting the client properties from the client to the server is required. The basic idea follows.The client reports useful "User Agent Attributes" to the server with the content request. The server recognizes the properties of a connected client, and understands how the client browser works. Then, the server sends the suitable HTML contents to the client.
4. A Practical Implementation In order to implement the general framework described above, we propose a practical method by using the HTTP/1.0, HTTP/1.1 User-Agent header. This straightforward extension to HTTP is very simple but enough powerful for the client-specific services. The defined specification guarantees the upper compatibility with HTTP/1.0 and HTTP/1.1. 4.1. Notation Here we describe the definition for the extended User-Agent header. The client property information is added to the normal User-Agent header using a comment field. An example for the Internet-TV follows; User-Agent: AVE-Front/2.0
(BrowserInfo Screen=640x480x256; InputMethod=REMOCON,KEYBOARD; Page=512K; Product=XXXX/Internet-TV; HTML-Level=3.2; Language=ja.JIS; Category=TV; CPU=SH2; Storage=NO;)
The client property information is defined as the following Prof_def.
Prop_def = "(" "BrowserInfo" Prop_items ")"
Prop_items = Prop_item | Prop_items Prop_item
Prop_item = Prop_name "=" Prop_value ";"
Prop_name = STRING
Prop_value = STRING
The upper case and lower case in describing Prop_name and Prop_value have to be discriminated.
4.2. Properties and Values The following properties are defined for representing the client features. Prop_name = "Screen" | "InputMethod" | "Page" | "Product" | "HTML-Level" | "Language" | "Category" | "CPU" | "Storage"Several values are defined for respective properties below. In the cases of some properties, it is difficult to define without ambiguity. The proposed properties and values intend to give useful cues to the contents providers. The properties "Screen", "InputMethod", "Page", "Product", and "HTML-Level" are strongly recommended.
(1) Screen
The Screen property represents the screen size and the number of colors. The values are defined as the format: width (pixels) "x" height (pixels) "x" colors. The representative screen sizes are 800x600, 640x480, 480x240, and 320x240. The color variations are defined one of the following values;
(2) InputMethod
The InputMethod property represents which input methods are available for the browser operation. The values are defined as one or some of the following values;
For example, in the case of the products like Internet-TVs with only REMOCON (remote controller), the web pages designed for easy operation with left, right, up, down buttons are required. And, clickable maps should be avoided because it is difficult to operate by using a remote controller.
(3) Page
The Page property represents the memory capacity for web page buffer. The value is defined as K bytes unit or M bytes unit.
(4) Product
The Product property represents the information of the client product. The values are defined as the format: manufacturing company name/product name.
(5) HTML-Level
The HTML-Level property represents which level of HTML is supported by the client. The values are defined as one of the following values;
We are going to add the subset levels of compact HTML for small information appliances such as smart phones.
(6) Language
The Language property represents the information of language which the client prefers to receive. The values are defined as LANGUAGE_TERRITORY.CODESET, where LANGUAGE(lower case) and TERRITORY(upper case) are defined by ISO 639 and ISO 3166 respectively, and CODESET(upper case) is followed by "." if necessary.
(7) Category
The Category property represents the category of the client product. The values are defined as follows;
The Category property is actually required from the service companies. For example, when a service company wants to provide the PDA-specific web services, this property may be useful.
(8) CPU
The CPU property represents the CPU type which the product uses. The values are defined as follows;
When new chips are available, suitable values should be added. The CPU property is used to download the executables such as plug-in software and the browser (version up). The users of consumer information appliances are general end users, and they do not have enough knowledge about the hardware and software. It is, therefore, required to download the right module automatically by the client-server negotiation.
(9) Storage
The Storage property represents the availability and the size of the secondary data storage. The local storage such as flash memory, hard disk, or floppy disk is used for "push" type Internet services. The value is defined in the same way as the Page property. In the case of no storage, the value NO is used.
When local property extensions are required for some products, X-yyyy property name is recommended.
5. Future Extension and Concluding Remarks The proposed definition of User Agent Attributes covers the major client properties which are useful to realize the client-specific services. In the future, there may be some Internet consumer devices we cannot imagine at present. Other client properties might be necessary to meet the requirements of growing consumer Internet area. It is easy to add new properties and values to this definition.In this document, we have presented a simple framework for client-specific web services and its practical implementation. There might be other possible implementations like pre-registration of User Agent Attributes or "Transparent Content Negotiation Mechanism" proposed in [2]. We are also planning to propose the IETF that the client properties should be reported from the client (user agent) in User-Agent or Accept-Features header in the future HTTP version.
References [1] R. Fielding, J. Gettys, J. C. Mogul, H. Frystyk, and T. Berners-Lee, HyperText Transfer Protocol - HTTP/1.1. RFC2068, HTTP Working Group, Jan. 1997. [2] K. Holtman and A. Mutz, Transparent Content Negotiation in HTTP, Internet-Draft, Mar. 1997. [3] D. Connolly, PEP: an Extension Mechanism for HTTP, Internet-Draft, Mar. 1997. Acknowledgments We would like to thank to the EIA Tech-WG members listed below for the discussions and promotions. We are grateful to Hiroshi Nagaoka (OMRON Co.) for his suggestions of the Language property, and to Hideki Sakamoto (NTT) for his helpful comments and suggestions.In addition, we would like to thank to Prof. Nobuo Saito (KEIO University) and other W3C members for their supports and suggestions. Finally special thanks to the manufacturing companies of information appliances using our NetFront browser (supporting the User-Agent attributes based on this document): CASIO, EPSON, Fujitsu, JVC, Matsushita, Mitsubishi, NEC, SHARP, SII, and SONY. Also thanks to Recruit which realizes the web services using this framework.
EIA Tech-WG Members Company Name ACCESS Co.,Ltd. Tomihisa Kamada ACCESS Co.,Ltd. Masahito Koike ACCESS Co.,Ltd. Hiroshi Suzuki ACCESS Co.,Ltd. Tomohiko Miyazaki Easy Internet Association Nozomi Naka NEC Home Electronics, Ltd. Takeshi Saito NEC Home Electronics, Ltd. Kenji Kageyama NEC Home Electronics, Ltd. Toshiharu Ikeda CASIO Computer Co., Ltd. Satoshi Ogasawara CASIO Computer Co., Ltd. Masaru Sakata Seiko Epson Co. Hidekazu Maezawa Nippon Telegraph and Telephone Co. (NTT) Masaru Nonaka Mitsubishi Electric Co. Yasutaka Urakawa Recruit Co., Ltd. Takashi Yamamoto Appendix Table of User-Agent Attributes Specification User-Agent Attributes Specification User-Agent Attributes Prop_name Prop_value Priority Screen size Screen 800x600, 640x480, 480x240, 320x240, 240x160, ... Recommended Colors Screen 2, 4, 8, 16, 32, 64, 128, 256, 32K, 64K, 16M Recommended Input Method InputMethod PEN, KEYBOARD, MOUSE, REMOCON, BUTTON, JOG, ... Recommended Memory Capacity Page 512K, 800K, 1M, 1.2M, 1.5M, ... Recommended Product Information Product Manufacturer/Product Recommended HTML Level HTML-Level 1.1, 2.0, 3.2, 4.0, ... Recommended Preferred Language Language LANGUAGE_TERRITORY.CODESET Optional Product Category Category TV, WP, PDA, Phone, PHS, Display, CarNavi, STB, ... Optional CPU Type CPU x86, 68000, SH1, SH2, SH3, SH4, ARM7, ARM8, M32R, V810, V830, Vr4100, Vr4300, R3000, R4000, PowerPC, ... Optional Secondary Storage Storage NO, 512K, 1M, 2M, ... OptionalExample
User-Agent: Mozilla/3.0N AVE-Front/2.0
(BrowserInfo Screen=640x480x256; InputMethod=REMOCON, KEYBOARD; Page=512K; Product=XXXX/Internet-TV; HTML-Level=3.2; Language=ja.JIS; Category=TV; CPU=SH2; Storage=NO; )
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4