Using M-Business 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, your M-Business 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 Windows Mobile Pocket PC 2003 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 Windows Mobile Pocket PC 2003 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 M-Business 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 M-Business Client currently sends with every HTTP request.


Available HTTP request headers
Retrieving M-Business Client HTTP request headers
Decoding M-Business Client HTTP request headers
Why you should not label these pages as Cache-Control: private