Hessian通訊協議學習

###什麼是Hessian安全

  Hessian是由caucho提供的一種開源的遠程通信協議。 採用二進制 RPC 協議,基於 HTTP 傳輸,服務器端不用另開放防火牆端口。 協議的規範是公開的,能夠用於任意語言。 採用客戶機/服務器模式(C/S)。 請求程序就是一個客戶機,而服務提供程序就是一個服務器。 客戶機調用進程發送一個有進程參數的調用信息到服務進程,而後等待應答信息。 在服務器端,進程保持睡眠狀態直到調用信息的到達爲止。 當一個調用信息到達,服務器得到進程參數,計算結果,發送答覆信息,而後等待下一個調用信息,最後,客戶端調用進程接收答覆信息, 得到進程結果,而後調用執行繼續進行。服務器

###Hessian協議工做流程圖   ***客戶端程序請求服務端函數 ***網絡

  1.調用客戶端句柄,執行傳送參數。函數

  2.調用本地系統內核發送網絡消息。編碼

  3.消息傳送到遠程主機。對象

  4.服務器句柄獲得消息並取得參數。blog

  5.執行遠程過程。進程

輸入圖片說明

***服務端函數返回結果給客戶端 ***圖片

  1.執行的過程將結果返回服務器句柄。事務

  2.服務器句柄返回結果,調用遠程系統內核。

  3.消息傳回本地主機。

  4.客戶句柄由內核接收消息。

  5.客戶接收句柄返回的數據。

輸入圖片說明

###Hessian的優、缺點 優勢   1.目前的WEB端基本上都支持hessian,hessian自己就是使用http的傳輸協議,來保證安全性和穩定性。

  2.通訊速度不錯。(數據少的時候)。

  3.能夠以對象方式接受數據。   

  缺點

  1.報錯機制不夠完善。

  2.沒有事務處理。

  3.PHP和Java之間常常會出現一些問題,如編碼,需強制轉換字符等。

  4.返回數據量大,總會感受有延遲的狀況。

###Hessian的部分問題 一、是基於什麼協議實現的? 基於Binary-RPC協議實現。 二、怎麼發起請求? 需經過Hessian自己提供的API來發起請求。 三、怎麼 將請求轉化爲符合協議的格式的? Hessian經過其自定義的串行化機制將請求信息進行序列化,產生二進制流。 四、使用什麼 傳輸協議傳輸? Hessian基於Http協議進行傳輸。 五、響應端基於什麼機制來接收請求? 響應端根據Hessian提供的API來接收請求。 六、怎麼將流還原爲傳輸格式的? Hessian根據其私有的串行化機制來將請求信息進行反序列化,傳遞給使用者時已經是相應的請求信息對象了。 七、處理完畢後怎麼迴應? 處理完畢後直接返回,hessian將結果對象進行序列化,傳輸至調用端。

相關文章
相關標籤/搜索