ForHosting KIT · Lettura e monitoraggio di siti web

Calcolatore Range HTTP

Controlli un intervallo di byte prima di inviarlo: 0-499 su un file di 10000 byte indica i primi 500 byte, un intervallo valido che riceve 206 Partial Content e la riga bytes 0-499/10000. Funzionano anche gli intervalli aperti e quelli finali. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Modalità di calcolo
Parse
Intestazione Range
bytes=0-499
Dimensione della risorsa
10.000
Ottiene
Numero di intervalli
1 bytes
Suggerimento di stato
206
Byte richiesti
500
Content-Range
bytes 0-499/10000

Scrivere bytes=inizio-fine a mano sembra semplice finché non serve la forma suffisso, le estremità aperte, i set multipartiti o una riga Content-Range che corrisponda alla dimensione reale del file. La validazione fallita non viene fatturata.

Tre modi per chiedere una parte di un file

Un header Range dice al server quali byte di un file vuole, invece del file intero. La forma chiusa indica un inizio e una fine, entrambi inclusi, quindi 0-499 sono i primi 500 byte. La forma aperta indica solo l'inizio, come 500-, e arriva all'ultimo byte: così un download interrotto riprende esattamente da dove si era fermato. La forma a suffisso, come -500, chiede gli ultimi 500 byte quando si sa quanto manca ma non la posizione. Può combinare fino a 32 intervalli in un header, separati da virgole.

Controllare un intervallo sulla dimensione reale

Se indica la dimensione del file, ogni intervallo diventa una coppia di posizioni assolute: le fini aperte si chiudono alla dimensione meno uno, i suffissi diventano la finestra finale e un intervallo che inizia dopo la fine viene segnato come non soddisfacibile. Se tutti rientrano, la risposta attesa è 206 Partial Content; altrimenti 416 Range Not Satisfiable. Per un solo intervallo valido ottiene anche la riga Content-Range corrispondente, come bytes 0-499/10000 per i primi 500 byte di un file di 10000. Può incollare un header completo o costruirne uno da un inizio, una fine o un suffisso.

Cosa chiede un header Range e quali forme valgono

Secondo RFC 9110, l'unità comune è bytes e il valore dopo il segno di uguale è un insieme di specifiche di intervallo separate da virgole. Un intervallo aperto inizio- significa da quell'offset fino all'ultimo byte della rappresentazione corrente. Un intervallo suffisso -N significa gli ultimi N byte, forma usata dai gestori di download quando conoscono quanto manca ma non l'offset assoluto.

Questo calcolatore accetta una riga Range completa o la forma unità=intervalli, normalizza l'unità in bytes minuscolo, rimuove spazi opzionali e rifiuta qualsiasi unità diversa da bytes. I set multipartiti sono consentiti fino a trentadue parti per letture sparse senza inventare un mini-linguaggio.

Riprendere download interrotti

Costruisca o analizzi intervalli bytes=inizio- rispetto a una dimensione di file nota così un client riprende esattamente dove si era interrotto il trasferimento precedente, senza sovrapposizioni né lacune.

Seek multimediale e letture parziali

Calcoli header Range chiusi o aperti per lo scrubbing di video e audio e verifichi 206 versus 416 prima di emettere la richiesta verso origin o CDN.

Cosa chiede un intervallo 0-499?

I primi 500 byte. Un intervallo chiuso include entrambi gli estremi, quindi 0-499 va dal byte 0 al byte 499. Considerare la fine come esclusa lascerebbe fuori l'ultimo byte.

Come chiedo la parte finale di un file?

Con la forma a suffisso, un segno meno seguito da un numero, come -500 per gli ultimi 500 byte. I gestori di download la usano quando sanno quanto manca ma non la posizione esatta di partenza.

Quando un intervallo non è soddisfacibile?

Quando inizia oltre la fine del file. Se indica la dimensione, quell'intervallo viene segnato come non soddisfacibile e la risposta attesa è 416 Range Not Satisfiable, con una riga Content-Range che dichiara la dimensione reale.

Quanti intervalli può contenere un header?

Fino a 32, separati da virgole, così può chiedere più pezzi sparsi di un file in una volta. È accettata solo l'unità bytes, e qualsiasi altra unità viene rifiutata.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

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

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

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"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

I download parziali, il seek video e la ripresa dopo un'interruzione dipendono tutti dall'header di richiesta HTTP Range. Questo calcolatore di header Range HTTP accetta un valore Range da analizzare oppure campi discreti di inizio, fine e suffisso per costruirne uno, quindi restituisce intervalli strutturati con lunghezze, soddisfacibilità opzionale rispetto alla dimensione della risorsa, un indizio di stato 206 o 416 e una stringa Content-Range quando è noto un singolo intervallo soddisfacibile. Lo usi quando vuole un'aritmetica dei byte deterministica senza erigere un intero stack HTTP solo per controllare un header.

