<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      REST 入門介紹

      dudu的 HttpClient + ASP.NET Web API, WCF之外的另一個選擇 討論的人很多,說明RESTful API也開始在.NET 社區(qū)中得到重視,其中的回復(fù)有很多對REST不正確的觀點。REST(REpresentational State Transfer)的概念提出已超過10年,不知不覺間已成當(dāng)今設(shè)計開放式API的主流。或許大家手邊的.NET系統(tǒng)整合都還是使用WCF(甚至Web Service)進行跨主機溝通,但是當(dāng)微軟在ASP.NET MVC 4 Beta里也開始推廣REST架構(gòu)的ASP.NET Web API。如果沒有先了解 RESTful,那接下去的內(nèi)容還真有點硬,像是專業(yè)名詞,例如,你在 ASP.NET Web API 文件中可以看到大量的 Resource (資源) 這個單字,URI 我還能理解,跟 Resource 有什么關(guān)系?

      關(guān)于REST及RESTful的概念,已有不少文章介紹,這里整理幾篇我覺得不錯的參考:

      • 維基百科的定義: REST
      • 什么是REST跟RESTful? REST理論的中文詳述,其中你可以了解到WCF Restful屬于RPC 樣式的 Web 服務(wù),ASP.NET Web API屬于RESTful Web 服務(wù)。
      • 深入淺出REST InfoQ的專文介紹,文中甚至有Roy T. Fielding當(dāng)年REST博士論文的中文翻譯鏈接。另外值得一提的,大家可能沒聽過Roy Fielding的大名,但如果得知他是HTTP規(guī)格的主要作者及Apache HTTP Server項目的發(fā)起人之一,應(yīng)該不會有人懷疑他在Web技術(shù)領(lǐng)域的分量。

      上面的文章建議大家認(rèn)真的讀一下,這里我們簡要的介紹下REST 做入門介紹,理解整個 REST 能讓我們在 ASP.NET Web API 的路上更順暢。

      REST是什么?

      REST ( REpresentational State Transfer ),State Transfer 為 "狀態(tài)傳輸" 或 "狀態(tài)轉(zhuǎn)移 ",Representational 中文有人翻譯為"表征"、"具象",合起來就是 "表征狀態(tài)傳輸" 或 "具象狀態(tài)傳輸" 或 "表述性狀態(tài)轉(zhuǎn)移",不過,一般文章或技術(shù)文件都比較不會使用翻譯后的中文來撰寫,而是直接引用 REST 或 RESTful 來代表,因為 REST 一整個觀念,想要只用六個中文字來完整表達(dá)真有難度。

      REST 一詞的出于《Architectural Styles and
      the Design of Network-based Software Architectures》論文,我們先簡單從標(biāo)題來看,它應(yīng)該是一種架構(gòu)樣式 (Architectural Styles) 與軟件架構(gòu) (Software Architectures),而且是以網(wǎng)絡(luò) (Network-based) 為基礎(chǔ),重點就是:

      • 架構(gòu)樣式 (Architectural Styles)
      • 軟件架構(gòu) (Software Architectures)
      • 網(wǎng)絡(luò) (Network-based) 為基礎(chǔ)

      REST 本身是設(shè)計風(fēng)格而不是標(biāo)準(zhǔn)。REST 談?wù)撘患浅V匾氖拢绾握_地使用 Web標(biāo)準(zhǔn),例如,HTTP 和 URI。想要了解 REST 最好的方式就是思索與了解 Web 及其工作方式。如果你設(shè)計的應(yīng)用程序能符合 REST 原則 (REST principles),這些符合 REST 原則的 REST 服務(wù)可稱為 "RESTful web service" 也稱 "RESTful Web API"。"-ful" 字尾強調(diào)它們的設(shè)計完全符合 REST 論文里的建議內(nèi)容。

      資源 RESOURCE

      REST 中的資源 (Resource) 代表整個網(wǎng)絡(luò)上的資源。網(wǎng)絡(luò)上提供了各式各樣的資源,而網(wǎng)絡(luò)上的資源由 URI (統(tǒng)一資源標(biāo)識符,Uniform Resource Identifier) 來提供。
      回想,你如何連上我的 博客,你可能通過瀏覽器直接輸入  www.rzrgm.cn/shanyou 此域名來到達(dá)首頁,也能用書簽或網(wǎng)絡(luò)上的鏈接,經(jīng)點擊后來連上我的博客。然后,你想看這一篇名為「REST 入門介紹」的文章,所以以你接下去點擊這文章的標(biāo)題連結(jié),接去下閱讀。我們簡易了解一下整個流程:

      1. 通過URL ( http://www.rzrgm.cn/shanyou ) , Client 向 http://www.rzrgm.cn/shanyou 發(fā)出請求
      2. www.rzrgm.cn/shanyou 收到請求,回應(yīng)首頁給 Client
      3. Client 又點擊 REST 文章連結(jié)  (假設(shè)是 http://www.rzrgm.cn/shanyou/archive/2011/06/30/2095018.html) 向 http://www.rzrgm.cn/shanyou發(fā)出archive/2011/06/30/2095018.html  此篇文章的請求
      4. www.rzrgm.cn/shanyou  收到請求,響應(yīng) REST 文章內(nèi)容給 Client

      Client 的通過 URI 來獲取資源的具體象征 (Representational)。Client 取得這些具體象征使這些應(yīng)用程序轉(zhuǎn)變其狀態(tài) (以 瀏覽器而言,取得 HTML、CSS、JavaScript … 來生成界面),隨著不斷取得資源的具體象征, Client 端不斷地改變其狀態(tài),這樣不斷的反復(fù) (iterations ) 過程就是所謂的 Representational State Transfer。

      使用 WEB 標(biāo)準(zhǔn)

      上述是最接近日常的范例,這些行為在 HTTP 規(guī)范中稱之為 GET,也就是通過URL 來 GET 我想要的資源。另一常用的例子是填寫表單,例如,登入表單,我想進行登入動作,就必須先發(fā)送賬號與密碼給某一資源,此資源會驗證你所傳送的數(shù)據(jù)是否正確,再進行后續(xù)動作。我們發(fā)送信息給資源的行為在 HTTP 規(guī)范中稱之為 POST。
      HTTP/1.1 RFC 2616第 5.1.1 Method 一節(jié)定義了八大類 HTTP 方法,除了我們常用的 GET 與 POST 之外,在 REST 中常用的還有 PUT 與 DELETE。此 GET, POST, PUT, DELETE 正好可以對應(yīng)我們 CRUD (Create, Read, Update, Delete) 四種數(shù)據(jù)操作。

      HTTP Method 與 CURD 數(shù)據(jù)處理操作對應(yīng)

      HTTP方法

      數(shù)據(jù)處理

      說明

      POST

      Create

      新增一個沒有id的資源

      GET

      Read

      取得一個資源

      PUT

      Update

      更新一個資源。或新增一個含 id 資源(如果 id 不存在)

      DELETE

      Delete

      刪除一個資源

      RESTFUL WEB SERVICE

      RESTful Web Service (又稱 RESTful Web API) 是一個使用 HTTP 并符合 REST 原則的 Web 服務(wù)。我們知道,通過 URL 可以傳送 GET 請求,在 表單指定 method="GET|POST" 來送出請求。但我們要處理 PUT 或 DELETE 的請求呢?通過 RESTful 我們可以簡單 URI 來定義資源并和 HTTP 方法配合使用。

      Resource 與 HTTP 方法的對應(yīng)

      資源

      資源說明

      GET

      PUT

      POST

      DELETE

      http://www.rzrgm.cn/Products/

      Products是一組資源集合

      列出 該組資源集合中每個資源的詳細(xì)信息

      更新 當(dāng)前整組資源

      新增 或附加一個新資源。該操作傳回新資源的URL

      刪除 整組資源

      http://www.rzrgm.cn/Products/1

      Products/1是單個資源

      取得 指定的資源的詳細(xì)信息

      更新 或新增指定的資源

      新增 或附加一個新元素

      刪除 指定的元素

      以上表格有沒有很像我們一般在對數(shù)據(jù)庫表格的操作順序,進入一個 Table 的數(shù)據(jù)首頁 (通常是列表),此頁面會有「新增、更新、刪除、詳細(xì)」等連結(jié),你想進行什么操作,就點那一個連結(jié)。
      在 RESTful 每個資源有自己獨立的 URI, Client 從資源集合或單個資源開始進入,不管是資源集合或單個資源,我們都能與 HTTP 方法配合使用,例如,GET 下載,PUT 更新,POST 新增,DELETE 刪除。

      ASP.NET Web API 是一個框架(framework),能讓你在 .NET Framwork 之上架設(shè) HTTP 服務(wù) (HTTP Services)。ASP.NET Web API 是 .NET Framework 上構(gòu)建 RESTful 應(yīng)用程序的理想平臺。

      在 Julie Lerman's 的 How I see Web API 一文中,用了一張圖來簡明說明 Web API:

      webapi_4

      An Introduction to ASP.NET Web API

      posted @ 2012-05-12 07:44  張善友  閱讀(98288)  評論(23)    收藏  舉報
      主站蜘蛛池模板: 无码中文字幕人妻在线一区| 好紧好滑好湿好爽免费视频| 国产在线午夜不卡精品影院 | 亚洲日韩VA无码中文字幕| 无限看片在线版免费视频大全| 国产一区二区三区精品综合| 国产一区二区在线影院| 在线 欧美 中文 亚洲 精品| 婷婷五月综合激情| 91偷自国产一区二区三区| 日韩大片在线永久免费观看网站 | 建阳市| 熟妇人妻任你躁在线视频| 少妇被无套内谢免费看| 亚洲AV无码一二区三区在线播放| 人人妻人人澡人人爽人人精品av| 色综合中文字幕色综合激情| 麻花传媒在线观看免费| 国产欧美亚洲精品第一页在线| 亚洲综合久久一区二区三区| 国产人妻精品一区二区三区不卡 | 国产不卡精品视频男人的天堂| 欧洲精品免费一区二区三区| 国产一级老熟女自拍视频| 亚洲精品一区二区制服| 久青草国产在视频在线观看| 久久国产乱子伦免费精品无码| 日韩在线视频网| 欧美肥老太交视频免费| 亚洲一区二区三区在线播放无码| 国产人妻精品无码av在线| 美女一区二区三区亚洲麻豆| 亚洲国产精品久久久天堂麻豆宅男| 不卡AV中文字幕手机看| 97人妻免费碰视频碰免| 欧美老熟妇乱子伦牲交视频| 日韩中文字幕高清有码| 国产成人高清在线重口视频| 亚洲男女羞羞无遮挡久久丫| 亚洲色成人一区二区三区 | 亚洲一区精品视频在线|