XMPP3920最靠譜的中文翻譯文檔_第1頁(yè)
XMPP3920最靠譜的中文翻譯文檔_第2頁(yè)
XMPP3920最靠譜的中文翻譯文檔_第3頁(yè)
XMPP3920最靠譜的中文翻譯文檔_第4頁(yè)
XMPP3920最靠譜的中文翻譯文檔_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、XMPP 3920 最靠譜的中文翻譯文檔(一)xmpp協(xié)議之可擴(kuò)展消息出席協(xié)議:核心 RFC 3920摘要:此文檔定義了可擴(kuò)展消息出席協(xié)議(XMPP的核心特性:協(xié)議使用XML元素在任意兩個(gè)網(wǎng)絡(luò)端點(diǎn)間近實(shí)時(shí)的交換結(jié)構(gòu)化信息。當(dāng)XMPP為交換XML數(shù)據(jù)提供一般化,可擴(kuò)展的框架時(shí),它主要用于建立滿足RFC2779的即時(shí)消息與出席應(yīng)用的需求。1 介紹1.1 概要XMPP 是一個(gè)開放的可擴(kuò)展標(biāo)記語(yǔ)言 XML協(xié)議,用于近實(shí)時(shí)的消息、出席與請(qǐng)求 - 響應(yīng)服務(wù)。基本語(yǔ)法語(yǔ)義最初是由 Jabber開源社區(qū)在1999年開 發(fā)的。2002年,XMPPT作 組授權(quán)開發(fā)一個(gè)Jabber協(xié)議的改寫本,將適用于 IETF的

2、即時(shí)消息(IM)與出席技術(shù)。作為XMPPT作組的成果,此文檔定義了 XMPPI.0的核心內(nèi)容;提供即時(shí)消息與出席功能的擴(kuò)展需求定義在 RFC2779IM-REQS中,由XMPP即時(shí)消息與出席XMPP-IM指定。1.2 術(shù)語(yǔ)文檔中的大寫關(guān)鍵字: "MUST", "MUSTNOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULDIOT", "RECOMMENDED'MAY",

3、 "OPTIONAL"在 BCP14,在 RFC2119 TERMS 中描述。2 一般架構(gòu)2.1 概述雖然XMPP并未與任何特定網(wǎng)絡(luò)架構(gòu)結(jié)合,但到目前為止,它大致上已經(jīng)由一個(gè)客戶-服務(wù)器的架構(gòu)實(shí)現(xiàn)了。 其中,客戶端利用XMPP訪問基于TCP連接的一個(gè)服務(wù)器,并且, 服務(wù)器間也通過TCP連接進(jìn)行彼此間的通信。XMPPClientServerServerTCPTCP下圖為此架構(gòu)的高層視圖(“-”表示使用XMPP通信,“=”表示使用任何其它協(xié)議通信)C1S1-S2-C3|C2+-G1=FN1=FC1符號(hào)表示如下:1)C1 , C2, C3 = XMPP客戶端2)S1 , S2 =

4、 XMPP服務(wù)器3) G1 =網(wǎng)關(guān):在XMPP與外部協(xié)議(非 XMPP的消息網(wǎng)絡(luò)間轉(zhuǎn)換。4)FN1 = 外部消息網(wǎng)絡(luò)5)C1 = 外部消息網(wǎng)絡(luò)的客戶端2.2 服務(wù)器服務(wù)器作為XMPP通信擔(dān)當(dāng)智能抽象層。它的主要責(zé)任是:1) 管理連接其它實(shí)體的會(huì)話,以XML流格式(第4節(jié))在已授權(quán)的客戶端、服務(wù)器以及其 它實(shí)體間來(lái)回傳送。2) 通過XML流在實(shí)體間路由具有合適地址的XML節(jié)(第9節(jié))。大多數(shù)與XMPP兼容的服務(wù)器設(shè)想有能力存儲(chǔ)客戶端的數(shù)據(jù)(例:基于XMPP即時(shí)消息與出席應(yīng)用的用戶的聯(lián)系列表);在這種情況下,XML數(shù)據(jù)由服務(wù)器自身代表客戶端直接處理,并不路由到其它實(shí)體。2.3 客戶端大多數(shù)客戶端通

