Inici de sessió d'usuari


Diferències entre NSURLDownload i NSURLConnection


Per una banda les diferències de capacitat òbvies, NSURLDownload i NSURLConnection en tenen dos diferències en el comportament més subtils, però signiticatius.

Resposta Encauada

L'NSURLConnection proporciona suport per encauar una resposta d'un servidor en l'emmagatzematge de l'aplicació NSURLCache. També proporciona el mètode delegat connection:shouldCacheResponse: que permet una aplicació per personalitzar la resposta encauada.

NSURLDownload no té respostes cau en l'emmagatzematge de l'aplicació NSURLCache, o no proporciona un mètode delegat per activar aquest comportament.

Tractament de URLs inexistents

Una de les diferències significatives entre l'NSURLConnection i NSURLDownload és el tractament de requeriments per URLs inexistents quan un servidor web s'ha configurar per retornat una pàgina alternativa en resposta a un error.

Quan s'utilitza l'NSURLConnection el comportament per defecte permet el redireccionament i retorna el contingut de la URL redireccionada, en comptes de retonar un error. Si un intent es fa per descarregar la mateixa URL utilitzant NSURLDownload, un error es retorna indicant que el fitxer que no s'ha trobat.

Un delegat NSURLConnection pot imitar el comportament de l'NSURLDownload implementant el mètode connection:willSendRequest:responseRequest:, i examinant la NSURLResponse proporcionada. Si la resposta és un objecte NSHTTPURLResponse, i el statusCode és 4xx o 5xx, llavors el servidor intenta redirigir a una pàgina d'error alternativa. El delegat pot preveure això retornant nil.