ForHosting KIT · Veille et lecture de sites web

Résoudre une URL relative avec une URL de base

Transformez un lien, un chemin, une requête, un fragment ou une référence relative au protocole en l’URL absolue exacte qu’emploierait un navigateur.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Indiquez une URL de base absolue et la référence trouvée dans un document, un flux, une feuille de style, un manifeste ou une réponse d’API. Le résolveur applique les règles standard aux segments, barres finales, requêtes, fragments, ports et changements d’origine, puis renvoie une URL normalisée sans consulter la destination ni analyser de contenu distant. Le calcul est rapide et déterministe.

Commencez par l’URL complète qui fournit le contexte

Une référence relative n’a de sens que par rapport à une autre URL. Saisissez ce contexte dans base_url sous la forme d’une URL absolue complète, avec son schéma et son hôte lorsque le schéma en utilise un. Le chemin compte autant que le domaine. Ainsi, une base finissant par <code>/docs/page.html</code> interprète une référence simple telle que <code>image.png</code> comme un élément voisin de la page, tandis qu’une base finissant par <code>/docs/</code> l’interprète comme un enfant de ce répertoire. Le résolveur ne devine pas si le chemin désigne un fichier ou un dossier : il suit la syntaxe, notamment la barre finale. Il accepte les formes d’URL absolues standard reconnues par l’implémentation du navigateur. Une valeur telle que <code>/docs/page.html</code> ne suffit pas, car elle ne fournit ni schéma absolu ni contexte d’origine. Une base invalide ou relative provoque une erreur d’entrée plutôt qu’un résultat trompeur. Cette rigueur révèle les erreurs avant que les liens ne rejoignent un robot, un import, une règle de redirection ou des données enregistrées.

Comprenez comment chaque référence transforme la base

Le champ relative_reference accepte bien davantage qu’un nom de fichier. Une barre initiale remplace le chemin de base tout en conservant le schéma et l’autorité. Deux barres initiales forment une référence réseau qui peut changer l’hôte en héritant du schéma. Les segments tels que <code>../</code> remontent dans l’arborescence et <code>./</code> restent au niveau courant ; la normalisation les retire de l’URL finale. Une référence commençant par <code>?</code> garde le chemin et remplace la requête. Une référence commençant par <code>#</code> conserve le chemin et la requête, puis change le fragment. Une référence absolue remplace entièrement la base, conformément au standard. Cette capacité refuse les références vides afin qu’un champ manquant par erreur ne passe pas pour une réutilisation volontaire de la base. Les caractères encodés en pourcentage le restent selon les règles de sérialisation, tandis que les hôtes, ports par défaut et autres composants peuvent prendre la forme canonique produite par l’analyseur standard.

Exploitez le résultat sérialisé sans lancer de requête réseau

Le résultat contient absolute_url, l’URL normalisée et sérialisée après résolution. Aucun accès DNS, aucune requête HTTP, aucun téléchargement, aucun suivi de redirection et aucun test de disponibilité n’est effectué. Cette séparation convient lorsque vous cherchez une transformation déterministe plutôt qu’un contrôle du site en direct : les deux mêmes entrées donnent toujours la même sortie, même si l’hôte n’existe pas ou si la ressource est privée. Servez-vous du résultat pour normaliser des liens extraits de HTML, préparer des files d’exploration, développer des références de flux, valider des fixtures, produire des entrées de sitemap ou comparer des URL de façon cohérente avant déduplication. La résolution syntaxique ne prouve pas que la destination est sûre, accessible, publique ou autorisée. Si des utilisateurs non fiables fournissent les valeurs, appliquez les règles de votre application concernant schémas, hôtes et accès réseau avant toute récupération. L’API et l’outil du navigateur partagent le même algorithme pur. Chaque requête API coûte $0.002 ; l’exécution locale sur cette page est gratuite.

Développer les liens extraits d’une page

Convertissez les valeurs href et src relatives en URL absolues à partir de l’URL du document source.

Normaliser une file d’exploration

Résolvez segments de navigation, chemins racine, requêtes et fragments avant exploration ou déduplication.

Tester le routage et les fixtures d’URL

Produisez des URL attendues déterministes sans contacter les hôtes ni dépendre de l’état du réseau.

Que change une barre finale dans l’URL de base ?

Elle détermine si le dernier segment est traité comme un répertoire. Sans barre, un chemin relatif simple remplace ce segment ; avec elle, il est ajouté dans le répertoire.

La référence relative peut-elle être une URL absolue ?

Oui. La résolution standard renvoie alors cette URL absolue indépendamment de la base, avec la sérialisation habituelle.

L’outil vérifie-t-il que l’URL obtenue existe ?

Non. Il n’effectue aucune requête réseau, résolution DNS, vérification de redirection ou vérification de disponibilité.

Les références contenant uniquement une requête ou un fragment sont-elles admises ?

Oui. Une référence débutant par ? remplace la requête, tandis qu’une référence débutant par # modifie le fragment selon les règles standard.

Que se passe-t-il si l’URL de base est relative ?

La requête échoue avec une erreur d’entrée invalide, car une base relative ne fournit pas assez de contexte pour produire une URL absolue.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/web/absolute-url-resolve

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

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 est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

timeout_sec30
max_crawl_pages25
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Consulter la documentation complète du KIT →