2011-06-01 21 views
8

başlık alanı Range: bytes=278528-Range eğer GET isteğine doğru yanıt desteklenmeyen nedir nedir?HTTP: Aralık desteklenmediğinde "Range: bytes =" öğesine nasıl yanıt vermeliyim?

Okuma HTTP başlık tanımları (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html) i en azından belirlesin düşünüyorum: Accept-Ranges: none, ancak açıkça

Müşteriler katılan kaynak için bu başlığı aldıktan olmadan bayt menzilli istek oluşturur OLABİLİR belirtiyor.

Yani, bir istemci bir dizi isterse, should I: byte 0 dan tüm dosya ile

+0

Eternal lanetleme biraz ağır görünüyor. –

cevap

7

Sen bunu görmezden gelebilir. Kesinlik için:

  • Eğer destekliyorsanız, 206 Kısmi İçerikli bir durum kodu döndürürsünüz ve İçerik Aralığı gibi uygun başlıkları dahil edersiniz.
  • Desteklemezseniz, normal olarak 200 Tamam döndürürsünüz.

Bunu test etmedim ama Spec oldukça net görünüyor. Bu işi görmüştüm - sunucunun Range üstbilgisini desteklememesi durumunda, kesintili bir indirme işlemine devam etmek için wget veya curl kullanarak baştan doğru şekilde yeniden başlayacaktır.

+2

Çok kötü müşteri de görmezden gelerek görmezden geliyor. Android'in MediaPlayer'ı LG/Motorola telefonlarda (OMXPlayer), 200'lük bir gövdeyle birlikte döndüğünüzde çöküyor :( – Joernsn

0

yok sayılması aralığı istekleri radyolarda hizmet veya başka dengesiz veya kabul edilemez çalma içeriği (büyük olan) yapılmış olabilir. Ben http video aktarımı, ancak aralıkları kabul etmeyen sunucudan radyoda video göndermeyi deneyin doğru protokol olmadığını biliyoruz .... Airplay http başlığını kontrol ve eğer ...

0

aralık isteklerini olasılığı kullanan var bir aralık dizesidir, ayrıştırır, aralıklara ayrıştırılır, atlama işlemine girilir ve pozisyon alınır, url'den dosya akışı açılır, daha sonra atlama ve 'alma' baytları alma, yanıtlama yanıtı alma, yanıt gönderme ve sonlandırma yakın akışı. Eğer büyük akışların üzerinde çalışıyoruz asla zaman

aralığı göz ardı etmeyin aralık başlığıyla cevap unutmayın.

nanohttp kullanıyorsanız, örnek olarak size yardımcı olabilirim