誰でもこのリクエストがキャッシュされている理由を知っていますか?iOS URLCacheキャッシュしないでください(IMHO)
私はそのまま
.default
URLSessionConfiguration
を使用しています。レスポンスヘッダは以下のとおりです。
{
"Accept-Ranges" = bytes;
"Content-Length" = 1480;
"Content-Type" = "application/json";
Date = "Mon, 22 May 2017 19:14:13 GMT";
Etag = "\"42bebc5fb88323b8cd145ed85ea7a018\"";
"Last-Modified" = "Mon, 22 May 2017 14:54:38 GMT";
Server = AmazonS3;
"x-amz-id-2" = "abcdefghijklmn";
"x-amz-request-id" = 1A2B3C4D5E;
}
(チャールズから、データのタスクの完了ブロックでの応答をデバッグで確認しました)チャールズプロキシを使用してキャッシュされます。最初のリクエストは表示されますが、後続のリクエストは表示されません。
.ephemeral
セッション設定を使用するか、メモリとディスクサイズが0のカスタムURLキャッシュを設定すると、チャールズのすべてのリクエストが表示されるので、チャールズは有効なテストです。
キャッシュヘッダーがないと、応答はキャッシュされません。
編集:ここで私は常にキャッシュ・ヘッダーなしで応答がキャッシュされないことを想定してきた私は
po task.originalRequest
▿ Optional<URLRequest>
▿ some : http://s3-eu-west-1.amazonaws.com/path/path/configuration.json
▿ url : Optional<URL>
▿ some : http://s3-eu-west-1.amazonaws.com/path/path/configuration.json
- cachePolicy : 0
- timeoutInterval : 60.0
- mainDocumentURL : nil
- networkServiceType : __ObjC.NSURLRequest.NetworkServiceType
- allowsCellularAccess : true
▿ httpMethod : Optional<String>
- some : "GET"
- allHTTPHeaderFields : nil
- httpBody : nil
- httpBodyStream : nil
- httpShouldHandleCookies : true
- httpShouldUsePipelining : false
どんな要求がどのように見えるのでしょうか? –
@Koen。それはS3バケットを指し示すURLのためのちょうどGETです - カスタムヘッダー等は全く興味深いものはありません! – deanWombourne