会话变量和RESTful api

时间:2013-12-05 21:20:50

标签: jquery rest coldfusion coldfusion-10

我们正在逐步为我们的Web应用程序实现REST服务。目前,该应用程序是旧的程序样式类型的应用程序。

新的应用程序将在html5中,后端在CF10 REST api中调用cfc返回JSON格式的对象。

我们需要通过jquery调用将SESSION变量传递给REST cfc。有没有办法避免将SESSION变量作为jquery调用的参数?所有REST cfc都位于Coldfusion10的Web根目录中,因此REST cfc不能访问SESSION范围。

由于

1 个答案:

答案 0 :(得分:4)

我找到了关于RESTful services in ColdFusion的以下文档。特别参见子弹4:

  

REST架构原则:

     

基于REST的应用程序遵循一些架构原则:

     
      
  1. 资源识别:在基于REST的架构中,一切都是资源。您必须使用URI标识每个资源。在ColdFusion中,您可以将在CFC中定义的函数作为REST资源使用,并且可以使用URI访问它们。
  2.   
  3. 统一和受约束的接口:RESTful应用程序中的每个资源都应支持HTTP公共操作,即资源应该能够处理HTTP协议方法 - GET,PUT,POST和DELETE。在ColdFusion中,您可以通过HTTP访问资源(函数);每个资源都支持HTTP谓词。根据请求中指定的谓词,调用相应的资源。
  4.   
  5. 面向表示:REST允许资源具有不同的表示形式 - 普通,HTML,XML,JSON等。客户端可以通过HTTP协议请求特定的表示。 HTTP在客户端和服务器之间提供简单的内容类型协商协议。例如,AJAX应用程序可能需要JSON格式的数据,而Java应用程序可能需要XML格式的数据。
  6.   
  7. 无状态通信:在REST中,服务器不存储客户端会话数据。但是,存在许多技术来交换诸如URI重写,cookie和隐藏表单字段之类的状态信息。此外,对于加密,您可以在HTTPS之上使用REST。
  8.   

还在StackOverflow上找到了关于它的这些讨论:

Way to maintain a session in a REST application

Website based on REST in ColdFusion

maintaining session in REST web service

Do sessions really violate RESTfulness?