wap2.0及XHTML简介

1 前言

WAP2.0除 了继承了原来WAP1.x针对无线链路和手机设备所做的优化以外,还新增了大量的业务和应用,其中包括能够使用现有Internet的内容。

WAP2.0 于2001年8月正式发布,它在WAP1.x的基础上集成了Internet上最新的标准和技术,并将这些技术和标准应用到无线领域。这些新技术和标准包 括XHTML、TCP/IP、超文本协议(HTTP/1.1)和传输安全层(TLS)。在这些新技术的支持下,新增加了数据同步、多媒体信息服务、统一存 储接口、配置信息提供和小图片等新的业务和应用,同时加强了无线电话应用、Push技术和用户代理特征描述等原有的应用。这些新的业务和应用将会带来一种 全新的使用感受,并极大地激发人们对无线应用服务的兴趣,从而推动移动互联网的发展。

2最新的标准和技术

2.1 对XHTML的支持

XHTML是由万维网联盟W3C制定的一项新标准,它是在HTML4.0的基础上 产生的,是现在和将来要产生的文档类型和模块的集合。这些文档类型是在HTML4.0基础上的扩展、改进或者是其子集的某一部分;XHTML是基于XML 的,其最终将会在基于XML的用户代理环境中执行。

在XML中引入新元素和新属性相对简单一些,在XHTML集合中的扩展是通过使用XHTML的各种模块和采用开发基于XHTML模块的技术来实现的。这样,在进行内容开发和用户代理设计时,在这些模块中就能够将原来和现有的特征集合组合在一起。

利用XHTML的好处有以下3点:XHTML文档符合XML的标准,可以使用标准的XML工 具对其进行浏览、编辑和验证;XHTML文档可以在XHTML的用户代理中执行,也可以在现存的HTML4.0的用户代理中执行;XHTML文档可以开发 基于HTML文档对象模型的应用,也可以开发基于XML文档对象 模型的应用。随着XHTML集合的演进,基于XHTML的文档更容易在各种各样的XHTML环境中或者它们之间进行互操作。通过利用XHTML,内容开发 商能够逐步进入XML,同时还能保持它们内容的前后兼容。

XHTMLBasic文档类型包括了保持XHTML语言特征的最小的模块集合。 此外它还包括了图像、窗体、基本表格和对象支持等,文档类型丰富,但它不包括全部的XHTML集合,因为有些网络客户端不支持全部的XHTML特征,如移 动电话、PDA、寻呼机和机顶盒等设备。XHTMLBasic被设计成能扩展的通用的基本集合,例如,其中事件模块比传统的XHTML4.0的事件系统更 加通用,而且能通过另外的XHTMLModularization模块集合进行增减和功能扩展。XHTMLBasic的目标是能够支持各种各样的用户代理 的通用语言。XHTMLBasic是WML2.0的基础。

WAP2.0利用XHTML和CSSMobileProfile等标准,同时保 持了对WML1.x的向后兼容,减少了开发、测试一种应用和为多种设备编制内容的时间,减少了开发成本。 另外,XHTML的模块化架构可以很容易、很快地 适应不同的硬件环境的应用 。通过使用级联样式单(Cascading Style Sheets,CSS),开发商可以将实际编码和一个或多个XML文档 的样式属性分离开,减少了在浏览器缓存中的代码量。

我们可以利用现有的开发固定互联网内容和应用的工具和资源来开发WAP2.0的内容和 应用,允许开发商使用通用的语言子集和开发工具同时为PC和WAP客户端开发应用。因此支持WML2.0的浏览器同样能够支持XTHML,也能够支持 HTML。另外,支持WAP2.0的手机完全可以浏览现有的Internet内容。这样,可以大大丰富WAP2.0的应用。

2.2 对TCP/IP协议栈的支持

互联网工程任务组(IETF)一直致力于TCP/IP协议的优化研究,并特别制定了针对无线链路的TCP/IP协议。WAP论坛吸收了IETF的最新的技术成果,除了继续支持原有WAP1.x的协议栈以外,在WAP2.0中还采用了如下IETF规范。

在传输层,WAP2.0采用具有无线特征的WP-TCP/IP协议,以使得网络可以基于IP 进行数据传输。WP-TCP提供面向连接的服务,它被优化用于无 线环境,可与互联网上的标准TCP应用充分交互操作。IETF PILC小组推荐使用一些在长距离瘦网络中的TCP实现机制。这些机制已经被 Standards Track RFC收录,并作为有效的性能稳定的机制被互联网组织接受。

