知道RESTful架构澳门美高梅手机网站

进一步多的人开首察觉到,网站即软件,而且是一种流行性的软件。

一、定义

PendingIntent表示待定、等待、即将暴发的意味。Intent表示的是当时发出。

PendingIntent的首要措施:

澳门美高梅手机网站 1

int requestCode:表示请求码,跟intent是一律的。

int flags:常见的种类

FLAG_ONE_SHOT:当前描述的PendingIntent只可以被运用四遍,同品种的公告栏只可以选拔三回,后续的文告栏单击后将无法打开。

FLAG_NO_CREATE:当以前的PendingIntent不设有,则赶回null(基本用不到)

FLAG_CANCEL_CURRENT:倘诺PendingIntent已存在,都会被cancel,然后系统创设一个新的PendingIntent。

FLAG_UPDATE_CURRENT:假使PendingIntent已经存在,则他们都会被更新,就是Intent中的extra都会被更新。

REST这个词,是Roy Thomas
Fielding
在他2000年的大学生杂文中提出的。

二、结合通知栏描描述

1.在Notification中有manager.notify(1,notification);即使首个参数id是常量,很多次调用notify方法,只会交替掉后面的notification。

倘诺参数id不为常量,PendingIntent才有意义。

FLAG_ONE_SHOT:当单机任何一条公告,其他的关照无法利用

FLAG_CANCEL_CURRENT:唯有新型的通报可以打开,从前弹出的有所文告不可能打开

FLAG_UPDATE_CURRENT:事先弹出的通知中的PendingIntent会被更新。

 

Fielding将她对互连网软件的架构原则,定名为REST,即Representational State
Transfer的缩写。我对这一个短语的翻译是”表现层状态转化”。

所谓”资源”,就是互连网上的一个实体,或者说是互联网上的一个现实音信。它可以是一段文本、一张图片、一首歌曲、一种服务,不问可知就是一个有血有肉的骨子里。你可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的URI。要博取这么些资源,访问它的URI就足以,因而URI就成了每一个资源的地点或独一无二的识别符。

  (3)客户端通过多少个HTTP动词,对服务器端资源开展操作,达成”表现层状态转化”。

六、综述

二、名称

因为不一样的版本,可以了然成同一种资源的例外表现方式,所以应当接纳同一个URI。版本号可以在HTTP请求头音信的Accept字段中展开区分(参见Versioning
REST
Services
):

另一个设计误区,就是在URI中插足版本号:

所谓”上网”,就是与互连网上一层层的”资源”互动,调用它的URI。

假定某些动作是HTTP动词表示不了的,你就相应把动作做成一种资源。比如网上汇款,从账户1向账户2汇款500元,错误的URI是:

  POST /transaction HTTP/1.1
  Host: 127.0.0.1
  
  from=1&to=2&amount=500.00

澳门美高梅手机网站 2

客户端用到的一手,只好是HTTP协议。具体来说,就是HTTP协议里面,三个象征操作方法的动词:GET、POST、PUT、DELETE。它们各自对应三种基本操作:GET用来收获资源,POST用来新建资源(也可以用来创新资源),PUT用来更新资源,DELETE用来删除资源。

五、状态转化(State Transfer)

Fielding是一个丰硕关键的人,他是HTTP协议(1.0版和1.1版)的重中之重设计者、Apache服务器软件的小编之一、Apache基金会的首先任主席。所以,他的那篇论文一经刊载,就挑起了关注,并且及时对网络支付发生了长远的影响。

“本文探究总计机科学两大前沿—-软件和网络—-的交叉点。长时间以来,软件探究重大关怀软件设计的归类、设计格局的嬗变,很少客观地评估区其他安插性采取对系统行为的熏陶。而相反地,网络研商重大关切系统里面通讯行为的细节、怎样改进特定通讯机制的显示,平常忽视了一个真情,那就是改变应用程序的互动风格比变更互动协议,对完全显示有更大的熏陶。我那篇小说的编写目标,就是想在符合架构原理的前提下,领会和评估以互联网为底蕴的行使软件的架构设计,得到一个功用强、品质好、适宜通讯的架构。”

