ForHosting KIT · Web: scraping y monitoreo

Calculadora Range HTTP

Revise un tramo de bytes antes de enviarlo: 0-499 en un archivo de 10000 bytes son los primeros 500 bytes, un tramo válido que recibe 206 Partial Content y la línea bytes 0-499/10000. También admite tramos abiertos y de últimos bytes. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Modo de cálculo
Parse
Encabezado Range
bytes=0-499
Tamaño del recurso
10 000
Obtiene
Cantidad de rangos
1 bytes
Sugerencia de estado
206
Bytes solicitados
500
Content-Range
bytes 0-499/10000

Escribir bytes=inicio-fin a mano parece sencillo hasta que necesita la forma sufijo, extremos abiertos, conjuntos multipartitos o una línea Content-Range que coincida con el tamaño real del fichero. La validación fallida no se factura.

Tres maneras de pedir parte de un archivo

Una cabecera Range le dice al servidor qué bytes de un archivo quiere en lugar del archivo entero. La forma cerrada da un inicio y un final, ambos incluidos, así que 0-499 son los primeros 500 bytes. La forma abierta da solo el inicio, como 500-, y llega hasta el último byte: así se reanuda una descarga interrumpida justo donde se cortó. La forma de sufijo, como -500, pide los últimos 500 bytes cuando se sabe cuánto falta pero no la posición. Puede combinar hasta 32 tramos en una cabecera, separados por comas.

Cómo comprobar un tramo contra el tamaño real

Si indica el tamaño del archivo, cada tramo se convierte en posiciones absolutas: los finales abiertos se cierran en el tamaño menos uno, los sufijos pasan a ser la ventana final y un tramo que empieza después del final se marca como no satisfacible. Si todos encajan, la respuesta esperable es 206 Partial Content; si no, 416 Range Not Satisfiable. Para un único tramo válido obtiene además la línea Content-Range correspondiente, como bytes 0-499/10000 para los primeros 500 bytes de un archivo de 10000. Puede pegar una cabecera completa o construirla a partir de un inicio, un final o un sufijo.

Qué pide una cabecera Range y qué formas se aceptan

Según RFC 9110, la unidad habitual es bytes, y el valor tras el signo igual es un conjunto de especificaciones de rango separadas por comas. Un rango abierto inicio- significa desde ese desplazamiento hasta el último byte de la representación actual. Un rango sufijo -N significa los últimos N bytes, forma que usan los gestores de descarga cuando conocen cuánto falta pero no el desplazamiento absoluto.

Esta calculadora acepta una línea Range completa o la forma unidad=rangos, normaliza la unidad a bytes en minúsculas, elimina espacios opcionales y rechaza cualquier unidad distinta de bytes. Se permiten conjuntos multipartitos de hasta treinta y dos partes para lecturas dispersas sin inventar un mini-lenguaje.

Reanudar descargas interrumpidas

Construya o analice rangos bytes=inicio- frente a un tamaño de fichero conocido para que un cliente reanude exactamente donde se detuvo la transferencia anterior, sin solapes ni huecos.

Seek multimedia y lecturas parciales

Calcule cabeceras Range cerradas o abiertas para scrubbing de vídeo y audio, y verifique 206 frente a 416 antes de enviar la petición al origen o a la CDN.

¿Qué pide un tramo 0-499?

Los primeros 500 bytes. Un tramo cerrado incluye sus dos extremos, así que 0-499 va del byte 0 al byte 499. Si se tomara el final como excluido, se quedaría fuera el último byte.

¿Cómo pido la parte final de un archivo?

Con la forma de sufijo, un signo menos seguido de un número, como -500 para los últimos 500 bytes. Los gestores de descargas la usan cuando saben cuánto falta pero no la posición exacta de inicio.

¿Cuándo un tramo no se puede satisfacer?

Cuando empieza más allá del final del archivo. Si indica el tamaño, ese tramo se marca como no satisfacible y la respuesta esperable es 416 Range Not Satisfiable, junto con una línea Content-Range que declara el tamaño real.

¿Cuántos tramos caben en una cabecera?

