999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

校園社交網絡 API設計方法

2014-03-14 05:19:50仲瑋范軼代成琴
中國教育網絡 2014年6期
關鍵詞:校園資源用戶

文/仲瑋 范軼 代成琴

校園社交網絡 API設計方法

文/仲瑋 范軼 代成琴

近些年來,隨著社交網絡的發展,以校園信息服務為載體的校園社交作為一種新興媒介開始流傳起來。校園社交網絡基于社會網絡關系思想,將校園網作為平臺,實現了校園網內信息應用的社會化數據集成。

在校園社交網絡里,為廣大開發者和校園用戶提供開放數據的開發平臺至關重要。使用開發平臺提供的API(Application Programming Interface 應用程序接口)可以讓用戶無須通過Web接口就可以連接到校園社交網絡應用之中,并被允許在這個平臺上創建新的應用。使得Web、桌面、移動應用的多種操作成為可能,程序開發者的分工更加明確,降低了開發成本。因此,設計一個合理的API系統將有助于豐富校園網應用,構建以校園社交為核心的校園信息體系。

API設計方法

目前API的設計主要存在SOAP和REST兩種設計方案。前者基于SOA集成,表現了不同軟件構件之間通過各種過程或方法進行的交互,屬于面向服務架構;后者則將每個軟件構件看作一組數據庫表,屬于面向資源架構。由于REST具有輕量級應用、輸出人工可讀的結果集、易于構建、無需工具支持等優點, 目前各大互聯網廠商如Google、Twitter等多采取REST方案來構建API。

REST是英文Representational State Transfer(表述性狀態轉移)的縮寫,是近年來迅速興起的,一種基于HTTP、URI以及XML這些現有協議與標準的,針對網絡應用的設計和開發方式。它可以降低開發的復雜度,提高系統的可伸縮性。REST架構風格最初由Roy T. Fielding(HTTP/1.1協議專家組負責人)在其2000年的博士學位論文中提出, 其核心是可編輯的資源及其集合。每個資源或者集合有一個惟一的URI,系統以資源為中心,構建并提供一系列的Web服務。HTTP就是該架構風格的一個典型應用。從其誕生之日開始,它就因其可擴展性和簡單性受到越來越多的架構師和開發者們的青睞。

RESTFUL API設計理念

對于校園應用而言,良好的API設計可以提高校園第三方應用開發者的效率,易于用戶使用,并具有良好的擴展性。因此,我們的RESTFUL API設計方案應遵循以下基本原則:

1. 將系統上的所有事物都抽象為資源,每個資源對應惟一的資源標識;

2. 簡單直觀,將通用邏輯以組件的方式展示,遵循RESTful風格;

3. 開發人員友好性。API是一種為開發人員設計的產品,因此API的設計應對第三方程序開發者保持友好,如盡可能支持多種數據返回格式,在瀏覽器調試中易于輸入等;

4. 安全性。盡可能使用標準的安全協議,這樣在跨系統對接時會有更好的兼容性。同時充分考慮私有API的認證授權和安全控制,必要的API接口做好訪問頻率控制。

具體設計方案

校園社交網絡的主要用戶群體是校園師生用戶,均需通過校園統一身份認證進行登錄,因此API的身份驗證也應以此為基礎,通過分享用戶信息、社會關系、消息、頭像等方式將信息擴展到其他第三方系統。采用分層的方式對公共業務進行設計并提供有效的API供模塊通信。在REST風格中,資源標識結構和URI模式的設計與API設計一脈相承,其設計如圖1所示。

1.HTTP Method 是REST利用Http實現的對資源的CURD功能,它提供了一個操作資源的統一接口,包括GET/POST/PUT/DELETE等。對于任何資源的操作都應該對應到前面方法中。

2.REST被稱為面向資源的開發,這說明對資源的抽象是設計API的一個重要環節。{resources}用于表示校園社交網絡API系統的主體資源名,如用戶屬性、標簽、頭像、社會關系等,{action_ name}則用于抽象對于資源的操作,同時與HTTP Method相對應,根據HTTP請求實現不同的對象操作。

圖1 RESTFUL API的URI設計