(This dissertation explores a junction on the frontiers of two
research disciplines in computer science: software and networking.
Software research has long been concerned with the categorization of
software designs and the development of design methodologies, but has
rarely been able to objectively evaluate the impact of various design
choices on system behavior. Networking research, in contrast, is
focused on the details of generic communication behavior between
systems and improving the performance of particular communication
techniques, often ignoring the fact that changing the interaction
style of an application can have more impact on performance than the
communication protocols used for that interaction. My work is
motivated by the desire to understand and evaluate the architectural
design of network-based application software through principled use of
architectural constraints, thereby obtaining the functional,
performance, and social properties desired of an architecture. )

  (1)每一个URI代表一种资源;

  POST /accounts/1/transfer/500/to/2

正确的写法是把动词transfer改成名词transaction,资源不能够是动词,不过可以是一种服务:

  http://www.example.com/app/1.0/foo

  http://www.example.com/app/1.1/foo

  http://www.example.com/app/2.0/foo

三、资源(Resources)

RESTful架构,就是当前最流行的一种网络软件架构。它结构清晰、符合标准、易于驾驭、增添方便,所以正获得更为多网站的采用。

URI只表示资源的实业,不表示它的格局。严峻地说,有些网址最终的”.html”后缀名是不须求的,因为那几个后缀名表示格式,属于”表现层”范畴,而URI应该只象征”资源”的岗位。它的具体表现方式,应该在HTTP请求的头音讯中用Accept和Content-Type字段指定,那多少个字段才是对”表现层”的叙述。

互连网通信协议HTTP协议,是一个无状态协议。那意味着,所有的气象都保存在劳动器端。因而,如若客户端想要操作服务器,必须经过某种手段,让服务器端暴发”状态转化”(State
Transfer)。而那种转化是确立在表现层以上的,所以就是”表现层状态转化”。

七、误区

澳门美高梅手机网站 3

  (2)客户端和服务器之间,传递那种资源的某种表现层;

“资源”是一种消息实体,它可以有种种外在表现形式。大家把”资源”具体表现出来的花样,叫做它的”表现层”(Representation)。

若果一个架构符合REST原则,就称它为RESTful架构。

比喻来说,某个URI是/posts/show/1,其中show是动词,这么些URI就筹划错了,正确的写法应该是/posts/1,然后用GET方法表示show。

诸如,文本可以用txt格式表现,也得以用HTML格式、XML格式、JSON格式表现,甚至足以选用二进制格式;图片可以用JPG格式表现,也可以用PNG格式表现。

他那样介绍论文的行文目标:

澳门美高梅手机网站,走访一个网站,就代表了客户端和服务器的一个相互进程。在这几个进度中,势必涉及到数量和景况的扭转。

只是,到底怎么是RESTful架构,并不是一个便于说了解的题材。上面,我就钻探自己知道的RESTful架构。

最普遍的一种设计不当,就是URI包蕴动词。因为”资源”表示一种实体,所以应当是名词,URI不应有有动词,动词应该置身HTTP协议中。

RESTful架构有部分出类拔萃的筹划误区。

四、表现层(Representation)

  Accept: vnd.example-com.foo+json; version=1.0

  Accept: vnd.example-com.foo+json; version=1.1

  Accept: vnd.example-com.foo+json; version=2.0

那种”互连网软件”选取客户端/服务器形式,建立在分布式系列上,通过网络通讯,具有高延时(high
latency)、高并发等特性。

REST的称号”表现层状态转化”中,省略了主语。”表现层”其实指的是”资源”(Resources)的”表现层”。

归纳上边的演讲,我们总计一下什么是RESTful架构:

网站开发,完全可以运用软件开发的形式。可是传统上,软件和网络是多个例外的领域,很少有混合;软件开发首要针对单机环境,互联网则根本探讨系统里面的通讯。互连网的勃兴,使得那多少个世界先导融合,现在大家不可能不考虑,怎么着开发在互联网环境中运用的软件。

要通晓RESTful架构,最好的方法就是去领略Representational State
Transfer那几个短语到底是哪些看头,它的每一个词代表了怎么着涵义。如果您把那一个名称搞懂了,也就不难体会REST是一种何等的安排性。

一、起源

发表评论

电子邮件地址不会被公开。 必填项已用*标注