Search This Blog

Wednesday, February 15, 2012

Useful "X headers" | mobiForge

Useful "X headers" | mobiForge:

Useful "X headers"

jonarne's picture

My hobby for a while has been to collect "X-headers". X-headers are fields in the request HTTP header beginning with an X. Put simply. These fields are kind of non-standard or proprietary add-ons to the regular fields in the HTTP header. These can be used for all kinds of fun stuff when building mobile portals. I have made a collection of some x-headers here.

Usually it is smart to blog about stuff you know. I will be the first to admit that I am on thin ice here, but I hope someone out there becomes a tiny bit more enlightened by this post.

X-headers can be used for many different things: User identification, device recognition, probing for network characteristics and much more. This information is useful both in terms of creating a good mobile experience and in terms of statistics.

I have listed a selection of headers below from devices that have visited my site. I don't know what all of these mean; many can be "man made" for all I know, but it's still interesting. If I am wrong about some, or you have additional information, please comment.

These are headers we already know very well.

Header nameWhat it means
x-forwarded-forOriginating IP of a client connection to the server
x-forwarded-hostOrigination host name
x-forwarded-serverOriginating server name
x-wap-profileA reference to the user-agent profile as specified.
x-wap-profile-diffThe wap gateway or proxy can choose to override the UA-profile. The diff is specified here.

Other interesting headers:

Header nameWhat it means
x-apn-id:Identifies the Access Point Name. Wap, internet, email etc. can have different APNs
x-charging-id:Anyone know this? It had no value
x-drutt-3pi-request-uriDrutt is a business support system, bought by Ericsson. What this header means? Don't know...
x-drutt-3pi-serviceidDont know.
x-drutt-device-idIdentifies the device by name. For example: "Nokia_N95__S60_browser_"
x-drutt-request-idUsage, unknown.
x-ebo-ua:Usage, unknown.
x-ggsnip:Contains the IP of the GGSN in the network.
x-h3g-ccUsage, unknown. A header from Three, this...
x-h3g-client-ipThe current IP of the device in the network. Identifies session.
x-h3g-customer-subtypeIdentifies the customers subscription type.
x-h3g-customer-typeIdentifies the type of customer.
x-h3g-device-nameName of the device. Example value: Nokia-N95-Safari
x-h3g-ncDont know. Had the value "4".
x-h3g-network-qualityType of network. "3G" for example.
x-h3g-party-countryIdentifies the home country of the user
x-h3g-party-idDont know.
x-h3g-party-statusDont know
x-h3g-party-user-idDont know
x-h3g-roaming-statusIdentifies if the user is roaming. Bool value
XID:Dont know
x-jphone-colorSome softbank stuff
x-jphone-displayScreen size.
x-jphone-msnameDont know. example value: 821P
x-jphone-region:Dont know
x-jphone-smafDont know.Example value "40/pcm"
x-jphone-uid:A garbled unique identifier of the user
x-lori-time-1:Dont know
x-net-infoDont know.
x-network-info:Contains bearer (i.e. GPRS) internal IP address etc.
x-os-prefs:Tells something about the capabilities of the device. Example value: "fw:240; fh:320; cd:24c; pl:3; pj:1; pa:1;pi:1;ps:2;"
x-proxy-id:Dont know.
x-psp-browserThe Playstation Portable browser version
x-psp-productcodeDont know. The value is "CEL"
x-roaming:Roaming info. Values "Yes" or "No"
x-sgsnip:The IP address of the SGSN
x-source-idDont know
x-wapipaddr:IP address of the wap gateway.
x-wap-proxy-cookie:A cookie?
x-wsb-contextidDont know. Some Vodafone stuff?

Headers from OpenWave gateways. I am not too familiar with this, so I'll just refer to the wirelessFAQ

