Developers
AvantGo Channel Developer Guide

TOC PREV NEXT INDEX


Using AvantGo Client HTTP request headers to customize content

There are a lot of different mobile devices out there, all running different operating systems, with different screen sizes and different color depths. And for the most part, the AvantGo sync server does a pretty good job of handling all of these devices pretty elegantly. It dithers your 16-bit color JPEG into a 4-gray image, and we know that if your table width is 100%, it means something totally different on a Palm OS device compared to a Pocket PC device.

But sometimes you want finer control. The best example of this would be with logos. Sure, a color logo looks great on a high-end color Palm or a Pocket PC device, but it looks dithered on a black-and-white Palm. And while a posterized 4-color grayscale logo looks nice on a black-and-white Palm, when you look at it on a color device, it looks like a 4-color grayscale logo. What you would really like is the ability to serve up different images based on the device that is viewing your channel.

That is where the AvantGo Client headers come in. As you already know, when a browser accesses your web server, it sends across several headers in the HTTP page request. These are informational headers telling your server a little about the browser; what type of browser it is, what host it thinks it is connecting to, the language the client prefers, and so on.

Specifically, there are headers that the AvantGo Client currently sends with every HTTP request.

Table 6-1 HTTP request headers sent by the AvantGo Client

Header

Explanation

Base64-encoded?

Typical Values

User-Agent

Standard User-Agent string sent with any browser request.

No

Mozilla/3.0
(compatible;
AvantGo 3.2)

X-AvantGo-Screensize

Size, in pixels, of screen of mobile device accessing your page.

Yes

150x150

240x320

X-AvantGo-UserID

Name of AvantGo account accessing your page.

Yes

tkwebtest

todddev

X-AvantGo-DeviceOS

Operating system of mobile device accessing your page.

Yes

PALM_OS

WINCE_OS

X-AvantGo-ColorDepth

Bit depth of mobile device accessing your page.

Yes

2

4

8

X-AvantGo-OnlineRequest

Is user browsing with live connection (as opposed to normal hotsync.)? Not present if user not online.

No

TRUE

X-AvantGo-SecureSync

Is user browsing with secure connection? Not present if connection not secure.

No

TRUE

X-AvantGo-Version

Version of AvantGo Client accessing your page. Not present if version is 3.1.

No

3.3.350


Topics in this section:



TOC PREV NEXT INDEX