class CachedURLResponse
class URLCache
Technology
The URL Loading System caches responses both in memory and on disk, improving performance and reducing network traffic. URLローディングシステムは、メモリ中にそしてディスク上での両方で応答をキャッシュして、性能を改善してネットワーク流通量を減少しています。
The URLCache
class is used for caching responses from network resources. Your app can directly access the shared cache instance by using the shared
property of URLCache
. Or, you can create your own caches for different purposes, setting distinct caches on your URLSession
objects.
URLCache
クラスは、ネットワークリソースからの応答をキャッシュするために使われます。あなたのアプリは、直接に共有キャッシュインスタンスにアクセスすることが、URLCache
のshared
プロパティを使うことによって行えます。または、あなたはあなた独自のキャッシュを異なる目的のために作成することが、あなたのURLSession
オブジェクトそれら上で別個にキャッシュを設定して、行えます。
Each URLRequest
instance contains a URLRequest
object to indicate if and how caching should be performed. You can change this policy to control caching for the request.
各URLRequest
インスタンスは、あるURLRequest
オブジェクトを含んで、キャッシュが実行されるべきかそしてどのようにかを指し示します。あなたは、この方針を変更することで、リクエストに対するキャッシュを制御できます。
For convenience, URLSession
has a property called request
; all requests created from sessions that use this configuration inherit their cache policy from the configuration.
便宜のために、URLSession
はrequest
と呼ばれるあるプロパティを持ちます;この構成設定を使うセッションから作成されるすべてのリクエストは、それらのキャッシュ方針をその構成設定から継承します。
The behaviors of the various policies are described in Table 1. This table shows the policies’ respective preferences for loading from cache or from the originating source, like a server or the local file system. Currently, only HTTP and HTTPS responses are cached. For FTP and file URLs, the only effect of a policy is to determine whether the request is allowed to access the originating source. さまざまな方針の挙動は、表 1で記述されます。この表は、キャッシュからまたは、サーバーまたはローカルファイルシステムといったその由来しているソースからロードすることに対する、それら方針のもつそれぞれの優先設定を示します。現在、HTTPとHTTPS応答だけがキャッシュされます。FTPとファイルURLに対して、ある方針の唯一の効果は、リクエストがその由来しているソースにアクセスを許されるかどうか決定することだけになります。
Cache policy キャッシュ方針 |
Local cache ローカルキャッシュ |
Originating source 由来するソース |
---|---|---|
Ignored 無視される |
Accessed exclusively 排他的にアクセスされる |
|
Accessed exclusively 排他的にアクセスされる |
Ignored 無視される |
|
Tried first 最初に試みられる |
Accessed only if needed 必要とされる場合にのみアクセスされる |
|
Depends on protocol プロトコルに依存する |
Depends on protocol プロトコルに依存する |
For an explanation of how use
is implemented for HTTP and HTTPS, see NSURLRequest
. use
is the default value for a URLRequest
object.
どのようにuse
がHTTPおよびHTTPSに対して実装されるかの説明として、NSURLRequest
を見てください。use
はURLRequest
オブジェクトに対する省略時の値です。
Note 注意
use
caches HTTPS responses to disk, which may be undesirable for securing user data. You can change this behavior by manually handling caching behavior, as described in Manage Caching Programmatically.
use
は、HTTPS応答をディスクへとキャッシュします、それはユーザデータを安全にするのに望ましくないかもしれません。あなたは、この挙動を手動でキャッシュ挙動を取り扱うことによって変更できます、プログラムに基づいてキャッシュを管理するで記述されるように。
You can get or set the cache object used by a URLSession
object by using the url
property of the session’s configuration
object.
あなたは、URLSession
オブジェクトで使われるキャッシュオブジェクトを、セッションのもつconfiguration
オブジェクトのurl
プロパティを使うことによって取得または設定できます。
To look for the cached response to a given request, call cached
on the cache. If cached data exists for the request, this call returns a Cached
object; otherwise, it returns nil
.
ある与えられたリクエストに対するキャッシュされた応答を検索するには、cached
をキャッシュ上で呼び出してください。キャッシュされたデータがそのリクエストに対して存在するならば、この呼び出しはCached
オブジェクトを返します;そうでなければ、それはnil
を返します。
You can inspect resources used by the cache. The properties current
and disk
represent the file system resources used by the cache, and current
and memory
represent memory use.
あなたは、キャッシュによって使われるリソースを検査できます。プロパティcurrent
とdisk
は、キャッシュによって使われるファイルシステムリソースを表します、そしてcurrent
とmemory
はメモリ用途を表します。
You can remove cached data for individual items with remove
. You can also clear out many cached items simultaneously with remove
, which removes cached items past a given date, or remove
, which wipes the entire cache.
あなたは、個々の項目に対するキャッシュされたデータをremove
で取り除けます。あなたはまた、多くのキャッシュされた項目を同時に、与えられた日付を過ぎたキャッシュされた項目を取り除くremove
、またはキャッシュ全体を拭い去るremove
で一掃できます。
You can write to the cache programmatically, with the store
method, passing in a new Cached
object and a URLRequest
object.
あなたは、キャッシュをプログラムに基づいて書き出すことが、store
メソッドで、新しいCached
オブジェクトとURLRequest
オブジェクトを渡して、行えます。
Typically, you manage the caching of a response while it’s being handled by a URLSession
object. To manage caching on a per-response basis, implement the url
method of the URLSession
protocol. Note that this delegate method is called only for uploads and data tasks, and is not called for sessions with a background or ephemeral configuration.
概して、あなたはある応答のキャッシュを、それがURLSession
オブジェクトによって取り扱われている間に管理します。応答毎基準でキャッシュを管理するには、URLSession
プロトコルのurl
メソッドを実装してください。この委任先メソッドはアップロードおよびデータタスクに対してのみ呼び出される、そしてバックグラウンドや短期使用の構成設定でのセッションに対して呼び出されないことに注意してください。
The delegate receives two parameters: a Cached
object and a completion handler. Your delegate must call this completion handler directly, passing in one of the following:
委任先は、2つのパラメータ:Cached
オブジェクトと完了ハンドラを受け取ります。あなたの委任先は、この完了ハンドラを、以下の1つを渡して、直接に呼び出す必要があります:
The provided Cached
object, to cache the proposed response as-is
提供されたCached
オブジェクト、提出された応答をそのままでキャッシュするために
nil
, to prevent caching
nil
、キャッシュを防ぐために
A newly created Cached
object, typically based on the provided object, but with a modified storage
and user
dictionary, as you see fit
新しく作成されたCached
オブジェクト、概して提供されたオブジェクトに基づく、しかし修正されたstorage
とuser
辞書で、あなたの好きなように
Listing 1 shows an implementation of url
, which intercepts responses to HTTPS requests and allows the responses to be stored in the in-memory cache only.
コード出力 1 は、url
のある実装を示します、それは、HTTPSリクエストに対する応答を横取りして、そして応答にインメモリキャッシュのみに格納されることを許します。
class CachedURLResponse
class URLCache