2010-03-03 85 views
0

我試圖找到更多的低級別的詳細信息,當發送JSON POST請求到Web服務器時,各種JS/AJAX框架創建的HTTP請求。我正在尋找關於以下框架的信息最重要的信息(但有關其他任何明顯異常的信息,請參閱:.net,jquery,prototype,DWR和MooTools)。AJAX JSON請求在不同框架中的連線格式(HTTP)?

我想知道的是,當這些框架調用服務器上的不同「方法」時,(在HTTP請求中)區分不同的方法調用?到目前爲止,我已經看到了以下內容:

  1. 的URL區分方法調用,即 「POST /app/s.svc/method1 HTTP/1.1」 與「POST /app/s.svc/method2 HTTP/1.1 「等。
  2. 對於不同的方法調用,URL是相同的,但HTTP標頭區分方法調用,即」X-AjaxPro-Method:method1「與」X-AjaxPro-Method:method2「等。

除了使用HTTP頭之外,還有其他一些「多路複用」方法調用到同一個URL的例子嗎? JSON本身是否包含方法名稱,而不在HTTP頭中指示,如僅包含在SOAP:Body中的SOAP方法,沒有相應的「SOAPMethodName」頭?我還沒有其他的情況嗎?

感謝您的幫助。

回答

1

在HTTP中,您不會尋址地址爲的資源。從獨立於框架的視圖來看,HTTP Specification提供了三種主要的方法,即資源上的GET,POST,PUT和DELETE(可以說http://example.com/users/2,這是一個id爲2的用戶)。這種資源思想背後的軟件架構風格和這四種方法的統一接口稱爲REST

如果你遵循這種架構風格,有許多框架可以使用它,它使用HTTP協議,因爲它應該(在頭中發送X-AjaxPro-Method絕對是而不是 HTTP標準兼容)。

0

雖然目前的趨勢是通過HTTP和RESTful服務實現REST,但這聽起來像您正在尋找RPC機制。如果這是你想要的方向,你應該看看JSON-RPC。這是一種RPC機制,因此它比REST更接近SOAP或XML-RPC。