NSURLProtocol requestIsCacheEquivalent:toRequest с косой чертой в конце

Я исследую кэш-попадания и промахи в своем собственном подклассе NSURLProtocol. У меня есть запрос, который выглядит так (из UIWebView)

https://www.my.server/?myqueryParams

На данный момент я использую простые сравнения строк в URL-адресах:

+ (BOOL)requestIsCacheEquivalent:(NSURLRequest *)a toRequest:(NSURLRequest *)b
{
    bool equal = [a.URL.absoluteString isEqualToString:b.URL.absoluteString];
    NSLog(@"A: %@, B: %@", a.URL.absoluteString, b.URL.absoluteString);
    return equal;
}

Что я вижу в журналах, так это то, что «а» имеет завершающую косую черту. Это выглядит так:

a -> https://www.my.server/?myqueryParams/
b -> https://www.my.server/?myqueryParams

Я пытаюсь отладить, откуда может исходить эта косая черта. Я понимаю, что я даже не знаю, что отвечает за вызов этого метода - у него очень ограниченная обратная трассировка.

Откуда берутся «а» и «б»? И откуда могла взяться эта косая черта?


person Ben Flynn    schedule 13.10.2014    source источник
comment
возможно, это поможет: stackoverflow.com/questions/12310258/   -  person kabarga    schedule 14.10.2014
comment
@karbarga В целом полезное чтение. Все еще смущает косая черта после параметров запроса (в отличие от пути).   -  person Ben Flynn    schedule 14.10.2014