5、過TCP連接直接連到服務(wù)器,并且使用 XMPP充分利用由服務(wù)器 及任何相關(guān)服務(wù)所提供的功能。多種資源(例如:設(shè)備或位置)可能代表每個(gè)被授權(quán)客戶端同時(shí)連到服務(wù)器上。每個(gè)資源均由定義在地址方案(第3節(jié))下的XMPP地址的資源標(biāo)識(shí)符來(lái)區(qū)別(例如: < url=mailto:nodedomain/homenodedomain/home/url> vs.<url=mailto:nodedomain/worknodedomain/work/url>)。客戶端與服務(wù)器的推薦連接端口為5222,已由IANA注冊(cè)(參考端口編號(hào)(15.9節(jié))。2.4 網(wǎng)關(guān)網(wǎng)關(guān)是服務(wù)器端的一種特殊服務(wù),它的

6、主要功能是將XMPP翻譯成外部消息系統(tǒng)所使用的協(xié)議(非XMPP,也可將數(shù)據(jù)翻譯回 XMPP例如EMAIL網(wǎng)關(guān)(參考SMTP),In ternet Relay Chat (參考IRC),SIMPLE (參考SIIMPLE,Session Initiation Protocol for),短消息服務(wù)(SMS,遺留Instant Messaging and Presence Leveraging Extensions即時(shí)消息服務(wù),諸如 AIM, ICQ, MSN Messenger,Yahoo! Instant Messenger。網(wǎng)關(guān)與服務(wù)器間的通信,網(wǎng)關(guān)與外部消息系統(tǒng)間的通信,均未在此文檔中定義

7、。2.5 網(wǎng)絡(luò)由于每個(gè)服務(wù)器由網(wǎng)絡(luò)地址指定, 并且由于服務(wù)器與服務(wù)器間的通信是客戶與服務(wù) 器協(xié)議的直接擴(kuò)展,實(shí)際上,系統(tǒng)由互相通信的服務(wù)器網(wǎng)絡(luò)組成。舉個(gè)例 子, <url=mailto:julietjuliet/url> 能與 & lt;url=mailto:romeoromeo/url> 交換消息、出席,以及其 它 信息。這是使用網(wǎng)絡(luò)尋址標(biāo)準(zhǔn)的消息協(xié)議(例如SMTP )所熟悉的模式。任意兩服務(wù)器間的通信是可選的。如果可通信,此類通信就應(yīng)當(dāng)發(fā)生在綁定到TCP連接的XML流上。服務(wù)器間連接的推薦端口為5269,由IANA注冊(cè)(參考端口編號(hào)(15.9節(jié))3 尋址方案3.1

8、 概述實(shí)體可被看作是使用XMPP進(jìn)行通信的任意網(wǎng)絡(luò)端點(diǎn)(例如:一個(gè)網(wǎng)絡(luò)上的ID )。任意此類實(shí)體均以與 RFC2396URI 致的格式來(lái)唯一設(shè)定地址。由于歷史原因,XMPP實(shí)體的地址稱作 Jabber 標(biāo)識(shí)符或 JID 。一個(gè)有效 JID 包含一套有序元素:域標(biāo)識(shí)符,結(jié)點(diǎn)標(biāo)識(shí) 符,資源標(biāo)識(shí)符。JID 的語(yǔ)法定義如下, 使用增廣巴斯科范式 ABNF( Augmented Backus-Naur Form)。(Ipv4地址與Ipv6地址規(guī)則定義在Ipv6的附錄B;符合結(jié)點(diǎn)規(guī)則的允許字符序列由Nodeprep profile of STRINGPREP定義,編入本文檔的附錄A;符合資源規(guī)則的允許字符

9、序列由Resourceprep profile of STRINGPREP定義,編入本文檔的附錄B;子域規(guī)則參考國(guó)際化域標(biāo)識(shí)的概念,在 IDNA 中有述)。jid= node "" domain "/" resource domain= fqdn / address-literalfqdn= (sub-domain 1*("." sub-domain)sub-domain= (internationalized domain label)address-literal = IPv4address / IPv6address所有 JID

10、 均基于前述規(guī)則。此結(jié)構(gòu)最普通的用法就是用戶以<url=mailto:userhost/resourceuserhost /resource/url>形式標(biāo)識(shí)一個(gè)即時(shí)消息用戶、用戶連接的服務(wù)器、用戶連接的資源(例如:特別的客戶端)。然而, 結(jié)點(diǎn)類型可能不僅是客戶端, 舉個(gè)例子, 一個(gè)提供多用戶聊天服務(wù)的特別聊天室,可以以 < url=mailto:roomserviceroomservice/url>(“room" 是聊天室名,“ service ”是多用 戶聊天服務(wù)的主機(jī)名) 作為地址。 并且, 此聊天室的特別擁有者可能以< url=mailto:ro

11、omservice/nickroomservice/nick/url>(“ nick ”是此擁有者的房間 昵稱) 作地址,許多其它 JID 類型均有可能 (例如: <domain/resource> 可能是一個(gè)服務(wù) 器端腳本或服務(wù))。JID (結(jié)點(diǎn)標(biāo)識(shí)符,域標(biāo)識(shí)符,資源標(biāo)識(shí)符)的每個(gè)可允許部分長(zhǎng)度不準(zhǔn)超過1023字節(jié),結(jié)果,最大總長(zhǎng)度(包括 url=mailto: ' '/url , /'分隔符)為 3071 字節(jié)。3.2 域標(biāo)識(shí)符域標(biāo)識(shí)符是基本標(biāo)識(shí)符,且是 JID 中僅有的一個(gè)必須的元素(僅有域標(biāo)識(shí)符的 JID 是有效的) 。它通常表示網(wǎng)絡(luò)網(wǎng)關(guān)與“主

12、要的”服務(wù)器, 具有為其它實(shí)體間的 連接進(jìn)行 XML 路由與數(shù)據(jù)管理的能力。 然而, 由域標(biāo)識(shí)符作為參考的實(shí)體并不總是服務(wù)器, 它可能是一項(xiàng) 以服務(wù)器子域?yàn)榈刂返姆?wù),提供多于服務(wù)器(例:多用戶聊天服務(wù),用戶目錄,或外部消息系統(tǒng)的一個(gè)網(wǎng)關(guān))的功能。每個(gè)服務(wù)器或服務(wù)的域標(biāo)識(shí)符將通過網(wǎng)絡(luò)進(jìn)行通信,它可能是IP 地址,并應(yīng)當(dāng)是完全合法的域名(參考DNS)。域標(biāo)識(shí)符必須是一個(gè)“國(guó)際化的域名”,定 義在IDNA, Nameprep NAMEPREP profile of stringprep STRINGPREP 可以無(wú)錯(cuò)應(yīng)用。比較兩個(gè)域標(biāo) 識(shí)符之前,服務(wù)器必須(客戶端是應(yīng)該) 首先對(duì)標(biāo)簽(定義在 ID

13、NA )應(yīng)用 Nameprep profile , 以補(bǔ)足每個(gè)標(biāo)識(shí)符。3.3 節(jié)點(diǎn)標(biāo)識(shí)符結(jié)點(diǎn)標(biāo)識(shí)符是一個(gè)可選的輔助標(biāo)識(shí)符,放在域標(biāo)識(shí)符之前,后以u(píng)rl=mailto:' '/url 字符分隔。它通常表示實(shí)體請(qǐng)求與使用由服務(wù)器或網(wǎng)關(guān)(例如:一個(gè)客戶端)提供的網(wǎng)絡(luò)訪問,雖然它也能表示其它種類的實(shí)體(例如:有多用戶聊天服務(wù)功能的聊天室)。由結(jié)點(diǎn)標(biāo)識(shí)符表示的實(shí)體,在特定域上下文中,在XMPP即時(shí)消息與出席應(yīng)用中被加以地址,此類地址稱作“ bare JID ”,形式為<url=mailto:nodedomainnodedomain/url>結(jié)點(diǎn)標(biāo)識(shí)符必須像 the Nodep

14、rep profile of STRINGPREP 這樣格式化,可以無(wú)錯(cuò)應(yīng)用。比較兩個(gè)結(jié)點(diǎn)標(biāo)識(shí)符之前,服務(wù)器必須(客戶端應(yīng)該)首先對(duì)每個(gè)標(biāo)識(shí)符應(yīng)用Nameprep profile 。3.4 資源標(biāo)識(shí)符資源標(biāo)識(shí)符是一個(gè)可選的第三位標(biāo)識(shí)符,位于域標(biāo)識(shí)符之后,后跟 / '作為分隔 符。資源標(biāo)識(shí)符可以修改 < url=mailto:nodedomainnodedomain/url> 也可以只是 <doma in>地址。它通常表示 一個(gè)特別的會(huì)話、連接(例如:一個(gè)設(shè)備或位置),或?qū)儆趲?有節(jié)點(diǎn)標(biāo)識(shí)符的對(duì)象 (例如:在多用戶聊天室的一個(gè)參與者) 。當(dāng)提供必要的信息來(lái)完成資

15、源綁定(第 7 節(jié))時(shí),資源標(biāo)識(shí)符對(duì)服務(wù)器與其它客戶端均不透明,并且由客戶端實(shí)現(xiàn)來(lái) 定義,以后,它作為一個(gè)“已連接資源”參考。實(shí)體可能同時(shí)維護(hù)多連接,每個(gè)已連接的資源均由資源標(biāo)識(shí)符來(lái)進(jìn)行區(qū)別。資源標(biāo)識(shí)符必須按 Resourceprep profile of STRINGPREP 格式化,才能無(wú)錯(cuò)應(yīng) 用。比較兩個(gè)資源標(biāo)識(shí)符前, 服務(wù)器必須 (客戶端應(yīng)該) 首先為每個(gè)標(biāo)識(shí)符應(yīng)用 Resourceprep profile 。3.5 決定地址SASL 協(xié)商后(第 6 節(jié)),如果正確,資源綁定(第 7 節(jié)),流接收實(shí)體必須決定 初始實(shí)體的 JID 。如果SASL協(xié)商(第6節(jié))期間未指定授權(quán)身份,對(duì)服務(wù)器

16、與服務(wù)器間的通信,初 始實(shí)體的 JID 應(yīng)當(dāng)被授權(quán)身份,派生于認(rèn)證身份,在 SASL( Simple Authentication and Security Layer 簡(jiǎn)單授權(quán)與安全層)說明 SASL 中定義。如果SASL協(xié)商(第 6節(jié))期間未指定授權(quán)身份, 對(duì)客戶端到服務(wù)器的通信, “bare JID”( <url=mailto:nodedomainnodedomain/url>)應(yīng)該被授權(quán)身份, 被派生于授權(quán)認(rèn)證, 定義在SASL。在資源綁定期間(第 7節(jié))“ full JID ”(<url=mailto:nodedomain/resourcenodedomain/re

17、source/url& gt;)的資源標(biāo)識(shí)符部分應(yīng)當(dāng)是客戶端與服務(wù)器間協(xié)商的資源標(biāo)識(shí)符。接收實(shí)體必須確保結(jié)果 J I D (包括結(jié)點(diǎn)標(biāo)識(shí)符,域標(biāo)識(shí)符,資源標(biāo)識(shí)符,分隔符) 遵從此節(jié)中前面所定義的規(guī)則與格式; 為滿足此限制, 接收實(shí)體可能需要替代由接收實(shí)體所 決定的規(guī)范的 JID 初始實(shí)體所發(fā)送的 JID。XMPP 3920 最靠譜的中文翻譯文檔(二)XML 流4.1 概述使 presence-aware 實(shí)體間能夠相互迅速的、 異步交換相關(guān)的小負(fù)載的結(jié)構(gòu)化信息有兩種基本元素: XML 流與 XML 節(jié)。術(shù)語(yǔ)定義如下:XML流定義:XML流是一個(gè)容器,用于網(wǎng)絡(luò)上任意兩實(shí)體間交換XML元素

18、。XML流的開始是以一個(gè)起始的 XML<stream>標(biāo)記(有合 適的屬性與命名空間聲明)表示, XML流的 結(jié)尾以一個(gè)結(jié)束的 XML</stream>標(biāo)記表示。在流的生命周期中,初始化它的實(shí)體能夠通過 流 發(fā)送極多的 XML 元素,元素與 XML 節(jié)(定義在此, <message/>, <presence/>, 或 <iq/> 元素由缺省命名空間驗(yàn)證)都用于協(xié)商流(例:協(xié)商使用TLS(第5節(jié))或使用SASL(第6節(jié))。 “初始流 ”是從初始實(shí)體(通常 是一個(gè)客戶端或服務(wù)器)到接收實(shí)體(通常是一個(gè)服 務(wù)器) 的協(xié)商, 并被看作與從初始

19、實(shí)體到接收實(shí)體的會(huì)話一致。 初始流能從初始實(shí)體到接收 實(shí)體單向通信;為了 能夠從接收實(shí)體到初始實(shí)體的信息交換,接收實(shí)體必須在反方向協(xié)商 一個(gè)流( “響應(yīng)流 ”)。XML節(jié)定義:XML節(jié)是一個(gè)不連續(xù)的結(jié)構(gòu)化信息語(yǔ)義單元,通過XML流從一個(gè)實(shí)體發(fā)送到另一個(gè)實(shí)體。 XML節(jié)以根</stream>的直接子層存在,如果它匹配產(chǎn)品 43內(nèi)容XML, 則可以很好的平衡。任何XML節(jié)的開始都由深度為 1的XML流(例如:<presence>)的開始標(biāo)記元素來(lái)清 楚的表示, XML 節(jié)的結(jié)尾由相應(yīng)的深度為 1 的關(guān) 閉標(biāo)記來(lái)清楚的表示。 為傳送想要的信息, 一個(gè)XML節(jié)可能包含必要的子元

20、素(帶有屬性,元素,XML字符數(shù)據(jù))。在此定義的僅有的XML節(jié) 是<message/>, <presence/>,<iq/>元素,由流的缺省命名空間驗(yàn)證,在XML節(jié)(第9節(jié)) 中描述;為傳輸層安全(TLS Tran sport Layer Security)協(xié)商,SASL協(xié)、商,或服務(wù)器 回叫(第8節(jié))而發(fā)送的XML元素,并不會(huì)當(dāng)作 XML節(jié)來(lái)考慮??紤]一個(gè)客戶端與服務(wù)器的會(huì)話例子。 為了連接到服務(wù)器, 客戶端必須初始化一個(gè) XML 流:發(fā)送一個(gè)起始的<stream>標(biāo)記給服務(wù),可選先于一個(gè)指定XML版本的文本聲明與字符編碼支持(參考文本聲明的內(nèi)

21、容(11.4);也可參考字符編碼( 11.5)。服從本地策略與所提供的服務(wù),服務(wù)器接下來(lái)應(yīng)該回復(fù)另一個(gè) XML流給客戶端,再次可選先于一個(gè)文本聲明。一但客戶端完成了 SASL協(xié)商(第6節(jié)),客戶端可以通過流發(fā)送極多的XML節(jié)給網(wǎng)絡(luò)上 的任意容器。當(dāng)客戶端想關(guān)閉流時(shí),它簡(jiǎn)單發(fā)送一個(gè)關(guān)閉 </stream> 標(biāo)記給服務(wù)器(也可以由 服務(wù)器來(lái)關(guān)閉流),從這以后,客戶端與服務(wù)器 都應(yīng)終止?jié)撛诘倪B接(通常是一個(gè)TCP連接)。習(xí)慣于將 XML 考慮成以文檔為中心的人可能希望看到客戶端與服務(wù)器的會(huì)話作為兩個(gè) 末端開口的(自由回答的) XML 文檔的組成部分:一個(gè)從客戶端到服務(wù)器, 另一個(gè)從服務(wù)

22、器到客戶端。從這個(gè)觀點(diǎn)看,根 <stream/> 元素可被認(rèn)為是每個(gè) “文檔 ”的文檔實(shí)體,兩個(gè) “文 檔”都由通過兩個(gè)XML流發(fā)送 的XML節(jié)的集聚來(lái)建立。然而,這種觀點(diǎn)僅是一種方便;XMPP 并不以文檔處理,而是以 XML 流或 XML 節(jié)來(lái)處理。本質(zhì)上,那么,一個(gè)XML流充當(dāng)了所有通過會(huì)話發(fā)送的XML節(jié)的信封。可用圖簡(jiǎn)單表示如下:| <stream> | <presence>| <show/>| </presence>| <message to='foo'> | <body/> | | &

23、lt;/message> | <iq to='bar'> | <query/> | </iq> | . | </stream> |4.2 綁定到 TCP雖然將一個(gè)XML流結(jié)合到一個(gè)TCP連接上不是必須的(例如:兩個(gè)實(shí)體能通過其它諸如HTTP投票選舉機(jī)制而彼此互連),此說明也只定義了 XMPP到TCP的綁定。在客戶端到 服務(wù)器端通信的上下文中, 服務(wù)器必須允許客戶端為了從客戶端到服務(wù)器與服務(wù)器到客戶端 的XML節(jié)發(fā)送共享的一個(gè)單 TCP連接。在服務(wù)器到服務(wù)器的通信上下文中,服務(wù)器必須使 用一條TCP連接用于從服務(wù)器到其對(duì)等服務(wù)

24、器的XML節(jié)傳送,另一條TCP連接(由對(duì)等初始 化)用于對(duì)其等服務(wù)器到服務(wù)器的XML節(jié)傳送,總共有兩條 TCP連接。4.3 流安全當(dāng)在XMPP1.0中協(xié)商XML流時(shí),TLS應(yīng)當(dāng)按TLS應(yīng)用(第5節(jié))所定義的來(lái)使用,SASL 必須按SASL (第 6節(jié))所定義的來(lái)使用。初始流”(例如:從初始實(shí)體到接收實(shí)體的流)與“響應(yīng)流” (例如:從接收實(shí)體到初始實(shí)體的流)必須被分別保護(hù),即使雙向安全可能已通 過相互的認(rèn)證機(jī)制所建立。 實(shí)體不應(yīng)當(dāng)在流被認(rèn)證之前,嘗試通過流發(fā)送 XML節(jié)(第9節(jié)), 但如果這樣做了,那么,其它實(shí)體不準(zhǔn)接受此類節(jié),并應(yīng)當(dāng)返回一個(gè) <non- authorized/> 流

25、錯(cuò) 誤,然后終止兩端的 XML流與潛在的TCP連接;注意,這只適用于XML節(jié)(例如:<message />, <presence/>, <iq/> 元素,由缺省命名空間檢查) 并不適用于流協(xié)商(例如:用于協(xié)商使用 TLS(第5節(jié))或使用 SASL (第 6節(jié))的XML元素。4.4 流屬性流元素屬性如下:1) to 屬性應(yīng)當(dāng)僅用于從初始實(shí)體到接收實(shí)體的 XML流頭中,并且必須被設(shè)成一 個(gè)接收實(shí)體服務(wù)的主機(jī)名。 t屬性不應(yīng)當(dāng)設(shè)在接收實(shí)體回應(yīng)初始實(shí)體的 XML流頭中;然而, 如果 t屬性包括在內(nèi),它應(yīng)當(dāng)被初始實(shí)體默默忽略。2) from frodl性應(yīng)當(dāng)僅用于從接

26、收實(shí)體到初始實(shí)體的 XML流頭中,并且必須被設(shè) 成一個(gè)接收實(shí)體服務(wù)的主機(jī)名,此接收實(shí)體正授權(quán)訪問初始實(shí)體。 from屬性不應(yīng)在初始實(shí) 體發(fā)送到接收實(shí)體的流頭中;然而,如果 from屬性包括在內(nèi),它應(yīng)當(dāng)被接收實(shí)體忽略。3) id屬性應(yīng)當(dāng)僅用于從接收實(shí)體到初始實(shí)體的XML流頭中。此屬性是唯一一個(gè)由接收實(shí)體創(chuàng)建的,作為初始實(shí)體流與接收實(shí)體間會(huì)話的密鑰,并且,在接收應(yīng)用(通常是一個(gè)服務(wù)器)中是唯一的。注意:流ID可能是嚴(yán)格安全的,并且因此必須是即不能預(yù)測(cè)也不能重復(fù)的(參考RANDOM推薦關(guān)于隨機(jī)安全觀點(diǎn))。 i屬性不應(yīng)在初始實(shí)體到接收實(shí) 體的XML流頭中;然而,如果 idf性包含在內(nèi),應(yīng)被接收實(shí)體忽略

27、。4)xml:lang xml:lan屬性'(定義在XML的12.2)應(yīng)當(dāng)包含在初始實(shí)體的初始流頭中,用于指定缺省語(yǔ)言,此語(yǔ)言可以是任何通過流發(fā)送的人類可讀的XML 字符數(shù)據(jù)。如果屬性包含在內(nèi),接收實(shí)體應(yīng)當(dāng)記住此值并做為初始流與響應(yīng)流的缺省值; 如果此屬性不包含在內(nèi), 接收實(shí)體應(yīng)當(dāng)為兩個(gè)流使用一個(gè)可配置的缺 省值,它必須為響應(yīng)流在頭中通信。對(duì)所有通 過初始化流發(fā)送的節(jié),如果初始實(shí)體不包含xml:lan屬性,接收實(shí)體應(yīng)當(dāng)應(yīng)用缺省值;如果初始實(shí)體包含xml:lang屬性,接收實(shí)體不準(zhǔn)修改或刪除它(參考xml:lang (9.1.5)。xml:lang屬性值必須是一個(gè) NMTOKEN(定 義

28、在XML( 2.3),并且必須與定義在 RFC3006LANGTAGS 中的格式一致。5)version 版本屬性出現(xiàn)設(shè)到至少是“1.0信號(hào)值,支持定義在說明書中的相關(guān)流協(xié)議(包括流特征) 。有關(guān)代與屬性處理的具體規(guī)則定義如下:可總結(jié)如下:| initiating to receiving | receiving to initiating+to | hostname of receiver | silently ignoredfrom | silently ignored | hostname of receiverid | silently ignored | session keyxml

29、:lang | default language | default languageversion | signals XMPP 1.0 support | signals XMPP 1.0 support4.4.1 版本支持XMPP版本在此指定為“1.Q”特別的,這封裝了流相關(guān)協(xié)議(TLS應(yīng)用(5),SASL應(yīng)用(6),流錯(cuò)誤(4.7),還有三個(gè)已定義的 XML 節(jié) 類型(<message/>, vpresence/>, and <iq/>) 的語(yǔ)義。 XMPP 版本的編號(hào)方案是 “<major>.<minor> 。” Major 與

30、minor 數(shù)字必 須作為分離的 整數(shù)對(duì)待,并且每個(gè)數(shù)字可能并不按單數(shù)字增加。因此"XMPP 2.4"是一個(gè)比"XMPP 2.13"低的版本,依次低于"XMPP 12.3"。前導(dǎo)零(例如:"XMPP 6.01")必須被接收者忽略并不準(zhǔn)發(fā)送。Major 版本號(hào)應(yīng)當(dāng)增加,只要流與節(jié)格式或是所需行為已很大程度上改變,以至于老版 本如果對(duì)它不理解的并采取在舊版說明中指定的動(dòng)作時(shí),只簡(jiǎn)單忽略元素與屬性時(shí)無(wú)法與新版本實(shí)體互操作, 就要增加主版本號(hào)。 次版本號(hào)指新能力, 并且必須被有一個(gè)更小次版本 號(hào)的實(shí)體所忽略,但被有更大次版

31、本號(hào)的實(shí)體作信息目的用。舉例:次版本號(hào)可能指處理 消息,出席,或IQ節(jié)新近定義的 type!性值;有更大次版本號(hào)的實(shí)體將簡(jiǎn)單注意它的通信 者不理解此type屬性 值,并因此而不發(fā)送它。以下規(guī)則由實(shí)現(xiàn)應(yīng)用于產(chǎn)生與處理在流頭中的版本'屬性:1)初始實(shí)體必須在初始流頭中將版本屬性值設(shè)到它所支持的最高版本號(hào)(例如:如果 它所支持的最高版本號(hào)定義在此說明中,必須設(shè)值為 “1.0)”2) 接收實(shí)體必須在響應(yīng)流頭中設(shè)置版本屬性值或者是初始實(shí)體提供的值,或者是接收 實(shí)體所支持的最高版本號(hào),無(wú)論哪一個(gè)更低。 接收實(shí)體必須對(duì)主、 次版本號(hào)做數(shù)字比較,而 不是 "<major>.<

32、;minor>" 字符串匹配。3)如果包含在響應(yīng)流頭中的版本號(hào)至少一個(gè)主版本號(hào)低于包含在初始流頭中的版本號(hào), 并且新版本實(shí)體不能像上述那樣與舊版本互操作,初始實(shí)體應(yīng)當(dāng)產(chǎn)生一個(gè)<unsupported-version/>流錯(cuò)誤,并終止 XML流與潛在的 TCP連接。4)如果每個(gè)實(shí)體都收到一個(gè)帶有 “無(wú)版本號(hào) ”屬性的流頭,實(shí)體必須考慮由其它實(shí)體支 持版本將是“ 0.0并不應(yīng)當(dāng)在發(fā)送響應(yīng)流時(shí)包括version!性。4.5 命名空間聲明流元素必須擁有流命名空間聲明和一個(gè)缺省的命名空間聲明 (命名空間聲明定義在 XML 命名空間說明文檔XML-NAMES中)。對(duì)有關(guān)流命名空

33、間與缺省命名空間的更細(xì)節(jié)的信息, 看命名空間名稱與前綴( 11.2)。4.6 流特征如果初始化實(shí)體包含版本屬性, 并在初始流頭中, 其值至少設(shè)為 “ 1.0, ”那么接收實(shí)體必 須發(fā)送一個(gè) <features/> 子元素(由流命名空 間前綴作前綴)給初始實(shí)體,以宣布任何可被 協(xié)商的(或另外需要被廣告的能力)流級(jí)別的特征。當(dāng)前,這僅用于廣告在此定義的TLS應(yīng)用(5), SASL應(yīng)用(6)和資源綁定(7),并且,會(huì)話按照XMPP-IM中所定義的來(lái)建立; 然而,流特征的功能性可被用于廣告其它將來(lái)可協(xié)商的特征。如果實(shí)體不理解或不支持某些特征,那么它應(yīng)當(dāng)默默的忽略。如果一個(gè)或多個(gè)安全特征(例

34、如:TLS與 SASL需要在非安全特征(例如:資源綁定)被提供之前成功被協(xié)商,非安全相關(guān)特征不應(yīng)當(dāng)在相關(guān)安全特征被協(xié)商之前包含在流特征中被廣告。4.7 流錯(cuò)誤根流元素可能包含一個(gè) <error/> 子元素,此元素由流命名空間前綴來(lái)加前綴。如果錯(cuò)誤子元素感覺到一個(gè)流級(jí)別錯(cuò)誤發(fā)生, 它必須由一個(gè)兼容實(shí)體 (通常是一個(gè)服務(wù)器而不是一個(gè) 客戶端)來(lái)發(fā)送。4.7.1 規(guī)則以下規(guī)則應(yīng)用于流級(jí)別錯(cuò)誤:1)設(shè)想所有流級(jí)別錯(cuò)誤均是不可恢復(fù)的;因此,如果一個(gè)錯(cuò)誤在流級(jí)別層發(fā)生,那么 檢測(cè)錯(cuò)誤的實(shí)體必須發(fā)送一個(gè)流錯(cuò)誤給其它實(shí)體,發(fā)送一個(gè)關(guān)閉 </stream> 標(biāo)記,并終止?jié)?在的TCP連接

35、。2)如果在流被建立期間發(fā)生錯(cuò)誤,接收實(shí)體必須一直發(fā)送起始<stream>標(biāo)記,將<error/>元素作為流元素的子元素,發(fā)送 關(guān)閉</stream>標(biāo)記,并終止?jié)撛诘腡CP連接。此種情況下,如果初始實(shí)體在 t屬性(或根本沒提供 t屬性)中提供了一個(gè)未知主機(jī),服務(wù)器應(yīng)當(dāng)在流頭的 fromi性中提供服務(wù)器的授權(quán)主機(jī)名,并在終止前發(fā)送。4.7.2 語(yǔ)法流錯(cuò)誤語(yǔ)法如下:<stream:error><defined-condition xmlns='urn:ietf:params:xml:ns:xmpp-streams'/>&

