2014-04-04 64 views
0

當我正在瀏覽interview questions(查看問題#2)的列表時,我凸顯了這個概念。我不熟悉這個概念。可以緩存REST Web服務調用以提高性能

我看了一些文檔,但找不到任何東西。有人可以解釋這是什麼意思?另外..如果可能的話......這是如何應用於Android的。

+0

我想,他們正在談論服務器端(Apache)。它將自行準備一些受歡迎的請求,而不是每次都重新創建請求。 這並不意味着,您可以在應用程序中緩存REST WS。 通過這種方法,您可以提高用戶(您的應用程序)的響應速度 – Defoncesko

回答

1

好,

事情要記住:

  • REST是無狀態的,所以存儲在客戶端上沒有會話數據。
  • 由於一個良好實施的REST API,服務器可以在兩個 調用之間重新啓動,因爲每個數據都被傳遞到服務器,需要 來服務請求。 (可擴展性,可緩存性)
  • 與使用GET訪問資源的 REST相比,Web服務主要使用POST方法進行操作。

一些事實:

  • 大部分由默認的Web服務器實現緩存GET請求,但 他們正式不緩存POST方法。 (服務器端緩存)
  • 您可以使用適用於HTTP GET任何高速緩存方法: http://www.symkat.com/understanding-http-caching(客戶端緩存)

正如你可以看到最關鍵的是REST API使用GET了POST操作。在andorid中,您可以輕鬆實現If-Modified-Since,If-None-Match緩存方法中的任何一種。但是,服務器也必須支持這些方法。