谈谈自己对rest和RPC的理解

一、什么是rest

rest是一种架构风格,restful是遵循这种架构风格的应用程序或者设计。rest这种架构风格是美国一个博士在他的博士论文中提出来的,皆在于解决随着互联网的快速发展,传统的软件已经无法满足在这个时代背景下人们需求。在这个新的时代下,在这个万物互联的时代下,网络和软件这两个曾经单独存在的领域,已经无法在单独存在了,两者之间的交互和融合已经势在必行。rest架构风格就是在这样一个背景下被提出来的,他强调组件交互的可伸缩性、接口的通用性、组件的独立部署、以及用来减少交互延迟、增强安全性。

在以前,谈到互联网,想到的就是网站,网站成了互联网的代名词。但是在现在,互联网这一个伟大的发明正逐渐释放出他真正的潜力,不仅仅作用于浏览网站。但是不管怎么发展,本质上都是一个客户端和一个服务端的交互,这个本质我相信是改变不了的。客户端和服务端交互少不了http协议,这是一个标准,但这个标准有局限性,那就是他只定义了在客户端发出请求到服务端接受请求这一过程和服务端返回响应和客户端接受响应这一过程。(未完待续)

时间: 2024-08-29 23:38:28

谈谈自己对rest和RPC的理解的相关文章

谈谈我对Java中CallBack的理解

谈谈我对Java中CallBack的理解 http://www.cnblogs.com/codingmyworld/archive/2011/07/22/2113514.html CallBack是回调的意思,熟悉Windows编程的人对"回调函数"这四个字一定不会陌生,但是Java程序员对它可能就不太了解了."回调函数"或者"回调方法"是软件设计与开发中一个非常重要的概念,掌握"回调函数"的思想对程序员来说(不管用哪种语言)

谈谈我对mybatis和jpa的理解

其实要承认,一个东西用久了都会有习惯心理.mybatis和jpa,两个持久层框架.从底层到用法都不同.但是实现的功能是一样的.所以说一直以来颇有争议.常年混迹于各大qq技术交流群.见过jpa的死忠粉也见过mybatis的铁杆.作为一个不到两年工作经验的小菜鸟来说,你让我分析源码,讲什么底层实现我是讲不出来的.只能作为一个使用者,来谈谈自己对这两个框架的理解. 谈谈我对mybatis和jpa的理解首先,都知道jpa的前身是著名的ssh中的h-->Hibernate.我到现在还记得学习Hiberna

谈谈我对JS中this的理解

好吧,JS中,作用域.闭包和原型都说了,今天我们就谈谈this吧,this我更倾向于把它理解成为一个特殊变量,JS解释器在创建任何活动对象时(参考前面关于作用域的博文),都会创建一个this变量,并且将它指向一个对象(可编码干预).下面以代码为例进行讲解. 处于全局作用域下的this: this;/*window*/ var a = {name: this}/*window*/ var b = [this];/*window*/ 在全局作用域下,this默认指向window对象. 处在函数中的t

由SOAP说开去 - - 谈谈WebServices、RMI、RPC、SOA、REST、XML、JSON

引子: 关于SOAP其实我一直模模糊糊不太理解,这种模模糊糊的感觉表述起来是这样: 在使用web服务时(功能接口),本来我就可以通过安卓中固有的http类(使用http协议),来发送http请求,并且解析返回的数据(一般是xml或者json),得到我要的结果 为什么还非得多此一举使用soap呢,而且soap自己的介绍也说,它其实没有发明技术,它其实就是http+xml 在安卓中使用soap的方法是:(下载第三方类库),装配一个soap请求体,使用soap包装过的http类,通过http把请求体发

用Golang手写一个RPC,理解RPC原理

代码结构 . ├── client.go ├── coder.go ├── coder_test.go ├── rpc_test.go ├── server.go ├── session.go └── session_test.go 代码 client.go package rpc import ( "net" "reflect" ) // rpc 客户端实现 // 抽象客户端方法 type Client struct { conn net.Conn } // cl

谈谈我对闭包知识的深刻理解

在javascript中闭包应该是最难理解的一部分内容.在我看来闭包就是和作用域之间的联系. 1.首先我们来了解一下javascript中的作用域知识. javascript中的作用域其实就指的函数作用域,因为只有函数在javascript中才能形成区域范围.而函数作用域有一下特点. 1.1 函数能访问到外部的变量.案例一: var num = 123; function fn() { console.log(num);//输出的值为123 } fn(); 1.2 函数内的变量不能被外部访问到.

谈谈对一些软件架构设计箴言的理解 对软件的过早地优化是万恶的根源

http://www.nowamagic.net/librarys/veda/detail/1897在做项目的时候,有些同事总是提前考虑性能优化,需求变更又是一大堆的重写,让我想起了Donald Knuth 提到的:对软件的过早地优化是万恶的根源.这里就简单的说几条重要的软件名人哲学. 软件中唯一不变的就是变化 在软件开发过程中需求是不停的变化的,随着客户对系统的认识,和现有开发功能和软件的认识,也许一开始他提出的需求就是背离的.记得网上有一句笑话,是说需求变化的: 程序员XX遭遇车祸成植物人,

谈谈对一些软件架构设计箴言的理解

在做项目的时候,有些同事总是提前考虑性能优化,需求变更又是一大堆的重写,让我想起了Donald Knuth 提到的:对软件的过早地优化是万恶的根源.这里就简单的说几条重要的软件名人哲学. 软件中唯一不变的就是变化 在软件开发过程中需求是不停的变化的,随着客户对系统的认识,和现有开发功能和软件的认识,也许一开始他提出的需求就是背离的.记得网上有一句笑话,是说需求变化的: 程序员XX遭遇车祸成植物人,医生说活下来的希望只有万分之一,唤醒更为渺茫.可他的Lead和亲人没有放弃,他们根据XX工作如命的作

我对RPC的理解

1.简介 这篇文章将会用最直白的方式介绍RPC,以及实现RPC客户端的Ajax跨域调用的例子. RPC(Remote Procedure Call Protocol)--远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据.在OSI网络通信模型中,RPC跨越了传输层和应用层.RPC使得开发包括网络分布式多程序在内的应用程序更加容易. RPC采用客户机/服务器模式.请求程序就是一