基礎工程師面試時,常用的技術問與答(三、常見的程式應用篇-下)REST-API

文、意如

續上一篇-基礎工程師面試時,常用的技術問與答(三、常見的程式應用篇-上)POST、GET、MVC架構

基礎工程師面試時,常用的技術問與答(二、資料庫應用SQL語法篇)

基礎工程師面試時,常用的技術問與答(一、基本程式邏輯基礎篇)


本篇要跟大家分享的是工程師面試筆試中主考官最愛考的題目,

也是在業界寫程式一定會要會的觀念及實作。

近年來的網頁請求資料方式、程式的開發風格大多都已經改成RESTful-API,

所以在面試時有非常大的機率一定會被問到什麼是REST-API ?

 

在了解REST-API之前我們必需先了解什麼是API,也就是應用程式介面(接口)的意思。如想要更詳細的了解什麼是API,請先參考文章-什麼是API?

簡單的來說我們可以透過一組密碼(API-token)來對後端寫好的API來進行資料庫的存取。

REST-API 與 API 最大差別在於請求的位址,

例如:存取會員資料,一定會有註冊新增會員、查詢會員資料、修改會員資料、刪除會員資料。

我們來看一下使用API時請求的位址

 

基本上看到請求位址(網址)就知道這支API大概要做什麼事情了,對於工程師來講算是方便識別功能,
但是對於有心人士,只要在你的網址後面加上一些SQL語法,很有可能你的資料庫就被入侵了。
 

所以現在大多網頁程式已經充分的利用HTTP所提供的協定,
讓請求網址顯示的資訊越少越好,自然就會大大減少被攻擊的機率。

所以若是以REST-API風格來開發時:

 

你會發現API請求的位址(網址)已經越來越簡單,大家都看起來都一樣,
但是其實都在做不一樣的事情,重點在於利用HTTP portocol協定中所的提供的(POST、GET、PUT、DELETE)來幫我們達到對資料庫的操作。

這個就是一般API與REST-API 比較大的差別。

‘‘ 而為什麼現在程式都要改成API/ REST-API模式呢? ‘‘

其實在手機、平板還尚未普及時,程式大多都是在網頁(web端)執行而已,

資料庫也只有web端在做存取,所以工程師也只要針對web端的程式開發就好。

但科技進步飛快,近幾年來手機(Android、IOS)越來越普及的狀況下,

為了符合市場的需求一支程式必需要提供三種裝置(Web、Android、IOS),來存取資料庫,

也就是我們現在看到的API出現,也慢慢演變進步成REST API。

 

 

對於工程師來說,因應現在與未來的趨勢,除了一定要了解什麼是API/Rest-API外,

更是要有能力可以去設計API/REST-API,所以這也是面試時必準備的考題之一。

Yiru@Studio - 關於我 - 意如