Cosa significa un header HTTP Range e quali forme accetta questo strumento

Una richiesta HTTP Range indica al server quali intervalli di byte di una rappresentazione il client desidera al posto dell'intero corpo. Un intervallo chiuso inizio-fine è inclusivo a entrambe le estremità, quindi bytes=0-499 chiede i primi cinquecento byte. Quando fornisce resource_size, ogni specifica viene risolta in offset assoluti di inizio e fine: le estremità aperte si chiudono a dimensione meno uno, i suffissi diventano la finestra finale e gli intervalli chiusi che iniziano oltre la fine del file sono segnati come non soddisfacibili. Quando ogni intervallo risolto è soddisfacibile e la risorsa non è vuota, status_hint è 206 Partial Content; altrimenti è 416 Range Not Satisfiable con Content-Range bytes asterisco barra dimensione, come rispondono le origin accurate alle riprese errate.

Contratto di input, costruire contro analizzare e campi di risposta

Imposti mode su parse o build. In modalità parse, range_header è obbligatorio e può apparire come bytes=0-499, Range: bytes=500- o multipartito bytes=0-0,-1. In modalità build fornisca suffix_length per la forma ultimi-N, oppure start con un end inclusivo opzionale per forme chiuse o aperte; non mescoli suffix_length con start o end. resource_size è opzionale in entrambe le modalità: lo ometta se le serve solo normalizzazione sintattica e lunghezze di intervalli chiusi; lo includa quando le servono flag satisfiable, bytes_requested rispetto a un file reale, content_range e status_hint. Gli interi devono essere interi sicuri non negativi; suffix_length deve essere almeno uno. In caso di successo il corpo include sempre mode, il range_header canonico, unit bytes, range_count e un array ranges. Ogni oggetto intervallo porta kind (closed, open_end o suffix), la stringa raw e, quando noti, start, end, length, suffix e satisfiable. Il bytes_requested di primo livello è la somma delle lunghezze risolte quando tutte sono note. content_range viene emesso per un singolo intervallo soddisfacibile come bytes inizio-fine barra dimensione, oppure come bytes asterisco barra dimensione se non soddisfacibile. Header non validi, mode errati e combinazioni inconsistenti falliscono con invalid_input e non vengono fatturati. Esempio: analizzare bytes=0-499 con resource_size diecimila produce lunghezza cinquecento, content_range bytes 0-499/10000 e status_hint 206.

Dove un calcolatore HTTP Range rende davvero

Gestori di download e installer riprendono grandi artefatti reinviando header Range dopo un calo di rete; un calcolatore condiviso evita errori di uno che riscaricano un ISO intero o saltano una pagina critica di un PDF. I player multimediali che fanno seek in MP4 progressivi o audio costruiscono intervalli aperti o chiusi e devono sapere se l'origin risponderà 206 o 416 prima di disegnare la scrub bar. I test di gateway API e di configurazione CDN verificano che le regole di edge inoltrino e limitino correttamente gli intervalli rispetto a dimensioni di oggetto note senza avviare un'origin completa. Poiché l'implementazione è pure parse di livello A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello e senza rete in uscita. Mantenga resource_size onesto, fissi gli intervalli strutturati nei test e otterrà aritmetica di ripresa riproducibile per worker di edge, strumenti CLI e laboratori HTTP in aula senza spedire un intero stack solo per contare i byte.

Fixture di gateway e SDK

Generi stringhe canoniche Range e Content-Range nei test automatizzati affinché regole di edge e librerie client concordino su forme multipartite e a suffisso.

Quali forme di Range supporta il calcolatore di header HTTP Range?

Solo l'unità bytes: chiuso inizio-fine, aperto inizio- e suffisso -N, inclusi set multipartiti separati da virgola fino a 32 parti. Altre unità vengono rifiutate.

Come costruisco un Range per gli ultimi N byte?

Imposti mode su build e passi suffix_length (ad esempio 500) per emettere bytes=-500. Non invii start o end insieme a suffix_length.

Quando status_hint è 206 e quando 416?

Quando resource_size è fornito e ogni intervallo risolto è soddisfacibile su una risorsa non vuota, status_hint è 206. Se la risorsa è vuota o un intervallo inizia oltre la fine, è 416.

Serve resource_size per analizzare un header?

No. Senza resource_size ottiene comunque range_header normalizzato, kinds e lunghezze degli intervalli chiusi. Estremità aperte e suffissi necessitano di una dimensione per risolvere offset assoluti e il totale bytes_requested.

Quanto costa il calcolatore di header HTTP Range?

Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l'input non valido non viene fatturato.

Leggi la documentazione completa del KIT →