HTTP massive headers received

Hi all,

Got a tricky question here and i am getting desparate for some pointers. Here it goes.

Ok, i’m writing an app targeted for all phones that is MIDP 1.0 compatible. I was testing out the basic HTTP connection between the client (mobile app on the phone) and server (standard J2SE server application). The app is to establish a standard HTTP connection and a POST header set. Then, data in bytearray is sent to the server. The connection will be established using GPRS.

I find that there are vast differences between running the app on the emulator, Nokia phones and other phones. The actual stuff received on the server varies, which might be due to the different MIDP layer on the phones.

The problem is that running the simple test on the Nokia 3100 phone produces vastly bigger headers than using other phones such as a Sony-Ericsson T610. Besides that, it is weird to see that the headers are extras that was not set by the test app. The fact that i only set the httpconnection.POST method and nothing else.

The information received includes:
MIDP/CONFIG version, host ID, up-link, up-link fax, application postscripts, WAP settings and all these stuff.

I initially sent about 80bytes of data but ended up with around 1kilobyte of data, fatal for the app i’m gonna write. For other actual phones, i get various results as well. But the variation comes from the POST method i set. The Sony-Ericsson sent information such as transfer encoding and host ID to the server before the actual pay load, a massive reduction in comparison to the Nokia 3100.

Since both the test on different mobile phones used the same sim card (Telstra austalia), i dun think its the telco doing this. The only thing i can think of is the MIDP layer. So, is there any way of “turning off” these headers and eliminating these things being sent to the server?

And another thing, is there any Nokia SDKs for the Nokia 3100?

Thnx heaps.

AFAIK, most of all that stuff is send by the WAP gateway, and not the actual device? Likewise with cookies. Once set, the gateway will handle them for you (though A LOT of gateways wont! - bottom line, don’t rely on cookies).

Hi thanks for the reply, very much appreciated.

The test app actually uses GPRS and not WAP services. I dont think these two are the same services are they…? I’m not sure. But yes, seems like both will still go through the same WAP gateway. But the thing is that i’m using different phones (1 Nokia, 2 Sony Ericsson), with same test app, same SIM card from the same telco. Even if the test app do use the WAP gateway, wouldn’t it be the same gatewawy that we are talking about? If thats the case, would all the test cases be producing the massive header on the server? But it is only producing that on one phone…the Nokia 3100.

Anyway, would the users be actually paying for these extra headers if it ever be an application of sort or is it going to be paid by the telco themselves?

Cheers

Well, I am actually doing a multiplayer j2me right now - and was quite sure that headers was being done by the gateway - I’ll try to investigate this today…

This is the headers from a request to one of our servers

[quote]Host: www.certus.dk
content-type: text/plain
accept: text/x-vcard, text/x-vcalendar, image/vnd.wap.wbmp, /, image/gif
accept-language: da
accept-charset: ISO-8859-1, UTF-8; Q=0.8, ISO-10646-UCS-2; Q=0.6, US-ASCII; Q=0.7
user-agent: Nokia7250I/1.0 (3.22) Profile/MIDP-1.0 Configuration/CLDC-1.0
x-wap.tod-coded: Thu, 01 Jan 1970 00:00:00 GMT
Via: WTP/1.1 abnws01.sonofon.dk (Nokia WAP Gateway 4.0/ECD5/4.0.49)
X-Network-info: GPRS,10.6.176.43,4540840635,unsecured
Content-Length: 15
X-Nokia-ipaddress: 10.6.176.44
X-Nokia-msisdn: 4540840635
X-Nokia-CONNECTION_MODE: CMODE
X-Nokia-BEARER: GPRS
X-Nokia-gateway-id: NWG/4.0/Build49
x-wap-profile: http://nds1.nds.nokia.com/uaprof/N7250ir100.xml
x-nokia.wia.accept.original: text/x-vCard,text/x-vCalendar,image/vnd.wap.wbmp,/,image/gif
Connection: close
[/quote]
if this were to be send by the device each time a connection is done, there would be an overhead of ~ 800 bytes PER CONNECTION!
Thats certainly not what my phone is telling me after a GPRS session is done…

btw, the 3100 is just a series 40 phone, so use the 7210 emulator from Nokia

[quote] Anyway, would the users be actually paying for these extra headers if it ever be an application of sort or is it going to be paid by the telco themselves?
[/quote]
ANY data send or received by the device (be it connection establishment, transmission control packages, routing, data) will be billed by the telco. At least in Denmark we pay per bytes send and received.