2013-06-20 14 views
6

İstemciye cevaben aktarım kodlama biçiminde verdiğim yanıtta çok miktarda veri gönderiyorum.Yanıt Gönderilen aktarım kodlaması ve bazı veriler zaten gönderildikten sonra meydana gelen hataların belirtilmesi gönderildi.

Yanıtın yazımı sırasında no'lu ortada meydana gelen hatalarla nasıl başa çıkmalıyım?

İstemcilerde yanıtın başarılı olmadığının, ancak sunucunun bir sorunla karşılaştığını bilmeleri için bu konuda HTTP Spec tarafından önerilen bir uygulama olup olmadığını bilmek isterim.

cevap

5

HTTP üstbilgilerini istemciye göndermeye başladığınızda, başka bir şey gönderemezsiniz. Göndermek istediğiniz yanıtı, yani yığınlanmış verileri ve ilişkili üstbilgileri göndermeyi bitirmeniz gerekir. Bunun ortasında bir hata oluşursa, bu hatayı müşteriye bildirmenin bir yolu yoktur. Tek yapabileceğin bağlantıyı kapatmak. İstemci, tüm üstbilgileri almaz veya yanıtın sonunda 0 uzunluğundaki yığınları sonlandırmaz. İstemcinin, sunucunun gönderme sırasında bir hatayla karşılaştığını bilmesi için her iki yol da yeterlidir.

+0

Teşekkürler Remy. Evet ... doğru, üstbilgileri ilk olarak gönderdiğimin farkındayım ve akışa yazmaya başladığımızda bunları değiştirmenin bir yolu yok. Önerdiğiniz gibi, şu anda bağlantıyı kapatıyorum, ancak HTTP Spec'un, müşterinin bunu nasıl bilmesini istediği hakkında başka bir yol olup olmadığını öğrenmek istedim. 0-boy yığın ilginç, Ben o alanda bir şey yapabilir miyim görmek için kontrol edecektir. –

+0

İstemcinin bir şeyin yanlış gittiğini bilmesine izin vermenin iki yolu vardır. Son 0 boy yığınını almaktan başka bir şey olduğundan veya son 0-lenth yığınını gönderdikten sonra yığınlanmış altbilgiye özel bir HTTP üstbilgisi koyduğunuzdan, bağlantıyı (yapmanız gereken şey) kapatın. Çoğu müşteri büyük olasılıkla böyle bir başlık görmezden gelecektir, ancak kendi müşterinizi yazıyorsanız o başlığı arayabilirsin. –

+0

Elbette .. teşekkürler! Remy ... –