ForHosting KIT · Lettura e monitoraggio di siti web

Risolvere un URL relativo con un URL base

Trasformi un link, un percorso, una query, un frammento o un riferimento relativo al protocollo nell’esatto URL assoluto che userebbe un browser.

● BetaGratis · nel tuo browser
Usalo da WebAPIEmailTelegramApp presto

Inserisca un URL base assoluto e il riferimento trovato in un documento, feed, foglio di stile, manifesto o risposta API. Il risolutore applica le regole standard a segmenti, barre finali, query, frammenti, porte e cambi di origine, restituendo un URL normalizzato senza richiedere la destinazione né esaminare contenuti remoti. Il calcolo è rapido e deterministico.

Parta dall’URL completo che fornisce il contesto

Un riferimento relativo ha significato soltanto rispetto a un altro URL. Inserisca tale contesto in base_url come URL assoluto completo, includendo schema e host quando lo schema prevede un host. Il percorso conta quanto il dominio. Per esempio, una base che termina con <code>/docs/page.html</code> considera un riferimento semplice come <code>image.png</code> un elemento allo stesso livello della pagina, mentre una base che termina con <code>/docs/</code> lo considera figlio di quella directory. Il risolutore non tenta di indovinare se il percorso rappresenti un file o una cartella: segue la sintassi, soprattutto la barra finale. Accetta le forme assolute standard riconosciute dall’implementazione URL del browser. Un valore come <code>/docs/page.html</code> non è una base sufficiente, perché manca dello schema assoluto e del contesto di origine. Le basi non valide o relative generano un errore di input, anziché una risposta soltanto plausibile. Questo rigore rende visibili gli errori prima che i link risolti entrino in un crawler, un’importazione, una regola di reindirizzamento o un archivio dati.

Comprenda come ogni tipo di riferimento modifica la base

Il campo relative_reference può contenere molto più di un nome file. Una barra iniziale sostituisce il percorso base mantenendo schema e autorità. Due barre iniziali creano un riferimento di rete, consentendo di cambiare host ed ereditare lo schema. I segmenti come <code>../</code> risalgono di livello e <code>./</code> restano al livello corrente; la normalizzazione elimina tali segmenti di navigazione dall’URL finale. Un riferimento che inizia con <code>?</code> conserva il percorso e sostituisce la query. Uno che inizia con <code>#</code> conserva percorso e query, cambiando il frammento. Un riferimento assoluto sostituisce interamente la base, come stabilisce lo standard. Questa capacità rifiuta i riferimenti vuoti, affinché un campo accidentalmente mancante non venga scambiato per un riutilizzo intenzionale della base. I caratteri codificati in percentuale rimangono codificati secondo le regole di serializzazione; host, porte predefinite e altri componenti possono invece essere normalizzati nella forma canonica prodotta dal parser standard.

Usi il risultato serializzato senza avviare richieste di rete

Il risultato contiene absolute_url, ossia l’URL normalizzato e serializzato dopo la risoluzione. Non vengono eseguiti interrogazioni DNS, richieste HTTP, download, controlli di disponibilità o verifiche dei reindirizzamenti. Questa separazione è utile quando serve una trasformazione deterministica e non un test del sito in tempo reale: gli stessi due input producono sempre lo stesso output, anche se l’host non esiste o la risorsa è privata. Usi il risultato per normalizzare link estratti da HTML, preparare code di scansione, espandere riferimenti nei feed, convalidare fixture, costruire voci di sitemap o confrontare URL in modo coerente prima della deduplicazione. La risoluzione sintattica non dimostra che la destinazione sia sicura, raggiungibile, pubblica o autorizzata. Se i valori provengono da utenti non attendibili, applichi le politiche della Sua applicazione su schemi, host e accesso alla rete prima di recuperare l’URL restituito. L’API e lo strumento nel browser condividono lo stesso algoritmo puro. Ogni richiesta API costa $0.002; l’esecuzione locale in questa pagina è gratuita.

Espandere i link estratti da una pagina

Converta i valori relativi di href e src in URL assoluti usando l’URL del documento di origine.

Normalizzare una coda di scansione

Risolva segmenti punto, percorsi dalla radice, query e frammenti prima della scansione o deduplicazione.

Testare routing e fixture URL

Generi URL attesi deterministici per i test senza contattare host né dipendere dallo stato della rete.

Che cosa cambia una barra finale nell’URL base?

Stabilisce se l’ultimo segmento è trattato come directory. Senza barra, un percorso relativo semplice sostituisce quel segmento; con la barra, viene aggiunto nella directory.

Il riferimento relativo può essere un URL assoluto?

Sì. La risoluzione standard restituisce tale URL assoluto indipendentemente dalla base, applicando la normale serializzazione.

Viene controllato se l’URL risultante esiste?

No. Non vengono effettuati richieste di rete, interrogazioni DNS, controlli dei reindirizzamenti o test di disponibilità.

Sono ammessi riferimenti contenenti soltanto query o frammento?

Sì. Un riferimento che inizia con ? sostituisce la query; uno che inizia con # modifica il frammento secondo le regole standard.

Che cosa accade se l’URL base è relativo?

La richiesta fallisce con un errore di input non valido, perché una base relativa non fornisce contesto sufficiente per produrre un URL assoluto.

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/web/absolute-url-resolve

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/web/absolute-url-resolve \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"base_url":"https://example.com/docs/guides/start.html","relative_reference":"../images/logo.svg?theme=dark#mark"}'
{
  "base_url": "https://example.com/docs/guides/start.html",
  "relative_reference": "../images/logo.svg?theme=dark#mark"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "web.absolute_url_resolve",
  "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.

timeout_sec30
max_crawl_pages25
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.

Leggi la documentazione completa del KIT →