ETag, sunucunun yanıta iliştirdiği ve o kaynağın tam olarak o sürümünü tanımlayan bir dizedir. Opaktır: bir özet, bir sürüm numarası ya da bir zaman damgası olabilir, ve istemci onu asla yorumlamaya çalışmamalı — yalnızca geri göndermelidir.
Okumada istemci ETag’i If-None-Match ile geri yollar; hâlâ eşleşiyorsa sunucu gövdesiz bir 304 Not Modified döner ve istemci kendi kopyasını kullanır. Yazmada aynı değeri If-Match ile yollar; artık eşleşmiyorsa sunucu 412 Precondition Failed döner ve yazma reddedilir. Aynı değer, iki başlık, bambaşka iki iş — biri bant genişliği kazandırır, diğeri kaybolan güncellemeyi önler.
ETag uyuşmazlığının bir arıza olduğu sanılır. 412 tam tersine mekanizmanın çalıştığı andır: siz okuduktan sonra bir başkası kaynağı değiştirmiştir ve sizin yazmanız onun değişikliğini sessizce ezecekti. Doğru tepki yeniden okuyup uzlaştırmak ve yeni ETag ile tekrar denemektir — eskisiyle tekrar denemek sonsuza kadar aynı 412’yi üretir.
Football ve FIBA puan durumu uç noktaları koşullu okumalara 304 ile cevap verir. Karakter, kahraman ve film yazmaları If-Match kabul eder ve sürüm eskimişse gerçek bir 412 üretir.
Tüm sözlük maddeleri · Test teknikleri · 39 mock REST API’nin tamamı
Last updated