36、lt;text xmlns='urn:ietf:params:xml:ns:xmpp-streams'xml:lang='langcode'>OPTIONAL descriptive text</text>OPTIONAL application-specific condition element</stream:error><error/> 元素:1)必須包含一個(gè)子元素,此子元素與以下定義的已定義的節(jié)錯(cuò)誤條件之一相一致;此 元素必須被 'urn:ietf:params:xml:ns:xmpp-streams&

37、#39; 命名空間認(rèn)為是合格的。2)可能包含一個(gè)<text/>子元素,此子元素包含了更詳細(xì)描述錯(cuò)誤的XML字符數(shù)據(jù);此元素必須被 'urn:ietf:params:xml:ns:xmpp-streams' 命名空間認(rèn)為是合格的,并且,應(yīng)當(dāng)擁 有一個(gè)'xml:lang'屬性來(lái)指明 XML字符數(shù)據(jù)的自然語(yǔ)言。3) 可能包含一個(gè)用于說明特殊應(yīng)用錯(cuò)誤條件的子元素;此元素必須由一個(gè)已定義應(yīng)用命名空間來(lái)認(rèn)證,并且,它的結(jié)構(gòu)由那個(gè)命名空間來(lái)定義。<text/> 元素是可選的。如果包含了此元素,它應(yīng)當(dāng)僅用于提供描述性或診斷性的信息, 來(lái)補(bǔ)充一個(gè)已定義的條

