国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

互聯網創業的準備--框架:從MVC到開放API

開發 項目管理
MVC是傳統web服務的常用框架,直到出現新的需求:私有API、開放API,還有業務龐大后進行soa拆分,這就需要新的框架了。

MVC是傳統web服務的常用框架,直到出現新的需求:私有API、開放API,還有業務龐大后進行soa拆分,這就需要新的框架了。

關于MVC,有一個經典講解:http://www.symfony-project.org/jobeet/1_2/Doctrine/zh_CN/04

對這張圖進行修改和細化:

1、controller只支持http(s),不支持cli命令行

http參數的獲取和cli完全不一樣,web服務用不上cli,所以只支持http(s)。

2、一個uri應只支持一種http method

從安全和http規范兩個方面來說,一個uri應只支持一種http method,不能讓一個請求即支持get又支持put、post,所以在controller中的每個action都要指定一種http method,如果請求不符合method,返回錯誤。

安全:假如修改個人簽名的頁面提交地址為http://example.com/user/status,參數為content=xxxx,用戶請求時驗證本人cookie即可。這個頁面接口應該只支持post,如果同時支持get,會出現什么問題?user 1發表了一張圖片<img src="http://example.com/user/status?content=某商城促銷,地址xxxxx" alt="" />,很明顯這張圖片是無法顯示的。當user 1的所有好友user 2、user 3看到這張圖片時,瀏覽器嘗試載入圖片,就會自動把user 2、user 3的簽名改成廣告。這就是典型的sns攻擊的原理。

http規范:http://book.douban.com/subject/3094230/

3、MVC各層職責與禁止

index.php:職責——作為入口——根據路由規則,把uri請求映射到某個controller;作為出口——接收controller層返回的數據,然后輸出

controller:職責——取http數據$_GET、$_POST、put、delete,然后作為參數傳遞給model層,把model層返回的數據傳遞給view層。一個uri只支持一種http method。禁止——使用$_REQUEST。

model:職責——處理業務,向下調用dao(數據訪問對象),由于不知道下層用的是什么sql,所以無法寫sql。禁止——寫SQL,取http數據($_GET、$_POST)。

dao:職責——根據原子業務,封裝各種存儲(mysql、pgsql、mongodb、hbase、memcache、redis、file)。確保當從mysql遷移到pgsql時,對外接口輸入和輸出不變。禁止——對外暴露用的是什么sql。

view:職責——只對數據進行顯示格式處理。禁止——業務邏輯。

4、輸出

頁面返回html,訂閱是atom。

5、異常

經過了PP面向過程的初級階段,進入中等階段class + return false的OOP,再進入高級階段class + exception的徹底OOP,就會發現OOP的簡潔易于維護。

Exception從底層說起比較清晰。

dao:catch 數據庫異常(php是PDOException),throw 自定義錯誤碼DaoException(打詳細log,這種數據庫錯誤應由log平臺發出警報給工程師)。

model:catch DaoException,throw 自定義錯誤碼ModelException。

controller:catch ModelException、catch所有Exception,return http狀態碼、content-type、數據、模板名稱。如果是http狀態碼是302,還需要return uri。

index.php:index.php作為出口,接收到controller傳來的結果,header輸出http狀態碼,根據http status code決定是跳轉還是輸出,根據content-type決定是輸出html、json還是atom。

todo參考:《錯誤碼與狀態碼》

細化之后如下圖:

todo細化:view層之多模板templates、view層之多layout與模塊化、bigpipe

MVC框架細化到這個程度,能很好的支持傳統web服務,直到出現了新的挑戰:

1、移動互聯網的需求,官方app需要api(開放或私有):iPhone、Android智能手機逐漸普及,在手機上使用互聯網服務更方便,各公司推出官方手機app,需要api。

2、開放帳號和數據的需求,第三方app需要api(開放):隨著sns的興起,各大sns社區發現開放數據給開發者app,能夠形成生態圈,能夠盈利,OAuth這種授權方案流行了起來。開放的數據如果屬于用戶,那需要先開放帳號,用戶登錄授權第三方app獲得頭像、好友列表。如果是地圖這種自有數據,則無需開放帳號。

3、開放帳號的需求:為什么到各個網站都要重新注冊呢?于是出現了OpenID,但是使用不夠方便,小白不容易理解,而且OpenID只做認證,各公司如果支持OpenID沒有什么額外的價值。后來各社區開放數據時,采用了OAuth,OAuth用于授權也包含了類似OpenID的認證功能。所以現在流行用OAuth登錄,而不是OpenID。比如在別的網站上或者app里“用Google帳號登錄”、“用微博帳號登錄”、“用QQ帳號登錄”并且授權導入頭像。

