rest api是什么?
一種軟件架構(gòu)風(fēng)格、設(shè)計(jì)風(fēng)格,而不是標(biāo)準(zhǔn),只是提供了一組設(shè)計(jì)原則和約束條件。它主要用于客戶(hù)端和服務(wù)器交互類(lèi)的軟件?;谶@個(gè)風(fēng)格設(shè)計(jì)的軟件可以更簡(jiǎn)潔,更有層次,更易于實(shí)現(xiàn)緩存等機(jī)制。
拓展內(nèi)容:
原則條件:
REST 指的是一組架構(gòu)約束條件和原則。滿(mǎn)足這些約束條件和原則的應(yīng)用程序或設(shè)計(jì)就是 RESTful。
Web 應(yīng)用程序最重要的 REST 原則是,客戶(hù)端和服務(wù)器之間的交互在請(qǐng)求之間是無(wú)狀態(tài)的。從客戶(hù)端到服務(wù)器的每個(gè)請(qǐng)求都必須包含理解請(qǐng)求所必需的信息。如果服務(wù)器在請(qǐng)求之間的任何時(shí)間點(diǎn)重啟,客戶(hù)端不會(huì)得到通知。此外,無(wú)狀態(tài)請(qǐng)求可以由任何可用服務(wù)器回答,這十分適合云計(jì)算之類(lèi)的環(huán)境??蛻?hù)端可以緩存數(shù)據(jù)以改進(jìn)性能。
定義規(guī)則:
REST中的資源所指的不是數(shù)據(jù),而是數(shù)據(jù)和表現(xiàn)形式的組合,比如“最新訪問(wèn)的10位會(huì)員”和“最活躍的10位會(huì)員”在數(shù)據(jù)上可能有重疊或者完全相同,而由于他們的表現(xiàn)形式不同,所以被歸為不同的資源,這也就是為什么REST的全名是Representational State Transfer的原因。
資源標(biāo)識(shí)符就是URI(Uniform Resource Identifier),不管是圖片,Word還是視頻文件,甚至只是一種虛擬的服務(wù),也不管你是XML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)子集)格式、txt文件格式還是其它文件格式,全部通過(guò) URI對(duì)資源進(jìn)行唯一的標(biāo)識(shí)。