38、件或特殊應(yīng)用條件的意思;它不 應(yīng)當(dāng)由一個(gè)應(yīng)用以程序化的形式敘 述。它不應(yīng)當(dāng)作為錯(cuò)誤消息展示給一個(gè)用戶,但可能另外顯示與包含條件元素(或元素們) 相關(guān)的錯(cuò)誤消息。4.7.3 已定義條件以下定義了流級(jí)別錯(cuò)誤條件:1)<bad-format/>- 已經(jīng)發(fā)送 XML 的實(shí)體不能被處理; 此錯(cuò)誤可能用于代替更特殊的 XML 相關(guān)錯(cuò)誤,例如: <bad-namespace-prefix/>, <invalid-xml/>,<restricted-xml/>, <unsupported-encoding/>, <xml-not-well-fo

39、rmed/> ,雖然更特殊的錯(cuò)誤是首 選。2) <bad-namespace-prefix/>- 實(shí)體已經(jīng)發(fā)送了一個(gè)不被支持的名空間前綴,或在一個(gè)需 要那樣一個(gè)前綴的元素中發(fā)送了沒有命名空間的前綴 (參考 XML 命名空間名與前綴 (11.2)。3) <conflict/>- 服務(wù)器正為實(shí)體關(guān)閉活動(dòng)流,因?yàn)橐粋€(gè)已經(jīng)被初始化的新流與現(xiàn)存流沖 突。4) <connection-timeout/>- 一段時(shí)間內(nèi)(可根據(jù)本地服務(wù)策略配置)實(shí)體并不通過流產(chǎn) 生任何通信。5) <host-gone/>-由初始實(shí)體在流頭中提供的 t屬性值對(duì)應(yīng)于一個(gè)主機(jī)名

