Yabancılığın içinde -İşlemiş Olduğu-Sonrasında herhangi bir pratik kullanımı biliyor musunuz? description'dan itibaren, bu üstbilginin kirli yazmalardan kaçınmaya yardımcı olması amaçlanmıştır. Yani, bu kaynağı yalnızca istemci ile mevcut olan son değiştirilen zamandan beri değiştirilmediyse güncelleyin. If-Modified-Since'ten farklı olarak, önbelleğe almada yardımcı olmaz. Bir şey mi eksik?If-Unmodified-Since HTTP Üstbilgisinin kullanımı nedir?
cevap
Örn. range request için.
örnek: istemciniz http://examp.le/foo?id=3 kaynağını ister ve İçindekiler uzunluğu 4096, ancak istemciniz yalnızca ilk 1024 bayt ister. Daha sonra (daha sonra) kalan 3072 bayt isteyebilir, ancak kaynak değiştiyse bu mantıklı değildir.
düzenleme: Ayrıca, kaynak bu sırada değiştiyse, verileri değiştirmek/güncelleştirmek istemeyebilirsiniz. Örneğin. Bir müşteri kaydı talep edersiniz ve bir şeyler düzenlersiniz. Bu sırada kayıt başka biri değiştiyse, bu tutarsızlığa neden olabilir. Bu nedenle, güncellemelerinizi bir if-unmodified-before (-I-alındı-the-data) başlığı ile gönderin ve web sunucusu, kayıt zaten değişmişse güncellemelerinizi reddeder/reddeder - müşteriniz daha sonra "çakışan" verileri talep edebilir.
edit2: "vahşi modda -Aşağıdaki değiştirilmemiş herhangi bir kullanımının": için http://msdn.microsoft.com/en-us/library/dd179371.aspx#Subheading1'a bakın.
İlk olarak requested the Blob properties olduğunu varsayalım. Şimdi sen biliyorsun, ör. İçerik türü ve İçerik uzunluğu (bir çeşit ayırma için buna ihtiyacınız olabilir). Ikinci, Get Blob isteği göndermeden önce birisi/bir şey blob değiştirebilir. Eğer Değiştirilmemiş-Sona Erdi başlığının değeri olarak Last-Modified değerini gönderirseniz, blob değiştiyse sunucu uygun hata koduyla cevap verecektir.
Bunlar, Son Değiştirilen üstbilginin değerinin koruma belirteci olarak işlev gördüğü eşzamanlılık denetimi aracı olarak iyimser bir kilit/damgalanmış kilit örnekleridir. Bakınız örn. https://en.wikipedia.org/wiki/Optimistic_concurrency_control
Belirli bir yer için yerel hava durumunu gösteren bir uygulama geliştireceğinizi varsayalım. Eğer sunucu sadece gün içinde sadece 'x' kez hava durumu bilgisini güncellerse, tarayıcı o zaman diliminde bir http isteği yapmamaya dikkat edebilir (bir yenileme olsa bile).
Büyük indirmeler devam ederken yararlıdır.
Bir süre boyunca yürütülen ancak tek bir değişmemiş kaynağa ilişkin birden çok istek için kullanışlıdır.
Örnekler:
Menzil istekleri. Birinci aralık isteğine (veya belki bir ön
HEAD
) yanıt,Last-Modified
başlığını içerir. Sonraki istekler, yalnızca bu kaynağın aynı sürümü içindir. Kaynak, aralık taleplerinin sırasını başlattığımız süre ile dizinin ortasında bir süre arasında değiştiyse, yeniden başlamak istiyoruz.İyimser eşzamanlılık denetimi. İlk olarak
GET
kaynağı, istemci tarafında bazı değişiklikler yapın ve güncellenen kaynağıPUT
'a yönlendirin. Ancak, bu arada hiç kimse güncellemediği sürece yalnızcaPUT
güncellemesini istiyoruz. Kimsenin değişikliklerinin üzerine yazmak istemiyoruz. Birisi bu arada kaynağı değiştirmişse, yenidenGET
istiyoruz, istemcideki değişiklikleri (git rebase
gibi) yeniden uygulamaya çalışın ve değiştirilen kaynağıPUT
tekrar deneyin.
- 1. "??" ifadesinin kullanımı nedir?
- 2. içerik uzunluk üstbilgisinin üzerine yazılır!
- 3. Bir Ajax isteğine bir yetkilendirme üstbilgisinin eklenmesinin doğru yolu nedir?
- 4. Feholdexcept vb. Kullanımı nedir?
- 5. mongo.lock dosyasının kullanımı nedir?
- 6. Entitlements.plist dosyasının kullanımı nedir?
- 7. SingletonList kullanımı nedir?
- 8. LOCAL_MODULE_TAGS kullanımı nedir?
- 9. Android'de SQLiteDatabase.CursorFactory kullanımı nedir?
- 10. Android'de BaseColumns kullanımı nedir
- 11. pthread'de PTHREAD_CREATE_JOINABLE kullanımı nedir?
- 12. "const" kullanımı nedir?
- 13. android içinde MemoryFile kullanımı nedir
- 14. Sanal dizin nedir? Bunun kullanımı nedir?
- 15. IP üstbilgisinin bayraklar alanını ayarlama
- 16. GrayLog2'de MongoDB kullanımı nedir?
- 17. Bootstrap'tan satır sınıfının kullanımı nedir?
- 18. cocoapods içinde "~>" kullanımı nedir
- 19. Kotlin - Sınıfsız vücut kullanımı nedir?
- 20. T-SQL'de '\' ve '$' kullanımı nedir?
- 21. C dilinde _start() kullanımı nedir?
- 22. Android: MediaController'ın AnchorView kullanımı nedir?
- 23. WCF hizmetinde taban adresinin kullanımı nedir
- 24. HTTP Yükü - Bu numara nedir?
- 25. Gerekli HTTP üstbilgileri alanları nedir
- 26. Birleştirilmiş Üstbilgi Bir JTable Üstbilgisinin Üzerinde Java
- 27. UITableView Üstbilgisinin İçinde UILabel'ı Ortaya Getirme
- 28. UITableView'da bölüm üstbilgisinin yükseklik değişimi nasıl canlandırılır?
- 29. JTable'ın üstbilgisinin yazı tipini nasıl değiştirebilirim?
- 30. .exp kullanımı nedir ve .lib ile .dll arasındaki fark nedir?
İlk başta sadece "eşzamanlılık denetimi" idi. Menzil talepleri hakkında iyi yakalama! – rix0rrr
Eşzamanlılık kontrolü için daha uygun. Bu cevabın neden bu kadar yüksek oyu aldığını bilmiyorum ama Range header, aralık talepleri için daha uygun. Örneğin. Aralık: bayt = 1024- – sotn
@sotn OP, "vahşi-eğer-değiştirilmiş-beri pratik kullanımı" için sordu, bu yüzden bir cevap olarak bir kavram vermedi ama 2.5 eşzamanlılık kontrolü örnekleri. Ama belki haklısın; başka bir küçük paragraf ekleyecektir. – VolkerK