REST webservice和普通servlet有什么区别?

一:Web服务的基础知识

简单的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编程和十年前有着本质的不同。