Analizzatore Header HTTP
Gli header HTTP trasportano metadati su richieste e risposte. Questo strumento analizza messaggi HTTP completi inclusa la riga di richiesta/stato, gli header e il contenuto del body. Analizza gli header di sicurezza (HSTS, CSP), l'autenticazione (Basic, Bearer), i cookie, la configurazione CORS e le direttive di caching. Il contenuto del body viene automaticamente formattato e evidenziato sintatticamente in base al Content-Type (JSON, HTML, XML).
Specifiche
Casi d'uso comuni
- Debug delle richieste API copiate dalla scheda Network degli strumenti di sviluppo del browser
- Analisi dell'output di curl -i o curl -v con header e body
- Audit degli header di sicurezza per la conformita (raccomandazioni OWASP)
- Risoluzione dei problemi di preflight CORS e cross-origin
- Ispezione degli header di autenticazione e della configurazione dei cookie
- Verifica del comportamento di caching per CDN e caching del browser
Funzionalità
- Analisi di richieste HTTP complete (GET /path HTTP/1.1)
- Analisi di risposte HTTP con codici di stato e frasi di motivazione
- Formattazione e evidenziazione sintattica del contenuto del body (JSON, HTML, XML, CSS)
- Decodifica degli header Authorization (credenziali Basic auth, token Bearer)
- Analisi degli header di sicurezza (HSTS, CSP, X-Frame-Options, X-Content-Type-Options)
- Analisi degli attributi Set-Cookie (Secure, HttpOnly, SameSite, scadenza)
- Estrazione e elenco dei cookie dagli header
- Visualizzazione degli header CORS (Access-Control-Allow-Origin, ecc.)
- Spiegazione delle direttive Cache-Control (max-age, no-cache, private)
Esempi
Risposta API con body JSON
Provalo →Una risposta HTTP completa con header e body JSON, come potresti copiarla dall'output di curl -i.
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Cache-Control: max-age=3600, public
X-Frame-Options: DENY
Strict-Transport-Security: max-age=31536000; includeSubDomains
{
"status": "success",
"data": {
"id": 12345,
"name": "Example User"
}
}Richiesta HTTP con autenticazione
Provalo →Una richiesta con autenticazione token Bearer e cookie.
GET /api/users HTTP/1.1
Host: api.example.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Accept: application/json
Cookie: session=abc123; theme=darkSuggerimenti
- Usa "curl -i URL" per includere gli header di risposta nell'output.
- Negli strumenti di sviluppo del browser, fai clic destro su una richiesta e "Copia come cURL" per ottenere la richiesta completa.
- HSTS (Strict-Transport-Security) indica ai browser di usare solo HTTPS per il dominio.
- CSP (Content-Security-Policy) controlla quali risorse la pagina puo caricare.
- L'attributo cookie SameSite aiuta a prevenire gli attacchi CSRF.
Approfondimenti Analizzatore Header HTTP
Gli header HTTP sono coppie chiave-valore inviate tra client e server come parte di ogni richiesta e risposta HTTP. Trasportano metadati sul messaggio: tipo di contenuto, direttive di caching, credenziali di autenticazione e policy di sicurezza. Gli header appaiono dopo la riga di richiesta o di stato e prima del body opzionale, separati dal body da una riga vuota.
Gli header di richiesta forniscono contesto sul client e sulla risposta desiderata. Host identifica il server di destinazione. Accept e Content-Type negoziano il formato del media. Authorization trasporta le credenziali (Basic, Bearer, chiavi API). Cookie invia i dati di sessione archiviati. User-Agent identifica il software client.
Gli header di risposta controllano come il client gestisce il contenuto. Cache-Control e ETag governano il comportamento di caching. Set-Cookie stabilisce lo stato lato client. Content-Security-Policy limita il caricamento delle risorse per mitigare gli XSS. Strict-Transport-Security forza HTTPS. Gli header CORS (Access-Control-Allow-Origin e correlati) controllano la condivisione delle risorse cross-origin, uno degli aspetti piu comunemente mal configurati delle API web.
Comprendere gli header e essenziale per il debug delle applicazioni web. Quando un'API restituisce risultati inattesi, gli header spesso rivelano la causa: un Content-Type mancante, un token di autenticazione scaduto, una direttiva di caching che serve dati obsoleti o una policy CORS che blocca la richiesta.
La direttiva Cache-Control e uno degli header piu fraintesi. La direttiva no-cache non significa "non memorizzare nella cache": significa che la cache deve rivalidare con il server di origine prima di usare una risposta archiviata. La risposta puo comunque essere memorizzata nella cache. La direttiva no-store e cio che effettivamente impedisce il caching, e dovrebbe essere usata per i dati sensibili. Per contenuti che cambiano frequentemente e che beneficiano di richieste condizionali, no-cache combinato con ETag o Last-Modified e la strategia appropriata.
Gli errori CORS si verificano quando una richiesta del browser a un'origine diversa non ha l'header di risposta Access-Control-Allow-Origin. Il server deve includere questo header con l'origine richiedente o * per le API pubbliche. Quando sono coinvolte credenziali (cookie o header Authorization), il wildcard non e consentito: l'header deve specificare l'origine esatta. Le richieste preflight OPTIONS richiedono inoltre Access-Control-Allow-Methods e Access-Control-Allow-Headers. L'autenticazione con token Bearer usa il formato Authorization: Bearer <token>, dove il token e tipicamente un JWT o un access token opaco da un flusso OAuth 2.0. A differenza dei cookie, i token Bearer non vengono inviati automaticamente: il client deve attaccare esplicitamente l'header a ogni richiesta.
Ogni sito web dovrebbe impostare un insieme minimo di header di sicurezza. Strict-Transport-Security (HSTS) assicura che venga sempre usato HTTPS. Content-Security-Policy mitiga gli XSS limitando il caricamento delle risorse. X-Content-Type-Options: nosniff impedisce il MIME type sniffing. X-Frame-Options protegge dal clickjacking e Referrer-Policy controlla quali informazioni vengono inviate nell'header Referer. Le API dovrebbero inoltre configurare gli header CORS appropriati per controllare quali origini possono effettuare richieste.