REST webservice和普通servlet有什么区别?
简单的web服务只是一个等待请求和处理的网页。更容易理解的方法是网络。
服务可以将应用程序变成一个基本的基于WEB的请求和处理应用程序。两种常见类型
Web服务处理方法是:
A.基于WSDL/SOAP的方式
B.休息模式
模式A比较正统,客户端调用必须先获取WSDL文件,然后生成调用API。
要用。不是我要说的重点,基本调用流程如下:
模式B是一种Rest模式,Rest Web Service的设计原理基于CRUD,支持四种操作。
不要成为:
Get–获取信息/请求信息内容,大多数浏览器都使用它来获取信息。
后置——添加信息内容,显示之前的信息内容,可以看作是一个插入操作。
put–更新信息内容,相当于update。
删除——删除信息内容可视为删除。
如果HTTP协议本身在设计原则上是最Restful的,那么Rest模式更简单,更方便。
同意HTTP协议,很好的支持了CRUD的操作。正因为如此,从WEB2.0开始,基于
Restful Web服务越来越成为首选。
二:了解RestfulStyle风格
Rest的全称是RepresentationalState Transfer,从表面上看可能有点奇怪。
HTTP协议本身是一种无状态协议,通过设置请求头字段Connection: keep-alive和。
同时设置过期时间进行控制。其实Rest风格的WebService也是无状态的,好处最少。
有以下两种:
1.更好的负载平衡,减轻服务器端的负担。
2.更快的客户端响应和更少的不必要的状态检查。
Restful风格的兴起,得益于互联网巨头谷歌、脸书等,他们提供了大量基于Restful的
web服务的风格,从谷歌地图到天气预报再到翻译,国内互联网巨头腾讯和新浪微博也是如此。
发布自己的web服务,吸引更多开发者加入他们的阵营。Rest不仅满足基本的CRUD
除了设计原则之外,还应遵循以下惯例:
1.资源操作可以通过描述,也就是呈现来实现。
2.消息本身是无状态的,自描述的(传输支持XML和JSON)。
3.您可以发送和接收多个表示。
Rest风格架构原则:
1.客户端服务器模式
2.无状态协议传输
3.支持缓存
4.统一接口定义
5.分层系统设计
这样Rest的Web服务API就发布了,它的更改不会影响客户端程序和实现。如果你的系统
Rest风格的架构不能应用怎么办?重新设计一个新的架构,扩展Rest风格的架构。但是
CRUD是世界上大多数系统和应用程序必须要做的事情。
三。Rest和HTTP
如上所述,HTTP协议可能是最具Rest风格的协议,HTTP1.1是协议设计的一个原则。
需要实现Rest风格。所以毫无疑问,HTTP GET、POST、PUT、DELETE就是最好的证明。
但是Rest风格是否可以应用到其他协议和系统设计中,答案是肯定的,一个是最好的。
实例证明POP3协议支持读取数据记录、查询记录、更新记录和删除记录。
多么完美的Rest式协议啊。
现有的HTTP协议应用程序:
1.浏览器客户端(你天天上网,不是IE就是Chrome,或者其他浏览器你懂的)
2.即时消息、MSN/Skype支持
3.各种内容管理系统
4.博客系统和微博客户端应用。
5.可以加/?
Rest消息的详细解释:
1.它和我们现在知道的HTTP URI没什么区别,谷歌静态地图就是一个很好的例子。
只需给URL添加不同的参数来获取不同的地图内容。
2.它可以支持任何类型的数据传输,类似于基于XML和JSON的信息传输
更希望传输文本内容和结构化文本内容。
3.SOAP和XML-RPC有严格的消息格式限制,而rest没有消息格式要求。客户呼叫者
妈的!
Rest风格的Web服务的优势是显而易见的。一个好处是它简化了客户的呼叫,不再像WSDL。
那种麻烦。从而降低第三方开发者的学习成本,缩短学习曲线。有利于服务推广和普及
并且,吸引更多的用户,带来潜在的商业利益。
在软件即服务(SaaS-软件即服务)和软件即平台(PasS-平台
作为服务)有着重要的地位和应用。这正是那些互联网巨头感兴趣的Rest。
格雷格感兴趣的原因之一。
四:Rest风格架构
Rest风格可以用在非web系统设计和架构中吗/?答案是肯定的,Rest可以用在任何
在系统设计中,Rest本质上不是一种技术,而是一种架构原则,当然可以用来构造非。
网络系统。系统越大,越应该像Rest一样有风格,这才是成功的架构。
WEB中的面向对象编程
ExtJS、KendoUI(基于JQuery)等JavaScript库已经非常方便地支持从URL获取内容。
更新数据,前端设计倾向于更细致的分层设计,而不仅仅是MVC。客户
程序员更应该关注前台的用户体验,因为这些框架封装性和可扩展性都很好。
越来越多的语言编程如JavaScript引入了面向对象的概念和实践。毫不夸张地说,例如
今天的JavaScript编程和十年前有着本质的不同。