GETの文字列でのPythonライブラリhttplib2のキャッシュURIをしていますか?

StackOverflow https://stackoverflow.com/questions/717700

  •  23-08-2019
  •  | 
  •  

質問

次の例で正しくキャッシュされているもの?私がGET文字列のために、サーバー側を設定する必要がありヴァリ-ヘッダーはありますか?

import httplib2
h = httplib2.Http(".cache")
resp, content = h.request("http://test.com/list/")
resp, content = h.request("http://test.com/list?limit=10")
resp, content = h.request("http://test.com/list?limit=50")
役に立ちましたか?

解決

httplib2はキャッシュキーのための完全なURIを使用していますので、この場合にはあなたの例では、あなたが持っているURLの各クライアントで個別にキャッシュされます。

httplib2ため__init__.pyファイルから章や詩、あなたが証拠をご希望の場合は、行約1000上のキャッシュへの呼び出しを見てます:

cachekey = defrag_uri
cached_value = self.cache.get(cachekey)

defrag_uriが関数urlnorm(ライン170ish)によって定義され、スキーム、権限、パス、およびクエリを含む。

もちろん、あなたが知っているように、サーバがまだキャッシュされたコンテンツを返すことがあり、そう、「資源」はかなり違っの定義を解釈します。この場合のサーバを制御しているように聞こえるので、あなたは、そこので、何の問題を完全に制御を持っていません。どちらにしても、クライアント側で、あなたの例では3つのURLのそれぞれの最初の呼び出しに使用するどのクライアント・キャッシュされた値はないだろう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top