Header nameWhat it means
x-up-calling-line-id:End users phone number
x-up-devcap-accept-language:Similar to the accept-language header
x-up-devcap-cc:Dont know. Value is "1"
x-up-devcap-charset: utfCharset stuff
x-up-devcap-immed-alert:Dont know
x-up-devcap-iscolor:Defines if the device has a color screen. Bool
x-up-devcap-max-pdu:Max size of payload.
x-up-devcap-msize:Dont know.
x-up-devcap-numsoftkeys:Numbers of softkeys on the device
x-up-devcap-screen-chars:Numbers of characters that fits on one line?
x-up-devcap-screendepth:Color depth
x-up-devcap-screenpixels:Screen size in ipxels
x-up-devcap-smartdialing:Dont know what smart dialing is, might be the "click to call" function
x-up-devcap-softkeysize:Dont know
x-up-fax-accepts:Dont know
x-up-fax-limit:Dont know?
x-up-subno:Some kind of identifier of the end user
x-up-uplink:Seems like the dns name of the wap gateway
x-up-wappush-secure:Dont know
x-up-wappush-unsecure:Dont know
x-up-wtls-info:Dont know.

Nokia wap gateway headers:

Header nameWhat it means
x-nokia-aliasThe end users phone number. encrypted.
x-nokia-bearer:i.e. GPRS
x-nokia-connection_modetypically TCPIP
x-nokia-gateway-id:Identifies the wap gateway. Seems similar to the use of the Via header
x-nokia-imsi:Imsi value
x-nokia-ipaddress:Internal IP address
x-nokia-localsocket:Internal IP and a portnumber.
x-nokia-msisdn:The users phone number in plain text.
x-nokia-musicshop-bearerNokias music shop. Typically "GPRS/3G"
x-nokia-musicshop-version:Nokias music shop. The version.
x-nokia-prepaidind:Something to do with the type of subscription. The value is "4"

Transcoder headers

Header nameWhat it means
x-novarra-device-type:A Novarra header. Dont know the usage. The value is "0"
x-operamini-features:Header added by the Opera Mini proxy. Values are "advanced, download, camera, folding, inputhints"
x-operamini-phone:The phone name provided by the Opera Mini proxy.
x-operamini-phone-ua:The original user-agent of the device using a Opera Mini browser
x-original-user-agent:Googles transcoders way to pass the device' user agent to the server.
x-surfopen-msisdn:Some SurfOpen stuff. The value idicates that it is created by humans
x-moz:Dont know, but seems to define some kind og proxy behaviour. The value is "prefetch".
x-bluecoat-viaNot sure what this is, but probably related to bluecoat. Is it transcoding?
x-mobile-gateway:Identifies the gateway/proxy. In this case: "Novarra-Vision/6.9 (TELIASONERA; Server-Only)"
x-mobile-ua:This is the Mowser way of transmitting the original user agent
x-device-accept:The device' original accept headers when squezed through a transcoder. In this case; Novarra. This behaviour is recommended by w3c
x-device-accept-charset:se above
x-device-user-agent:se above

Headers that can be used to identify the end user:

Header nameWhat it means
x-drutt-client-ipProbably the current IP of the handset. The value is an internal IP in the 10. range
x-drutt-portal-user-idA unique ID of the user in the drutt system.
x-drutt-portal-user-msisdnThe mobile phone number.
x-h3g-msisdnthe phone number.
x-imsi:The imsi number. Identifies the end user.
x-msisdnThe end users phone number
x-nas-ip:Dont know. The value is an internal IP
x-wap-clientid:Seems like a unique identifier of the user.
x-wap-personalization:Internal IP of the device in the telecom network
x-wsb-identityEnd users phone number
x-wte-msisdn:Indicates that the value is a phone number. Does not look like that...
x-nokia-imsi:Imsi value
x-nokia-aliasThe end users phone number. encrypted.
x-nokia-msisdn:The users phone number in plain text.
x-up-calling-line-id:End user identifier

AvantGo headers.

Header nameWhat it means
x-avantgo-browserIdentifies the AvantGo browser
x-avantgo-channelidSelf explaining
x-avantgo-clientcharsetCharset used in the client
x-avantgo-clientlanguageLanguage code for the cloent
x-avantgo-colordepthValue: "MTY"
x-avantgo-cradlesyncValue: "TRUE"
x-avantgo-deviceidString identifying the device.
x-avantgo-deviceosThe operating system?
x-avantgo-deviceosversionOs version?
x-avantgo-screensizeA string providing the screen size? Exampe value: "MTUweDo1MA"
x-avantgo-urlIf it is an url, it is encrypted.
x-avantgo-useridIdentifying the end user.
x-avantgo-versionThe version of AvangGo

No comments:

Post a Comment