40、,而此主機(jī)名 已不再被一個(gè)服務(wù)器當(dāng)作主機(jī)了。6) <host-unknown/>-由初始實(shí)體在流頭中提供的 t屬性值于服務(wù)器所擁有的主機(jī)名不 一致。7) vimproper-addressing/>- 個(gè)在兩個(gè)服務(wù)器間發(fā)送的節(jié),缺少 t或 fron屬性(或此 屬性無(wú)值)8) <internal-server-error/>- 服務(wù)器經(jīng)歷了錯(cuò)誤配置或其它未定義內(nèi)部錯(cuò)誤使其無(wú)法提供 服務(wù)。9) <invalid-from/>-在 fron地址中提供的JID或主機(jī)名與已授權(quán)的JID或有效域協(xié)商不匹配,此有效域協(xié)商為通過 SASL或回叫服務(wù)器間的協(xié)商,或通過授

41、權(quán)與資源綁定的客戶端 與服務(wù)器間的協(xié)商。10) <invalid-id/>-流ID或回叫ID是無(wú)效的或與以前提供的ID不匹配。11) <invalid-namespace/-流命名空間名不只是/streams ,或回叫 命名空間名不只是"jabber:server:dialback"(參考XML命名空間名與前綴(11.2)12) <invalid-xml/>-實(shí)體通過流向執(zhí)行驗(yàn)證的服務(wù)器發(fā)送了無(wú)效的XML(參考驗(yàn)證(11.3)。13) <not-authorized/>-實(shí)體試圖在流被認(rèn)