社交網絡中的資源,在描述了某種事物的同時,有時還存在著一定的層次結構關系。比如,系從屬于某個學院,班級從屬于系;學生信息可以從屬于班級,也可以從屬于某個公寓。當資源有這種層次關系的時候,需要使用復合的URI模式來幫助開發者更好地理解和設計資源。

3.開發者在發送一個REST API的請求同時,針對相同的資源根據場景的不同可能會希望得到不同的返回形式。比如使用javascript時希望得到JSON的返回,而使用C++時可能希望得到XML的返回。為了提供這種完備的內容協商能力,在這里設計了{format}參數,使用URI的模式直接用于定義響應和請求中的資源表述格式。

4.參數。在API中URI應設計的盡量簡短,這里使用參數的方式用于結果過濾、排序、搜索、分頁等相關功能。但過多的參數會導致URL的可讀性變差,更有甚者,可能會導致URL過長,使得API請求無法執行。因此參數的設置應在合理的范圍內使用,必要時設置別名來代替常用的過濾、搜索請求。

URI是RESTFUL API設計中非常重要的一個環節,在通過URI定義好了資源與允許的操作之后,為實現RESTFUL API,還須在以下幾方面進行設計。

API出錯處理

REST架構的一個基本要求是保證操作語義的可見性,因此應正確地將API執行結果以及失敗的原因以HTTP狀態代碼的方式傳達給客戶程序,詳細描述操作是否成功、如果出錯原因是什么,并采取相應的后續動作。API的錯誤碼可以分為客戶端錯誤和服務器端錯誤兩部分。API應該至少將所有的客戶端錯誤以json形式返回。如圖2所示。

API緩存處理

API的緩存處理是提高API使用效率的重要措施。包括model查詢結果緩存、URL頁面緩存、類對象緩存等。最簡單的方式可以采用HTTP自帶的緩存框架。HTTP 頭中有“Cache-control”字段來控制如何使用緩存,常見的取值有 private、no-cache、max-age、must-revalidate 等。

還有一種緩存方案,即通過支持條件請求與電子標簽ETag來處理緩存。當用戶請求數據內容時,系統在返回數據的同時,在HTTP頭中,將返回根據服務器內容的最后修改時間Last-Modified,或者根據服務器內容生成電子標簽ETag。當用戶再次請求數據時,就可以在HTTP請求中使用If-Modified-Since或者If-None-Match 頭信息,把上次請求得到的時間戳或者電子標簽傳給服務器。當收到一個有條件請求的HTTP頭的REST請求的時候,我們的程序需要將收到的時間戳或者電子標簽與當前內容作比較,就可以很容易地知道用戶請求的數據內容在這段時間是否發生過修改,并根據比較結果返回給用戶最新內容,或者用HTTP響應碼304告知用戶,內容沒有變化。

RESTful API的安全設計

圖2 json形式錯誤信息返回示例

安全設計是API設計中不可回避的一項工作,在這里我們使用OAuth協議用于身份認證。校園社交網絡的API相當于授權外部應用訪問社交網絡站內資源,OAuth協議正適用于此。OAuth協議將與校園網已建設的統一身份認證系統相結合最終為面向最終用戶維度的API提供授權。對于身份認證之后的安全控制則主要通過應用控制,采用基于角色的方式來實現資源的訪問授權。

除了OAuth認證,還可以輔助使用其他的安全措施。比如對全部參數進行簽名防止篡改;在請求中增加一次性的Token,或者短時間內有效的Token;對內容加密防止數據泄露等等。

隨著云計算和移動計算的興起,許多企業愿意在互聯網上共享自己的數據、功能,對于校園社交網絡也是如此。開放API是大勢所趨,通過使用API,開發人員將可很方便地訪問社交網絡中的的海量內容,可以以編程的方式訪問一個特定用戶的信息,使得信息的傳遞存在了無限可能性。

RESTFUL API是校園社交網絡系統的基礎構架,因此在設計時需要從整個社交網絡設計的高度進行思考。REST把軟件架構的概念與網絡架構的概念相互結合起來,使得之成為可測量的分布式系統的理想狀態,提高了信息數據的處理能力和通訊效率。

(作者單位為哈爾濱工業大學網絡與信息中心)

OpenSSL漏洞安全提示

