無線會話協定(wireless session protocol,WSP)協定是WAP會話層中使用的傳輸協定,它具有很多與無線環境有關的特性和參數,因此傳統網際網路的HTIP協定不能與WSP實現直接的互操作。WAP要實現對網際網路的訪問,必須進行協定的轉換。當前,這種轉換過程是在網關中來完成的,而實際上,這些工作也可以在內容伺服器上完成。
中文名稱 | 無線會晤協定 |
英文名稱 | wireless session protocol |
定 義 | 向套用層(無線套用協定(WAP))為面向連線業務和無連線業務提供統一接口的協定。 |
套用學科 | 通信科技(一級學科),通信協定(二級學科) |
基本介紹
- 中文名:無線會晤協定
- 外文名:wireless session protocol
簡介,WSP原理,WSP功能,基本功能,擴展功能,WSP類型,面向連線的會話服務,面向無連線的會話服務,
簡介
WSP協定WAP協定體系中會話層使用的協定。WSP協定中提出了性能,會話管理等概念,並定義了兩種會話模式:面向連線的會話模式和無連線的會話模式。面向連線的會話模式又被劃分成了六個工具:會話管理工具、方法調用工具、異常管理工具、會話恢復工具、推和確認推工具,其中最重要的仍然是它的協定數據報文的格式,即它涉及的方法、報頭、性能及編碼方案,知名報頭處理。
WSP為處於較高層次上的套用層提供兩種會話服務的一致接口。第一種會話服務是面向連線的服務,它工作在事務層協定之上:第二種會話服務是無連線的服務,它工作在安全或非安全的數扼報服務之上。WSP目前能夠提供最大限度適應瀏覽套用(WSP/B)的業務。WSP/B提供HTTP1.1功能,並且具有新的特點。例如具有較長會話存活期,能夠提供數掘推、能力協商、會話掛起/恢復等通用工具。WSP族中的協定適用於具有相對的較長延遲時間的低頻寬承載網路。
WSP原理
為了減少網路傳輸量,WSP採用緊縮二進制傳輸方式,即預先對待傳物的教據進行壓縮編碼,將編碼後的二進制形式作為數據傳送出去。其編碼方法的基本要點是:
- 對頻繁使用的名字進行統一斌值。如上述請求中Accept賦值為OX00,Aceept—Language賦值為OX03(2)引入頭碼頁(headercodepage)。WAP允許最多可定義255個頭碼頁,其中第l頁為預設頁每一頭碼頁可定義128個名字並對名字統一賦值,這128個名字可認為是一套獨立的名字空間,它和其它頭碼頁是相互獨立的,頭碼頁內名字的具體含義決定於所屬頭碼頁的具體定義。當想從某一頭碼頁轉移到另一頭碼頁時,只需在轉換處插入一個移位序列即可。根據這種方法,可定義大量的名字並對它們進行賦值,賦值的結果是每個名字只有一個八位組,這比用名字本身的文本形式簡短得多。
- 引入可變長度無符號整數uintvaF(Variable1engthtinsignedinteger)數據類型。WSP採用二進制流傳輸形式,必須要有一種機制來指明某個特定數據段的長度。且這個長度值有大有小,如果採用一個固定長度的數據類型(如int,16位)來指示這個長度,則為了能表示出最大長度值而不得不把這個固定長度定得足夠大,這對表示較小的長度值是巨大的浪費。因此,WSP採用了一種長度可變的數據類型uintvar來指示長度。該數據類型具體定義是:unitvar變數每個八位組只使用其中的低7位來表示數據。最高位用來指示下一個八位組是否還屬於uintvar變數範圍,每個unitvar變母的第一個八位組的最高位必為l。例如,若要表示長度值OX87A5(1000011110100101)時,對應的uintvar數據類型表示為:
- 特定數據類型的值用二進制形式表示.這些數據類型有Date,Integer,QualititYfactors和Deltasecond等。
- 去掉所有的冗餘信息例如,在功能協商時,如果伺服器同意客戶方提出的功能,則回響時這些功能值就不再作為應答返回給客戶方,而客戶檢查到沒有對應功能的數據時,就默認對方已經同意自己的功能請求.
- WML和WML一Script採用壓縮形式.壓縮過程是在WAE套用層完成的。對於文本格式的WMLN轉換成二進制WML,對於WML—Script則轉換成與具體物理機器或虛擬機器有關的位元組碼ByteCode。
WSP功能
WAP結構中的會話層協定被稱為無線會話協定一WSP.WSP為WAP中更高水平套用層的兩種會話服務提供了兩種服務模式:第一種是連線模式的服務:運行於事物處理層WTP之上:另一種是無連線的服務:運行於安全的或不安全的數掘報傳輸服務WDP之上。
WSP目前提供的服務最適合於瀏覽套用。WSP提供了HTTP1.1的功能,並增加了互操作的新特性,如長生命會話,為數據Push提供通用的工具,容量協商和會話懸掛/恢復。wsP家族的協定針對低頻寬的底層承載網路和相對的高延遲進行了最佳化。
具體的說,WSP主要有以下的功能:
基本功能
WSP設計的核心是二進制形式的HTTP,因此傳送給Server的request和發給C1ient的response都包含頭部(meta—information)和數據。所有在HTTPl.1中定義的方法都被支持。而且容量協商可以協商一套request方法,因此維持了與HTTP1.1套用的兼容性。
WSP為套用層提供類型數據的傳輸。HTTPI.1內容的頭部以擴展的方式用於定義內容的類型、字元集編碼、語占等。並且壓縮的二進制編碼對於所知道的頭部進行定義以減少協定頭部的負荷。WSP同樣指定了一個壓縮的複合數據格式,它為符合數據對象的每個部分提供了內容的頭部。這在語義上與二進制形式用於HTTPl.1的MIME(Multipurpose Internet Mail Extension protoc01)”multipartlmixed”格式相同。
WSP本身不解釋request和reply的頭部信息。作為會話產生過程的一部分,在會話生命周期內保持不變的request和replY頭部在C1ient和Server的服務使用者之間進行交換。其中可以包含可接受的內容類型、字元集、語言、設備容量和其他的靜態參數。WSP將在C1ient和Server間傳遞會話頭部,以及request和response頭部,而不增減其內容。
WSP的生命周期並不受下層的傳輸約束。會話可以在閒置時掛起,來釋放網路資源或節約電量。一個輕量的會話重建協定允許無完整的會話建立載荷條件下的會話恢復。會話可在不同的承載網路上恢復。
擴展功能
WSP允許對等體之間進行擴充性能的協商。這使得完整、高性能的實現如同基本、簡單的實現一樣。
WSP為一個處理的確認提供可選的機制來添加其頭部信息(meta—information)。這使得C1ient的套用與Server之間進行完全處理特定信息的通信。
WSP提供了push和pu]1的數據傳輸。Pull利用從HTTP1.1來的request/response機制:並且WSP提供了三個push機制用於數據傳輸:
- 在已存在的會話環境下,證實的數據push;
- 在己存在的會話環境下,非證實的數據push;
- 在己無存在的會話環境下,非證實的數據push;
證實的數據push機制允許在會話的任何時候,伺服器把數據推到客戶。伺服器收到push己傳遞的證實。
在已存在會話中,無證實的push像可靠的數據push一樣,提供了類似的功能,但無證實。非證實的push也可在無己存在的會話中進行,在該情況下,一個默認的會話環境被假定。非證實的會話外的push可用於在不可靠的傳輸中傳送單向訊息。
WSP可選支持異步請求,因此一個客戶可同時向伺服器發多個請求。這樣提高了空中傳輸的效率,因為多個請求和應答可被結合在很少的訊息中。這也提高了延遲,因為每個請求的應答在C1ient可行時即傳送給它。
WSP劃分頭部域用headcodepages.每個codepage僅能定義一個有限數目的編碼,對所知的頭部域名,這使其以更緊密的方式代表。在一個特定的codepage中,超過己知域名標識仍不是~個問題,因為VfSP指定了從一個headercodepage轉到另一個的機制。
WSP類型
面向連線的會話服務
連線的會話服務分為一些功能,部分是可選的。人多數的功能都是異步的,因此通過會話連線的客戶和伺服器之間的操作是不同的。
- 會話管理功能;
- 方法(Method)引用功能;
- 例外報告功能;
- Push功能;
- 確認的push功能;
- 會話恢復功能。
其中會話管理和例外報告總是可行的,其他的功能則由會話建立時的容量協商控制。會話管理允許Client和Server連線並進行功能和協定選項的協商。伺服器可以拒絕連線嘗試,並且可以將客戶指向其他的伺服器。在會話建立期間,客戶和伺服器可以交換屬性信息,這些屬性用於在會話期間保持可用。伺服器和客戶的用戶服務都可以中止會話,由對等層最終通知終止。由服務提供者或管理者引起的中止也可以通知給用戶。
Method調用允許客戶要求伺服器執行一個操作並返回結果。可用的操作是HTTPmethods中的[RFC2616]或為用戶定義的擴充操作,應適合於request—reply或處理模式。不管成功與否,在Client和Server中的服務用戶總是被通知處理完成。失敗可能由服務用戶或服務提供者發起的中止引起的。
例外報告允許服務提供者通知用戶那些不和特定處理相關的事件,並不會引起在會話中狀態的變化。Push功能利用共享的會話信息,允許Server向Client傳送未被請求的信息。該功能無證實,因此可能是不可靠的。確認的push功能與push功能相似,但client證實收到的訊息。Client也可以選擇中止push,server將被通知。
會話恢復功能:包括將會一話掛起並將會話狀態保留的方法。但對等體均知道Client恢復會話,進一步的通信才是可能的。該機制同樣用於處理:服務提供者檢測到將來的通信己經不可能,直到服務用戶或管理實體採取了正確的措施為止。它同樣可用於將會話轉到另一個可替代的承載網路,該網路較前一個有更適當的特性。該功能應被實現以保證在特定網路環境中的合理行為。
面向無連線的會話服務
無連線的會話服務提供無證實的功能,可以在層用戶之間交換內容實體。與連線模式的服務相似,提供的服務是異步的。僅Methodlnvocation和Push功能可行。功能是無證實的,因此對等體之f剛的通信可能是不可靠的。無連線的會話服務直接建立在WDP之上,而不使用WTP的功能集。