原文链接: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-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版本 |
分享到:
相关推荐
1. **安全增强**:添加额外的安全头,如Content-Security-Policy,X-Frame-Options,X-XSS-Protection,以增强网站防护。 2. **性能优化**:通过调整Cache-Control、ETag等头,可以优化缓存策略,提高用户体验。 3. ...
3. 应用程序类型:如"application/pdf"(PDF文件)、"application/x-www-form-urlencoded"(表单数据)。 正确配置MIME类型至关重要,因为如果服务器不正确识别文件类型,浏览器可能无法正确显示内容,或者用户可能...
- `libXp`: X 图形库支持。 - `make`: 构建工具。 - `openmotif22`: 用户界面工具包。 - `setarch`: 设置架构工具。 - `elfutils`: 用于处理 ELF 文件的工具集。 - `binutils`: 二进制文件工具集。 - `unixODBC`: ...
req.headers['X-Custom-Header'] = 'Value'; next(); }); crawler.middleware.add(function(res, done) { // 在收到响应后,可以解析 JSONP 响应 const jsonpCallback = res.body.match(/callback\((.*)\)$/); ...
7. **检查 X Server 配置**:确保 root 用户的 DISPLAY 环境变量已设置正确,如果未设置,则需要手动设置: ```bash echo $DISPLAY ``` #### 四、解压安装文件 最后,解压缩 Oracle 安装文件: ```bash # unzip...
string forwardedFor = Request.Headers["X-Forwarded-For"]; if (!string.IsNullOrEmpty(forwardedFor)) { string[] ipList = forwardedFor.Split(','); ipAddress = ipList[0]; } ``` #### 获取MAC地址 ...
此外,`Ext.Ajax.request`还支持其他高级功能,如模拟表单提交(`method: 'POST', useDefaultXhrHeader: false, headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}`),超时设置(`...
爬虫是网络自动化脚本的一种,其主要功能是自动化地浏览互联网并收集数据。User-Agent是一个网络协议中的请求头,用来告诉服务器发送请求的应用程序类型、操作系统、软件供应商以及版本等信息。 在爬虫模拟浏览器...
这个库支持包括Linux、Windows、Mac OS X、Solaris、AIX、HP-UX、FreeBSD、NetBSD、OpenBSD等多个操作系统。Sigar库为开发者提供了一个简单的方法来获取系统级别的数据,而无需关心底层操作系统的具体实现。 ** AMD...
webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); byte[] responseBytes = webClient.UploadValues(taskUrl, "POST", postData); string responseString = Encoding.UTF8.GetString...
3. **Email Headers和SMTP Extensions**:SMTPAPI可能提供了设置特定邮件头(如X-SMTPAPI)的功能,这些头信息可以用于实现更复杂的功能,如批量邮件发送、自定义送达行为等。 4. **Java编程**:使用SMTPAPI Java...
然后,解压缩Flume的二进制包,通常为`apache-flume-x.x.x-bin.tar.gz`,并设置环境变量。配置文件主要位于`conf`目录下的`flume-env.sh`,在这里可以定义FLUME_HOME和JAVA_HOME等环境变量。 例如,配置一个简单的...
Python爬虫是一种自动化工具,主要功能是从互联网上抓取和收集数据。它通过模拟浏览器的行为向目标网站发送网络请求,进而获取网页内容并从中提取所需的信息。在实际应用中,Python爬虫广泛应用于数据挖掘、市场调研...
最后,关于游戏开发,网络爬虫可能会用于收集市场情报,如游戏排名、用户评价等,以辅助开发决策。自动化方面,爬虫可以自动获取和更新数据,减轻手动操作负担。 总结来说,通过Python实现网络爬虫定时爬取网页内容...
- `<base>\DSP281x_headers`:包含了用于新工程文件中的外设头文件及相关文件。这里有关于如何使用位域结构的方法介绍以及如何将这些头文件加入到现有或新建工程文件的信息。 - `<base>\DSP281x_examples`:基于DSP...
它主要用于网络资源的采集与归档,支持多种抓取策略和过滤规则,能够高效地收集网页数据。 #### 二、Heritrix的安装步骤 1. **下载Heritrix** - 访问Heritrix的官方下载页面:`...
随着数据量的激增,如何有效地收集并利用这些数据成为了企业和个人关注的重点。Python作为一种广泛使用的编程语言,其强大的数据处理能力和丰富的第三方库支持,使其成为实现网络爬虫的理想选择。 #### 二、Python...
科研机构则可以通过爬虫来搜集大量公开数据进行分析。 #### 二、爬虫开发的关键步骤 在开发爬虫的过程中,通常需要经历以下几个关键步骤: 1. **目标网站分析** - **确定要爬取的数据位置**:明确需要爬取哪些...
文件“爬虫的随机请求头+随机代理.txt”可能包含了收集到的代理IP列表。 筛选可用代理通常需要验证其连通性和速度。以下是一个简单的代理验证函数: ```python def check_proxy(proxy): try: response = ...
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: serializedData }); ``` 6. 应用场景: - 提交表单数据到服务器,特别是使用Ajax无刷新提交。 - 将表单数据作为查询参数附加到URL...