4、業務龐大后,按照soa進行拆分,也會面臨跨產品線(服務)如何內部調用的問題。參考淘寶的數據拆分演進。

框架進化如下:

soa服務拆分,內部各產品線之間如何調用數據?

即使只有1個業務,比如一個web提供服務,Android、iPhone app也提供服務,那web和外網api如何調用共同的底層?

用http?

因為web工程師經常接觸“外網遠程調用”,大家都比較熟悉:以前是SOAP(http + xml),現在是https + json、https rest + json。

在“內網遠程調用”使用http + json不可以嗎?

雖然內網外網都是RPC,但外網要求:安全第一、性能第二;而內網要求:性能第一、內網無需考慮安全。

用http是很簡單,大家都熟悉無學習成本,http比https性能高一些,但性能還是太低,因為http是應用層,調用傳輸層的tcp,而socket是tcp的封裝接口,所以socket比http性能高很多。todo參考《http與socket性能比較》。

Facebook很早就發現這個問題,開發了socket協議的跨語言遠程服務調用框架,這就是thift,2008年進入Apache開源項目。

而國內普遍落后一些,某博用http,因為性能低,就在web層加了memcache以保證性能。

類似的內部遠程調用框架還有:Google Protocol Buffers。

todo:《php thrift》

參考資料:

http://www.symfony-project.org/jobeet/1_2/Doctrine/zh_CN/04

http://www.yiiframework.com/doc/guide/1.1/zh_cn/basics.mvc

http://www.biaodianfu.com/oauth-openid.html

http://zh.wikipedia.org/wiki/OAuth

http://zh.wikipedia.org/wiki/OpenID

http://www.ibm.com/developerworks/cn/java/j-lo-apachethrift/

http://blog.csdn.net/wdwbw/article/details/5336799

原文鏈接:http://www.cnblogs.com/sink_cup/archive/2012/09/19/mvc_rpc_thrift.html

責任編輯:林師授 來源: 博客園
相關推薦

2012-09-19 15:23:06

2012-09-18 13:41:09

2012-09-18 13:58:58

互聯網創業架構

2012-09-18 13:47:54

互聯網創業云主機

2012-09-18 13:55:02

互聯網創業數據備份

2012-09-18 13:24:10

互聯網創業項目

2012-09-18 13:34:27

互聯網創業帶寬

2012-07-08 20:59:35

移動互聯網創業

2014-01-15 14:35:35

云計算

2015-05-28 16:11:07

互聯網+

2013-09-11 11:46:06

騰訊云互聯網創業

2013-09-12 14:20:06

騰訊云騰訊

2023-04-19 14:20:13

2012-09-24 09:14:01

互聯網云計算數字北京

2012-09-18 11:10:05

互聯網創業項目

2025-12-08 08:08:37

2012-12-31 09:50:12

互聯網創業創業者創業

2015-07-21 17:19:55

用友iUAP

2023-05-23 15:08:45

2015-11-11 08:53:49

互聯網+用戶
點贊
收藏

51CTO技術棧公眾號

