XMPP和WEB服务器
XML
XML(Extensible Markup Language)即可扩展标记语言,是一种简单的数据存储语言
XML与数据库不同,数据库能查找,排序,增删数据;XML仅仅是展示数据。
网关
当通信双方采用不同的协议时,通过网关转换,使其能够正常通信。网关主要位于最高层应用层。
XMPP
XMPP是一种基于XML的协议。XMPP用TCP传的是XML流。
XMPP中定义了三个角色,客户端,服务器,网关。
基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML。
一般的传输方式是采用2进制,例如QQ;而XMPP传输的是XML格式的纯文本。从<stream>到</stream>构成了一个完整的XML文档。在<stream>与</stream>中间的那些<message>...</message>这样的XML元素就是所谓的XML Stanza(XML节)。
XMPP协议传输时先是将数据包装成XML文档,当用TCP协议传输到接收方后再解包装,这样数据就传过来了。
XMPP传输示例:
客户端:<?xml version='1.0'?>
<stream:stream
to='example_com'
xmlns='jabber:client'
xmlns:stream='http_etherx_jabber_org/streams'
version='1.0'>
服务器:<?xml version='1.0'?>
<stream:stream
from='example_com'
id='someid'
xmlns='jabber:client'
xmlns:stream='http_etherx_jabber_org/streams'
version='1.0'>
...其他通信...
客户端:<message from='juliet_example_com'
to='romeo_example_net'
xml:lang='en'>
客户端: <body>Art thou not Romeo, and a Montague?</body>
客户端:</message>
服务器:<message from='romeo_example_net'
to='juliet_example_com'
xml:lang='en'>
服务器:<body>Neither, fair saint, if either thee dislike.</body>
服务器:</message>
客户端:</stream:stream>
服务器:</stream:stream>
Web服务器
WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。
Web服务器可以解析(handles)HTTP协议。
当一个请求(request)被送到Web服务器里来时,它只单纯的把请求(request)传递给可以很好的处理请求(request)的程序,而不是自己亲自动手。
Web服务器和应用程序服务器的区别
Web服务器主要是处理向浏览器发送HTML以供浏览,而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用。
当Web服务器上没有应用程序服务器:
客户端发送请求给Web服务器,Web服务器获得请求再发给可以处理这些请求的服务器端程序,程序获得请求后通过查找数据库得到客户需要的信息再将这些信息转变成HTML格式,最后Web服务器指导转变后的信息发送给客户端的浏览器,客户就可以看到页面信息了。
当Web服务器上带有应用程序服务器:
客户端发送请求给Web服务器,Web服务器获得请求再发给可以处理这些请求的服务器端程序,服务器程序获得请求后不直接查找数据库而是将查找数据库的商业逻辑放到应用程序服务器上,即服务器程序只是调用了程序服务器的查找服务,当应用程序查找结果后再返回结果给它。
OSI 模型
OSI/RM:Open System Interconnection Reference Model开放系统互连基本参考模型。它共有七层,每层既是独立的相邻层又有联系,每层都为其上层提供服务。
第一层到第三层属于OSI参考模型的低三层,负责创建网络通信连接的链路;第四层到第七层为OSI参考模型的高四层,具体负责端到端的数据通信。
物理层(传输比特流),数据链路层,网络层(将数据封装成数据包进行传输),传输层( 从下层接收的数据进行分段进行传输),会话层(发起会话或或者接受会话请求),表示层(对接收的数据进行解释、加密与解密、压缩与解压缩等),应用层(终端应用程序)。