地址(Address)——统一资源表示(URI)——WCF学习笔记(2)

统一资源标识(URI) URI:Uniform Resource Identifier(统一资源标识),唯一地标识一个网络资源的同时也表示资源所处的位置的方式(资源访问所用的网络协议)。

URI结构:

[传输协议(Scheme)]://[主机名|域名|IP地址]:[可选端口]/[资源路径]

HTTP/HTTPS

HTTP:HyperText Transfer Protocol(超文本传输协议),建立在TCP/IP簇上的应用层协议。由于其简单、易用的特性,已经是成为事实上Internet标准。

HTTP特点:

1.提供简单的请求-恢复(Request-Reply)消息传输方式.

2.是无状态的,每次HTTP请求都是相互独立的.

3.是无连接的,基于HTTP的数据传输无须事先打开链接.

HTTPS:HyperText Tranfer Protocol over Secure Socket Layer(安全超文本传输协议),采用了SSL(Secure Socket Layer)的HTTP。WCF通过HTTPS实现了基于HTTP的传输安全(Transport Security)

HTTP和HTTPS的URI分别使用http和https作为传输协议前缀,端口默认为80和443

Net.TCP

TCP:Transport Control Protocol(传输控制协议),在整个TCP/IP簇中处于核心地位。从整个协议分层结构来看,位于应用层之下,网络层(IP协议)之上,教之HTTP。

TCP特点:

1.是基于连接的传输协议,在开始进行数据传输之前,通过客户端和服务端之间的3此“握手”创建连接,在结束之后,通过4次“握手”终止连接。

2.是有状态的,由于数据传输在一个确定的连接中进行,因此可以保持每次数据传输的状态。

3.支持全双工(Duplex)通信,一旦连接成功创建,数据就可以在两个方向上同时传输。

4.支持可靠通信(Reliable Messaging),IP协议本身提供的数据传输是不可靠的,数据的可靠传输只能通过TCP来保证。

WCF通过NetTcpBinding支持基于TCP的传输。传输协议前缀均为net.tcp://。端口默认为808。

Net.Pipe

命名管道(Named Pipes)是Windows平台及UNIX系统下实现跨进程通信(Inter Process Communication,IPC)的标准实现方式,虽然命名管道本身可以实现跨机器的通信,但是WCF只将命名管道专门用于同一台机器的跨进程通信,所以急于命名管道的URI的主机名称|IP地址部分职能是本机的机器名、localhost或127.0.0.1。

基于命名管道的URI以net.pipe为前缀,而在基于同一台机器的不同进程间通信中,端口没有任何意义。

Net.Msmq

消息队列(Message Queuing,也称MSMQ)微软对消息服务领域的开创性尝试。

消息队列可分为公有消息队列和私有消息队列,这两种类型。

WCF下基于消息队列的URI具有net.msmq前缀。在主机名称和队列名称之间通过字符private表示私有队列。

两个Net.Msmq地址:

net.msmq://127.0.0.1/myservices (公有队列)  net.msmq://127.0.0.1/private/myservices/ (私有队列)

上一篇:xcode 设置快捷键 整行上下移动


下一篇:第三讲:WCF介绍(3)