42、證前發(fā)送數(shù)據(jù),或不授權(quán)執(zhí)行一個(gè)相關(guān)流協(xié)商 的活動(dòng);接收實(shí)體在發(fā)送流錯(cuò)誤前不準(zhǔn)處理違規(guī)節(jié)。14) vpolicy-violation/>-實(shí)體違反了某些本地策略;服務(wù)器可能選擇在<text/>元素或特殊 -應(yīng)用條件元素中指定策略。15) <remote-connection-failed/>服務(wù)器不能適當(dāng)?shù)倪B接到遠(yuǎn)程實(shí)體,需要認(rèn)證或授權(quán)。16) <resource-constraint/>服務(wù)器缺少提供服務(wù)給流的必要的系統(tǒng)資源。17) <restricted-xml/>實(shí)體試圖發(fā)送受限的XML特征,例如評(píng)注、處理介紹,DTD,實(shí)體參考,或保留

43、字符(參考(11.1)。18) <see-other-host/>服務(wù)器將不提供服務(wù)給初始實(shí)體,但正重定向傳輸給另一個(gè)主機(jī);服務(wù)器應(yīng)當(dāng)指定替換的主機(jī)名或IP地址(必須是有效域標(biāo)識(shí)符),作為<see-other-host/>元素的XML字符數(shù)據(jù)。19) <system-shutdown/>服務(wù)器被關(guān)閉,并且所有的活動(dòng)流被關(guān)閉。20) <un defi ned-co nditio n/> 錯(cuò)誤條件是由此列表中的其它已定義條件中的一個(gè);此錯(cuò)誤 條件應(yīng)當(dāng)僅用在與特殊-應(yīng)用條件相結(jié)合。21) <unsupported-encoding/>初始實(shí)

