NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

REST changes in Rails Edge and RADAR

  • 2007-04-03
  • 本文字数:1034 字

    阅读完需:约 3 分钟

The development version of Ruby on Rails, Rails Edge, was updated with a change to the code that handles REST URLs. From the commit message for this change:"

Dropped the use of ; as a separator of non-crud actions on resources and went back to the vanilla slash. It was a neat idea, but lots of the non-crud actions turned out not to be RPC (as the ; was primarily intended to discourage), but legitimate sub-resources, like /parties/recent, which didn’t deserve the uglification of /parties;recent. Further more, the semicolon caused issues with caching and HTTP authentication in Safari. Just Not Worth It [DHH]"

Ryan Daigle gives a succinct overview of what this means:

Whenever you have a custom action route defined in Rails: map.resources :users, :collection => { :filter => :get } the resulting route no longer uses a semi-colon (;) to delimit the custom action: GET /users;filter and instead will use your standard forward-slash (/): GET /users/filter

Dave Thomas (PragDave) also reported these news and offered a thorough explanation of the reasons that made the semicolons seem necessary in the first place. After detailing that it’s only Web Browsers that require hacks like this, he ponders a solution for the problem:

Put the main application logic into a RESTful server. This is where all the CRUD-style access to resources takes place. Then, write a second proxy server. This is an HTTP filter, sitting between dumb browsers and your core resources. When browser-based users need to interact with your resources, they actually connect to this proxy. It then talks REST to your main server, and interprets the RESTful responses back into a form that’s useful on the browser. And this filter doesn’t have to be a dumb presentation layer - there’s nothing to say that it can’t handle additional functionality as well. Things like menus, user preferences, and so on could all sit here.

Since he likens Web Browsers to old 3270 terminals, also referred to as dumb clients, he names this idea “RADAR”: RESTful Application talking to Dumb-Ass Recipients.

2007-04-03 18:22578
用户头像

发布了 117 篇内容, 共 14.9 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

架构训练营第1期 模块一作业

高远

架构师实战营 [模块一]作业

三叔叔_拖延症晚期

作业

架构实战营模块1作业

zlz

架构实战营模块一作业

feitian

架构实战营模块一作业

A-领悟 Lifetruth‖

#架构实战营

架构实战营-模块一

Testcase

架构实战营

架构实战营 - 模块1 - 作业

Vincent

#架构实战营

【架构训练营】模块一作业

zclau

「架构师训练营第 1 期」

Linux之atime,ctime,mtime的区别

入门小站

Linux

iOS如何提升,首先得知自己的处境!(欢迎评论留言)

程序员 编程之路 IT技能 iOS 知识体系

架构实战营模块一作业

子豪sirius

架构实战营

架构实战营模块一作业

SAKIN

架构实战营

在线批量请求工具

入门小站

工具

树莓派/PC实现实时摄像头数据共享(Python—OpenCV)

不脱发的程序猿

Python 树莓派 OpenCV 视频通信

架构训练营模块一作业

河马先生

架构实战营

dubbogo 凌烟阁之 何鑫明

apache/dubbo-go

云原生 dubbo dubbo-go dubbogo

微信业务架构和学生管理系统架构

tjudream

极客时间 架构实战营

模块1

Winston

微信业务架构图#学生管理系统

桂阳

微信业务架构图&学生管理系统架构设计

伏波

系统架构设计手册

SparkSQL内核剖析

永健_何

spark Sparksql

架构实战营模块1作业

技术是伙伴

电源系统优化设计,低压差稳压器(LDO)如何选型?

不脱发的程序猿

电路设计 LDO 电源系统优化设计 低压差稳压器

架构学习模块1作业

柱林

架构训练营模块一作业

Lemon

架构训练营

模块1作业(G20210698020270)

哆啦A萌

微信业务架构图

feitian

架构训练营模块一作业

老猎人

架构实战营-模块一

绝影

架构实战营 #架构实战营

微信业务架构图 & 学生系统技术架构图

木云先森

架构实战营

架构实战营-模块1作业:微信的业务架构及学生管理系统

喻高咏        

REST changes in Rails Edge and RADAR_Ruby_Werner Schuster_InfoQ精选文章