RESTful初步瞭解
一、RESTful是什麼
本質: 一種軟體架構風格,基於http協議實現的api
*核心:*面向資源
解決的問題:
降低開發的複雜性
提高系統德可伸縮性
二、資源
REST全程是表述性狀態轉移。而表述其實指的就是 “資源”。
什麼是資源:所謂“資源”,就是網路上的一個實體,或者說是網路上的一個具體資訊。一段文字,一首歌、一段音訊都可以成為資源,要讓資源被識別需要有個唯一標示,在web 中這個唯一標識就是URI.
HTTP協議——URI:
HTTP是一個屬於應用層的協。
URI:既可以看成是資源的地址,也可以看成是資的名稱。如果某些資訊沒有使用URI來表示,那它就不能算是一個資源,只能算是資源的一些資訊而已。
schema://host[:port]/path[?query-string][#anchor]
· schema 指定底層使用的協議(例如:http,https,ftp)
· host 伺服器德IP地址或者域名
· port 伺服器埠 ,在http協議中預設是80 https 443
· path 訪問資源的路徑
· query—string 傳送給http服伺服器德資料
· anchor 錨(定義到特定行)
HTTP協議—請求
組成格式:請求行、訊息報頭、請求正文
請求行格式:Method Request-URI HTTP-Version CRLF(請求方法 請求地址 http協議的地址1.0/1.1 )
例子:GET/HTTP/11 CRLF
請求方法
·GET 請求獲取Request——URI所標識的資源
· POST 在Request—URI所標識德資源後附加的新資料
· HEAD 請求獲取有Request——URI所標識的資源的相應訊息報頭(資源的建立時間和修改時間)
·OPTIONS:返回伺服器針對特定資源所支援的HTTP請求方法。也可以利用向Web伺服器傳送’*'的請求來測試伺服器的功能性。
·HEAD:向伺服器索要與GET請求相一致的響應,只不過響應體將不會被返回。這一方法可以在不必傳輸整個響應內容的情況下,就可以獲取包含在響應訊息頭中的元資訊。
·GET:向特定的資源發出請求。
·POST:向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案)。資料被包含在請求體中。POST請求可能會導致新的資源的建立和/或已有資源的修改。
·PUT:向指定資源位置上傳其最新內容。
·DELETE:請求伺服器刪除Request-URI所標識的資源。
·TRACE:回顯伺服器收到的請求,主要用於測試或診斷。
·CONNECT:HTTP/1.1協議中預留給能夠將連線改為管道方式的代理伺服器。