1、WebService是利用HTTP管道實現了RPC的一種規范形式,放棄了對HTTP原生特征與語義的完備支持;而WebAPI是要保留HTTP原生特征與語義的同時實現RPC,但WebAPI的實現風格可以是千姿百態,RESTful只是實現了其中一種風格,你也可以定義一種風格,並實現
2、WebAPI相比WebService更為輕量級、靈活、優化好的情況下,性能更有優勢,但是對復雜或大型業務的描述與使用增加了無形的成本
3、WebAPI可以更好的利用HTTP與生俱來的特征,如:緩存、代理、安全、頭信息擴展,反之,部分實現方式WebService無法利用HTTP特征
4、本質上WebAPI與傳統模式的WebService都是實現RPC,遠程服務;傳統的WebService只是利用了HTTP通道,進行獨立的交互,但是這個交互協議可以移植到其他協議下運作,而WebAPI天生與HTTP依賴無法移植
5、WebService與WebAPI在80端口下工作,都可以繞開默認的網絡防火牆限制,因為默認下網絡防火牆對系統級端口與協議下的內容是開放的
6、WebService與RESTful WebAPI服務端都可以使用反射來實現自動化部署,只是前者更為容易,因為存在標准的規范,后者只是開發WebAPI的推薦風格,實現上需要自己來規范與描述,處理不兼容問題;WebAPI在無反射下的業務實現更為直觀接近MVC模式下的開發的應用,通用,性能更好、更為靈活,能夠直接利用HTTP的動態網頁技術開發接口與功能
7、WebAPI對於交互數據的格式沒有明確規定,使得其可以更好的使用在特定的軟件運行平台,但是需要開發者對各種格式的支持;傳統的WebService則要求使用服務的平台對數據格式強制適應,服務端的交互數據處理變得更加快捷容易,而增加了不同使用端的對服務交互困難度