ForHosting KIT · Lettura e monitoraggio di siti web

Rilevare lo schema di versionamento API dall'URL

Un indirizzo il cui percorso inizia con v1 usa il versionamento nel percorso, versione 1, trovata in /v1. Incolli un indirizzo per sapere se la versione sta nel percorso, dopo il punto interrogativo o solo nelle intestazioni, utile per gateway e documentazione. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Indirizzo web
https://api.example.com/v1/users
Ottiene
Schema
path_based
Versione
1
Versione grezza
v1
Posizione
/v1

Quando la versione compare nel percorso o nella query viene estratta e restituita con il token grezzo e la posizione che ha corrisposto.

Tre posti in cui un servizio web tiene la versione

I servizi web dichiarano la versione in modi diversi. Il più comune è un tratto del percorso, come v2 tra due barre, direttamente nell'indirizzo. Un altro è una chiave dopo il punto interrogativo che porta il numero, per esempio una versione con valore 2. Il terzo lascia pulito l'indirizzo e si aspetta che la versione viaggi a parte, nelle intestazioni. Incolli un indirizzo completo e il rilevatore le dice quale dei tre stili usa e, se la versione è visibile, qual è e dove è stata trovata. Un indirizzo il cui percorso inizia con v1, seguito da users, viene classificato come versionamento nel percorso, versione 1, con il testo originale v1 e la posizione /v1.

Che cosa controlla il rilevatore e che cosa non fa mai

Sono accettati solo indirizzi completi che iniziano con http o https; tutto il resto viene rifiutato invece che indovinato. Le chiavi dopo il punto interrogativo si confrontano senza badare alle maiuscole, e vince la prima di un elenco fisso di priorità che abbia un valore, quindi l'ordine degli elementi non cambia la risposta. Una versione scritta come v2 viene normalizzata in 2, mentre 1.0.0 resta uguale e parole come beta o una data come 2024-01-01 restano invariate. Il rilevatore non si collega mai al servizio e non inventa una versione dal solo nome del server, perciò lo stesso indirizzo dà sempre la stessa risposta.

Come si distinguono gli schemi per percorso, query e intestazione implicita

Riconosce anche la forma a due segmenti version/1 o versions/2.0 affinché le route in stile documentazione restino classificate correttamente. Le chiavi si confrontano senza distinzione di maiuscole; vince la prima della lista di priorità fissa con valore non vuoto, così il risultato resta stabile qualunque sia l'ordine dei parametri nell'URL originale. I valori possono essere 2, v2 o 1.0.0; una v iniziale viene rimossa dal campo version normalizzato quando il token è puramente numerico con punti opzionali.

I token alfanumerici liberi come beta o 2024-01-01 restano invariati se corrispondono a un pattern di identificatore sicuro. Il rilevatore non esegue mai I/O di rete e non inventa mai una versione dal solo hostname.

Cosa conta come versionamento basato sul percorso?

Un segmento di percorso che corrisponde a v più una versione numerica (v1, v2.0) oppure la forma version/1 o versions/2.0.

Che cosa significa se nell'indirizzo non si trova nessuna versione?

Il risultato indica un versionamento tramite intestazioni: né il percorso né la parte dopo il punto interrogativo portano un segno di versione. Questi servizi di solito si aspettano la versione nelle intestazioni, o non la mettono nell'indirizzo.

Conta l'ordine degli elementi dopo il punto interrogativo?

No. Le chiavi si confrontano senza badare alle maiuscole e vince la prima di un elenco fisso di priorità che abbia un valore, quindi lo stesso indirizzo dà la stessa risposta in qualsiasi ordine.

Che fine fanno le versioni scritte come v2 o 1.0.0?

La v iniziale viene tolta quando il resto contiene solo cifre e punti, così v2 diventa 2 e 1.0.0 resta uguale. Parole come beta o una data come 2024-01-01 restano invariate.

Lo strumento visita l'indirizzo che incollo?

