Useful "X headers"
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 name | What it means |
---|---|
x-forwarded-for | Originating IP of a client connection to the server |
x-forwarded-host | Origination host name |
x-forwarded-server | Originating server name |
x-wap-profile | A reference to the user-agent profile as specified. |
x-wap-profile-diff | The wap gateway or proxy can choose to override the UA-profile. The diff is specified here. |
Other interesting headers:
Header name | What 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-uri | Drutt is a business support system, bought by Ericsson. What this header means? Don't know... |
x-drutt-3pi-serviceid | Dont know. |
x-drutt-device-id | Identifies the device by name. For example: "Nokia_N95__S60_browser_" |
x-drutt-request-id | Usage, unknown. |
x-ebo-ua: | Usage, unknown. |
x-ggsnip: | Contains the IP of the GGSN in the network. |
x-h3g-cc | Usage, unknown. A header from Three, this... |
x-h3g-client-ip | The current IP of the device in the network. Identifies session. |
x-h3g-customer-subtype | Identifies the customers subscription type. |
x-h3g-customer-type | Identifies the type of customer. |
x-h3g-device-name | Name of the device. Example value: Nokia-N95-Safari |
x-h3g-nc | Dont know. Had the value "4". |
x-h3g-network-quality | Type of network. "3G" for example. |
x-h3g-party-country | Identifies the home country of the user |
x-h3g-party-id | Dont know. |
x-h3g-party-status | Dont know |
x-h3g-party-user-id | Dont know |
x-h3g-roaming-status | Identifies if the user is roaming. Bool value |
XID: | Dont know |
x-jphone-color | Some softbank stuff |
x-jphone-display | Screen size. |
x-jphone-msname | Dont know. example value: 821P |
x-jphone-region: | Dont know |
x-jphone-smaf | Dont know.Example value "40/pcm" |
x-jphone-uid: | A garbled unique identifier of the user |
x-lori-time-1: | Dont know |
x-net-info | Dont 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-browser | The Playstation Portable browser version |
x-psp-productcode | Dont know. The value is "CEL" |
x-roaming: | Roaming info. Values "Yes" or "No" |
x-sgsnip: | The IP address of the SGSN |
x-source-id | Dont know |
x-wapipaddr: | IP address of the wap gateway. |
x-wap-proxy-cookie: | A cookie? |
x-wsb-contextid | Dont know. Some Vodafone stuff? |
Headers from OpenWave gateways. I am not too familiar with this, so I'll just refer to the wirelessFAQ
Header name | What 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: | Charset |
x-up-devcap-charset: utf | Charset 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 name | What it means |
---|---|
x-nokia-alias | The end users phone number. encrypted. |
x-nokia-bearer: | i.e. GPRS |
x-nokia-connection_mode | typically 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-bearer | Nokias 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 name | What 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-via | Not 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 name | What it means |
---|---|
x-drutt-client-ip | Probably the current IP of the handset. The value is an internal IP in the 10. range |
x-drutt-portal-user-id | A unique ID of the user in the drutt system. |
x-drutt-portal-user-msisdn | The mobile phone number. |
x-h3g-msisdn | the phone number. |
x-imsi: | The imsi number. Identifies the end user. |
x-msisdn | The 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-identity | End 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-alias | The 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 name | What it means |
---|---|
x-avantgo-browser | Identifies the AvantGo browser |
x-avantgo-channelid | Self explaining |
x-avantgo-clientcharset | Charset used in the client |
x-avantgo-clientlanguage | Language code for the cloent |
x-avantgo-colordepth | Value: "MTY" |
x-avantgo-cradlesync | Value: "TRUE" |
x-avantgo-deviceid | String identifying the device. |
x-avantgo-deviceos | The operating system? |
x-avantgo-deviceosversion | Os version? |
x-avantgo-deviceprocessor | Processor? |
x-avantgo-platformdata | ? |
x-avantgo-screensize | A string providing the screen size? Exampe value: "MTUweDo1MA" |
x-avantgo-tracking-referer | ? |
x-avantgo-url | If it is an url, it is encrypted. |
x-avantgo-userid | Identifying the end user. |
x-avantgo-version | The version of AvangGo |
No comments:
Post a Comment