在会话层,WAP2.0采用具有无线特征的 HTrP协议(WP-HTTP),WP-HTTP规范针对无线环境的HTTP的协议子集,完全能够与HTTP/1.1共同使用。WAP设备和WAP代理服 务器/WAP服务器之间交互工作的基本模型是HTTP请求/回应处理机制。WP-HTTP支持回应的信息体压缩和安全通道的建立。这样,在WAP2.0中 不一定需要WAP代理服务器,因为在客户端和源服务器端通过使用HTTP/1.1就可以直接完成。

WAP2.0增加了更多的安全保证措 施,包括采用TLS协议,提供改进的端到端的安全,集成有线Internet等,以保证使用移动商务和移动银行应用等移动业务的安全。TLS协议的无线协 议子集允许针对安全传输的交互操作。TLS的协议子集包括加密簇、验证字格式、签名规则和会话恢复等安全措施。

3 新增加和增强的业务和应用

WAP2.0规范能够帮助内容开发商向移动互联网用户提供更丰富和更安全的移动互联网服务。 WAP2.0在 世界标准领域是一个巨大进步,它允许应用开发商利用他们已经非常熟悉的开发Intemet应用的技术和工具开发各种移动应用。据Cahners ln- Stat Group预测,无线互联网的用户从2000年的3000万可以发展到2005年的74200万,WAP2.0通过新的应用和下一代的设备将极 大地促进这一进程。在WAP2.0中听融合的新技术将会使用户切身体验到WAP2.0中的新业务。

(1)推服务(WAP Push)

这 种业务是一种基于服务器的应用,利用推代理服务器(Push Proxy)将内容送到或者推到手机设备中。这种功能在WAP2.0发行版中得到了加强,这 种推的功能实际上是将像短消息、股票价格和交通信息之类的实时应用信息发给用户:没有这种推功能时,需要这种实时应用信息的用户就要去轮询应用最务器以得 到最新的信息,在无线环境里这种轮询操作效率不仅低,而且还浪费了无线网络的资源。

(2)用户代理特征描述(User Agent Profile,UAProf)

这种业务提供了一种机制,这种机制是将客户的能力和用户的喜好描述提供给应用服务器。WAP2。0是以W3C的能力组合/喜好特征(CC/PP)工作成果为 基础的。UAProf支持客户机、服务器交互模式,用户可以请求向服务器端发送客户端或者用户信息。服务器可以根据这些信息准备定制的内容响应给客户端或者用户,这种业务模型允许直接增加一些业务适配层, 插入中间代理来提供增值业务

考虑到用户隐私的重要性,所以这种业务模型能够由用户控制其请求中的个人信息

(3)无线电话应用(Wireless Telephony Application, WTA)

这 种业务提供了一种可以开发一系列高级电话应用的工具。其中的高级电话应用可以在支持传统数据功能的应用环境里运行。这些电话应用所有的呼叫处理服务,如呼 叫建立、呼叫应答、呼叫挂起和呼叫转移,可以和数据业务无缝地结合,这一点可以使得小区电话成为充分整合互联网和语音业务得平台。

(4)外部功能接口(External Functionality Interface,EFI)

EFI 定义了WAE和WAE范围之外所能运行的应用程序中的各组件或者实体之间得接口,类似于提供了一种插件,这种插件扩展和增强了终端浏览器或者终端中其他应 用的功能。EFI的框架结构能够支持WAP设备的未来发展和可扩展能力,而且还可以用来定义接人外部设备(如智能卡、GPS设备、医疗保健设备和数字相 机)的特定接口

(5)统一客户存储界面(Persistent Storage Interface)

这种能力规定了一套标准接口的存储设备,通过这个接口可以在无线设备或其他相连的存储设备上进行数据的组织、存取、存储和采集。

(6)数据同步(Data Synchronization)

数 据同步是指各种网络设备(包括手机终端、PDA、PC)和各种网络服务器之间某些数据集合保持一致的过程。这些数据集合包括名片信息、约会信息和公司的销 售账单等。WAP论坛在WAP2.0中的数据同步的解决方案是采用SyncML发起组的工作成果,选择SyncML语言作为数据同步解决方案的。在WAP 和HTTP/1.1协议中均可以支持SyYncML的消息。