av最新地址| 亚洲精品色婷婷福利天堂| 欧美激情综合| 三级成人黄色影院| 欧美日韩国产中文字幕在线| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 欧美午夜aaaaaa免费视频| 欧美日韩一区二区在线| 欧美激情精品久久久久久久变态 | 精品免费国产| 国产va免费精品高清在线观看| 欧美一级片在线| 日本免费久久| 2019中文字幕在线视频| 最新日本视频| 伊人网在线免费| 蜜桃视频成人| 欧美日韩综合精品| 亚洲国产精品字幕| 中文字幕亚洲综合久久菠萝蜜| 不卡的av在线播放| 国产成人亚洲精品狼色在线| 奇米影视7777精品一区二区| 亚洲欧洲日韩综合二区| 国产河南妇女毛片精品久久久| 外国成人在线视频| 99视频免费观看蜜桃视频| 三上悠亚国产精品一区二区三区| 日韩在线一区二区| 日韩av密桃| 精品久久久久久中文字幕大豆网| 欧美韩日一区二区三区四区| 国产综合久久久久影院| 粉嫩高潮美女一区二区三区| 另类图片国产| 亚洲欧美网站在线观看| 91精品亚洲| 91精品国产乱码久久久久久久| 要久久爱电视剧全集完整观看| 精品久久国产一区| 色8久久久久| 亚洲国产中文在线| 欧美日韩视频免费看| 日本亚洲视频| 国内精品美女在线观看| 亚洲国产精品第一区二区三区| 久久xxxx精品视频| 成人短视频下载| 一区二区中文视频| 自拍偷拍亚洲激情| 色婷婷久久一区二区三区麻豆| 精品成人私密视频| 最近2019年中文视频免费在线观看| 日本精品va在线观看| 国产在线精品自拍| 日韩免费av一区二区三区| 亚洲精品天堂成人片av在线播放 | 激情小说综合网| 国产69精品久久久久999小说| 成人女性文胸| 一区二区激情视频| 一级特黄大欧美久久久| 亚洲国产精品yw在线观看| 欧美国产日韩一区二区在线观看| 亚洲精品欧美日韩专区| 成人片在线免费看| 成年人午夜视频在线观看| 五月激情在线| 国产精品sss在线观看av| 国产一级精品在线| 制服丝袜激情欧洲亚洲| 欧美寡妇偷汉性猛交| av动漫免费观看| 亚洲s色大片在线观看| heyzo欧美激情| 国产激情视频一区二区三区欧美 | 亚洲国产精品一区二区久| 天天想你在线观看完整版电影免费| 色视频免费在线观看| 少妇性bbb搡bbb爽爽爽欧美| 69精品小视频| 中文字幕一区二区日韩精品绯色| 极品少妇一区二区三区精品视频| 亚洲国产va精品久久久不卡综合| 久久精品国产99国产精品澳门| 高清视频一区| 久久精品色图| 久久93精品国产91久久综合| 成人免费视频免费观看| 91精品国产综合久久久蜜臀粉嫩 | 色中色在线视频| 久久久久97| 国产精品卡一卡二卡三| www.日韩视频| 日韩精品久久一区二区三区| 丝袜足控免费网站xx网站| 在这里有精品| 国产日韩三级在线| 久久久影视精品| 国产一级粉嫩xxxx| 国产精品视频一区二区三区四蜜臂| 日韩码欧中文字| 国产精品久久久久久网站 | 国产911网站| 国产99久久久精品| 肉肉视频在线观看| 欧美中文一区二区| 欧美极品videos大乳护士| 美女精品久久| 亚洲天堂网中文字| 成人免费视频视频在| 亚洲天堂第一区| 国产高清自拍99| av午夜在线| 在线视频日韩| 日韩欧美国产精品| 中文字幕不卡免费视频| 精品久久久久久久免费人妻| 成人av一区| 久久人人97超碰国产公开结果| 亚洲第一av网站| 欧美极品欧美精品欧美| 日本久久成人网| 久久久噜噜噜久噜久久综合| 亚洲第一福利网| 国产精品一区二区免费在线观看 | 成人免费黄色网页| 青青草国产成人99久久| 久久国产加勒比精品无码| 色琪琪原网站亚洲香蕉| 在线精品国产| 国产午夜精品视频免费不卡69堂| 91xxxxx| 精品福利电影| 精品国产一区二区三区久久久| 国产天堂av| 久久99精品久久久| 成人妇女免费播放久久久| 五月花成人网| 国产精品免费观看视频| 好吊色欧美一区二区三区四区| av久久网站| 欧美日韩亚洲视频| 久久精品国产美女| 欧美人与牛zoz0性行为| 精品国产伦一区二区三区观看体验 | 国产精品国产自产拍高清av水多| sm捆绑调教国产免费网站在线观看| 亚洲精品视频在线观看免费| 日韩专区第三页| 国产精品社区| 日韩av电影在线免费播放| 精品麻豆一区二区三区| 尤物av一区二区| 国产一区不卡在线观看| 在线激情免费视频| 亚洲人成网站精品片在线观看| 亚洲一区二区三区免费看| 亚洲午夜伦理| 欧美一区视频在线| 亚洲精品大全| 精品亚洲一区二区三区| 精品999视频| 一区二区三区波多野结衣在线观看| 成人小视频在线观看免费| 久久久亚洲一区| 日本一区视频在线观看| 国产一区二区中文| 国产精品激情av电影在线观看| 久久91在线| 亚洲少妇30p| 黄色av电影在线观看| 国产视频1区2区3区| 在线欧美三区| 亚洲视频在线一区| 国产精品麻豆免费版| 国产精品一区二区中文字幕| 在线色欧美三级视频| 污视频在线观看免费| 欧美国产大片| 在线欧美日韩国产| 成人网18免费软件大全| 亚洲欧美aⅴ...| 在线视频1区| 在线中文字幕一区| 日本一极黄色片| 国产网站一区二区| 欧美aaa大片| 精品久久久久久久中文字幕| 你懂的在线网址| 欧美一级电影网站| 影音先锋男人资源在线| 精品久久久久久久久久ntr影视| 嫩草嫩草嫩草| 91成人免费电影| 国产三级电影在线观看| 精品magnet| 久久99久久99精品| 久久丝袜美腿综合| 亚洲男人网站|