Una pregunta rápida. Tengo el siguiente código que obtiene la fecha mod de un archivo en un servidor:iOS - Obtener resultados de encabezado
- (void) sendRequestForLastModifiedHeaders
{
/* send a request for file modification date */
NSURLRequest *modReq = [NSURLRequest requestWithURL:[NSURL URLWithString:URLInput.text]
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60.0f];
[[NSURLConnection alloc] initWithRequest:modReq delegate:self];
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
/* convert response into an NSHTTPURLResponse,
call the allHeaderFields property, then get the
Last-Modified key.
*/
NSHTTPURLResponse *foo = [(NSHTTPURLResponse *)response allHeaderFields];
NSString * last_modified = [NSString stringWithFormat:@"%@",
[[(NSHTTPURLResponse *)response allHeaderFields] objectForKey:@"Last-Modified"]];
NSLog(@"Last-Modified: %@", last_modified);
}
Mi pregunta principal es la siguiente:
¿Este llamada sólo enviar a través de la cabecera? Si el archivo es grande, no quiero que se descargue todo el archivo. Es por eso que estoy revisando el encabezado.
++++++++++++++++++++++++++++++ Después de la actualización esto funciona. Gracias .. ahora queda como:
NSMutableURLRequest *modReq = [NSMutableURLRequest requestWithURL:[NSURL URLWithString: URLInput.text]
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60.0f];
[modReq setHTTPMethod:@"HEAD"];
¿Está buscando encabezados modificados para saber si necesita descargar una nueva copia de un archivo? Si es así, recomendaría usar una biblioteca de solicitud HTTP prefabricada con todo esto integrado, como ['ASIHTTPRequest'] (http://allseeing-i.com/ASIHTTPRequest). Las diversas políticas de caché que puede establecer allí deberían ser adecuadas para su situación. – darvids0n
Por más de lo que siempre quiso saber sobre cómo funciona HTTP, eche un vistazo a través de [RFC 2616] (http://tools.ietf.org/html/rfc2616). La Sección 9 define los diversos métodos GET, HEAD, POST, etc. Los métodos distintos de esos tres se utilizan con poca frecuencia. –
@iOSGuy ¿Estás en twitter? – MarkP