Informazioni restituite dal gateway nella risposta all’applicativo client

Header Standard

Le informazioni restituite dal gateway all’applicativo client, sia per per le fruizioni che per le erogazioni, sono riassunte nella Tabella 23.

Tabella 23 Header restituiti dal gateway nella risposta all’applicativo client

Nome Header Trasporto

Descrizione

GovWay-Message-ID

Identificativo del messaggio assegnato da GovWay

GovWay-Relates-To

Identificativo del messaggio riferito

GovWay-Conversation-ID

Identificativo della conversazione

GovWay-Application-Message-ID

Identificativo del messaggio assegnato dall’applicativo (solo nel caso di Fruizione)

GovWay-Transaction-ID

Identificativo della transazione assegnato da GovWay

Header RateLimiting

All’applicativo client vengono inoltre restituiti ulteriori header http informativi se l’applicativo erogatore non è disponibile o se sono stati attivati meccanismi di Rate Limiting (sezione Rate Limiting).

Tabella 24 Ulteriori header restituiti dal gateway nella risposta all’applicativo client

Nome Header Trasporto

Descrizione

Motivazione

Retry-After

Indica al client il numero di secondi dopo i quali ripresentarsi poichè il servizio contattato non è al momento disponibile.

Le principali cause della generazione di tale header sono imputabili alla non raggiungibilità un applicativo erogatore, alla violazione di politiche di RateLimiting o a quando un servizio è temporaneamente disabilitato

X-RateLimit-Limit

Indica il numero massimo di richieste effettuabili

Rate-Limiting attivato con policy di tipo “NumeroRichieste-ControlloRealtime*” (sezione Rate Limiting)

X-RateLimit-Remaining

Numero di richieste rimanenti prima del prossimo reset

Rate-Limiting attivato con policy di tipo “NumeroRichieste-ControlloRealtime*” (sezione Rate Limiting)

X-RateLimit-Reset

Numero di secondi mancante al prossimo reset

Rate-Limiting attivato con policy di tipo “NumeroRichieste-ControlloRealtime*” (sezione Rate Limiting)

GovWay-RateLimit-ConcurrentRequest-Limit

Indica il numero massimo di richieste concorrenti inviabili

Rate-Limiting attivato con policy di tipo “NumeroRichieste-RichiesteSimultanee” (sezione Rate Limiting)

GovWay-RateLimit-ConcurrentRequest-Remaining

Indica il numero massimo di richieste concorrenti ancora inviabili

Rate-Limiting attivato con policy di tipo “NumeroRichieste-RichiesteSimultanee” (sezione Rate Limiting)

GovWay-RateLimit-BandwithQuota-Limit

Indica la massima banda occupabile

Rate-Limiting attivato con policy di tipo “OccupazioneBanda-*” (sezione Rate Limiting)

GovWay-RateLimit-BandwithQuota-Remaining

Indica la banda ancora occupabile prima del prossimo reset

Rate-Limiting attivato con policy di tipo “OccupazioneBanda-*” (sezione Rate Limiting)

GovWay-RateLimit-BandwithQuota-Reset

Numero di secondi mancante al prossimo reset

Rate-Limiting attivato con policy di tipo “OccupazioneBanda-*” (sezione Rate Limiting)

GovWay-RateLimit-AvgTimeResponse-Limit

Tempo medio di risposta atteso

Rate-Limiting attivato con policy di tipo “TempoMedioRisposta-*” (sezione Rate Limiting)

GovWay-RateLimit-AvgTimeResponse-Reset

Numero di secondi mancante al prossimo reset

Rate-Limiting attivato con policy di tipo “TempoMedioRisposta-*” (sezione Rate Limiting)

GovWay-RateLimit-TimeResponseQuota-Limit

Tempo complessivo di risposta occupabile

Policy creata con risorsa di tipo “TempoComplessivioRisposta” (sezione Registro Policy)

GovWay-RateLimit-TimeResponseQuota-Remaining

Tempo di risposta ancora occupabile prima del prossimo reset

Policy creata con risorsa di tipo “TempoComplessivioRisposta” (sezione Registro Policy)

GovWay-RateLimit-TimeResponseQuota-Reset

Numero di secondi mancante al prossimo reset

Policy creata con risorsa di tipo “TempoComplessivioRisposta” (sezione Registro Policy)

GovWay-RateLimit-RequestSuccessful-Limit, GovWay-RateLimit-RequestFailed-Limit, GovWay-RateLimit-Fault-Limit

Indica il numero massimo di richieste effettuabili

Policy creata rispettivamente con risorsa di tipo “NumeroRichiesteCompletateConSuccesso”, “NumeroRichiesteFallite” e “NumeroFaultApplicativi” (sezione Registro Policy)

GovWay-RateLimit-RequestSuccessful-Remaining, GovWay-RateLimit-RequestFailed-Remaining, GovWay-RateLimit-Fault-Remaining

Numero di richieste rimanenti prima del prossimo reset

Policy creata rispettivamente con risorsa di tipo “NumeroRichiesteCompletateConSuccesso”, “NumeroRichiesteFallite” e “NumeroFaultApplicativi” (sezione Registro Policy)

GovWay-RateLimit-RequestSuccessful-Reset, GovWay-RateLimit-RequestFailed-Reset, GovWay-RateLimit-Fault-Reset

Numero di secondi mancante al prossimo reset

Policy creata rispettivamente con risorsa di tipo “NumeroRichiesteCompletateConSuccesso”, “NumeroRichiesteFallite” e “NumeroFaultApplicativi” (sezione Registro Policy)

Header di Sicurezza

È stata introdotta una politica di generazione automatica degli header HTTP indicati nella Tabella 25, se non ritornati dal backend che implementa l’API, con lo scopo di evitare alcune vulnerabilità a cui possono essere soggette le implementazioni delle API.

Nota

Il caching viene disabilitato per evitare che delle risposte vengano inopportunamente messe in cache, come indicato nelle Linee Guida - raccomandazioni tecniche per REST “RAC_REST_NAME_010”. Il mancato rispetto di questa raccomandazione può portare all’esposizione accidentale di dati personali.

Tabella 25 Header restituiti dal gateway nella risposta all’applicativo client, se non ritornati dal Backend

Nome Header Trasporto

Valore

X-Content-Type-Options

nosniff

Cache-Control

no-cache, no-store, must-revalidate

Pragma

no-cache

Expires

0

Vary

*

È possibile configurare una gestione personalizzata degli header di sicurezza per la singola API registrando le seguenti Proprietà sull’erogazione o sulla fruizione:

  • securityHeaders.enabled : consente di disabilitare la generazione degli headers di sicurezza. I valori associabili alla proprietà sono “true” o “false”. Per default questo controllo è abilitato.

  • securityHeaders.default : consente di disabilitare la generazione degli headers di sicurezza di default. I valori associabili alla proprietà sono “true” o “false”. Per default questo controllo è abilitato.

  • securityHeaders : lista di nomi di header http, separati con la virgola. Per ogni header indicato deve essere registrata una ulteriore proprietà dove va indicato il valore da associare all’header:

    • securityHeaders.<nomeHeader> = <valoreHeader>