`
huangyiiiiii
  • 浏览: 117621 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

REST,让 web 变得更美好!

    博客分类:
  • web
阅读更多
What is Representational State Transfer (REST)?
Building Web Services the REST Way
Python Web Frameworks and REST
Dispatching in a REST Protocol Application
selector: a RESTful url dispatcher.
robaccia: a RESTful web framework. (yes, the mini web framework!)
wsgicollection: make robaccia even more RESTful.
use JSON RESTfully
Using REST with Ajax


  1. 什么是REST?
  2. REST是网络系统的一种 architecture style,我们的 web 便是这种 architecture style 一个好例子。万物皆资源,web便由这些资源所组成。每项资源都有其标识,即URL。当我们通过客户端访问一个URL,相应资源的一个 representation 便会返回。于是客户端的 state 便发生了改变。所以叫做 Representation State Transfer!而服务器不保存 state ,这使得客户端的请求是相对独立的,只要客户端的 state 不变,那么客户端的相同请求总是得到相同的 representation

  3. 设计 RESTful 的web服务的原则
    • 标识所有需要暴露的资源,

    • 为每一个资源设计URL,资源应该是名词而非动词,比如应该使用 http://www.parts-depot.com/parts/00345 而非 http://www.parts-depot.com/parts/getPart?id=00345

    • 根据用户能否修改还是只能查看资源对资源进行分类,前者只能进行 GET 请求,后者可以使用 POST、PUT 和/或 DELETE

    • 没用孤岛。所有资源的 representations 应该通过超链接联系起来


  4. 最后看点 代码

分享到:
评论

相关推荐

    Rest-Web-Service-Client_v3.6.0.crx.zip

    RESTful Web服务客户端是开发者用来与REST API进行交互的重要工具,它简化了与远程服务器的通信,使得数据的获取和发送变得更加便捷。本文将深入探讨"Rest-Web-Service-Client_v3.6.0.crx"这一特定版本的客户端,...

    Chrome基于REST的Web服务客户端插件.zip

    它支持多种内容类型,如application/json、text/plain、multipart/form-data等,使得与各种数据格式的API交互变得简单。此外,用户还可以保存和管理常用的请求配置,方便日后快速调用。 Chrome web标签表明该插件与...

    REST实战(REST in Practice)

    - **Mark Nottingham**(雅虎首席技术员):赞扬本书成功地将REST背后通常被认为抽象的概念变得实用和易于理解,非常适合那些希望简化并有效地进行基于Web集成的人。 - **Guilherme Silveira**(Caelum技术负责人兼...

    cpprest的代码封装,更易于试用

    cpprest库主要关注于Web服务的客户端编程,使得在C++中进行网络编程变得更加简单。 在标题“cpprest的代码封装,更易于试用”中,提到的“代码封装”是指将cpprest库的一些核心功能进行二次开发,包装成更易使用的...

    iOS Apps with REST APIs Building Web-Driven Apps in Swift (2015)

    REST API是现代Web服务的标准,它通过HTTP协议提供数据,使得客户端和服务器之间的通信变得简单且高效。 首先,书中会介绍iOS开发的基础知识,包括Xcode IDE的使用、Swift语法以及界面设计的基本元素,如Storyboard...

    REST与SOAP WEB SERVICE的区别1

    然而,SOAP的复杂性在于它不仅定义了数据交换格式,还包含了错误处理、安全性和事务管理等高级特性,这使得SOAP消息变得庞大,对性能和网络带宽的要求较高。此外,SOAP的无状态性和对HTTP方法的单一使用(主要使用...

    WEB技术发展与REST的由来.pdf

    同时,客户端的JavaScript和Java Applet让浏览器端的交互变得更加丰富。 随着Web应用程序复杂性的提升,WebMVC(Model-View-Controller)模式应运而生,如Struts、Spring MVC等框架,它们促进了瘦客户端应用的发展...

    Python Django Web典型模块开发实战_用Django REST framework实现豆瓣API应用项目.pdf

    Python的易学性源于其详尽的文档和支持,它提供了丰富的内置功能和第三方库,让开发变得更加高效。 **Python的优缺点** - 优点包括:简单的学习曲线、易于阅读和维护的代码、广泛的应用范围以及强大的社区支持。...

    REST Server in Delphi XE Using DataSnap中文版

    - **背景**: REST(Representational State Transfer)是 Web 服务领域的一个重要概念,尤其在过去十年中,随着 Web 2.0 的发展而变得日益重要。REST 提供了一种简单且灵活的方式来构建 Web 服务,它使用诸如 HTTP ...

    REST实战中文版(有目录)

    从文件描述中我们知道这本书具有手工添加的目录,这使内容阅读变得更加方便,但这并非知识点。在实际应用中,良好的文档和清晰的接口定义是REST API成功的关键因素。开发者往往需要根据API文档来了解如何调用各种...

    Rest 开发小案例

    Jersey是JAX-RS(Java API for RESTful Web Services)规范的一个实现,它使得在Java环境中开发RESTful服务变得简单。JAX-RS提供了一套注解,如`@Path`、`@GET`、`@POST`、`@PUT`和`@DELETE`,用于标记Java类和方法...

    用REST Client 通过cgi接口测试网页前后端数据交互

    首先,REST(Representational State Transfer)是一种设计网络应用程序的风格和原则,它基于HTTP协议,使得客户端和服务器之间的交互变得简单且直观。REST Client是模拟这些HTTP请求的工具,允许开发者测试API或...

    开发rest的简单例子

    在IT行业中,REST(Representational State Transfer)是一种广泛应用于网络应用程序设计的架构风格,它基于HTTP协议,使得客户端和服务器之间的交互变得更加简单、高效。在这个“开发REST的简单例子”中,我们将...

    设计 REST 风格的 MVC 框架

    因此,设计一个原生支持REST风格的MVC框架,以适应现代Web开发的需求,变得尤为重要。 #### REST风格的MVC框架设计原理 在设计REST风格的MVC框架时,关键在于如何将URL直接映射到具体的控制器方法上,而不是像传统...

    geoserver通过rest自动发布postigs图层

    在实际应用中,通过理解并熟练运用这些知识点,可以极大地提高GeoServer的管理和运维效率,使得地理数据的发布变得更加自动化和高效。对于开发者来说,掌握这些技术能够帮助他们更好地构建和维护地理信息系统。

    chromerest控制GoogleChrome的RESTAPI

    Python是一种广泛用于Web开发的编程语言,其丰富的库支持使得开发RESTful API变得容易。在Chrome REST中,开发者可以利用Python的HTTP客户端库(如requests)发送GET、POST等请求,实现对Chrome浏览器的远程控制。...

    Django-REST-framework教程中文版

    Django-REST-framework提供的序列化器(Serializers)使得这一转换变得简单快捷。序列化器可以帮助你验证输入数据、转换数据格式,并为视图提供一个简单的API。教程中提到了HyperlinkedModelSerializer,它在序列化...

    REST示例和全部jar包

    Spring Boot的`spring-boot-starter-web`模块则包含了对REST支持的功能,它集成了Spring MVC,使得在Spring应用中创建REST服务变得非常便捷。开发者可以通过`@RestController`注解标记控制器类,`@RequestMapping`...

Global site tag (gtag.js) - Google Analytics