原文链接:http://www.yeeyan.com/articles/view/37503/37323
英文链接:
http://mobiforge.com/developing/blog/useful-x-headers
X头域解析
191个读者 biAji @ yeeyan.com 2009年04月15日 双语对照 原文 字体大小 小 中 大
简介
本文对http协议中未曾涉及到,而移动设备网络开发又经常遇到的x头域做了简要的解析
X头域解析
我最近开始以搜集 "X-headers" 头域为乐。X头域是HTTP请求中以X为开头的头域的统称。简单的说,这些头域是一些非标准HTTP协议所包括的或者是专有的。在开发移动门户时,这些头域会起到很有趣的作用。我将我x头域的搜集结果分享一下。
一般来说,只对自己了解的东西发表言论是明智之举。所以我现在的做法让我感觉如履薄冰,但我希望这个帖子能为读者带来些微的益处。
X头域可以在诸多方面得到应用:用户身份认证,设备辨识,网络特性确认等等。无论是从创建良好的移动应用体验还是从满意度来看,这些信息都是很有用的。
我从访问过 我的网站的设备中搜集了以下头域列表。我不能理解全部它们的意义;一些是我猜测的,但它们仍然很有趣。如果我搞错了其中一些,而您又恰好知道,请告诉我。
这些头域是我们耳熟能详的。
头域名称 | 涵义 |
---|---|
x-forwarded-for | 客户端连接至服务器的源IP地址 |
x-forwarded-host | 源主机名 |
x-forwarded-server | 源服务器名 |
x-wap-profile | 遵循指定标准的用户代理配置 |
x-wap-profile-diff | wap网关或代理可以选择性的覆写用户代理配置。其区别于此指定 |
其它有意思的头域:
头域名称 | 涵义 |
---|---|
x-apn-id: | 接入点识别。Wap、因特网、电子邮件等可以拥有不同的接入点设置。 |
x-charging-id: | 有人知道这是干啥用的么?其值为空 |
x-drutt-3pi-request-uri | Drutt是一个由爱立信提供的业务支持系统。这个头域的作用未知…… |
x-drutt-3pi-serviceid | 未知 |
x-drutt-device-id | 以名称识别设备。如:“Nokia_N95__S60_browser_” |
x-drutt-request-id | 未知 |
x-ebo-ua: | 未知 |
x-ggsnip: | 包含网络中GGSN的IP地址 |
x-h3g-cc | 未知 |
x-h3g-client-ip | 设备处于当前网络的IP。session识别 |
x-h3g-customer-subtype | 识别客户定制类型 |
x-h3g-customer-type | 识别客户类型 |
x-h3g-device-name | 设备名称。比如:Nokia-N95-Safari |
x-h3g-nc | 未知,其值为"4". |
x-h3g-network-quality | 网络类型,比如"3G" |
x-h3g-party-country | 标示用户国家 |
x-h3g-party-id | 未知 |
x-h3g-party-status | 未知 |
x-h3g-party-user-id | 未知 |
x-h3g-roaming-status | 标示用户是否处于漫游状态。布尔值 |
XID: | 未知 |
x-jphone-color | 一些softbank相关的东西 |
x-jphone-display | 屏幕尺寸 |
x-jphone-msname | 未知,示例值:821P |
x-jphone-region: | 未知 |
x-jphone-smaf | 未知,示例值: "40/pcm" |
x-jphone-uid: | 我猜是用户id |
x-lori-time-1: | 未知 |
x-net-info | 未知 |
x-network-info: | 包含承载网络(比如GPRS)内部IP地址之类的信息 |
x-os-prefs: | 标示设备能力。示例值: "fw:240; fh:320; cd:24c; pl:3; pj:1; pa:1;pi:1;ps:2;" |
x-proxy-id: | 未知 |
x-psp-browser | PSP浏览器版本 |
x-psp-productcode | 未知,示例值: "CEL" |
x-roaming: | 漫游信息。取值 "Yes" 或 "No" |
x-sgsnip: | SGSN的IP地址 |
x-source-id | 未知 |
x-wapipaddr: | wap网关的IP地址 |
x-wap-proxy-cookie: | cookie? |
x-wsb-contextid | 未知,Vodafone(沃达丰)相关的东西? |
由 OpenWave 网关获得的头域。我对这个不太熟,所以我直接查的wirelessFAQ
头域名称 | 涵义 |
---|---|
x-up-calling-line-id: | 终端用户手机号码 |
x-up-devcap-accept-language: | 与accept-language头域类似 |
x-up-devcap-cc: | 未知,示例值:1 |
x-up-devcap-charset: | 字符集 |
x-up-devcap-charset: utf | 字符集相关 |
x-up-devcap-immed-alert: | 未知 |
x-up-devcap-iscolor: | 布尔值,定义设备是否为彩色屏幕 |
x-up-devcap-max-pdu: | 最大负载值 |
x-up-devcap-msize: | 未知 |
x-up-devcap-numsoftkeys: | 设备软键数目 |
x-up-devcap-screen-chars: | 一行能容纳的字符数? |
x-up-devcap-screendepth: | 色深 |
x-up-devcap-screenpixels: | 以点为单位的屏幕尺寸 |
x-up-devcap-smartdialing: | 不知道智能拨号是干啥的。可能是一键拨号功能吧。 |
x-up-devcap-softkeysize: | 未知 |
x-up-fax-accepts: | 未知 |
x-up-fax-limit: | 未知? |
x-up-subno: | 某种最终用户ID |
x-up-uplink: | 看起来像是wap网关的dns名称 |
x-up-wappush-secure: | 未知 |
x-up-wappush-unsecure: | 未知 |
x-up-wtls-info: | 未知 |
诺基亚wap网关头域:
头域名称 | 涵义 |
---|---|
x-nokia-alias | 最终用户手机号,加密 |
x-nokia-bearer: | GPRS之类的 |
x-nokia-connection_mode | 一般是TCPIP |
x-nokia-gateway-id: | wap网关标识。看起来跟Via头域差不多的用法 |
x-nokia-imsi: | Imsi值 |
x-nokia-ipaddress: | 内部IP地址 |
x-nokia-localsocket: | 内部IP地址和端口号 |
x-nokia-msisdn: | 用户手机号,普通文本 |
x-nokia-musicshop-bearer | Nokia音乐商店。典型值 "GPRS/3G" |
x-nokia-musicshop-version: | Nokia音乐商店版本号 |
x-nokia-prepaidind: | 与定制相关的东西。取值 "4" |
代码转换头域
头域名称 | 涵义 |
---|---|
x-novarra-device-type: | Novarra头域,作用未知,取值为"0" |
x-operamini-features: | Opera Mini代理加上的头域。取值为 "advanced, download, camera, folding, inputhints" |
x-operamini-phone: | Opera Mini代理提供的手机名 |
x-operamini-phone-ua: | 使用Opera Mini浏览器的设备原始用户代理名称 |
x-original-user-agent: | 由Googles转换的发至服务器的原设备用户代理名称 |
x-surfopen-msisdn: | 一些SurfOpen的东西。取值标示着此对话为人为创建 |
x-moz: | 未知,但看起来像是代理的行为。取值为"prefetch". |
x-bluecoat-via | 不明白这是什么。但可能跟bluecoat. 有关。是它的转换代码? |
x-mobile-gateway: | 标识网关/代理。比如:"Novarra-Vision/6.9 (TELIASONERA; Server-Only)" |
x-mobile-ua: | Mowser 转换的原始用户代理 |
x-device-accept: | 经过转码的设备原始accept头域。比如; Novarra. 这是w3c鼓励的行为方式 |
x-device-accept-charset: | 如前 |
x-device-user-agent: | 如前 |
可以用来识别最终用户的头域
头域名称 | 涵义 |
---|---|
x-drutt-client-ip | 手机当前的IP地址。取值为内部10.开头的内部IP |
x-drutt-portal-user-id | drutt系统中用户唯一识别码 |
x-drutt-portal-user-msisdn | 手机号码 |
x-h3g-msisdn | 手机号码 |
x-imsi: | imsi号码。辨识最终用户 |
x-msisdn | 最终用户手机号码 |
x-nas-ip: | 未知,但取值为一内网IP |
x-wap-clientid: | 看起来好似唯一用户识别码 |
x-wap-personalization: | 无线网内设备IP |
x-wsb-identity | 最终用户手机号 |
x-wte-msisdn: | 说是手机号码,但看起来不像 |
x-nokia-imsi: | Imsi值 |
x-nokia-alias | 用户手机号,密文 |
x-nokia-msisdn: | 普通文本形式的用户手机号 |
x-up-calling-line-id: | 最终用户识别码 |
AvantGo 头域
头域名称 | 涵义 |
---|---|
x-avantgo-browser | 标识AvantGo浏览器 |
x-avantgo-channelid | 显而易见的 |
x-avantgo-clientcharset | 客户端字符集 |
x-avantgo-clientlanguage | 客户端语言设置 |
x-avantgo-colordepth | 取值: "MTY" |
x-avantgo-cradlesync | 取值: "TRUE" |
x-avantgo-deviceid | 标识设备的代码 |
x-avantgo-deviceos | 操作系统? |
x-avantgo-deviceosversion | 操作系统版本? |
x-avantgo-deviceprocessor | 处理器名称? |
x-avantgo-platformdata | ? |
x-avantgo-screensize | 提供屏幕尺寸的字符串。取值示例:"MTUweDo1MA" |
x-avantgo-tracking-referer | ? |
x-avantgo-url | 如果它标示URL,那应该是加密的 |
x-avantgo-userid | 最终用户为一识别码 |
x-avantgo-version | AvangGo版本 |