iT邦幫忙

DAY 22
1

前端小字典三十天【每日一字】系列 第 22

Day22– 前端小字典三十天【每日一字】– REST

REST是什麼?

圖片來源

Representational State Transfer 表現層狀態轉化

表現層是什麼?

"表現層"指的是"資源"(Resources)的"表現層"

REST把所有WEB上的東西都以一個資源(Resource)去表示,

所謂"資源",就是網路上的一個實體(例如:文字、圖片、音樂、影片、服務),
每種資源對應一個獨一無二的URI。
你可以使用URI 指向資源,所有資源都會有一個獨一無二的URI(Uniform Resource Identifier),

URI 是什麼?

我之前的筆記有介紹到URI
URI就像是你的身分證字號一樣,透過身分證字號找到你,比對你的身份,獲取你的資料。

在網路的世界裏,我們透過URI和網路上的資源互動,透過URI獲取資源。

REST的概念?

REST不是一種協定,REST是一種軟體架構風格、HTTP 也實作REST架構風格,
這個概念就像我們上網。

參考淺談 REST 軟體架構風格 (Part.I)從了解 REST 到設計 RESTful文章,寫了以下筆記-

基本連接web流程如下:

1. 在瀏覽器上輸入https://www.google.com.tw/ 連到這個 Google首頁 (送出 Request)

2. 網頁伺服器回應 HTML 格式文件 (回應 Response)

3. 瀏覽器解析 HTML 並且呈現在畫面上 (Render)

細節運作如下:

1. 在瀏覽器給(動詞, verbs)網頁伺服器,這個網址https://www.google.com.tw/(名詞, nouns)連到Google首頁

2. 網頁伺服器回應 HTML 格式文件 (資料, content types)

3. 瀏覽器解析 HTML 的過程中,讀取到網頁中的圖片,連到圖片網址(圖片格式即是另一種資料)

4. 使用 POST 傳送文字進行查詢(POST是另一個動詞, verbs)等行為

REST概念就是藉由操作 (動詞) 不同的 URL (名詞) 達成不同的資料 (表徵) 呈現方式,

REST 圖像化概念

請參考下圖:

圖片來源:連結1 連結2

例如:網址(透過URI)和網路裡的"資源"互動(狀態轉換),經由網址訪問每一個頁面。

REST 應用

Web Service包括SOAP(Simple Object Access Protocol)
REST(Representational State Transfer)等方案,

目前有很多著名的 Web Service 都是遵循 REST 的理念進行設計,

像是 Amazon AWS、 Facebook、Yahoo Web Service、 Google Web Service 等等。

REST 與前端的關係?

REST概念也變成API 的主流,比起SOAP 的複雜,
REST 在設計上更加簡單且直覺,
而藉由 URL 與不同的HTTP Method指定操作或再配合 JSON 或是少量的 XML,即可獲得資料,實作以上內容的服務稱為RESTful web service

圖片來源

透過RESTful web service可以獲得後端所提供的服務,

讓前端和後端的工程師能夠分工,各自發揮更大的效益。

參考資源

WIKI-REST
http://zh.wikipedia.org/wiki/REST

淺談 REST 軟體架構風格 (Part.I) 從了解 REST 到設計 RESTful!
http://blog.toright.com/posts/725/representational-state-transfer-%E8%BB%9F%E9%AB%94%E6%9E%B6%E6%A7%8B%E9%A2%A8%E6%A0%BC%E4%BB%8B%E7%B4%B9-part-i-%E5%BE%9E%E4%BA%86%E8%A7%A3-rest-%E5%88%B0%E8%A8%AD%E8%A8%88-restful%EF%BC%81.html

RESTful 介面實作示範
http://blog.roodo.com/rocksaying/archives/10568163.html

什麼是REST跟RESTful?
http://ihower.tw/blog/archives/1542

什麼是 RESTful?
http://ihower.tw/rails3/restful.html

理解RESTful架構
http://www.ruanyifeng.com/blog/2011/09/restful.html

Java 與 REST 的邂逅(一)淺談 Jersey 及 JAX-RS
http://www.codedata.com.tw/java/java-restful-1-jersey-and-jax-rs

Web 服務編程,REST 與 SOAP
http://www.ibm.com/developerworks/cn/webservices/0907\_rest\_soap/

REST vs. SOAP
http://www.vaikan.com/rest-in-peace-soap/

[Architecture] 孰輕孰重?Web Service vs. REST APIs
http://www.dotblogs.com.tw/regionbbs/archive/2011/08/28/web.service.vs.rest.api.aspx

Web Service & SOA & REST
http://www.dotblogs.com.tw/halladay/archive/2012/07/18/73479.aspx


上一篇
Day21– 前端小字典三十天【每日一字】– Paas
下一篇
Day23– 前端小字典三十天【每日一字】– Parallax Scrolling
系列文
前端小字典三十天【每日一字】30

尚未有邦友留言

立即登入留言