44、體已在不被服務(wù)器支持的編碼中為流編碼(11.5 )22) <unsupported-stanza-type/>初始實(shí)體已發(fā)送了一個(gè)不被服務(wù)器支持的第一級(jí)子流。23) <unsupported-version/>由初始實(shí)體在流頭提供的版本屬性值指定了一個(gè)不被服務(wù)器 支持的XMPP版本;服務(wù)器可能在<text/>元素中指定它支持的版本。24) <xml-not-well-formed/>初始實(shí)體已經(jīng)發(fā)送了不標(biāo)準(zhǔn)的XML,標(biāo)準(zhǔn)的XML由XML定 義。4.7.4特殊應(yīng)用條件注意,一個(gè)應(yīng)用可能通過在錯(cuò)誤元素中包含一個(gè)合適的命名空間子元素來(lái)提供特殊應(yīng)用流錯(cuò)誤

45、信息。特殊應(yīng)用元素應(yīng)當(dāng)補(bǔ)充或進(jìn)一步驗(yàn)證一個(gè)已定義元素。因此,<error/>元素將包含兩到三個(gè)子元素:<stream:error><xml-not-well-formedxmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text xml:lang='en' xmlns='urn:ietf:params:xml:ns:xmpp-streams'>Some special application diagnostic information!</text&

46、gt;<escape-your-data xmlns='application-ns'/></stream:error></stream:stream>XMPP 3920 最靠譜的中文翻譯文檔(三)4.8 簡(jiǎn)化的流例子而“ S”此部分包含兩個(gè)簡(jiǎn)化的客戶端與服務(wù)器(“ C'行是從客戶端發(fā)送到服務(wù)器,行是由服務(wù)器發(fā)送到客戶端)間基于流會(huì)話的例子;這些例子解釋進(jìn)一步的概念。A basic "session":C: <?xml version='1.0'?><stream:streamto

47、=''xmlns='jabber:client' xmlns:stream='/streams' version='1.0'>S: <?xml version='1.0'?><stream:streamfrom=''id='someid'xmlns='jabber:client'xmlns:stream='/streams'versio

48、n='1.0'>.en crypti on, authe nticati on, and resource binding .C: <message from=' juliet 'to='romeo'xml:la ng='e n'>C: <body>Art thou not Romeo, and a Mon tague?</body>C: </message>S: <message from=' romeoexample .n et'to='jul

49、iet 'xml:la ng='e n'>S: <body>Neither, fair sain t, if either thee dislike.</body>S: </message>C: </stream:stream>S: </stream:stream>A "sessi on" gone bad:C: <?xml versio n='1.0'?><stream:streamto=''xmln s='jabber:cl

50、ie nt'xml ns:stream='/streams'versio n='1.0'>S: <?xml versio n='1.0'?><stream:streamfrom=''id='someid'xmln s='jabber:clie nt'xml ns:stream='/streams'version='1.0'>. encryp

51、tion, authentication, and resource binding .C: <message xml:lang='en'><body>Bad XML, no closing body tag!</message>S: <stream:error> <xml-not-well-formed xmlns='urn:ietf:params:xml:ns:xmpp-streams'/></stream:error>S: </stream:stream>5 使用 TLS5

52、.1 概述XMPP 包含一個(gè)方法,用于保護(hù)流不被篡改和偷聽。此信道加密方法利用傳輸層安全(TLS)協(xié)議TLS,連同“ STARTTL”擴(kuò)展,在為描述在RFC 2595USINGTLS中的IMAPIMAP, POP3POP3, ACAPACAP等相似協(xié)議擴(kuò)展模型。用于STARTTLSr展的命 名空間名是 'urn:ietf:params:xml:ns:xmpp-tls'。一個(gè)給定域的管理者可能需要使用TLS來(lái)進(jìn)行客戶端到服務(wù)器的通信,服務(wù)器到服務(wù)器的通信,或二者兼有。客戶端應(yīng)使用TLS去保護(hù)流,在企圖完成SASL協(xié)商之前,而且, 服務(wù)器出于保護(hù)服務(wù)器到服務(wù)器的通信的考慮,應(yīng)在兩個(gè)

53、域間使用TLS。應(yīng)用以下規(guī)則:1 ) 遵從此說明的初始實(shí)體必須包含版本屬性, 并在初始流頭中將其值設(shè)為“ 1.0”。2 )如果兩服務(wù)器間的 TLS協(xié)商發(fā)生,直到服務(wù)器宣稱的域名系統(tǒng)(DNS主機(jī)名被 決定(參考服務(wù)器到服務(wù)器的通信( 14.4 )后,才能處理通信。3 )當(dāng)與此說明一致的接收實(shí)體收到一個(gè)包含版本屬性設(shè)為至少“ 1.0 ”的初始化流命名空間認(rèn)證) 并帶有它所支持的其它 流特征的列表。時(shí),發(fā)送一個(gè)流頭作響應(yīng)(包含版本標(biāo)記)后,必須包含一個(gè)<starttls/> 元素(由'urn:ietf:params:xml:ns:xmpp-tls' 服務(wù)器以 <st

54、arttls/> 響應(yīng) 4 )如果初始實(shí)體選擇使用 TLS, TLS協(xié)商必須在SASL協(xié)商處理之前完成;這種協(xié) 商順序是必要的,用于幫助保護(hù)SASL協(xié)商期間發(fā)送認(rèn)證信息,并在TLS協(xié)商之前這段時(shí)間, 使基于使用認(rèn)證的 SASL EXTERNA機(jī)制成為可能。5 )在TLS協(xié)商期間,實(shí)體不準(zhǔn)在根流元素中發(fā)送任何空白字符(匹配 XML內(nèi)容,產(chǎn)品3)作為元素間(任何在TLS例子中的空白字符都只是為了便于閱讀)的分隔符;這種限制有助于確保合適的安全層字節(jié)精度。6 )接收實(shí)體必須考慮 TLS協(xié)商在發(fā)送<proceed/>元素的關(guān)閉“ >”字符之后立即開始。初始實(shí)體必須考慮 TLS協(xié)

