httplib2 использует полный URI для ключа кэша, поэтому в этом случае каждый из ваших URL-адресов в вашем примере будет кэшироваться клиентом отдельно.
Для главы и стиха из файла __init__.py
для httplib2, если вам нужны доказательства, посмотрите на вызов кеша в строке 1000:
cachekey = defrag_uri
cached_value = self.cache.get(cachekey)
Значение defrag_uri определяется функцией urlnorm
(строка 170ish) и включает схему, полномочия, путь и запрос.
Конечно, как вы знаете, сервер может по-разному интерпретировать определение «ресурса» и, следовательно, может возвращать кэшированное содержимое. Поскольку в данном случае кажется, что вы управляете сервером, у вас там полный контроль, поэтому никаких проблем. В любом случае, на стороне клиента не будет кэшированных значений клиента, используемых для первого вызова каждого из 3 URL-адресов в ваших примерах.