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

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

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

      REST當中為什么要使用HTTP PUT

      REST(Representational State Transfer)是網絡服務接口的一種風格,并不是一個標準,就web service而言,REST要比SOAP(SOAP是標準,不是風格)輕量得多,容易得多。我記得我最初開始接觸web service的時候,所有的材料上來就是一大堆的名詞,SOAP, WSDL,看得頭都要大了,后來提出來的REST就容易理解得多,雖然目前SOAP在企業級的web service中還有一席之地,但是在公共的Internet上,不是REST的服務實在不好意思和人打招呼,我們經常可以看到評價某某服務是RESTful的,但是從來沒有聽說某某服務是SOAPful的 :-)
      微軟對REST的支持有點晚,自.NET3.5開始,WCF也可以提供RESTful接口。當然,REST不光限于web service,網頁服務也可以RESTful,微軟的ASP.NET MVC框架提供了直接的REST支持。

      因為REST只是風格,不是標準,所以有的方面容易有誤解,比如說創建和更新某個URI代表的資源的時候,是用HTTP的PUT還是POST命令。REST常用的四種HTTP命令,GET、DELETE、PUT和POST,對于GET和DELETE,一個是獲取資源,一個是刪除資源,沒什么異議,問題是PUT和POST,兩者都有更改指定URI的語義,那么,究竟是用哪一個呢?

      有的觀點認為,應該用POST來創建一個資源,用PUT來更新一個資源;有的觀點認為,應該用PUT來創建一個資源,用POST來更新一個資源;還有的觀點認為可以用PUT和POST中任何一個來做創建或者更新一個資源。這些觀點都只看到了風格,爭論起來也只是爭論哪種風格更好,其實,用PUT還是POST,不是看這是創建還是更新資源的動作,這不是風格的問題,而是語義的問題。

      REST是一種風格,但是還是依賴于HTTP協議,在HTTP中,PUT被定義為idempotent的方法,POST則不是,這是一個很重要的區別。

      “Methods can also have the property of "idempotence" in that (aside from error or expiration issues) the side-effects of N > 0 identical requests is the same as for a single request.”

      上面的話就是說,如果一個方法重復執行多次,產生的效果是一樣的,那就是idempotent的。

      舉一個簡單的例子,加入由一個博客系統提供一個Web API,模式是這樣http://superblogging/blogs/post/{blog-name},很簡單,將{blog-name}替換為我們的blog名字,往這個URI發送一個HTTP PUT或者POST請求,HTTP的body部分就是博文,這是一個很簡單的REST API例子。我們應該用PUT方法還是POST方法?取決于這個REST服務的行為是否是idempotent的,假如我們發送兩個http://superblogging/blogs/post/Sample請求,服務器端是什么樣的行為?如果產生了兩個博客帖子,那就說明這個服務不是idempotent的,因為多次使用產生了副作用了嘛;如果后一個請求把第一個請求覆蓋掉了,那這個服務就是idempotent的。前一種情況,應該使用POST方法,后一種情況,應該使用PUT方法。

      也許你會覺得這個兩個方法的差別沒什么大不了的,用錯了也不會有什么問題,但是你的服務一放到internet上,如果不遵從HTTP協議的規范,就可能給自己帶來麻煩。比如,沒準Google Crawler也會訪問你的服務,如果讓一個不是indempotent的服務可以用indempotent的方法訪問,那么你服務器的狀態可能就會被Crawler修改,這是不應該發生的。

      posted @ 2011-10-17 22:36  張善友  閱讀(16199)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲欧洲av一区二区| 天堂网av最新版在线看| 无码里番纯肉h在线网站| 国产av一区二区三区久久| 欧美另类精品xxxx人妖| 男人猛躁进女人免费播放| 久久久精品2019中文字幕之3| 久久精品不卡一区二区| 欧美成人精精品一区二区三区| 国内自拍第一区二区三区| 四虎在线成人免费观看| 黄色免费在线网址| 亚洲中文字幕日韩精品| 国产精品欧美亚洲韩国日本久久| 亚洲区激情区无码区日韩区| 国产片AV国语在线观看手机版| 桂阳县| 日本人妻巨大乳挤奶水免费| 国内精品国产三级国产a久久| 午夜视频免费试看| 亚洲av高清一区二区| 黑人av无码一区| 99精品国产成人一区二区| 国产亚洲精品超碰热| 国产精品久久香蕉免费播放| 中文字幕日韩精品亚洲一区| 国产精品揄拍一区二区久久| 亚洲综合一区二区三区| 极品无码国模国产在线观看| 激情久久综合精品久久人妻 | 一个色综合国产色综合| 久久99精品久久久学生| 在国产线视频A在线视频| 麻豆国产黄色一级免费片| gogogo高清免费观看| 在线视频中文字幕二区| 国产精品一起草在线观看| 亚洲粉嫩av一区二区黑人| 中国性欧美videofree精品| 久章草在线毛片视频播放| 国产精品久久人妻无码网站一区|