Le intestazioni HTTP sono coppie chiave-valore allegate a ogni richiesta e risposta HTTP che contengono informazioni sulla richiesta stessa, separate dal contenuto effettivo inviato, come ad esempio chi effettua la richiesta, in quale formato si aspetta i dati e come questi devono essere gestiti. Nella gestione dei feed, le intestazioni permettono a una piattaforma di feed di autenticarsi presso un'API, specificare che sta inviando o aspettandosi JSON anziché XML e trasmettere istruzioni di caching o compressione, il tutto senza che tali informazioni intralcino i dati effettivi del prodotto nel corpo della richiesta.
Perché è importante per la gestione dei mangimi
Ogni connessione automatizzata tra una piattaforma di feed e un canale — Google Merchant Center, Meta Catalog, l'ERP del rivenditore — dipende dal corretto funzionamento delle intestazioni. Authorization un'intestazione contenente un token non valido o scaduto farà sì che l'invio di un feed altrimenti formattato correttamente fallisca completamente, e un token mancante o errato Content-Type L'intestazione può causare un'errata interpretazione di un payload JSON da parte di un canale come testo semplice, o viceversa, corrompendo silenziosamente un caricamento. Le intestazioni sono anche il luogo in cui risiede la logica di limitazione della velocità e di ripetizione dei tentativi: molte API restituiscono intestazioni come Retry-After or X-RateLimit-Remaining Per indicare a una piattaforma di feed quante altre richieste può effettuare prima di essere limitata, un aspetto importante quando si sincronizzano decine di migliaia di SKU con un canale che impone un limite alle richieste al minuto. Il debug di una sincronizzazione del feed non riuscita spesso si riduce all'ispezione delle intestazioni, poiché il corpo di una richiesta può apparire perfettamente corretto mentre un'intestazione errata sta causando silenziosamente il rifiuto.
Come funziona
Le intestazioni vengono inviate come righe di testo semplice all'inizio di una richiesta o risposta HTTP, separate dall'URL e dal corpo. Una tipica richiesta API di feed potrebbe includere Authorization: Bearer <token> per dimostrare l'identità del chiamante, Content-Type: application/json dichiarare il formato dei dati inviati e Accept: application/json per specificare il formato previsto in risposta. A differenza di un parametro di query o l'altro Parametri URL che appaiono direttamente nella barra degli indirizzi, le intestazioni sono invisibili nell'URL stesso, il che le rende il posto giusto per informazioni sensibili come i token di autenticazione che non dovrebbero essere visualizzati nella cronologia del browser o nei log del server. Alcune intestazioni vengono impostate automaticamente dal client o dal server (come Date or Content-Length), mentre altri, in particolare le intestazioni di autenticazione e di tracciamento personalizzate, vengono configurati esplicitamente da chi sviluppa l'integrazione.
Esempio
<!-- Representative HTTP request headers sent when a feed platform
pushes a product update to a channel's API -->
<item>
<g:id>SKU-40217</g:id>
<title>Ceramic Plant Pot - 8 inch, Terracotta</title>
<g:price>18.50 USD</g:price>
<sync_request_headers>
Authorization: Bearer eyJhbGciOi...
Content-Type: application/json
Accept: application/json
</sync_request_headers>
</item>
Migliori sync_request_headers Il blocco qui sopra non rappresenta un vero e proprio attributo del feed, ma illustra i metadati dell'intestazione che accompagnano i dati di questo elemento ogni volta che viene inviato a un canale tramite una chiamata API anziché tramite un caricamento massivo di file.
Concetti correlati
Le intestazioni funzionano insieme, ma separatamente, dai parametri di query e dai parametri URL che accompagnano la richiesta. La differenza principale risiede nella visibilità: le intestazioni non vengono incluse nell'URL, motivo per cui i token di autenticazione risiedono lì anziché essere aggiunti a un link. Insieme, questi tre elementi definiscono ciò che l' API di un canale riceve effettivamente, e un errore anche in uno solo di essi è una delle cause più comuni di mancata sincronizzazione silenziosa del feed.