Hasta 32, separados por comas, así que puede pedir varios trozos dispersos de un archivo a la vez. Solo se acepta la unidad bytes, y cualquier otra unidad se rechaza.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/dev/http-range-header

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/dev/http-range-header \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode":"parse"}'
{
  "mode": "parse"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.http_range_header",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Las descargas parciales, el seek de vídeo y la reanudación tras una interrupción dependen de la cabecera de petición HTTP Range. Esta calculadora de cabecera Range HTTP acepta un valor Range para analizarlo o campos discretos de inicio, fin y sufijo para construirlo, y devuelve rangos estructurados con longitudes, satisfacibilidad opcional frente al tamaño del recurso, una pista de estado 206 o 416 y una cadena Content-Range cuando se conoce un único rango satisfacible. Úsela cuando desee aritmética de bytes determinista sin montar una pila HTTP completa solo para comprobar una cabecera.

Qué significa una cabecera HTTP Range y qué formas acepta esta herramienta

Una petición HTTP Range indica al servidor qué intervalos de bytes de una representación desea el cliente en lugar del cuerpo completo. Un rango cerrado inicio-fin es inclusivo en ambos extremos, de modo que bytes=0-499 pide los primeros quinientos bytes. Cuando suministra resource_size, cada especificación se resuelve a desplazamientos absolutos de inicio y fin: los extremos abiertos se cierran en tamaño menos uno, los sufijos se convierten en la ventana final y los rangos cerrados que empiezan más allá del final del fichero se marcan como no satisfacibles. Cuando todo rango resuelto es satisfacible y el recurso no está vacío, status_hint es 206 Partial Content; en caso contrario es 416 Range Not Satisfiable con Content-Range bytes asterisco barra tamaño, como responden los orígenes cuidadosos ante reanudaciones incorrectas.

Contrato de entrada, construir frente a analizar, y campos de respuesta

Establezca mode en parse o build. En modo parse, range_header es obligatorio y puede verse como bytes=0-499, Range: bytes=500- o multipartito bytes=0-0,-1. En modo build proporcione suffix_length para la forma últimos-N, o start con un end inclusivo opcional para formas cerradas o abiertas; no mezcle suffix_length con start o end. resource_size es opcional en ambos modos: omítalo si solo necesita normalización sintáctica y longitudes de rangos cerrados; inclúyalo cuando necesite banderas satisfiable, bytes_requested frente a un fichero real, content_range y status_hint. Los enteros deben ser enteros seguros no negativos; suffix_length debe ser al menos uno. En éxito el cuerpo siempre incluye mode, el range_header canónico, unit bytes, range_count y un array ranges. Cada objeto de rango lleva kind (closed, open_end o suffix), la cadena raw y, cuando se conocen, start, end, length, suffix y satisfiable. El bytes_requested de nivel superior es la suma de longitudes resueltas cuando todas se conocen. content_range se emite para un único rango satisfacible como bytes inicio-fin barra tamaño, o como bytes asterisco barra tamaño si no es satisfacible. Cabeceras inválidas, modos incorrectos y combinaciones inconsistentes fallan con invalid_input y no se facturan. Ejemplo: analizar bytes=0-499 con resource_size diez mil produce longitud quinientos, content_range bytes 0-499/10000 y status_hint 206.

Dónde una calculadora HTTP Range aporta valor real

Los gestores de descarga e instaladores reanudan artefactos grandes reenviando cabeceras Range tras un corte de red; una calculadora compartida evita errores de uno que vuelven a descargar un ISO completo o saltan una página crítica de un PDF. Los reproductores que buscan dentro de MP4 progresivo o audio construyen rangos abiertos o cerrados y deben saber si el origen responderá 206 o 416 antes de pintar la barra de progreso. Las pruebas de pasarelas API y de configuración CDN comprueban que las reglas de borde reenvían y recortan rangos correctamente frente a tamaños de objeto conocidos sin levantar un origen completo. Como la implementación es parse pura de nivel A, cada llamada exitosa cuesta el precio base publicado $0.002 sin tokens de modelo ni red saliente. Mantenga resource_size honesto, fije los rangos estructurados en las pruebas y obtendrá aritmética de reanudación reproducible para workers de borde, herramientas CLI y laboratorios HTTP de aula sin enviar una pila completa solo para contar bytes.

Fixtures de pasarela y SDK

Genere cadenas canónicas Range y Content-Range en pruebas automatizadas para que las reglas de borde y las bibliotecas de cliente coincidan en formas multipartitas y de sufijo.

¿Qué formas de Range admite la calculadora de cabecera HTTP Range?

Solo la unidad bytes: cerrado inicio-fin, abierto inicio- y sufijo -N, incluidos conjuntos multipartitos separados por comas de hasta 32 partes. Otras unidades se rechazan.

¿Cómo construyo un Range de los últimos N bytes?

Establezca mode en build y pase suffix_length (por ejemplo 500) para emitir bytes=-500. No envíe start ni end junto con suffix_length.

¿Cuándo es status_hint 206 y cuándo 416?

Cuando se proporciona resource_size y todo rango resuelto es satisfacible en un recurso no vacío, status_hint es 206. Si el recurso está vacío o algún rango empieza más allá del final, es 416.

¿Necesito resource_size para analizar una cabecera?

No. Sin resource_size obtiene range_header normalizado, kinds y longitudes de rangos cerrados. Extremos abiertos y sufijos necesitan un tamaño para resolver desplazamientos absolutos y el total bytes_requested.

¿Cuánto cuesta la calculadora de cabecera HTTP Range?

La herramienta del navegador es gratuita. Las peticiones a la API usan saldo prepago KIT a $0.002 por llamada exitosa; la entrada inválida no se factura.

Ver la documentación completa del KIT →