在我们日常接触的网络中,对于非程序员来说主要关注的就是在网上找到自己需要的资料,但是对于开发者来说,主要关注的就是将结构和页面,以及功能的分离,但是如何划分这个结构呢,或许我们知道的有MVC框架,甚至在Java中还有别的框架,但是在今天,我将在这里介绍一种互联网框架,那就是restful框架,这是典型的将前后端的分离的典范,其作用相当于我们node-js的中间件,提供一个端口,将前后端进行连接。下面我将详述其机制。

restful框架的核心思想主要概括为以下两点,1.它指出所有出现在互联网中的东西都是资源,它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在。你可以用一个URI(统一资源定位符)指向它,每种资源对应一个特定的URI。要获取这个资源,访问它的URI就可以,因此URI就成了每一个资源的地址或独一无二的识别符。

2.每一个资源都有属于自己独有的路径,这个路径可以是我们的id也可以是method等等。其中这样的好处就在于我们在实现后台的时候不用在意前台的代码编写,从而使得前端开发更加灵活,能够保证早接口正确的情况下,便于页面的重构以及改版,能够不会影响整个页面。

现在使用这个框架的企业有淘宝和新浪等,特别是新浪,作为社交网站,通过使用restful框架,可以将本站的资源提供给第三方使用,主要是进行跨站访问,只要是存在于互联网中的任何资源,只要具有正确的地址,也就是说的id或者是url我们就能通过该地址进行访问,不管是同域还是跨站都可以。在这里就特别需要提到上面介绍的第二个核心思想,每个资源都有自己的独有的路径,在这里我们就像取文件一样,需要知道每个文件放置的位置和自身的名字,在这里资源也是同样的,为了给每一个资源分配数据,在这里的每一个资源都有自己独有的ip以便于被查找。

举个简单的列子来说明这个框架是怎样运行的,在资源中我们有一张表,表中有id,name,address或者别的信息,首先如果我们要访问这个资源,就需要得到这个资源的ip或者是method,加入其中规定了,get为查询该资源,post为发送请求,delete为删除,put为添加,接下来我们要访问这个资源的话,就首先输入ip号码。。。。。。。/get/emp/1这里就表示通过ip找到emp中id为1号的资源,我们只需要将get换为post,delete,put即可进行相应的操作,通过这样的方式可以有效管理我们的资源,避免前后端的混乱,更有利于实现缓存机制,便于下一次对相同资源的快速化访问。

在这里我们的restful 描述了一个架构样式的互联系统(如 Web 应用程序)。REST 约束条件作为一个整体应用时,将生成一个简单、可扩展、有效、安全、可靠的架构。由于它简便、轻量级以及通过 HTTP 直接传输数据的特性,RESTful Web 服务成为基于 SOAP 服务的一个最有前途的替代方案。用于 web 服务和动态 Web 应用程序的多层架构可以实现可重用性、简单性、可扩展性和组件可响应性的清晰分离。开发人员可以轻松使用 Ajax 和 RESTful Web 服务一起创建丰富的界面。

RESTful互联网框架的更多相关文章

  1. Jersey框架一:Jersey RESTful WebService框架简介

    Jersey系列文章: Jersey框架一:Jersey RESTful WebService框架简介 Jersey框架二:Jersey对JSON的支持 Jersey框架三:Jersey对HTTPS的 ...

  2. 配置restful webservice 框架restkit

    (配置restful webservice 框架restkit) RestKit 是一个开源的 objective-c 框架,容许在 iOS 和 Mac OS X 的 Objective-C 中与 R ...

  3. JAVA 中一个非常轻量级只有 200k 左右的 RESTful 路由框架

    ICEREST 是一个非常轻量级只有 200k 左右的 RESTful 路由框架,通过 ICEREST 你可以处理 url 的解析,数据的封装, Json 的输出,和传统的方法融合,请求的参数便是方法 ...

  4. IOS学习之路九(配置restful webservice 框架restkit)

    RestKit 是一个开源的 objective-c 框架,容许在 iOS 和 Mac OS X 的 Objective-C 中与 RESTful Web 办事进行交互,包含简单的 HTTP requ ...

  5. Springmvc+mybatis+restful+bootstrap框架整合

    框架整合: Springmvc + Mybatis + Shiro(权限) + REST(服务) + WebService(服务) + JMS(消息) + Lucene(搜搜引擎) + Quartz( ...

  6. 【企业级框架整合】Springmvc+mybatis+restful+bootstrap框架整合

    1. 使用阿里巴巴Druid连接池(高效.功能强大.可扩展性好的数据库连接池.监控数据库访问性能.支持Common-Logging.Log4j和JdkLog,监控数据库访问)2. 提供高并发JMS消息 ...

  7. jersery+jetty嵌入式restful的框架开发

    随着微服务的流程,越来越多的后台服务采用了restful api风格的开放API,jersery+jetty嵌入式变成了一个很好的选择, 我自己写了一个简单的框架,https://github.com ...

  8. 巧用 Jersey RESTful WebService框架解决文件上传乱码

    一.当我们使用jersey框架封装的restful进行文件上传时,会出现中文乱码,试用了过滤器设置编码都不管用.仔细想了很久解决办法,就用一个servelt来代替这个上传的restful接口实现上传的 ...

  9. Jersey RESTful WebService框架学习(六)接收MultivaluedMap类型参数

    现在的web开发中有些工程会觉得实体bean的架构会比较重,现在的持久层的框架的特点也层出不穷,核心思想的ORM在此基础上,提供了很多便捷操作,mybatis,jfinal(内部持久层框架)之类的也诞 ...

随机推荐

  1. Maven学习(1) - Maven入门

    home index:http://maven.apache.org/ download:http://maven.apache.org/download.cgi install: http://ma ...

  2. web.xml中的contextConfigLocation的作用

    在web.xml中通过contextConfigLocation配置spring,contextConfigLocation 参数定义了要装入的 Spring 配置文件. 如果想装入多个配置文件,可以 ...

  3. HDU-4089 Activation

    http://acm.hdu.edu.cn/showproblem.php?pid=4089 Activation Time Limit: 20000/10000 MS (Java/Others)   ...

  4. 51单片机的堆栈指针(SP)

    堆栈指针(SP,Stack Pointer),专门用于指出堆栈顶部数据的地址. 那么51单片机的堆栈在什么地方呢?由于单片机中存放数据的区域有限,我们不能够专门分配一块地方做堆栈,所以就在内存(RAM ...

  5. HDOJ/HDU 1073 Online Judge(字符串处理~)

    Problem Description Ignatius is building an Online Judge, now he has worked out all the problems exc ...

  6. Centos6.4 cobbler安装要点

    1,yum 安装cobbler rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm y ...

  7. (转)Linux中的文件描述符

    本文转自:http://blog.csdn.net/cywosp/article/details/38965239 作者:cywosp 1. 概述 在Linux系统中一切皆可以看成是文件,文件又可分为 ...

  8. Swift基本语法学习笔记

    Swift与OC的不同点 导入框架的方式 OC使用#import \<UIKit/UIKit.h> Swift使用import UIKit 定义标识符的方式 Swift中定义标识符,必须指 ...

  9. HTTP 返回时间 概念 TTFB..

    课外学习部分: 什么是TTFB呢? 1.TTFB (Time To First Byte),是最初的网络请求被发起到从服务器接收到第一个字节这段时间,它包含了 TCP连接时间,发送HTTP请求时间和获 ...

  10. 高性能、高流量Java Web站点打造的22条建议

    @http://www.csdn.net/article/2013-12-20/2817861-22-recommendations-for-building-effective-high-traff ...