HTTP başlıkları, her HTTP isteğine ve yanıtına eklenen ve gönderilen asıl içerikten ayrı olarak isteğin kendisi hakkında bilgi taşıyan anahtar-değer çiftleridir; örneğin isteği kimin yaptığı, verinin hangi formatta beklendiği ve verinin nasıl işlenmesi gerektiği gibi. Feed yönetiminde başlıklar; bir feed platformunun bir API'ye kimliğini doğrulamasını, XML yerine JSON gönderdiğini veya beklediğini belirtmesini ve önbellekleme ya da sıkıştırma talimatlarını iletmesini, bu bilgilerin hiçbiri istek gövdesindeki asıl ürün verisini kalabalıklaştırmadan sağlar.
Feed Yönetimi İçin Neden Önemlidir
Bir feed platformu ile bir kanal -- Google Merchant Center, Meta Catalog, bir perakendecinin kendi ERP'si -- arasındaki her otomatik bağlantı, başlıkların işini doğru yapmasına bağlıdır. Geçersiz veya süresi dolmuş bir token taşıyan bir Authorization başlığı, aksi hâlde kusursuz biçimlendirilmiş bir feed gönderiminin doğrudan başarısız olmasına neden olur; eksik veya hatalı bir Content-Type başlığı ise bir kanalın JSON yükünü düz metin olarak (ya da tersi) yanlış yorumlamasına ve bir yüklemeyi sessizce bozmasına yol açabilir. Hız sınırlama ve yeniden deneme mantığı da başlıklarda yer alır: Pek çok API, bir feed platformuna kısıtlanmadan önce kaç istek daha yapabileceğini bildirmek için Retry-After veya X-RateLimit-Remaining gibi başlıklar döndürür; bu, dakika başına istek sayısını sınırlayan bir kanala karşı on binlerce SKU senkronize edilirken önem kazanır. Başarısız bir feed senkronizasyonunda hata ayıklamak çoğu zaman önce başlıkları incelemeye dayanır; çünkü bir isteğin gövdesi tamamen doğru görünürken reddedilmeye sessizce bir başlık neden oluyor olabilir.
Nasıl Çalışır
Başlıklar, bir HTTP isteğinin veya yanıtının en üstünde, URL'den ve gövdeden ayrı düz metin satırları olarak gönderilir. Tipik bir feed API isteği; çağıranın kimliğini kanıtlamak için Authorization: Bearer <token>, gönderilen verinin formatını bildirmek için Content-Type: application/json ve geri beklenen formatı belirtmek için Accept: application/json içerebilir. Doğrudan adres çubuğunda görünen bir sorgu parametresi veya diğer URL parametrelerinin aksine başlıklar URL'nin kendisinde görünmez; bu da onları tarayıcı geçmişinde veya sunucu günlüklerinde görünmemesi gereken kimlik doğrulama token'ları gibi hassas bilgiler için doğru yer yapar. Bazı başlıklar istemci veya sunucu tarafından otomatik olarak ayarlanır (Date veya Content-Length gibi); diğerleri -- özellikle kimlik doğrulama ve özel izleme başlıkları -- entegrasyonu kuran kişi tarafından açıkça yapılandırılır.
Örnek
<!-- 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>
Yukarıdaki sync_request_headers bloğu gerçek bir feed özelliği değildir; ancak bu ürünün verileri toplu dosya yüklemesi yerine bir API çağrısıyla bir kanala her gönderildiğinde onlara eşlik eden başlık meta verisini göstermektedir.
İlgili Kavramlar
Başlıklar, bir istekle birlikte taşınan sorgu parametreleri ve URL parametreleri ile birlikte -- ama onlardan ayrı olarak -- çalışır; temel fark görünürlüktür: başlıklar URL'nin dışında kalır, bu yüzden kimlik doğrulama token'ları bir bağlantıya eklenmek yerine orada bulunur. Bu üçü birlikte bir kanalın API'sinin fiilen ne aldığını tanımlar ve herhangi birinin yanlış olması, bir feed senkronizasyonunun sessizce başarısız olmasının en yaygın nedenlerinden biridir.
