55、商在收到來(lái)自于接收實(shí)體的<proceed/>元素的關(guān)閉“ >”字符之后立即開始。7 ) 初始實(shí)體必須驗(yàn)證由接收實(shí)體表示的證書;參考證書驗(yàn)證( 14.2 )相關(guān)證書驗(yàn) 證步驟。8 ) 證書必須根據(jù)初始實(shí)體(例如:一個(gè)用戶)提供的主機(jī)名來(lái)檢查,而不是通過 域名系統(tǒng)解析的主機(jī)名; 例如:如果用戶指定一個(gè) "" 的主機(jī) 名,而 DNSSRVSRV 查找并返回 "" ,證書必須作為 "" 被檢查。如果對(duì)任何此種 XMPP實(shí)體(例如,客戶 端或服務(wù)器) 的一個(gè) JID 在一個(gè)證書中被表示, 它必須作為一個(gè) UTF8String來(lái)

56、表示, UTF8String 在位于 subjiectAltName 中 的一個(gè) otherName 實(shí)體中,使用 ASN.1對(duì)象標(biāo)識(shí)符 "id-on-xmppAddr" ,在本文檔 5.1.1 中說明。9 )如果TLS協(xié)商成功,接收實(shí)體必須拋棄TLS生效之前,來(lái)自初始實(shí)體的任何非安全格式的知識(shí)。10 )如果TLS協(xié)商成功,初始實(shí)體必須拋棄 TLS生效之前,來(lái)自接收實(shí)體的任何非 安全格式知識(shí)。11 )如果tls協(xié)商成功,接收實(shí)體不準(zhǔn)提供starttlST展給當(dāng)流重新開如時(shí)被提供的帶有其他流特征的初始實(shí)體。12 )如果TLS協(xié)商成功,初始實(shí)體必須繼續(xù)SASL協(xié)商。13 )如果

57、TLS協(xié)商結(jié)果失敗,接收實(shí)體必須終止XML流與潛在的TCP連接。14 ) 參考強(qiáng)制實(shí)施技術(shù)( 14.7 )相關(guān)的必須被支持的機(jī)制。5.1.1 ASN.1用于XMPP地址的對(duì)象標(biāo)識(shí)符上述ASN.1對(duì)象標(biāo)識(shí)符"id-on-xmppAddr" 定義如下:id-pkix OBJECT IDENTIFIER := iso(1) identified-organization(3)dod(6) internet(1) security(5) mechanisms(5) pkix(7) id-on OBJECT IDENTIFIER := id-pkix 8 - other name f

58、ormsid-on-xmppAddr OBJECT IDENTIFIER := id-on 5 XmppAddr := UTF8String對(duì)象標(biāo)識(shí)符可能也以點(diǎn)分制顯示,格式為 "..5"5 2 敘述當(dāng)初始實(shí)體使用 TLS 保護(hù)一個(gè)帶有接收實(shí)體的流時(shí),步驟如下:1 )初始實(shí)體打開一個(gè)TCP連接,靠發(fā)送開放XML流頭給接收實(shí)體,此流頭包含版 本屬性,并設(shè)其值至少為“ 1.0”,來(lái)初始化流。2 )接收實(shí)體以打開一個(gè) TCP連接并發(fā)送一個(gè)XML流頭給初始實(shí)體作為響應(yīng),此流 頭包含值至少為“ 1.0 ”版本屬性。3 ) 接收實(shí)體靠包含帶有其它支持流特征(

59、如果TLS 需要與接收實(shí)體交互,它應(yīng)當(dāng)靠包含一個(gè) <required/> 元素作為 <starttls/> 的子元素來(lái)標(biāo)記此事實(shí)) 的列表來(lái)為初始實(shí)體 提供STARTTLS擴(kuò)展。4 )初始實(shí)體發(fā)起 STARTTLS命令(例:由urn:ietf:params:xml:ns:xmpp-tls'命名空間確認(rèn)的<starttls/> 元素)去指導(dǎo)希望開始 TLS協(xié)商去保護(hù)流的接收實(shí)體。5 ) 接收實(shí)體必須以由命名空間 'urn:ietf:params:xml:ns:xmpp-tls'認(rèn)證了的<proceed/>元素 或<fa

60、ilure/> 元素響應(yīng)。如果有失敗情況發(fā)生,接收實(shí)體必須終止雙方的 XML流與潛在的TCP連接。如果接著向下進(jìn)行,實(shí)體必須嘗試通過TCP連接完成TLS協(xié)商, 并不準(zhǔn)發(fā)送任何進(jìn)一步的XML數(shù)據(jù),直到TLS協(xié)商完成。6 )初始實(shí)體與接收實(shí)體嘗試依據(jù)TLS完成TLS協(xié)商。7 )如果TLS協(xié)商不成功,接收實(shí)體必須終止TCP連接。如果TLS協(xié)商成功,初始實(shí)體必須靠發(fā)送一個(gè)開始XML流頭給接收實(shí)體(它并不需要先發(fā)送一個(gè)關(guān)閉</stream>標(biāo)記,因?yàn)榻邮諏?shí)體與初始實(shí)體必須考慮到原始流根據(jù)成功的TLS協(xié)商而被關(guān)閉),以初始一個(gè)新XML流頭給有可利流。8 ) 根據(jù)從初始實(shí)體接收的新流頭,接收實(shí)體必須靠發(fā)送一個(gè)新用特征(不包括STARTTLS寺征)的初始實(shí)體來(lái)響應(yīng)。53 客戶端到服務(wù)器的例子下面例子顯示了一個(gè)客戶端保護(hù)使用STARTTL(S 注:替換步驟顯示在下一行,用來(lái)解釋協(xié)議失敗的情況; 他們?cè)诒纠胁⒉辉敱M也不是必須的由數(shù)據(jù)發(fā)送而觸發(fā)) 流的數(shù)據(jù)流。1 步:客戶端初始流給服務(wù)器:<stream:streamxmlns='jabber:client'xmlns:stream='/streams'

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論