(7)多媒体信息服务(Multimedia Messaging Service,MMS)

MMS 为实现丰富多彩的多媒体信息的传递提供了整体架构,它的特点和功能就是能够传送各种类型的内容。根据这种业务模型,MMS允许消息的快速发送(如SMS) 和消息的存储转发(如E-mail)或两种模式同时运行。这种灵活性使用户和运营商可以根据合理的使用体验定制服务。结合其他的WAP服务,如 UAProf和Push服务,MMS还提供了一种高效的信息服务的解决方案,它可以提供消息公告,即主动调整服务,以将需要发送的信息组合在一个表格中, 终端接收设备可以利用这个表格高效地接收信息。

(8)配置信息提供(Provisioning)

这种业务提供了一种标准方法,利用这种方法可以给WAP客户端提供在无线网络上进行操作所必要的初始化信息。这就使得运营商可以利用一套通用的工具管理其网络上的终端设备;

(9)小图片(Pictogram)

用户可以使用像笑脸符之类的小图像进行信息的传递,有时候比文字更加有效,也更生动活泼。4 结束语

WAP2.0将世界上最新的标准和技术集成在一个移动环境中,提供了更多的移动业务和应用, 是一个具有更丰富移动体验的平台:在 WAP2.0的支持下,设备制造商有机会开发支持经过优化的具有WAP2.0特征的WAP应用的手机设备,这些WAP2.0的特征包括彩色显示、多媒体信 息、大文件下载以及改善的导航功能、优化的用户界面等。而网络运营商将会在支持WAP的这些新业务中受益。可以相信,WAP2.0的推出必定会推动移动互 联网的发展

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要基于HTTP2.0客户端进行C#编程,可以使用HttpClient类。HttpClient是一个非常强大的类,它提供了许多可以用来发送和接收HTTP请求和响应的方法。使用HttpClient类,你可以轻松地在C#中实现HTTP2.0客户端。 以下是使用HttpClient类实现HTTP2.0客户端的基本步骤: 1. 创建HttpClient对象。你可以创建一个新的HttpClient对象或者重用已有的HttpClient对象。 2. 配置HttpClient对象。你可以设置Http请求头、代理、超时等选项。 3. 创建HttpRequestMessage对象。HttpRequestMessage对象表示一个Http请求。你可以设置请求的方法、URL、头、正文等。 4. 发送Http请求。使用HttpClient对象的SendAsync方法发送HttpRequestMessage对象。 5. 获取HttpResponseMessage对象。HttpResponseMessage对象表示一个Http响应。你可以从HttpResponseMessage对象中获取响应的状态、头、正文等。 6. 处理Http响应。根据需要,你可以处理Http响应的正文或者其他部分。 以下是一个使用HttpClient类实现HTTP2.0客户端的示例代码: ```csharp using System; using System.Net.Http; using System.Threading.Tasks; class Program { static async Task Main(string[] args) { // 创建HttpClient对象 using var client = new HttpClient(); // 配置HttpClient对象 client.DefaultRequestHeaders.Add("Accept", "text/html,application/xhtml+xml,application/xml"); client.Timeout = TimeSpan.FromSeconds(30); // 创建HttpRequestMessage对象 var request = new HttpRequestMessage(HttpMethod.Get, "https://www.example.com/"); // 发送Http请求 using var response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead); // 获取HttpResponseMessage对象 var statusCode = (int)response.StatusCode; var contentLength = response.Content.Headers.ContentLength ?? -1; var contentType = response.Content.Headers.ContentType?.ToString() ?? "n/a"; Console.WriteLine($"Status: {statusCode}"); Console.WriteLine($"Content Type: {contentType}"); Console.WriteLine($"Content Length: {contentLength}"); } } ``` 在这个示例中,我们创建了一个HttpClient对象,并将Accept头设置为"text/html,application/xhtml+xml,application/xml"。我们还将超时设置为30秒。然后,我们创建了一个HttpRequestMessage对象,表示一个Http GET请求。我们使用HttpClient对象的SendAsync方法发送HttpRequestMessage对象,并使用HttpCompletionOption.ResponseHeadersRead选项来指示HttpClient仅获取响应头。最后,我们从HttpResponseMessage对象中获取状态码、内容长度和内容类型,并将它们打印到控制台上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值