No. Legge solo il testo dell'indirizzo e non si collega mai al servizio. Non ricava nemmeno una versione dal solo nome del server, quindi un indirizzo senza segno viene indicato come tale.

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/api-versioning-scheme-detect

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/api-versioning-scheme-detect \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://api.example.com/v1/users"}'
{
  "url": "https://api.example.com/v1/users"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.api_versioning_scheme_detect",
  "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.

Le API HTTP pubbliche annunciano lo stile di versionamento in punti diversi: un segmento di percorso come /v2/, una query string come ? api_version=2, oppure in nessun punto dell'URL quando i client devono inviare Accept o intestazioni personalizzate. Integrazioni, gateway, generatori di SDK e crawler di documentazione necessitano di una risposta deterministica unica su quale schema usi un endpoint e quale token di versione porti. Questa capacità accetta un URL assoluto di API, rifiuta le stringhe che non sono URL http o https ben formati e classifica lo schema come path_based, query_param o header_implied. Se né il percorso né la query contengono un marcatore convenzionale, il risultato è header_implied con has_version false, a indicare che il versionamento è fuori banda rispetto all'URL.

Come si distinguono gli schemi per percorso, query e intestazione implicita

Il versionamento basato sul percorso è la convenzione REST dominante: un segmento come v1, v2 o v1.2.3 compare nel pathname, spesso sotto /api/ o come primo segmento significativo dopo l'host. Questo rilevatore scorre i segmenti da sinistra a destra e tratta una corrispondenza, senza distinzione di maiuscole, di v seguita da una versione numerica come path_based, restituendo la parte numerica come version e il segmento originale come version_raw con location impostata su quel segmento (ad esempio /v2). Il versionamento tramite parametro di query colloca il token nella stringa di ricerca sotto chiavi comuni: version, api_version, api-version, apiversion, ver e v. Quando percorso e query corrisponderebbero entrambi, path_based ha priorità perché la documentazione REST pubblica tratta quasi sempre il segmento di percorso come contratto primario e la query come override secondario. Se nessuna fonte fornisce una versione, lo schema è header_implied: l'URL da solo non codifica una versione, il che nelle API moderne di solito significa Accept: application/vnd.example.v1+json, un'intestazione X-API-Version personalizzata o una superficie non versionata.

Contratto di ingresso, payload di successo ed errori di validazione

Esempio: https://api.example.com/users? Invii con POST un corpo JSON con un unico campo stringa obbligatorio denominato url. Il valore deve essere un URL assoluto ben formato con schema http o https; percorsi relativi, hostname senza schema, stringhe vuote, tipi non stringa e altri protocolli come ftp o mailto falliscono con invalid_input e non vengono addebitati. In caso di successo la risposta include sempre l'url ecoata, scheme (path_based, query_param o header_implied), has_version (booleano), path (pathname) e host. Quando has_version è true, il payload include anche version (token normalizzato), version_raw (come nell'URL) e location (un puntatore breve come /v2 o ? api_version=2). Per i risultati query_param, param_name registra l'ortografia originale della chiave nell'URL. I campi opzionali vengono omessi anziché impostati a null quando has_version è false, mantenendo il contratto sicuro per il DOM e facile da renderizzare. Esempio: https://api.example.com/v2/users produce scheme path_based, version 2 e location /v2. api_version=2 produce scheme query_param, version 2 e param_name api_version. Esempio: https://api.example.com/users senza marcatori di versione produce scheme header_implied e has_version false. Usi lo strumento gratuito del browser per un'ispezione puntuale, oppure l'API a $0.002 per elemento riuscito quando classifica endpoint in blocco da un inventario o da un crawl OpenAPI.

Dove la rilevazione del versionamento nell'URL ripaga

I team di piattaforma inventariano centinaia di URL di base interni e dei partner e necessitano di un'etichetta coerente prima di instradare il traffico attraverso un gateway che impone finestre di deprecazione. La validazione fallita non consuma saldo. I generatori di SDK e gli strumenti di scaffolding dei client ramificano i template a seconda che il server attenda /vN/ nel percorso, un flag di query o solo versionamento tramite intestazione; un classificatore puro evita regex fragili sparse nei repository. I siti di documentazione e i marketplace di API mostrano badge sullo stile di versionamento accanto a ogni scheda; alimentarli con questo endpoint allinea il testo di marketing alla forma reale dell'URL. Le revisioni di sicurezza e conformità chiedono spesso se gli host di produzione espongono ancora percorsi non versionati o schemi misti che complicano il rilascio di modifiche incompatibili; esportare scheme e has_version in un foglio risponde in un solo passaggio. I job CI possono far fallire una pull request quando l'URL di base di un servizio appena aggiunto passa silenziosamente da path_based a header_implied senza un ADR. Poiché l'implementazione è pure parse di tier A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002, senza token di modello e senza fetch dell'host di destinazione.

Inventario API e routing sul gateway

Classifichi gli URL di base di un catalogo servizi come path_based, query_param o header_implied prima di applicare politiche di deprecazione e regole di routing.

Scaffolding di SDK e client

Scelga il template URL corretto quando genera SDK: inietti /vN/, aggiunga ?version= oppure documenti le intestazioni Accept richieste quando l'URL non porta versione.

Badge di documentazione e audit di conformità

Etichetti le schede pubbliche di API con lo stile di versionamento e segnali gli host di produzione non versionati durante le revisioni di sicurezza o architettura.

Come si rileva lo schema di versionamento di un'API da un URL?

Invii un URL http(s) assoluto ben formato nel campo url. Lo scheme della risposta è path_based, query_param o header_implied, con version estratta se presente nel percorso o nella query string.

Quali parametri di query sono riconosciuti?

version, api_version, api-version, apiversion, ver e v, senza distinzione di maiuscole e in quell'ordine di priorità. Il primo valore non vuoto produce scheme query_param.

Cosa significa header_implied?

Né il percorso né la query string portano un marcatore di versione convenzionale. Il versionamento è trasmesso da intestazioni (Accept, X-API-Version) oppure l'API non è versionata nell'URL.

Quanto costa rilevare lo schema di versionamento di un'API?

Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; gli URL non validi o mal formati non vengono addebitati.

Leggi la documentazione completa del KIT →