OpenSSL是當今應用最廣泛的加密軟件之一,因此漏洞影響的范圍非常廣泛,幾乎包括所有利用openssl組件來實現ssl功能的服務,具體有:

1. 使用Apache及Nginx兩款軟件的https服務(tcp 443端口);

2. 使用ssl協議的加密pop3(tcp 995端口),加密SMTP(tcp 465端口)、IMAP(tcp 994端口)的郵件系統;

3.使用ssl協議并使用openssl做組件的vpn(tcp 443端口及1194端口)設備;

4.使用ssl協議的加密及時通訊XMPP(tcp 5222端口);

5.其他基于openssl組件開發的應用加密程序,如在線交易程序等;

需要說明的是,這個漏洞會泄露系統中原本加密的用戶名和密碼,并且即便被攻擊過也不會在系統上留下任何痕跡,因此如果您的系統使用openssl來加密登錄過程的話,除了要及時安裝補丁程序外,還需要對攻擊帶來后續影響進行評估。根據我們的檢測,只要您的系統存在該漏洞并且不是補丁發布后馬上進行升級的,十之八九都被攻擊者光顧過了,為安全起見建議通知從漏洞出現(4月7日晚)到您系統升級完后這段時間里登錄過系統的用戶更改密碼,避免賬號被他人利用。

(供稿:鄭先偉)

猜你喜歡
校園資源用戶
基礎教育資源展示
一樣的資源,不一樣的收獲
資源回收
資源再生 歡迎訂閱
資源再生(2017年3期)2017-06-01 12:20:59
校園的早晨
琴童(2017年3期)2017-04-05 14:49:04
春滿校園
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
開心校園
主站蜘蛛池模板: 午夜激情福利视频| 精品无码国产一区二区三区AV| 成年人视频一区二区| swag国产精品| 毛片免费在线视频| www.99精品视频在线播放| 91网站国产| 国产麻豆va精品视频| 婷婷综合亚洲| 爆乳熟妇一区二区三区| 一级毛片免费不卡在线视频| 2020亚洲精品无码| 真人免费一级毛片一区二区| 浮力影院国产第一页| 亚洲综合18p| 中国一级特黄大片在线观看| 欧美日韩中文国产| 日韩二区三区无| 91丝袜美腿高跟国产极品老师| 任我操在线视频| 婷婷色中文网| 久久夜夜视频| 亚洲日本韩在线观看| 国产丝袜第一页| 91久久偷偷做嫩草影院| 在线观看国产精品第一区免费 | 日本国产精品一区久久久| 四虎精品国产AV二区| 黄色成年视频| 欧美日本一区二区三区免费| 国产一区免费在线观看| 亚洲欧洲日产国产无码AV| 99热线精品大全在线观看| 亚洲午夜国产片在线观看| 中文字幕1区2区| 欧美a在线视频| 国产精品护士| 国产福利在线观看精品| 亚洲av无码成人专区| A级全黄试看30分钟小视频| 亚洲视频一区在线| 欧美成人在线免费| 亚洲中文在线看视频一区| 亚洲精品手机在线| 亚洲国产成人在线| 日韩av在线直播| 99久久人妻精品免费二区| 大陆精大陆国产国语精品1024| 亚洲a级在线观看| 国内精品免费| 成人一级免费视频| 午夜啪啪福利| 国产99精品久久| 无码AV高清毛片中国一级毛片| 国产微拍精品| 色偷偷av男人的天堂不卡| 好久久免费视频高清| 国产www网站| 久久夜色精品国产嚕嚕亚洲av| 亚洲精品天堂在线观看| lhav亚洲精品| 国产黄视频网站| 日本午夜影院| 日韩成人午夜| 四虎亚洲精品| 日本少妇又色又爽又高潮| 日本一区高清| 蜜桃视频一区二区三区| 91精品国产91久无码网站| 波多野结衣一区二区三区四区视频 | 中文字幕中文字字幕码一二区| 黄色网站不卡无码| 福利在线免费视频| 亚洲中文精品久久久久久不卡| 成人毛片在线播放| AV熟女乱| 国产91高清视频| 尤物特级无码毛片免费| 免费一级毛片完整版在线看| 国产欧美视频一区二区三区| 在线观看国产一区二区三区99| 亚洲无码A视频在线|