http get http-headers download resume-download

http - determinar si el servidor admite reanudar solicitud de obtención



get http-headers (2)

Añadiendo a la respuesta de @adadel:

La mayoría de los servidores de hoy en día responden con el encabezado Accept-Ranges: bytes en caso de que admitan la reanudación. RequestMaker o Insomnia pueden ayudarlo a examinar los encabezados de solicitud / respuesta.

¿Cómo se determina si un servidor admite reanudar una transferencia de archivos u obtener una solicitud?

Mis pensamientos fueron establecer el encabezado para iniciar la solicitud de obtención en el byte "2" en lugar de 0, y cerrar inmediatamente la solicitud http si eso dio el resultado correcto

pero me preguntaba si había algo en la respuesta del servidor para un tipo de sonda diferente que me revelaría esta información.


Para probar la función de reanudación de descarga de un servidor, puede enviar una solicitud HEAD al servidor que proporciona un encabezado de rango con valores arbitrarios. Si el código de respuesta es 206, se admite la reanudación.

Ejemplo con rizo:

$ curl -i -X HEAD --header "Range: bytes=50-100" http://mirrors.melbourne.co.uk/ubuntu-releases//raring/ubuntu-13.04-desktop-amd64.iso

Actualizar:

Aquí hay un ejemplo en Java:

import org.apache.http.client.ResponseHandler; import org.apache.http.client.HttpClient; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpHead; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicHeader; public class ResumeChecker { public final static void main(String[] args) throws Exception { HttpClient httpclient = new DefaultHttpClient(); HttpHead httpRequest = new HttpHead("http://www.google.com"); httpRequest.addHeader(new BasicHeader("Range", "bytes=10-20")); System.out.println("Executing request " + httpRequest.getURI()); HttpResponse response = httpclient.execute(httpRequest); // Check here that response.getStatusLine() contains 206 code } }

Sin embargo, no lo he probado mysqlf.