鍍金池/ 教程/ Java/ RESTful Web 服務(wù) - 消息
RESTful Web 服務(wù) - 環(huán)境設(shè)置
RESTful Web 服務(wù) - 資源
RESTful Web 服務(wù) - 第一個應(yīng)用
RESTful Web 服務(wù) - 緩存
RESTful Web 服務(wù) - 方法
RESTful Web 服務(wù) - 安全性
RESTful Web 服務(wù) - 尋址
RESTful Web 服務(wù) - 無狀態(tài)
RESTful Web 服務(wù) - Java (JAX-RS)
RESTful Web 服務(wù) - 介紹
RESTful Web 服務(wù) - 消息

RESTful Web 服務(wù) - 消息

RESTful Web 服務(wù)使用 HTTP 協(xié)議作為客戶端和服務(wù)器之間的通信媒介??蛻舳税l(fā)送一個 HTTP 請求形式的消息,然后服務(wù)器按照 HTTP 響應(yīng)形式的響應(yīng)。這種技術(shù)被稱為消息傳遞。這些消息包含消息數(shù)據(jù)和元數(shù)據(jù),比如消息本身相關(guān)的信息。我們來看看 HTTP 1.1 中的 HTTP 請求和 HTTP 消息響應(yīng)。

HTTP 請求

http://wiki.jikexueyuan.com/project/restful/images/http_request.jpg" alt="http request" />

一個 HTTP 請求有五個主要部分:

  • 動作(Verb) - 表明 HTTP 方法,比如 GET,POST,DELETE,PUT 等等。
  • URI - 用來標識服務(wù)器上資源的統(tǒng)一資源標示符(URI)。
  • HTTP 版本 - 表明 HTTP 版本,比如 HTTP v1.1。
  • 請求頭 - 包含 HTTP 請求消息的元數(shù)據(jù),它是鍵-值對形式的。比如,客戶端(或者瀏覽器)類型,客戶端支持的格式,消息體格式,緩存設(shè)置等等。
  • 請求體 - 消息內(nèi)容或者資源表示形式。

HTTP 響應(yīng)

http://wiki.jikexueyuan.com/project/restful/images/http_response.jpg" alt="http response" />

HTTP 響應(yīng)有四個主要部分:

  • 狀態(tài)/響應(yīng)碼 - 表明請求資源的服務(wù)器狀態(tài)。比如 404 意味著資源沒有找到或者 200 意味著響應(yīng) OK。
  • HTTP 版本 - 表明 HTTP 版本,比如 HTTP v1.1。
  • 響應(yīng)頭 - 包含 HTTP 響應(yīng)消息的元素數(shù)據(jù),它是鍵-值對形式的。比如,內(nèi)容長度,內(nèi)容類型,響應(yīng)日期,服務(wù)器類型等等。
  • 響應(yīng)體 - 響應(yīng)消息內(nèi)容或者資源表示形式。

示例

正如 RESTful Web 服務(wù) - 第一個應(yīng)用 教程中所闡述的。讓我們把 http://localhost:8080/UserManagement/rest/UserService/users 放到 POSTMAN 中并設(shè)置為 GET 請求。如果我們點擊 Postman 發(fā)送按鈕附近的預(yù)覽按鈕,然后點擊發(fā)送按鈕,你可能看到如下所示輸出:

http://wiki.jikexueyuan.com/project/restful/images/postman_request_response.jpg" alt="postman request and response" />

這里可以看到,瀏覽器發(fā)送了一個 GET 請求并收到一個 XML 形式的響應(yīng)體。